memo-storage
Version:
Storage based cache service
58 lines (43 loc) • 1.44 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.generateHash = exports.parse = exports.createExpirationDate = exports.createKey = exports.isExpired = void 0;
var getKey = function getKey(parameters) {
var key = parameters.key,
method = parameters.method;
return key || method && method.name || '';
};
var isExpired = function isExpired() {
var expire = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
return Date.now() > expire;
};
exports.isExpired = isExpired;
var createKey = function createKey(parameters) {
return "".concat(getKey(parameters), "#").concat(generateHash(parameters.params));
};
exports.createKey = createKey;
var createExpirationDate = function createExpirationDate() {
var expire = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
return Date.now() + expire;
};
exports.createExpirationDate = createExpirationDate;
var parse = function parse(response, cb) {
if (cb) return cb(response);
return response;
};
exports.parse = parse;
var generateHash = function generateHash(params) {
var hash = 0;
var string = JSON.stringify(params) || '';
if (string.length) {
var i, l, _char;
for (i = 0, l = string.length; i < l; i++) {
_char = string.charCodeAt(i);
hash = (hash << 5) - hash + _char;
hash = hash | 0;
}
}
return hash;
};
exports.generateHash = generateHash;