disk-memoizer
Advanced tools
Comparing version 2.1.2 to 2.1.3
@@ -222,2 +222,13 @@ "use strict"; | ||
var errorObject = { value: null }; | ||
function tryCatch(fn, ctx, args) { | ||
try { | ||
return Reflect.apply(fn, ctx, args); | ||
} catch (error) { | ||
errorObject.value = error; | ||
return errorObject; | ||
} | ||
} | ||
var marshallers = { | ||
@@ -234,6 +245,7 @@ none: { | ||
marshall: function marshall(data, callback) { | ||
try { | ||
callback(null, JSON.stringify(data)); | ||
} catch (err) { | ||
callback(new Error("Can't stringify data. Got error " + err.message)); | ||
var result = tryCatch(JSON.stringify, null, [data]); | ||
if (result === errorObject) { | ||
callback(new Error("Can't stringify data. Got error\n " + result.value.message)); | ||
} else { | ||
callback(null, result); | ||
} | ||
@@ -245,6 +257,7 @@ }, | ||
} | ||
try { | ||
callback(null, JSON.parse(data)); | ||
} catch (err) { | ||
callback(new Error("Invalid JSON. Got error " + err.message)); | ||
var result = tryCatch(JSON.parse, null, [data]); | ||
if (result === errorObject) { | ||
callback(new Error("Invalid JSON. Got error " + result.value.message)); | ||
} else { | ||
callback(null, result); | ||
} | ||
@@ -251,0 +264,0 @@ } |
@@ -256,3 +256,13 @@ // Simple disk memoization and in memory LRU cache for high | ||
const errorObject = {value: null}; | ||
function tryCatch(fn, ctx, args) { | ||
try { | ||
return Reflect.apply(fn, ctx, args); | ||
} catch (error) { | ||
errorObject.value = error; | ||
return errorObject; | ||
} | ||
} | ||
const marshallers = { | ||
@@ -265,6 +275,8 @@ none: { | ||
marshall(data, callback) { | ||
try { | ||
callback(null, JSON.stringify(data)); | ||
} catch (err) { | ||
callback(new Error(`Can't stringify data. Got error ${err.message}`)); | ||
const result = tryCatch(JSON.stringify, null, [data]); | ||
if (result === errorObject) { | ||
callback(new Error(`Can't stringify data. Got error | ||
${result.value.message}`)); | ||
} else { | ||
callback(null, result); | ||
} | ||
@@ -276,6 +288,7 @@ }, | ||
} | ||
try { | ||
callback(null, JSON.parse(data)); | ||
} catch (err) { | ||
callback(new Error(`Invalid JSON. Got error ${err.message}`)); | ||
const result = tryCatch(JSON.parse, null, [data]); | ||
if (result === errorObject) { | ||
callback(new Error(`Invalid JSON. Got error ${result.value.message}`)); | ||
} else { | ||
callback(null, result); | ||
} | ||
@@ -282,0 +295,0 @@ } |
{ | ||
"name": "disk-memoizer", | ||
"version": "2.1.2", | ||
"version": "2.1.3", | ||
"description": "Simple disk memoization and in memory LRU cache for high latency IO responses", | ||
@@ -5,0 +5,0 @@ "main": "dist/disk_memoizer.js", |
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
129072
1356
1