UNPKG

991 BJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.default = createExpires;
7function createExpires() {
8 var keyPrefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
9
10 var expires = {};
11 function createInstance(prefix) {
12 return {
13 get: function get(key) {
14 return expires['' + prefix + key];
15 },
16 set: function set(key, timestamp) {
17 expires['' + prefix + key] = +timestamp;
18 },
19 has: function has(key) {
20 return {}.hasOwnProperty.call(expires, '' + prefix + key);
21 },
22 isExpired: function isExpired(key) {
23 return expires['' + prefix + key] <= Date.now();
24 },
25 delete: function _delete(key) {
26 delete expires['' + prefix + key];
27 },
28 withKeyPrefix: function withKeyPrefix(newPrefix) {
29 if (newPrefix === prefix) return this;
30 return createInstance(newPrefix);
31 }
32 };
33 }
34 return createInstance(keyPrefix);
35}
\No newline at end of file