"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
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; Eif ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (EprotoProps) defineProperties(Constructor.prototype, protoProps); Iif (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 BasicJSCache = function () {
function BasicJSCache() {
_classCallCheck(this, BasicJSCache);
this.cache = {};
}
_createClass(BasicJSCache, [{
key: "get",
value: function get(args, cb) {
if (this.cache[args.key]) {
if (Date.now() > this.cache[args.key].expires) {
delete this.cache[args.key];
return cb('expired cache key');
} else {
return cb(null, this.cache[args.key].value);
}
}
return cb("cache key doesn't exist");
}
}, {
key: "set",
value: function set(args, value) {
this.cache[args.key] = {
expires: args.ttl ? this.setExp(Date.now(), args.ttl) : null,
value: value
};
}
}, {
key: "setExp",
value: function setExp(date, secs) {
// Must convert to milliseconds.
return date + secs * 1000;
}
}]);
return BasicJSCache;
}();
exports.default = BasicJSCache; |