New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

catbox

Package Overview
Dependencies
Maintainers
3
Versions
67
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

catbox - npm Package Compare versions

Comparing version 2.2.0 to 2.2.1

9

lib/client.js

@@ -32,7 +32,6 @@ // Load modules

}
else if (typeof engine === 'function') {
else {
Hoek.assert(typeof engine === 'function', 'Invalid engine configuration');
this.connection = new engine(settings);
}
Hoek.assert(this.connection, 'Invalid engine configuration');
};

@@ -74,3 +73,3 @@

if (key === null) {
if (!key) {
// null key not allowed

@@ -80,3 +79,3 @@ return callback(null, null);

if (!key || !key.id || !key.segment) {
if (!key.id || !key.segment) {
return callback(new Error('Invalid key'));

@@ -83,0 +82,0 @@ }

@@ -111,6 +111,3 @@ // Load modules

if (!cached ||
cached.item === undefined ||
cached.item === null) {
if (!cached) {
report = { msec: timer.elapsed() };

@@ -146,14 +143,14 @@ return validate();

var timerFunc = function () {
cached.ttl -= self.rule.staleTimeout; // Adjust TTL for when the timeout is invoked (staleTimeout must be valid if isStale is true)
if (cached.ttl > 0) {
var timerFunc = function () {
if (wasCallbackCalled) {
return;
}
if (wasCallbackCalled) {
return;
}
wasCallbackCalled = true;
return callback(null, cached.item, cached, report);
};
cached.ttl -= self.rule.staleTimeout; // Adjust TTL for when the timeout is invoked (staleTimeout must be valid if isStale is true)
if (cached.ttl > 0) {
wasCallbackCalled = true;
return callback(null, cached.item, cached, report);
};
setTimeout(timerFunc, self.rule.staleTimeout);

@@ -160,0 +157,0 @@ }

{
"name": "catbox",
"description": "Multi-strategy object caching service",
"version": "2.2.0",
"version": "2.2.1",
"author": "Eran Hammer <eran@hueniverse.com> (http://hueniverse.com)",

@@ -18,6 +18,6 @@ "contributors": [

"dependencies": {
"hoek": "1.x.x"
"hoek": "2.x.x"
},
"devDependencies": {
"lab": "1.x.x"
"lab": "3.x.x"
},

@@ -24,0 +24,0 @@ "scripts": {

@@ -226,2 +226,28 @@ // Load modules

it('returns nothing when item is not found (undefined item)', function (done) {
var engine = {
start: function (callback) {
callback();
},
isReady: function () {
return true;
},
get: function (key, callback) {
callback(null, { item: undefined });
}
};
var client = new Catbox.Client(engine);
client.get({ id: 'id', segment: 'segment' }, function (err, cached) {
expect(err).to.equal(null);
expect(cached).to.equal(null);
done();
});
});
it('returns falsey items', function (done) {

@@ -287,2 +313,18 @@

});
it('errors on empty key', function (done) {
var client = new Catbox.Client('../test/import');
client.start(function (err) {
expect(err).to.not.exist;
client.get({}, function (err) {
expect(err).to.exist;
expect(err.message).to.equal('Invalid key');
done();
});
});
});
});

@@ -289,0 +331,0 @@

@@ -833,3 +833,3 @@ // Load modules

describe('Stale', function () {
describe('getOrGenerate', function () {

@@ -1077,4 +1077,36 @@ it('bypasses cache when not configured', function (done) {

});
it('returns new object when stale has less than staleTimeout time left', function (done) {
var rule = {
expiresIn: 23,
staleIn: 15,
staleTimeout: 4
};
setup(rule, 0, false, null, function (get) {
get('test', function (err, value1, cached) {
expect(value1.gen).to.equal(1); // Fresh
setTimeout(function () {
get('test', function (err, value2, cached) {
expect(value2.gen).to.equal(1); // Fresh
setTimeout(function () {
get('test', function (err, value3, cached) {
expect(value3.gen).to.equal(2); // Fresh
done();
});
}, 10);
});
}, 10);
});
});
});
});
});

Sorry, the diff of this file is not supported yet

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