@venizia/ignis-helpers 0.2.0-37 → 0.2.0-38
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/dist/cjs/modules/socket/websocket/server/helper.d.ts.map +1 -1
- package/dist/cjs/modules/socket/websocket/server/helper.js +2 -1
- package/dist/cjs/modules/socket/websocket/server/helper.js.map +1 -1
- package/dist/cjs/modules/uid/index.d.ts +1 -1
- package/dist/cjs/modules/uid/index.d.ts.map +1 -1
- package/dist/cjs/modules/uid/index.js +1 -1
- package/dist/cjs/modules/uid/index.js.map +1 -1
- package/dist/cjs/modules/uid/request-id.d.ts +5 -12
- package/dist/cjs/modules/uid/request-id.d.ts.map +1 -1
- package/dist/cjs/modules/uid/request-id.js +7 -44
- package/dist/cjs/modules/uid/request-id.js.map +1 -1
- package/dist/cjs/modules/uid/uuid/common/constants.d.ts +26 -0
- package/dist/cjs/modules/uid/uuid/common/constants.d.ts.map +1 -0
- package/dist/cjs/modules/uid/uuid/common/constants.js +30 -0
- package/dist/cjs/modules/uid/uuid/common/constants.js.map +1 -0
- package/dist/cjs/modules/uid/uuid/common/index.d.ts +3 -0
- package/dist/cjs/modules/uid/uuid/common/index.d.ts.map +1 -0
- package/dist/cjs/modules/uid/uuid/common/index.js +24 -0
- package/dist/cjs/modules/uid/uuid/common/index.js.map +1 -0
- package/dist/cjs/modules/uid/uuid/common/types.d.ts +6 -0
- package/dist/cjs/modules/uid/uuid/common/types.d.ts.map +1 -0
- package/dist/cjs/modules/uid/uuid/common/types.js +3 -0
- package/dist/cjs/modules/uid/uuid/common/types.js.map +1 -0
- package/dist/cjs/modules/uid/uuid/helper.d.ts +72 -0
- package/dist/cjs/modules/uid/uuid/helper.d.ts.map +1 -0
- package/dist/cjs/modules/uid/uuid/helper.js +176 -0
- package/dist/cjs/modules/uid/uuid/helper.js.map +1 -0
- package/dist/cjs/modules/uid/uuid/index.d.ts +4 -0
- package/dist/cjs/modules/uid/uuid/index.d.ts.map +1 -0
- package/dist/cjs/modules/uid/uuid/index.js +20 -0
- package/dist/cjs/modules/uid/uuid/index.js.map +1 -0
- package/dist/cjs/modules/uid/uuid/sha1.d.ts +23 -0
- package/dist/cjs/modules/uid/uuid/sha1.d.ts.map +1 -0
- package/dist/cjs/modules/uid/uuid/sha1.js +109 -0
- package/dist/cjs/modules/uid/uuid/sha1.js.map +1 -0
- package/dist/cjs/modules/uid/{uuid-v7.d.ts → uuid/v7.d.ts} +7 -5
- package/dist/cjs/modules/uid/uuid/v7.d.ts.map +1 -0
- package/dist/cjs/modules/uid/{uuid-v7.js → uuid/v7.js} +6 -9
- package/dist/cjs/modules/uid/uuid/v7.js.map +1 -0
- package/dist/esm/modules/socket/websocket/server/helper.d.ts.map +1 -1
- package/dist/esm/modules/socket/websocket/server/helper.js +2 -1
- package/dist/esm/modules/socket/websocket/server/helper.js.map +1 -1
- package/dist/esm/modules/uid/index.d.ts +1 -1
- package/dist/esm/modules/uid/index.d.ts.map +1 -1
- package/dist/esm/modules/uid/index.js +1 -1
- package/dist/esm/modules/uid/index.js.map +1 -1
- package/dist/esm/modules/uid/request-id.d.ts +5 -12
- package/dist/esm/modules/uid/request-id.d.ts.map +1 -1
- package/dist/esm/modules/uid/request-id.js +7 -44
- package/dist/esm/modules/uid/request-id.js.map +1 -1
- package/dist/esm/modules/uid/uuid/common/constants.d.ts +26 -0
- package/dist/esm/modules/uid/uuid/common/constants.d.ts.map +1 -0
- package/dist/esm/modules/uid/uuid/common/constants.js +26 -0
- package/dist/esm/modules/uid/uuid/common/constants.js.map +1 -0
- package/dist/esm/modules/uid/uuid/common/index.d.ts +3 -0
- package/dist/esm/modules/uid/uuid/common/index.d.ts.map +1 -0
- package/dist/esm/modules/uid/uuid/common/index.js +5 -0
- package/dist/esm/modules/uid/uuid/common/index.js.map +1 -0
- package/dist/esm/modules/uid/uuid/common/types.d.ts +6 -0
- package/dist/esm/modules/uid/uuid/common/types.d.ts.map +1 -0
- package/dist/esm/modules/uid/uuid/common/types.js +2 -0
- package/dist/esm/modules/uid/uuid/common/types.js.map +1 -0
- package/dist/esm/modules/uid/uuid/helper.d.ts +72 -0
- package/dist/esm/modules/uid/uuid/helper.d.ts.map +1 -0
- package/dist/esm/modules/uid/uuid/helper.js +172 -0
- package/dist/esm/modules/uid/uuid/helper.js.map +1 -0
- package/dist/esm/modules/uid/uuid/index.d.ts +4 -0
- package/dist/esm/modules/uid/uuid/index.d.ts.map +1 -0
- package/dist/esm/modules/uid/uuid/index.js +4 -0
- package/dist/esm/modules/uid/uuid/index.js.map +1 -0
- package/dist/esm/modules/uid/uuid/sha1.d.ts +23 -0
- package/dist/esm/modules/uid/uuid/sha1.d.ts.map +1 -0
- package/dist/esm/modules/uid/uuid/sha1.js +105 -0
- package/dist/esm/modules/uid/uuid/sha1.js.map +1 -0
- package/dist/esm/modules/uid/{uuid-v7.d.ts → uuid/v7.d.ts} +7 -5
- package/dist/esm/modules/uid/uuid/v7.d.ts.map +1 -0
- package/dist/esm/modules/uid/{uuid-v7.js → uuid/v7.js} +6 -9
- package/dist/esm/modules/uid/uuid/v7.js.map +1 -0
- package/package.json +1 -1
- package/dist/cjs/modules/uid/uuid-v7.d.ts.map +0 -1
- package/dist/cjs/modules/uid/uuid-v7.js.map +0 -1
- package/dist/esm/modules/uid/uuid-v7.d.ts.map +0 -1
- package/dist/esm/modules/uid/uuid-v7.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/socket/websocket/server/helper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/socket/websocket/server/helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ const common_1 = require("../../../../common");
|
|
|
5
5
|
const base_1 = require("../../../base");
|
|
6
6
|
const error_1 = require("../../../error");
|
|
7
7
|
const redis_1 = require("../../../redis");
|
|
8
|
+
const uid_1 = require("../../../uid");
|
|
8
9
|
const promise_utility_1 = require("../../../../utilities/promise.utility");
|
|
9
10
|
const common_2 = require("../common");
|
|
10
11
|
const delivery_1 = require("./delivery");
|
|
@@ -31,7 +32,7 @@ class WebSocketServerHelper extends base_1.BaseHelper {
|
|
|
31
32
|
this.heartbeatTimer = null;
|
|
32
33
|
this.identifier = opts.identifier;
|
|
33
34
|
this.path = opts.path ?? common_2.WebSocketDefaults.PATH;
|
|
34
|
-
this.serverId =
|
|
35
|
+
this.serverId = uid_1.UuidHelper.getInstance().v4();
|
|
35
36
|
this.authenticateFn = opts.authenticateFn;
|
|
36
37
|
this.validateRoomFn = opts.validateRoomFn;
|
|
37
38
|
this.onClientConnected = opts.clientConnectedFn;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../../../../src/modules/socket/websocket/server/helper.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../../../../src/modules/socket/websocket/server/helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/uid/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/uid/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC"}
|
|
@@ -18,5 +18,5 @@ __exportStar(require("./common"), exports);
|
|
|
18
18
|
__exportStar(require("./helper"), exports);
|
|
19
19
|
__exportStar(require("./opaque"), exports);
|
|
20
20
|
__exportStar(require("./request-id"), exports);
|
|
21
|
-
__exportStar(require("./uuid
|
|
21
|
+
__exportStar(require("./uuid"), exports);
|
|
22
22
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/uid/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,2CAAyB;AACzB,2CAAyB;AACzB,+CAA6B;AAC7B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/uid/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,2CAAyB;AACzB,2CAAyB;AACzB,+CAA6B;AAC7B,yCAAuB"}
|
|
@@ -1,29 +1,22 @@
|
|
|
1
1
|
import { BaseHelper } from '../base';
|
|
2
2
|
/**
|
|
3
3
|
* The correlation id every IGNIS host stamps on a request, so a server, a browser Worker and the
|
|
4
|
-
* page calling it cannot drift into different formats.
|
|
4
|
+
* page calling it cannot drift into different formats. A UUID version 4 - random, no clock to
|
|
5
|
+
* correlate a caller by - drawn through {@link UuidHelper}.
|
|
5
6
|
*
|
|
6
7
|
* Never `crypto.randomUUID()` on its own, which is `hono/request-id`'s default: browsers gate that
|
|
7
8
|
* one API on a SECURE CONTEXT. Measured in Chrome - on `http://<lan-ip>` both the page and a Worker
|
|
8
9
|
* report `crypto` present and `getRandomValues` working, while `randomUUID` and `subtle` are
|
|
9
10
|
* `undefined` and the call throws `TypeError`. On `http://localhost` (a secure origin) all four are
|
|
10
11
|
* there. So the gate follows the ORIGIN, not the worker: testing from a phone over the LAN is
|
|
11
|
-
* enough to lose it.
|
|
12
|
-
*
|
|
13
|
-
* `getRandomValues` carries no such gate, so the fallback below builds the identical shape from raw
|
|
14
|
-
* entropy - a log pipeline cannot tell the two paths apart.
|
|
12
|
+
* enough to lose it. `UuidHelper.v4()` rebuilds the identical shape from `getRandomValues`, which
|
|
13
|
+
* carries no such gate - a log pipeline cannot tell the two paths apart.
|
|
15
14
|
*/
|
|
16
15
|
export declare class RequestIdGenerator extends BaseHelper {
|
|
17
|
-
|
|
18
|
-
private static readonly HEX_OCTETS;
|
|
19
|
-
/** Reused across calls - `nextId()` never yields between filling this and reading it. */
|
|
20
|
-
private readonly entropy;
|
|
21
|
-
private readonly generate;
|
|
16
|
+
private readonly uuid;
|
|
22
17
|
constructor(opts?: {
|
|
23
18
|
scope?: string;
|
|
24
19
|
});
|
|
25
20
|
nextId(): string;
|
|
26
|
-
/** RFC 9562 version 4, same shape `crypto.randomUUID()` returns: version nibble 4, variant 10xx. */
|
|
27
|
-
private uuidFromEntropy;
|
|
28
21
|
}
|
|
29
22
|
//# sourceMappingURL=request-id.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-id.d.ts","sourceRoot":"","sources":["../../../../src/modules/uid/request-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"request-id.d.ts","sourceRoot":"","sources":["../../../../src/modules/uid/request-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC;;;;;;;;;;;;GAYG;AACH,qBAAa,kBAAmB,SAAQ,UAAU;IAChD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA4B;gBAErC,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;IAIrC,MAAM,IAAI,MAAM;CAGjB"}
|
|
@@ -2,64 +2,27 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RequestIdGenerator = void 0;
|
|
4
4
|
const base_1 = require("../base");
|
|
5
|
+
const uuid_1 = require("./uuid");
|
|
5
6
|
/**
|
|
6
7
|
* The correlation id every IGNIS host stamps on a request, so a server, a browser Worker and the
|
|
7
|
-
* page calling it cannot drift into different formats.
|
|
8
|
+
* page calling it cannot drift into different formats. A UUID version 4 - random, no clock to
|
|
9
|
+
* correlate a caller by - drawn through {@link UuidHelper}.
|
|
8
10
|
*
|
|
9
11
|
* Never `crypto.randomUUID()` on its own, which is `hono/request-id`'s default: browsers gate that
|
|
10
12
|
* one API on a SECURE CONTEXT. Measured in Chrome - on `http://<lan-ip>` both the page and a Worker
|
|
11
13
|
* report `crypto` present and `getRandomValues` working, while `randomUUID` and `subtle` are
|
|
12
14
|
* `undefined` and the call throws `TypeError`. On `http://localhost` (a secure origin) all four are
|
|
13
15
|
* there. So the gate follows the ORIGIN, not the worker: testing from a phone over the LAN is
|
|
14
|
-
* enough to lose it.
|
|
15
|
-
*
|
|
16
|
-
* `getRandomValues` carries no such gate, so the fallback below builds the identical shape from raw
|
|
17
|
-
* entropy - a log pipeline cannot tell the two paths apart.
|
|
16
|
+
* enough to lose it. `UuidHelper.v4()` rebuilds the identical shape from `getRandomValues`, which
|
|
17
|
+
* carries no such gate - a log pipeline cannot tell the two paths apart.
|
|
18
18
|
*/
|
|
19
19
|
class RequestIdGenerator extends base_1.BaseHelper {
|
|
20
|
-
/** 256 pre-rendered octets: formatting a byte as hex costs more than drawing the entropy does. */
|
|
21
|
-
static { this.HEX_OCTETS = Array.from({ length: 256 }, (_, value) => (value + 0x100).toString(16).slice(1)); }
|
|
22
20
|
constructor(opts) {
|
|
23
21
|
super({ scope: opts?.scope ?? RequestIdGenerator.name });
|
|
24
|
-
|
|
25
|
-
this.entropy = new Uint8Array(16);
|
|
26
|
-
// Resolved once, not per call: whether the host exposes `randomUUID` is fixed for the life of a
|
|
27
|
-
// realm, so a per-request branch would only pay for a question already answered.
|
|
28
|
-
this.generate =
|
|
29
|
-
typeof globalThis.crypto?.randomUUID === 'function'
|
|
30
|
-
? () => globalThis.crypto.randomUUID()
|
|
31
|
-
: () => this.uuidFromEntropy();
|
|
22
|
+
this.uuid = uuid_1.UuidHelper.getInstance();
|
|
32
23
|
}
|
|
33
24
|
nextId() {
|
|
34
|
-
return this.
|
|
35
|
-
}
|
|
36
|
-
/** RFC 9562 version 4, same shape `crypto.randomUUID()` returns: version nibble 4, variant 10xx. */
|
|
37
|
-
uuidFromEntropy() {
|
|
38
|
-
const bytes = this.entropy;
|
|
39
|
-
globalThis.crypto.getRandomValues(bytes);
|
|
40
|
-
bytes[6] = (bytes[6] & 0x0f) | 0x40;
|
|
41
|
-
bytes[8] = (bytes[8] & 0x3f) | 0x80;
|
|
42
|
-
const hex = RequestIdGenerator.HEX_OCTETS;
|
|
43
|
-
return (hex[bytes[0]] +
|
|
44
|
-
hex[bytes[1]] +
|
|
45
|
-
hex[bytes[2]] +
|
|
46
|
-
hex[bytes[3]] +
|
|
47
|
-
'-' +
|
|
48
|
-
hex[bytes[4]] +
|
|
49
|
-
hex[bytes[5]] +
|
|
50
|
-
'-' +
|
|
51
|
-
hex[bytes[6]] +
|
|
52
|
-
hex[bytes[7]] +
|
|
53
|
-
'-' +
|
|
54
|
-
hex[bytes[8]] +
|
|
55
|
-
hex[bytes[9]] +
|
|
56
|
-
'-' +
|
|
57
|
-
hex[bytes[10]] +
|
|
58
|
-
hex[bytes[11]] +
|
|
59
|
-
hex[bytes[12]] +
|
|
60
|
-
hex[bytes[13]] +
|
|
61
|
-
hex[bytes[14]] +
|
|
62
|
-
hex[bytes[15]]);
|
|
25
|
+
return this.uuid.v4();
|
|
63
26
|
}
|
|
64
27
|
}
|
|
65
28
|
exports.RequestIdGenerator = RequestIdGenerator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-id.js","sourceRoot":"","sources":["../../../../src/modules/uid/request-id.ts"],"names":[],"mappings":";;;AAAA,kCAAqC;
|
|
1
|
+
{"version":3,"file":"request-id.js","sourceRoot":"","sources":["../../../../src/modules/uid/request-id.ts"],"names":[],"mappings":";;;AAAA,kCAAqC;AACrC,iCAAoC;AAEpC;;;;;;;;;;;;GAYG;AACH,MAAa,kBAAmB,SAAQ,iBAAU;IAGhD,YAAY,IAAyB;QACnC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC;QAH1C,SAAI,GAAG,iBAAU,CAAC,WAAW,EAAE,CAAC;IAIjD,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;IACxB,CAAC;CACF;AAVD,gDAUC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The four namespaces RFC 9562 names. A namespace PARTITIONS the deterministic space: the same
|
|
3
|
+
* `name` under two namespaces answers two ids, so `www.example.com` as a host and as a URL never
|
|
4
|
+
* collide. A caller with no fitting namespace mints their own with `v4()` once and pins it as a
|
|
5
|
+
* constant - never generated per call, which would defeat determinism.
|
|
6
|
+
*/
|
|
7
|
+
export declare class UuidNamespaces {
|
|
8
|
+
/** Fully-qualified domain names. */
|
|
9
|
+
static readonly DNS = "6ba7b810-9dad-11d1-80b4-00c04fd430c8";
|
|
10
|
+
/** URLs. The usual pick for a business key written as a path, like `orders/4711/refund`. */
|
|
11
|
+
static readonly URL = "6ba7b811-9dad-11d1-80b4-00c04fd430c8";
|
|
12
|
+
/** ISO object identifiers. */
|
|
13
|
+
static readonly OID = "6ba7b812-9dad-11d1-80b4-00c04fd430c8";
|
|
14
|
+
/** X.500 distinguished names. */
|
|
15
|
+
static readonly X500 = "6ba7b814-9dad-11d1-80b4-00c04fd430c8";
|
|
16
|
+
}
|
|
17
|
+
/** 256 pre-rendered octets: formatting a byte as hex costs more than producing it does. */
|
|
18
|
+
export declare const UUID_HEX_OCTETS: string[];
|
|
19
|
+
/**
|
|
20
|
+
* Lowercase, version 1-8, RFC variant. The all-zero nil id and the all-one max id fail it on
|
|
21
|
+
* purpose: both are placeholders, and a column holding one is holding a bug.
|
|
22
|
+
*/
|
|
23
|
+
export declare const UUID_PATTERN: RegExp;
|
|
24
|
+
/** Parsed namespaces are cached; past this many distinct ones the cache stops growing and parsing resumes, so a caller-fed namespace cannot grow the map without bound. */
|
|
25
|
+
export declare const MAX_CACHED_NAMESPACES = 32;
|
|
26
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/uid/uuid/common/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,qBAAa,cAAc;IACzB,oCAAoC;IACpC,MAAM,CAAC,QAAQ,CAAC,GAAG,0CAA0C;IAE7D,4FAA4F;IAC5F,MAAM,CAAC,QAAQ,CAAC,GAAG,0CAA0C;IAE7D,8BAA8B;IAC9B,MAAM,CAAC,QAAQ,CAAC,GAAG,0CAA0C;IAE7D,iCAAiC;IACjC,MAAM,CAAC,QAAQ,CAAC,IAAI,0CAA0C;CAC/D;AAED,2FAA2F;AAC3F,eAAO,MAAM,eAAe,UAE3B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,QACoD,CAAC;AAE9E,2KAA2K;AAC3K,eAAO,MAAM,qBAAqB,KAAK,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MAX_CACHED_NAMESPACES = exports.UUID_PATTERN = exports.UUID_HEX_OCTETS = exports.UuidNamespaces = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* The four namespaces RFC 9562 names. A namespace PARTITIONS the deterministic space: the same
|
|
6
|
+
* `name` under two namespaces answers two ids, so `www.example.com` as a host and as a URL never
|
|
7
|
+
* collide. A caller with no fitting namespace mints their own with `v4()` once and pins it as a
|
|
8
|
+
* constant - never generated per call, which would defeat determinism.
|
|
9
|
+
*/
|
|
10
|
+
class UuidNamespaces {
|
|
11
|
+
/** Fully-qualified domain names. */
|
|
12
|
+
static { this.DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; }
|
|
13
|
+
/** URLs. The usual pick for a business key written as a path, like `orders/4711/refund`. */
|
|
14
|
+
static { this.URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; }
|
|
15
|
+
/** ISO object identifiers. */
|
|
16
|
+
static { this.OID = '6ba7b812-9dad-11d1-80b4-00c04fd430c8'; }
|
|
17
|
+
/** X.500 distinguished names. */
|
|
18
|
+
static { this.X500 = '6ba7b814-9dad-11d1-80b4-00c04fd430c8'; }
|
|
19
|
+
}
|
|
20
|
+
exports.UuidNamespaces = UuidNamespaces;
|
|
21
|
+
/** 256 pre-rendered octets: formatting a byte as hex costs more than producing it does. */
|
|
22
|
+
exports.UUID_HEX_OCTETS = Array.from({ length: 256 }, (_, value) => (value + 0x100).toString(16).slice(1));
|
|
23
|
+
/**
|
|
24
|
+
* Lowercase, version 1-8, RFC variant. The all-zero nil id and the all-one max id fail it on
|
|
25
|
+
* purpose: both are placeholders, and a column holding one is holding a bug.
|
|
26
|
+
*/
|
|
27
|
+
exports.UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/;
|
|
28
|
+
/** Parsed namespaces are cached; past this many distinct ones the cache stops growing and parsing resumes, so a caller-fed namespace cannot grow the map without bound. */
|
|
29
|
+
exports.MAX_CACHED_NAMESPACES = 32;
|
|
30
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../src/modules/uid/uuid/common/constants.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,MAAa,cAAc;IACzB,oCAAoC;aACpB,QAAG,GAAG,sCAAsC,CAAC;IAE7D,4FAA4F;aAC5E,QAAG,GAAG,sCAAsC,CAAC;IAE7D,8BAA8B;aACd,QAAG,GAAG,sCAAsC,CAAC;IAE7D,iCAAiC;aACjB,SAAI,GAAG,sCAAsC,CAAC;;AAXhE,wCAYC;AAED,2FAA2F;AAC9E,QAAA,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CACtE,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CACtC,CAAC;AAEF;;;GAGG;AACU,QAAA,YAAY,GACvB,2EAA2E,CAAC;AAE9E,2KAA2K;AAC9J,QAAA,qBAAqB,GAAG,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/uid/uuid/common/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3D,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.UUID_PATTERN = exports.UuidNamespaces = void 0;
|
|
18
|
+
// Explicit, not `export *`: the hex table and the cache cap are implementation detail, and a symbol
|
|
19
|
+
// this package exports is a symbol it owes a deprecation cycle.
|
|
20
|
+
var constants_1 = require("./constants");
|
|
21
|
+
Object.defineProperty(exports, "UuidNamespaces", { enumerable: true, get: function () { return constants_1.UuidNamespaces; } });
|
|
22
|
+
Object.defineProperty(exports, "UUID_PATTERN", { enumerable: true, get: function () { return constants_1.UUID_PATTERN; } });
|
|
23
|
+
__exportStar(require("./types"), exports);
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/uid/uuid/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oGAAoG;AACpG,gEAAgE;AAChE,yCAA2D;AAAlD,2GAAA,cAAc,OAAA;AAAE,yGAAA,YAAY,OAAA;AACrC,0CAAwB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/uid/uuid/common/types.ts"],"names":[],"mappings":"AAAA,qGAAqG;AACrG,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../src/modules/uid/uuid/common/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { BaseHelper } from '../../base';
|
|
2
|
+
import type { IUuidInspection } from './common/types';
|
|
3
|
+
/**
|
|
4
|
+
* One door for every UUID IGNIS mints, so a choice of version is made once per use and not once per
|
|
5
|
+
* call site.
|
|
6
|
+
*
|
|
7
|
+
* - `v7()` - a database key. Ids sort in creation order, so a primary-key B-tree appends instead of
|
|
8
|
+
* splitting pages. It also reveals when the row was created: never a share link or a reset token.
|
|
9
|
+
* - `v5()` - a deterministic key from business data (an idempotency key). The same inputs always
|
|
10
|
+
* answer the same id, which is the point and also the limit: anyone holding the inputs can
|
|
11
|
+
* reproduce it, so it is never a secret. It gives a STABLE key; the unique index on the column is
|
|
12
|
+
* what actually enforces idempotency.
|
|
13
|
+
* - `v4()` - a random public identifier or token. No clock, nothing to correlate, 122 random bits.
|
|
14
|
+
*
|
|
15
|
+
* `crypto.randomUUID` is used when the host has it, and rebuilt from `getRandomValues` when it does
|
|
16
|
+
* not: browsers gate that one API on a SECURE CONTEXT, and on `http://<lan-ip>` it is simply
|
|
17
|
+
* missing (see {@link RequestIdGenerator} for the measurement).
|
|
18
|
+
*/
|
|
19
|
+
export declare class UuidHelper extends BaseHelper {
|
|
20
|
+
/** Realm-keyed: a dual CJS+ESM build puts two copies of this class in one process. */
|
|
21
|
+
private static readonly SHARED_SLOT;
|
|
22
|
+
/** Fits a namespace plus a ~160-character name without growing; longer names reallocate once. */
|
|
23
|
+
private static readonly V5_INPUT_SIZE;
|
|
24
|
+
/** 256 ids of entropy per `getRandomValues` call. */
|
|
25
|
+
private static readonly POOL_SIZE;
|
|
26
|
+
private readonly v7Generator;
|
|
27
|
+
/**
|
|
28
|
+
* Random - a public identifier or a token.
|
|
29
|
+
*
|
|
30
|
+
* A bound function, not a method: one `crypto.randomUUID` costs ~32 ns, and a method forwarding
|
|
31
|
+
* to it measured 40 ns. The wrapper was a fifth of the cost, so there is no wrapper.
|
|
32
|
+
*/
|
|
33
|
+
readonly v4: () => string;
|
|
34
|
+
/**
|
|
35
|
+
* Time-ordered - a database key. One sequence per realm, so ids from every caller stay ordered
|
|
36
|
+
* against each other.
|
|
37
|
+
*
|
|
38
|
+
* 4096 ids fit in one millisecond; past that the generator borrows the next one to keep the
|
|
39
|
+
* sequence climbing, so a burst embeds a timestamp slightly AHEAD of the wall clock - roughly one
|
|
40
|
+
* millisecond per 4096 ids. `inspect()` reports what the id carries, which is why a creation time
|
|
41
|
+
* read back inside a burst can sit a few milliseconds in the future.
|
|
42
|
+
*/
|
|
43
|
+
readonly v7: () => string;
|
|
44
|
+
private readonly encoder;
|
|
45
|
+
/** Parsed namespace bytes: an idempotency key reuses one namespace for every call, and parsing 36 characters each time is work already done. */
|
|
46
|
+
private readonly namespaces;
|
|
47
|
+
private readonly pool;
|
|
48
|
+
private offset;
|
|
49
|
+
/** `namespace | name` for `v5`, grown only when a name outruns it. {@link v5Name} views the name half. */
|
|
50
|
+
private v5Input;
|
|
51
|
+
private v5Name;
|
|
52
|
+
constructor(opts?: {
|
|
53
|
+
scope?: string;
|
|
54
|
+
});
|
|
55
|
+
static getInstance(): UuidHelper;
|
|
56
|
+
/** Lowercase, version 1-8, RFC variant. The nil and max placeholders are refused. */
|
|
57
|
+
static isValid(value: string): boolean;
|
|
58
|
+
/** Deterministic - `SHA-1(namespace + name)`. The same inputs answer the same id, forever, on every host. */
|
|
59
|
+
v5(opts: {
|
|
60
|
+
namespace: string;
|
|
61
|
+
name: string;
|
|
62
|
+
}): string;
|
|
63
|
+
/** What the id says about itself, or undefined when it is not a UUID. A v7 id also carries the moment it was minted. */
|
|
64
|
+
inspect(opts: {
|
|
65
|
+
value: string;
|
|
66
|
+
}): IUuidInspection | undefined;
|
|
67
|
+
private resolveNamespace;
|
|
68
|
+
/** Reads the pool in place: a `subarray` view per id measured 19 ns, more than the entropy costs. */
|
|
69
|
+
private v4FromPool;
|
|
70
|
+
private format;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=helper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../../../../src/modules/uid/uuid/helper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGxC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAItD;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,UAAW,SAAQ,UAAU;IACxC,sFAAsF;IACtF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAoD;IAEvF,iGAAiG;IACjG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAO;IAE5C,qDAAqD;IACrD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAY;IAE7C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiC;IAE7D;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,MAAM,CAAC;IAE1B;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,MAAM,CAAC;IAE1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAE7C,gJAAgJ;IAChJ,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiC;IAE5D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAwC;IAC7D,OAAO,CAAC,MAAM,CAAwB;IAEtC,0GAA0G;IAC1G,OAAO,CAAC,OAAO,CAA4C;IAC3D,OAAO,CAAC,MAAM,CAA6B;gBAE/B,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;IAWrC,MAAM,CAAC,WAAW,IAAI,UAAU;IAWhC,qFAAqF;IACrF,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAItC,6GAA6G;IAC7G,EAAE,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAuBrD,wHAAwH;IACxH,OAAO,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,eAAe,GAAG,SAAS;IAgB7D,OAAO,CAAC,gBAAgB;IA4BxB,qGAAqG;IACrG,OAAO,CAAC,UAAU;IAsClB,OAAO,CAAC,MAAM;CA2Bf"}
|