UNPKG

@silverwind/ioredis-mock

Version:

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

42 lines (32 loc) 821 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = createExpires; function createExpires(keyPrefix = '') { const expires = {}; function createInstance(prefix) { return { get(key) { return expires[`${prefix}${key}`]; }, set(key, timestamp) { expires[`${prefix}${key}`] = +timestamp; }, has(key) { return {}.hasOwnProperty.call(expires, `${prefix}${key}`); }, isExpired(key) { return expires[`${prefix}${key}`] <= Date.now(); }, delete(key) { delete expires[`${prefix}${key}`]; }, withKeyPrefix(newPrefix) { if (newPrefix === prefix) return this; return createInstance(newPrefix); } }; } return createInstance(keyPrefix); }