cache-manager
Advanced tools
Comparing version 2.10.2 to 2.10.3
@@ -0,1 +1,4 @@ | ||
- 2.10.3 2020-01-30 | ||
- Preserve functions in memory store when cloning objects (#132). | ||
- 2.10.2 2020-01-30 | ||
@@ -2,0 +5,0 @@ - Disallow mutation of values in memory store (#103). |
var Lru = require("lru-cache"); | ||
var cloneDeep = require('lodash.clonedeep'); | ||
var deepmerge = require('deepmerge'); | ||
var utils = require('../utils'); | ||
var isObject = utils.isObject; | ||
function clone(object) { | ||
if (typeof object === 'object' && object !== null) { | ||
return deepmerge({}, object, {clone: true}); | ||
} | ||
return object; | ||
} | ||
var memoryStore = function(args) { | ||
@@ -35,3 +42,3 @@ args = args || {}; | ||
self.set = function(key, value, options, cb) { | ||
value = cloneDeep(value); | ||
value = clone(value); | ||
@@ -38,0 +45,0 @@ if (typeof options === 'function') { |
{ | ||
"name": "cache-manager", | ||
"version": "2.10.2", | ||
"version": "2.10.3", | ||
"description": "Cache module for Node.js", | ||
@@ -24,3 +24,3 @@ "main": "index.js", | ||
"async": "1.5.2", | ||
"lodash.clonedeep": "4.5.0", | ||
"deepmerge": "4.2.2", | ||
"lru-cache": "4.0.0" | ||
@@ -27,0 +27,0 @@ }, |
@@ -74,4 +74,12 @@ var assert = require('assert'); | ||
function getCachedFunction(name, cb) { | ||
cache.wrap(key, function(cacheCb) { | ||
cacheCb(null, function() { | ||
return 'foo'; | ||
}); | ||
}, opts, cb); | ||
} | ||
beforeEach(function() { | ||
cache = caching({store: 'memory', safeClone: true, ttl: opts.ttl, ignoreCacheErrors: false}); | ||
cache = caching({store: 'memory', ttl: opts.ttl, ignoreCacheErrors: false}); | ||
}); | ||
@@ -130,4 +138,17 @@ | ||
}); | ||
it("preserves functions", function(done) { | ||
getCachedFunction('foo', function(err, result) { | ||
checkErr(err); | ||
assert.equal(typeof result, 'function'); | ||
getCachedFunction('foo', function(err, result) { | ||
checkErr(err); | ||
assert.equal(typeof result, 'function'); | ||
done(); | ||
}); | ||
}); | ||
}); | ||
}); | ||
}); | ||
}); |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
214458
4585
+ Addeddeepmerge@4.2.2
+ Addeddeepmerge@4.2.2(transitive)
- Removedlodash.clonedeep@4.5.0
- Removedlodash.clonedeep@4.5.0(transitive)