New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

cache-cow

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cache-cow - npm Package Compare versions

Comparing version
0.0.1-dv
to
0.0.2-dv
+53
bin/abstractCacheEngine.js
"use strict";
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var Promise = require('bluebird');
var Boom = require('boom');
var abstactCacheEngine = function () {
_createClass(abstactCacheEngine, [{
key: 'notImplemented',
value: function notImplemented(name) {
return Promise.reject(Boom.notImplemented('Method ' + name + ' not implemented in subclass of AbstractCacheEngine'));
}
}]);
function abstactCacheEngine() {
_classCallCheck(this, abstactCacheEngine);
if (this.get === undefined) {
notImplemented('get');
}
if (this.set === undefined) {
notImplemented('set');
}
if (this.getMulti === undefined) {
notImplemented('getMulti');
}
if (this.setMulti === undefined) {
notImplemented('setMulti');
}
if (this.delete === undefined) {
notImplemented('delete');
}
if (this.clear === undefined) {
notImplemented('clear');
}
if (this.size === undefined) {
notImplemented('size');
}
}
return abstactCacheEngine;
}();
module.exports = abstactCacheEngine;
"use strict";
var redis = require("./src/redisEngine.js");
var memory = require("./src/memoryEngine.js");
module.exports = memory;
if (process.env.CACHE_TYPE && process.env.CACHE_TYPE === "redis") {
module.exports = redis;
}
'use strict';
/**
* Created by prashun on 9/16/16.
*/
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var Promise = require('bluebird');
var abstactCacheEngine = require('./abstractCacheEngine.js');
var LRUCache = require('lru-cache');
var options = {};
var defaults = {
lru: {
options: {
max: 500,
maxAge: 1000 * 60 * 60
}
}
};
var config = process.env.CONFIG_PATH || defaults;
if (config && config.lru && config.lru.options) {
options = config.lru.options;
} else {
throw new Error('no redis config found please set the path for the config file');
}
var cache = LRUCache(options);
var memoryEngine = function (_abstactCacheEngine) {
_inherits(memoryEngine, _abstactCacheEngine);
function memoryEngine() {
_classCallCheck(this, memoryEngine);
return _possibleConstructorReturn(this, (memoryEngine.__proto__ || Object.getPrototypeOf(memoryEngine)).apply(this, arguments));
}
_createClass(memoryEngine, [{
key: 'get',
value: function get(key) {
return new Promise(function (resolve) {
resolve(cache.get(key));
});
}
}, {
key: 'set',
value: function set(key, value, ttl) {
return new Promise(function (resolve, reject) {
if (typeof key === 'undefined') {
reject(new Error('Invalid key undefined'));
}
console.log(value);
var encoded = JSON.stringify(value);
cache.set(key, encoded);
resolve({ key: encoded });
});
}
}, {
key: 'setMulti',
value: function setMulti(values, ttl) {
var client = this.client;
return new Promise(function (resolve) {
var keys = Object.keys(values),
commands = [];
for (var i = 0; i < keys.length; i++) {
var key = keys[i],
value = values[key],
encoded = JSON.stringify(value);
cache.set(key, encoded);
}
return resolve(values);
});
}
}, {
key: 'getMulti',
value: function getMulti(keys) {
var client = this.client;
if (!_.isArray(keys)) {
var err = new Error('Keys must be an array');
return Promise.reject(err);
}
return this.client.mgetAsync(keys).then(function (replies) {
var results = {};
for (var i = 0; i < replies.length; i++) {
var key = keys[i],
value = void 0,
encoded = replies[i];
if (typeof encoded === 'undefined') {
value = undefined;
} else {
try {
value = JSON.parse(encoded);
} catch (err) {
value = undefined;
}
}
results[key] = value;
}
return results;
});
}
}, {
key: 'delete',
value: function _delete(key) {
return new Promise(function (resolve) {
cache.del(key);
resolve(key);
});
}
}, {
key: 'clear',
value: function clear() {
return new Promise(function (resolve) {
cache.reset();
resolve(true);
});
}
}, {
key: 'size',
value: function size() {
console.log("sizze");
}
}]);
return memoryEngine;
}(abstactCacheEngine);
module.exports = new memoryEngine();
"use strict";
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var Promise = require('bluebird');
var abstactCacheEngine = require('./abstractCacheEngine.js');
var redis = require("redis");
var options = {};
var defaults = {
redis: {
options: {
server: 'localhost',
secretKey: 'SeekQret-CutDev',
port: 6379,
db: 1
}
}
};
var config = process.env.CONFIG_PATH || defaults;
if (config && config.redis && config.redis.options) {
options = config.redis.options;
} else {
throw new Error('no redis config found please set the path for the config file');
}
var client = redis.createClient(options);
var instance = null;
var redisEngine = function (_abstactCacheEngine) {
_inherits(redisEngine, _abstactCacheEngine);
function redisEngine() {
_classCallCheck(this, redisEngine);
return _possibleConstructorReturn(this, (redisEngine.__proto__ || Object.getPrototypeOf(redisEngine)).apply(this, arguments));
}
_createClass(redisEngine, [{
key: 'get',
value: function get(key) {
return new Promise(function (resolve) {
client.get(key, function (err, reply) {
resolve(reply);
});
});
}
}, {
key: 'set',
value: function set(key, value, ttl) {
return new Promise(function (resolve, reject) {
if (typeof key === 'undefined') {
reject(new Error('Invalid key undefined'));
}
var encoded = JSON.stringify(value);
if (ttl) {
client.setex(key, ttl, encoded, function (err) {
err ? reject(err) : resolve(value);
});
} else {
client.set(key, encoded, function (err) {
err ? reject(err) : resolve(value);
});
}
});
}
}, {
key: 'setMulti',
value: function setMulti(values, ttl) {
var client = this.client;
return new Promise(function (resolve, reject) {
if (!_.isObject(values)) {
var err = new Error('values must be a hash');
return reject(err);
}
var keys = Object.keys(values),
commands = [];
for (var i = 0; i < keys.length; i++) {
var key = keys[i],
value = values[key],
encoded = JSON.stringify(value);
if (ttl) {
commands.push(['setex', key, ttl, encoded]);
} else {
commands.push(['set', key, encoded]);
}
}
if (commands.length) {
client.multi(commands).exec(function (err) {
return err ? reject(err) : resolve(values);
});
}
return resolve(values);
});
}
}, {
key: 'getMulti',
value: function getMulti(keys) {
var client = this.client;
if (!_.isArray(keys)) {
var err = new Error('Keys must be an array');
return Promise.reject(err);
}
return this.client.mgetAsync(keys).then(function (replies) {
var results = {};
for (var i = 0; i < replies.length; i++) {
var key = keys[i],
value = void 0,
encoded = replies[i];
if (typeof encoded === 'undefined') {
value = undefined;
} else {
try {
value = JSON.parse(encoded);
} catch (err) {
value = undefined;
}
}
results[key] = value;
}
return results;
});
}
}, {
key: 'delete',
value: function _delete(key) {
return new Promise(function (resolve) {
client.del(key);
resolve(key);
});
}
}, {
key: 'clear',
value: function clear() {
return new Promise(function (resolve) {
client.flushdb();
resolve(true);
});
}
}, {
key: 'size',
value: function size() {
return new Promise(function (resolve) {
resolve(client.dbsize());
});
}
}]);
return redisEngine;
}(abstactCacheEngine);
module.exports = new redisEngine();
const redis = require("./src/redisEngine.js");
const memory = require("./src/memoryEngine.js");
module.exports = memory;
if ( process.env.CACHE_TYPE && process.env.CACHE_TYPE === "redis" ){
module.exports = redis;
}
+1
-1
{
"name": "cache-cow",
"version": "0.0.1dv",
"version": "0.0.2dv",
"description": "",

@@ -5,0 +5,0 @@ "main": "./bin/index.js",