@merkur/plugin-session-storage 0.38.0 → 0.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/lib/index.cjs +28 -57
- package/lib/index.js +28 -57
- package/lib/index.mjs +28 -57
- package/package.json +4 -5
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<p align="center">
|
|
2
2
|
<a href="https://merkur.js.org/docs/getting-started" title="Getting started">
|
|
3
|
-
<img src="https://raw.githubusercontent.com/mjancarik/merkur/master/images/merkur-
|
|
3
|
+
<img src="https://raw.githubusercontent.com/mjancarik/merkur/master/images/merkur-logo.png" width="100px" height="100px" alt="Merkur illustration"/>
|
|
4
4
|
</a>
|
|
5
5
|
</p>
|
|
6
6
|
|
package/lib/index.cjs
CHANGED
|
@@ -3,74 +3,54 @@
|
|
|
3
3
|
var core = require('@merkur/core');
|
|
4
4
|
|
|
5
5
|
const KEY_PREFIX_SEPARATOR = '__';
|
|
6
|
-
|
|
7
|
-
function setKeyPrefix(
|
|
8
|
-
widget,
|
|
9
|
-
additionalWords = [],
|
|
10
|
-
defaultWords = ['widget', widget.name, widget.version],
|
|
11
|
-
) {
|
|
6
|
+
function setKeyPrefix(widget, additionalWords = [], defaultWords = ['widget', widget.name, widget.version]) {
|
|
12
7
|
const words = [...defaultWords, ...additionalWords].filter(Boolean);
|
|
13
|
-
const prefix = `${KEY_PREFIX_SEPARATOR}${words.join(
|
|
14
|
-
KEY_PREFIX_SEPARATOR,
|
|
15
|
-
)}${KEY_PREFIX_SEPARATOR}`;
|
|
16
|
-
|
|
8
|
+
const prefix = `${KEY_PREFIX_SEPARATOR}${words.join(KEY_PREFIX_SEPARATOR)}${KEY_PREFIX_SEPARATOR}`;
|
|
17
9
|
widget.$in.sessionStorage.keyPrefix = prefix;
|
|
18
10
|
}
|
|
19
|
-
|
|
20
11
|
function sessionStoragePlugin() {
|
|
21
12
|
return {
|
|
22
13
|
async setup(widget) {
|
|
23
14
|
core.assignMissingKeys(widget, sessionStorageAPI());
|
|
24
|
-
|
|
25
15
|
widget.$in.sessionStorage = {};
|
|
26
16
|
setKeyPrefix(widget);
|
|
27
|
-
|
|
28
17
|
widget.$dependencies.sessionStorage = getNativeSessionStorage();
|
|
29
|
-
|
|
30
18
|
return widget;
|
|
31
19
|
},
|
|
32
20
|
async create(widget) {
|
|
33
21
|
core.bindWidgetToFunctions(widget, widget.sessionStorage);
|
|
34
|
-
|
|
35
22
|
return widget;
|
|
36
|
-
}
|
|
23
|
+
}
|
|
37
24
|
};
|
|
38
25
|
}
|
|
39
|
-
|
|
40
26
|
function sessionStorageAPI() {
|
|
41
27
|
return {
|
|
42
28
|
sessionStorage: {
|
|
43
29
|
get(widget, key) {
|
|
44
30
|
const {
|
|
45
|
-
$dependencies: {
|
|
46
|
-
|
|
47
|
-
sessionStorage: { keyPrefix },
|
|
31
|
+
$dependencies: {
|
|
32
|
+
sessionStorage
|
|
48
33
|
},
|
|
34
|
+
$in: {
|
|
35
|
+
sessionStorage: {
|
|
36
|
+
keyPrefix
|
|
37
|
+
}
|
|
38
|
+
}
|
|
49
39
|
} = widget;
|
|
50
|
-
|
|
51
40
|
if (!sessionStorage) {
|
|
52
41
|
return null;
|
|
53
42
|
}
|
|
54
|
-
|
|
55
43
|
try {
|
|
56
44
|
const item = JSON.parse(sessionStorage.getItem(keyPrefix + key));
|
|
57
|
-
|
|
58
45
|
if (shouldDeleteItem(item)) {
|
|
59
46
|
widget.sessionStorage.delete(key);
|
|
60
|
-
|
|
61
47
|
return undefined;
|
|
62
48
|
}
|
|
63
|
-
|
|
64
49
|
return item && typeof item === 'object' ? item.value : undefined;
|
|
65
50
|
} catch (error) {
|
|
66
|
-
throw new Error(
|
|
67
|
-
`merkur.plugin-session-storage.get: Failed to parse a session storage item value identified by the key ${
|
|
68
|
-
keyPrefix + key
|
|
69
|
-
}: ${error.message}`,
|
|
70
|
-
);
|
|
51
|
+
throw new Error(`merkur.plugin-session-storage.get: Failed to parse a session storage item value identified by the key ${keyPrefix + key}: ${error.message}`);
|
|
71
52
|
}
|
|
72
53
|
},
|
|
73
|
-
|
|
74
54
|
/**
|
|
75
55
|
* Saves a value under the key.
|
|
76
56
|
* @param {object} widget A widget object.
|
|
@@ -84,78 +64,69 @@ function sessionStorageAPI() {
|
|
|
84
64
|
*/
|
|
85
65
|
set(widget, key, value, options) {
|
|
86
66
|
const {
|
|
87
|
-
$dependencies: {
|
|
88
|
-
|
|
89
|
-
sessionStorage: { keyPrefix },
|
|
67
|
+
$dependencies: {
|
|
68
|
+
sessionStorage
|
|
90
69
|
},
|
|
70
|
+
$in: {
|
|
71
|
+
sessionStorage: {
|
|
72
|
+
keyPrefix
|
|
73
|
+
}
|
|
74
|
+
}
|
|
91
75
|
} = widget;
|
|
92
|
-
|
|
93
76
|
if (!sessionStorage) {
|
|
94
77
|
return false;
|
|
95
78
|
}
|
|
96
|
-
|
|
97
79
|
const item = {
|
|
98
80
|
created: Date.now(),
|
|
99
|
-
value
|
|
81
|
+
value
|
|
100
82
|
};
|
|
101
|
-
|
|
102
83
|
if (options && Number.isFinite(Number.parseInt(options.ttl))) {
|
|
103
84
|
item.ttl = Number.parseInt(options.ttl);
|
|
104
85
|
}
|
|
105
|
-
|
|
106
86
|
if (shouldDeleteItem(item)) {
|
|
107
87
|
widget.sessionStorage.delete(key);
|
|
108
|
-
|
|
109
88
|
return true;
|
|
110
89
|
}
|
|
111
|
-
|
|
112
90
|
try {
|
|
113
91
|
sessionStorage.setItem(keyPrefix + key, JSON.stringify(item));
|
|
114
92
|
} catch (error) {
|
|
115
93
|
console.error(error);
|
|
116
|
-
|
|
117
94
|
return false;
|
|
118
95
|
}
|
|
119
|
-
|
|
120
96
|
return true;
|
|
121
97
|
},
|
|
122
|
-
|
|
123
98
|
delete(widget, key) {
|
|
124
99
|
const {
|
|
125
|
-
$dependencies: {
|
|
126
|
-
|
|
127
|
-
sessionStorage: { keyPrefix },
|
|
100
|
+
$dependencies: {
|
|
101
|
+
sessionStorage
|
|
128
102
|
},
|
|
103
|
+
$in: {
|
|
104
|
+
sessionStorage: {
|
|
105
|
+
keyPrefix
|
|
106
|
+
}
|
|
107
|
+
}
|
|
129
108
|
} = widget;
|
|
130
|
-
|
|
131
109
|
if (!sessionStorage) {
|
|
132
110
|
return false;
|
|
133
111
|
}
|
|
134
|
-
|
|
135
112
|
sessionStorage.removeItem(keyPrefix + key);
|
|
136
|
-
|
|
137
113
|
return true;
|
|
138
|
-
}
|
|
139
|
-
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
140
116
|
};
|
|
141
117
|
}
|
|
142
|
-
|
|
143
118
|
function getNativeSessionStorage() {
|
|
144
119
|
return typeof window === 'undefined' ? undefined : window.sessionStorage;
|
|
145
120
|
}
|
|
146
|
-
|
|
147
121
|
function shouldDeleteItem(item) {
|
|
148
122
|
if (!item || !('ttl' in item) || !item.created) {
|
|
149
123
|
return false;
|
|
150
124
|
}
|
|
151
|
-
|
|
152
125
|
if (item.ttl <= 0) {
|
|
153
126
|
return true;
|
|
154
127
|
}
|
|
155
|
-
|
|
156
128
|
const now = Date.now();
|
|
157
129
|
const age = now - item.created;
|
|
158
|
-
|
|
159
130
|
return age > item.ttl;
|
|
160
131
|
}
|
|
161
132
|
|
package/lib/index.js
CHANGED
|
@@ -3,74 +3,54 @@
|
|
|
3
3
|
var core = require('@merkur/core');
|
|
4
4
|
|
|
5
5
|
const KEY_PREFIX_SEPARATOR = '__';
|
|
6
|
-
|
|
7
|
-
function setKeyPrefix(
|
|
8
|
-
widget,
|
|
9
|
-
additionalWords = [],
|
|
10
|
-
defaultWords = ['widget', widget.name, widget.version],
|
|
11
|
-
) {
|
|
6
|
+
function setKeyPrefix(widget, additionalWords = [], defaultWords = ['widget', widget.name, widget.version]) {
|
|
12
7
|
const words = [...defaultWords, ...additionalWords].filter(Boolean);
|
|
13
|
-
const prefix = `${KEY_PREFIX_SEPARATOR}${words.join(
|
|
14
|
-
KEY_PREFIX_SEPARATOR,
|
|
15
|
-
)}${KEY_PREFIX_SEPARATOR}`;
|
|
16
|
-
|
|
8
|
+
const prefix = `${KEY_PREFIX_SEPARATOR}${words.join(KEY_PREFIX_SEPARATOR)}${KEY_PREFIX_SEPARATOR}`;
|
|
17
9
|
widget.$in.sessionStorage.keyPrefix = prefix;
|
|
18
10
|
}
|
|
19
|
-
|
|
20
11
|
function sessionStoragePlugin() {
|
|
21
12
|
return {
|
|
22
13
|
async setup(widget) {
|
|
23
14
|
core.assignMissingKeys(widget, sessionStorageAPI());
|
|
24
|
-
|
|
25
15
|
widget.$in.sessionStorage = {};
|
|
26
16
|
setKeyPrefix(widget);
|
|
27
|
-
|
|
28
17
|
widget.$dependencies.sessionStorage = getNativeSessionStorage();
|
|
29
|
-
|
|
30
18
|
return widget;
|
|
31
19
|
},
|
|
32
20
|
async create(widget) {
|
|
33
21
|
core.bindWidgetToFunctions(widget, widget.sessionStorage);
|
|
34
|
-
|
|
35
22
|
return widget;
|
|
36
|
-
}
|
|
23
|
+
}
|
|
37
24
|
};
|
|
38
25
|
}
|
|
39
|
-
|
|
40
26
|
function sessionStorageAPI() {
|
|
41
27
|
return {
|
|
42
28
|
sessionStorage: {
|
|
43
29
|
get(widget, key) {
|
|
44
30
|
const {
|
|
45
|
-
$dependencies: {
|
|
46
|
-
|
|
47
|
-
sessionStorage: { keyPrefix },
|
|
31
|
+
$dependencies: {
|
|
32
|
+
sessionStorage
|
|
48
33
|
},
|
|
34
|
+
$in: {
|
|
35
|
+
sessionStorage: {
|
|
36
|
+
keyPrefix
|
|
37
|
+
}
|
|
38
|
+
}
|
|
49
39
|
} = widget;
|
|
50
|
-
|
|
51
40
|
if (!sessionStorage) {
|
|
52
41
|
return null;
|
|
53
42
|
}
|
|
54
|
-
|
|
55
43
|
try {
|
|
56
44
|
const item = JSON.parse(sessionStorage.getItem(keyPrefix + key));
|
|
57
|
-
|
|
58
45
|
if (shouldDeleteItem(item)) {
|
|
59
46
|
widget.sessionStorage.delete(key);
|
|
60
|
-
|
|
61
47
|
return undefined;
|
|
62
48
|
}
|
|
63
|
-
|
|
64
49
|
return item && typeof item === 'object' ? item.value : undefined;
|
|
65
50
|
} catch (error) {
|
|
66
|
-
throw new Error(
|
|
67
|
-
`merkur.plugin-session-storage.get: Failed to parse a session storage item value identified by the key ${
|
|
68
|
-
keyPrefix + key
|
|
69
|
-
}: ${error.message}`,
|
|
70
|
-
);
|
|
51
|
+
throw new Error(`merkur.plugin-session-storage.get: Failed to parse a session storage item value identified by the key ${keyPrefix + key}: ${error.message}`);
|
|
71
52
|
}
|
|
72
53
|
},
|
|
73
|
-
|
|
74
54
|
/**
|
|
75
55
|
* Saves a value under the key.
|
|
76
56
|
* @param {object} widget A widget object.
|
|
@@ -84,78 +64,69 @@ function sessionStorageAPI() {
|
|
|
84
64
|
*/
|
|
85
65
|
set(widget, key, value, options) {
|
|
86
66
|
const {
|
|
87
|
-
$dependencies: {
|
|
88
|
-
|
|
89
|
-
sessionStorage: { keyPrefix },
|
|
67
|
+
$dependencies: {
|
|
68
|
+
sessionStorage
|
|
90
69
|
},
|
|
70
|
+
$in: {
|
|
71
|
+
sessionStorage: {
|
|
72
|
+
keyPrefix
|
|
73
|
+
}
|
|
74
|
+
}
|
|
91
75
|
} = widget;
|
|
92
|
-
|
|
93
76
|
if (!sessionStorage) {
|
|
94
77
|
return false;
|
|
95
78
|
}
|
|
96
|
-
|
|
97
79
|
const item = {
|
|
98
80
|
created: Date.now(),
|
|
99
|
-
value
|
|
81
|
+
value
|
|
100
82
|
};
|
|
101
|
-
|
|
102
83
|
if (options && Number.isFinite(Number.parseInt(options.ttl))) {
|
|
103
84
|
item.ttl = Number.parseInt(options.ttl);
|
|
104
85
|
}
|
|
105
|
-
|
|
106
86
|
if (shouldDeleteItem(item)) {
|
|
107
87
|
widget.sessionStorage.delete(key);
|
|
108
|
-
|
|
109
88
|
return true;
|
|
110
89
|
}
|
|
111
|
-
|
|
112
90
|
try {
|
|
113
91
|
sessionStorage.setItem(keyPrefix + key, JSON.stringify(item));
|
|
114
92
|
} catch (error) {
|
|
115
93
|
console.error(error);
|
|
116
|
-
|
|
117
94
|
return false;
|
|
118
95
|
}
|
|
119
|
-
|
|
120
96
|
return true;
|
|
121
97
|
},
|
|
122
|
-
|
|
123
98
|
delete(widget, key) {
|
|
124
99
|
const {
|
|
125
|
-
$dependencies: {
|
|
126
|
-
|
|
127
|
-
sessionStorage: { keyPrefix },
|
|
100
|
+
$dependencies: {
|
|
101
|
+
sessionStorage
|
|
128
102
|
},
|
|
103
|
+
$in: {
|
|
104
|
+
sessionStorage: {
|
|
105
|
+
keyPrefix
|
|
106
|
+
}
|
|
107
|
+
}
|
|
129
108
|
} = widget;
|
|
130
|
-
|
|
131
109
|
if (!sessionStorage) {
|
|
132
110
|
return false;
|
|
133
111
|
}
|
|
134
|
-
|
|
135
112
|
sessionStorage.removeItem(keyPrefix + key);
|
|
136
|
-
|
|
137
113
|
return true;
|
|
138
|
-
}
|
|
139
|
-
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
140
116
|
};
|
|
141
117
|
}
|
|
142
|
-
|
|
143
118
|
function getNativeSessionStorage() {
|
|
144
119
|
return typeof window === 'undefined' ? undefined : window.sessionStorage;
|
|
145
120
|
}
|
|
146
|
-
|
|
147
121
|
function shouldDeleteItem(item) {
|
|
148
122
|
if (!item || !('ttl' in item) || !item.created) {
|
|
149
123
|
return false;
|
|
150
124
|
}
|
|
151
|
-
|
|
152
125
|
if (item.ttl <= 0) {
|
|
153
126
|
return true;
|
|
154
127
|
}
|
|
155
|
-
|
|
156
128
|
const now = Date.now();
|
|
157
129
|
const age = now - item.created;
|
|
158
|
-
|
|
159
130
|
return age > item.ttl;
|
|
160
131
|
}
|
|
161
132
|
|
package/lib/index.mjs
CHANGED
|
@@ -1,74 +1,54 @@
|
|
|
1
1
|
import { bindWidgetToFunctions, assignMissingKeys } from '@merkur/core';
|
|
2
2
|
|
|
3
3
|
const KEY_PREFIX_SEPARATOR = '__';
|
|
4
|
-
|
|
5
|
-
function setKeyPrefix(
|
|
6
|
-
widget,
|
|
7
|
-
additionalWords = [],
|
|
8
|
-
defaultWords = ['widget', widget.name, widget.version],
|
|
9
|
-
) {
|
|
4
|
+
function setKeyPrefix(widget, additionalWords = [], defaultWords = ['widget', widget.name, widget.version]) {
|
|
10
5
|
const words = [...defaultWords, ...additionalWords].filter(Boolean);
|
|
11
|
-
const prefix = `${KEY_PREFIX_SEPARATOR}${words.join(
|
|
12
|
-
KEY_PREFIX_SEPARATOR,
|
|
13
|
-
)}${KEY_PREFIX_SEPARATOR}`;
|
|
14
|
-
|
|
6
|
+
const prefix = `${KEY_PREFIX_SEPARATOR}${words.join(KEY_PREFIX_SEPARATOR)}${KEY_PREFIX_SEPARATOR}`;
|
|
15
7
|
widget.$in.sessionStorage.keyPrefix = prefix;
|
|
16
8
|
}
|
|
17
|
-
|
|
18
9
|
function sessionStoragePlugin() {
|
|
19
10
|
return {
|
|
20
11
|
async setup(widget) {
|
|
21
12
|
assignMissingKeys(widget, sessionStorageAPI());
|
|
22
|
-
|
|
23
13
|
widget.$in.sessionStorage = {};
|
|
24
14
|
setKeyPrefix(widget);
|
|
25
|
-
|
|
26
15
|
widget.$dependencies.sessionStorage = getNativeSessionStorage();
|
|
27
|
-
|
|
28
16
|
return widget;
|
|
29
17
|
},
|
|
30
18
|
async create(widget) {
|
|
31
19
|
bindWidgetToFunctions(widget, widget.sessionStorage);
|
|
32
|
-
|
|
33
20
|
return widget;
|
|
34
|
-
}
|
|
21
|
+
}
|
|
35
22
|
};
|
|
36
23
|
}
|
|
37
|
-
|
|
38
24
|
function sessionStorageAPI() {
|
|
39
25
|
return {
|
|
40
26
|
sessionStorage: {
|
|
41
27
|
get(widget, key) {
|
|
42
28
|
const {
|
|
43
|
-
$dependencies: {
|
|
44
|
-
|
|
45
|
-
sessionStorage: { keyPrefix },
|
|
29
|
+
$dependencies: {
|
|
30
|
+
sessionStorage
|
|
46
31
|
},
|
|
32
|
+
$in: {
|
|
33
|
+
sessionStorage: {
|
|
34
|
+
keyPrefix
|
|
35
|
+
}
|
|
36
|
+
}
|
|
47
37
|
} = widget;
|
|
48
|
-
|
|
49
38
|
if (!sessionStorage) {
|
|
50
39
|
return null;
|
|
51
40
|
}
|
|
52
|
-
|
|
53
41
|
try {
|
|
54
42
|
const item = JSON.parse(sessionStorage.getItem(keyPrefix + key));
|
|
55
|
-
|
|
56
43
|
if (shouldDeleteItem(item)) {
|
|
57
44
|
widget.sessionStorage.delete(key);
|
|
58
|
-
|
|
59
45
|
return undefined;
|
|
60
46
|
}
|
|
61
|
-
|
|
62
47
|
return item && typeof item === 'object' ? item.value : undefined;
|
|
63
48
|
} catch (error) {
|
|
64
|
-
throw new Error(
|
|
65
|
-
`merkur.plugin-session-storage.get: Failed to parse a session storage item value identified by the key ${
|
|
66
|
-
keyPrefix + key
|
|
67
|
-
}: ${error.message}`,
|
|
68
|
-
);
|
|
49
|
+
throw new Error(`merkur.plugin-session-storage.get: Failed to parse a session storage item value identified by the key ${keyPrefix + key}: ${error.message}`);
|
|
69
50
|
}
|
|
70
51
|
},
|
|
71
|
-
|
|
72
52
|
/**
|
|
73
53
|
* Saves a value under the key.
|
|
74
54
|
* @param {object} widget A widget object.
|
|
@@ -82,78 +62,69 @@ function sessionStorageAPI() {
|
|
|
82
62
|
*/
|
|
83
63
|
set(widget, key, value, options) {
|
|
84
64
|
const {
|
|
85
|
-
$dependencies: {
|
|
86
|
-
|
|
87
|
-
sessionStorage: { keyPrefix },
|
|
65
|
+
$dependencies: {
|
|
66
|
+
sessionStorage
|
|
88
67
|
},
|
|
68
|
+
$in: {
|
|
69
|
+
sessionStorage: {
|
|
70
|
+
keyPrefix
|
|
71
|
+
}
|
|
72
|
+
}
|
|
89
73
|
} = widget;
|
|
90
|
-
|
|
91
74
|
if (!sessionStorage) {
|
|
92
75
|
return false;
|
|
93
76
|
}
|
|
94
|
-
|
|
95
77
|
const item = {
|
|
96
78
|
created: Date.now(),
|
|
97
|
-
value
|
|
79
|
+
value
|
|
98
80
|
};
|
|
99
|
-
|
|
100
81
|
if (options && Number.isFinite(Number.parseInt(options.ttl))) {
|
|
101
82
|
item.ttl = Number.parseInt(options.ttl);
|
|
102
83
|
}
|
|
103
|
-
|
|
104
84
|
if (shouldDeleteItem(item)) {
|
|
105
85
|
widget.sessionStorage.delete(key);
|
|
106
|
-
|
|
107
86
|
return true;
|
|
108
87
|
}
|
|
109
|
-
|
|
110
88
|
try {
|
|
111
89
|
sessionStorage.setItem(keyPrefix + key, JSON.stringify(item));
|
|
112
90
|
} catch (error) {
|
|
113
91
|
console.error(error);
|
|
114
|
-
|
|
115
92
|
return false;
|
|
116
93
|
}
|
|
117
|
-
|
|
118
94
|
return true;
|
|
119
95
|
},
|
|
120
|
-
|
|
121
96
|
delete(widget, key) {
|
|
122
97
|
const {
|
|
123
|
-
$dependencies: {
|
|
124
|
-
|
|
125
|
-
sessionStorage: { keyPrefix },
|
|
98
|
+
$dependencies: {
|
|
99
|
+
sessionStorage
|
|
126
100
|
},
|
|
101
|
+
$in: {
|
|
102
|
+
sessionStorage: {
|
|
103
|
+
keyPrefix
|
|
104
|
+
}
|
|
105
|
+
}
|
|
127
106
|
} = widget;
|
|
128
|
-
|
|
129
107
|
if (!sessionStorage) {
|
|
130
108
|
return false;
|
|
131
109
|
}
|
|
132
|
-
|
|
133
110
|
sessionStorage.removeItem(keyPrefix + key);
|
|
134
|
-
|
|
135
111
|
return true;
|
|
136
|
-
}
|
|
137
|
-
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
138
114
|
};
|
|
139
115
|
}
|
|
140
|
-
|
|
141
116
|
function getNativeSessionStorage() {
|
|
142
117
|
return typeof window === 'undefined' ? undefined : window.sessionStorage;
|
|
143
118
|
}
|
|
144
|
-
|
|
145
119
|
function shouldDeleteItem(item) {
|
|
146
120
|
if (!item || !('ttl' in item) || !item.created) {
|
|
147
121
|
return false;
|
|
148
122
|
}
|
|
149
|
-
|
|
150
123
|
if (item.ttl <= 0) {
|
|
151
124
|
return true;
|
|
152
125
|
}
|
|
153
|
-
|
|
154
126
|
const now = Date.now();
|
|
155
127
|
const age = now - item.created;
|
|
156
|
-
|
|
157
128
|
return age > item.ttl;
|
|
158
129
|
}
|
|
159
130
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@merkur/plugin-session-storage",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.40.0",
|
|
4
4
|
"description": "Merkur session storage.",
|
|
5
5
|
"main": "lib/index",
|
|
6
6
|
"module": "lib/index",
|
|
@@ -24,8 +24,7 @@
|
|
|
24
24
|
"preversion": "npm test",
|
|
25
25
|
"test": "jest --no-watchman -c ./jest.config.js",
|
|
26
26
|
"test:es:version": "es-check es11 ./lib/index.mjs --module && es-check es9 ./lib/index.es9.mjs --module && es-check es9 ./lib/index.es9.cjs --module",
|
|
27
|
-
"build": "rollup -c rollup.config.mjs"
|
|
28
|
-
"prepare": "npm run build"
|
|
27
|
+
"build": "rollup -c rollup.config.mjs"
|
|
29
28
|
},
|
|
30
29
|
"repository": {
|
|
31
30
|
"type": "git",
|
|
@@ -48,10 +47,10 @@
|
|
|
48
47
|
},
|
|
49
48
|
"homepage": "https://merkur.js.org/",
|
|
50
49
|
"devDependencies": {
|
|
51
|
-
"@merkur/core": "^0.
|
|
50
|
+
"@merkur/core": "^0.40.0"
|
|
52
51
|
},
|
|
53
52
|
"peerDependencies": {
|
|
54
53
|
"@merkur/core": "*"
|
|
55
54
|
},
|
|
56
|
-
"gitHead": "
|
|
55
|
+
"gitHead": "a7bf45d46a5c0fca7130ae6a86e1cd94e5894ca2"
|
|
57
56
|
}
|