Socket
Socket
Sign inDemoInstall

cache-manager

Package Overview
Dependencies
Maintainers
1
Versions
104
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cache-manager - npm Package Compare versions

Comparing version 2.10.2 to 2.10.3

3

History.md

@@ -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') {

4

package.json
{
"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();
});
});
});
});
});
});
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc