UNPKG

ioredis-mock-with-info

Version:

This library emulates ioredis by performing all operations in-memory.

35 lines (33 loc) 991 B
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = createExpires; function createExpires() { var keyPrefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; var expires = {}; function createInstance(prefix) { return { get: function get(key) { return expires['' + prefix + key]; }, set: function set(key, timestamp) { expires['' + prefix + key] = +timestamp; }, has: function has(key) { return {}.hasOwnProperty.call(expires, '' + prefix + key); }, isExpired: function isExpired(key) { return expires['' + prefix + key] <= Date.now(); }, delete: function _delete(key) { delete expires['' + prefix + key]; }, withKeyPrefix: function withKeyPrefix(newPrefix) { if (newPrefix === prefix) return this; return createInstance(newPrefix); } }; } return createInstance(keyPrefix); }