@exortek/challenge 1.0.1 → 1.0.2
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/CHANGELOG.md +7 -0
- package/dist/stores.cjs +13 -2
- package/dist/stores.mjs +13 -2
- package/package.json +2 -4
package/CHANGELOG.md
CHANGED
package/dist/stores.cjs
CHANGED
|
@@ -118,7 +118,11 @@ function assertRedisClient(client, methods, wrap) {
|
|
|
118
118
|
* @returns {{ incr: (key: string, ttlMs: number) => Promise<{ count: number, expiresAt: number }>, _size: () => number, _stop: () => void }}
|
|
119
119
|
*/
|
|
120
120
|
function createMemoryIncrStore(options = {}, wrap) {
|
|
121
|
-
const fail =
|
|
121
|
+
const fail =
|
|
122
|
+
wrap ??
|
|
123
|
+
(msg => {
|
|
124
|
+
throw new TypeError(msg);
|
|
125
|
+
});
|
|
122
126
|
const maxKeys = options.maxKeys ?? 10_000;
|
|
123
127
|
const sweepMs = options.sweepMs ?? 60_000;
|
|
124
128
|
|
|
@@ -232,7 +236,14 @@ return { count, pttl }
|
|
|
232
236
|
* @returns {{ incr: (key: string, ttlMs: number) => Promise<{ count: number, expiresAt: number }> }}
|
|
233
237
|
*/
|
|
234
238
|
function createRedisIncrStore(client, options = {}, wrap) {
|
|
235
|
-
assertRedisClient(
|
|
239
|
+
assertRedisClient(
|
|
240
|
+
client,
|
|
241
|
+
['eval'],
|
|
242
|
+
wrap ??
|
|
243
|
+
(msg => {
|
|
244
|
+
throw new TypeError(msg);
|
|
245
|
+
}),
|
|
246
|
+
);
|
|
236
247
|
const keyPrefix = options.keyPrefix ?? '';
|
|
237
248
|
const k = key => `${keyPrefix}${key}`;
|
|
238
249
|
|
package/dist/stores.mjs
CHANGED
|
@@ -116,7 +116,11 @@ function assertRedisClient(client, methods, wrap) {
|
|
|
116
116
|
* @returns {{ incr: (key: string, ttlMs: number) => Promise<{ count: number, expiresAt: number }>, _size: () => number, _stop: () => void }}
|
|
117
117
|
*/
|
|
118
118
|
function createMemoryIncrStore(options = {}, wrap) {
|
|
119
|
-
const fail =
|
|
119
|
+
const fail =
|
|
120
|
+
wrap ??
|
|
121
|
+
(msg => {
|
|
122
|
+
throw new TypeError(msg);
|
|
123
|
+
});
|
|
120
124
|
const maxKeys = options.maxKeys ?? 10_000;
|
|
121
125
|
const sweepMs = options.sweepMs ?? 60_000;
|
|
122
126
|
|
|
@@ -230,7 +234,14 @@ return { count, pttl }
|
|
|
230
234
|
* @returns {{ incr: (key: string, ttlMs: number) => Promise<{ count: number, expiresAt: number }> }}
|
|
231
235
|
*/
|
|
232
236
|
function createRedisIncrStore(client, options = {}, wrap) {
|
|
233
|
-
assertRedisClient(
|
|
237
|
+
assertRedisClient(
|
|
238
|
+
client,
|
|
239
|
+
['eval'],
|
|
240
|
+
wrap ??
|
|
241
|
+
(msg => {
|
|
242
|
+
throw new TypeError(msg);
|
|
243
|
+
}),
|
|
244
|
+
);
|
|
234
245
|
const keyPrefix = options.keyPrefix ?? '';
|
|
235
246
|
const k = key => `${keyPrefix}${key}`;
|
|
236
247
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@exortek/challenge",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "Signed, single-use challenge tokens for multi-step auth flows on Node.js — carries userId / method / step / metadata across a redirect or a second request without a server-side session; HMAC-signed, expiring, optional IP-binding, single-use enforcement via any @exortek/security store.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
"files": [
|
|
23
23
|
"dist",
|
|
24
24
|
"README.md",
|
|
25
|
+
"CHANGELOG.md",
|
|
25
26
|
"LICENSE"
|
|
26
27
|
],
|
|
27
28
|
"scripts": {
|
|
@@ -62,9 +63,6 @@
|
|
|
62
63
|
"engines": {
|
|
63
64
|
"node": ">=22.0.0"
|
|
64
65
|
},
|
|
65
|
-
"devDependencies": {
|
|
66
|
-
"@exortek/shared": "0.0.0"
|
|
67
|
-
},
|
|
68
66
|
"publishConfig": {
|
|
69
67
|
"access": "public"
|
|
70
68
|
}
|