1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports.default = createExpires;
|
7 | function 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 |