node-red-contrib-web-worldmap 5.7.2 → 5.8.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/CHANGELOG.md +1 -0
- package/README.md +3 -2
- package/node_modules/uuid/README.md +182 -177
- package/node_modules/uuid/dist/cjs/index.d.ts +15 -0
- package/node_modules/uuid/dist/cjs/index.js +31 -0
- package/node_modules/uuid/dist/cjs/max.d.ts +2 -0
- package/node_modules/uuid/dist/cjs/max.js +3 -0
- package/node_modules/uuid/dist/cjs/md5.d.ts +4 -0
- package/node_modules/uuid/dist/cjs/md5.js +13 -0
- package/node_modules/uuid/dist/cjs/native.d.ts +6 -0
- package/node_modules/uuid/dist/cjs/native.js +4 -0
- package/node_modules/uuid/dist/cjs/nil.d.ts +2 -0
- package/node_modules/uuid/dist/cjs/nil.js +3 -0
- package/node_modules/uuid/dist/cjs/package.json +1 -0
- package/node_modules/uuid/dist/cjs/parse.d.ts +2 -0
- package/node_modules/uuid/dist/cjs/parse.js +11 -0
- package/node_modules/uuid/dist/cjs/regex.d.ts +2 -0
- package/node_modules/uuid/dist/cjs/regex.js +3 -0
- package/node_modules/uuid/dist/cjs/rng.d.ts +1 -0
- package/node_modules/uuid/dist/cjs/rng.js +13 -0
- package/node_modules/uuid/dist/cjs/sha1.d.ts +4 -0
- package/node_modules/uuid/dist/cjs/sha1.js +13 -0
- package/node_modules/uuid/dist/cjs/stringify.d.ts +3 -0
- package/node_modules/uuid/dist/cjs/stringify.js +39 -0
- package/node_modules/uuid/dist/cjs/types.d.ts +21 -0
- package/node_modules/uuid/dist/cjs/types.js +2 -0
- package/node_modules/uuid/dist/cjs/uuid-bin.d.ts +1 -0
- package/node_modules/uuid/dist/cjs/uuid-bin.js +72 -0
- package/node_modules/uuid/dist/cjs/v1.d.ts +11 -0
- package/node_modules/uuid/dist/cjs/v1.js +87 -0
- package/node_modules/uuid/dist/cjs/v1ToV6.d.ts +2 -0
- package/node_modules/uuid/dist/cjs/v1ToV6.js +13 -0
- package/node_modules/uuid/dist/cjs/v3.d.ts +9 -0
- package/node_modules/uuid/dist/cjs/v3.js +14 -0
- package/node_modules/uuid/dist/cjs/v35.d.ts +7 -0
- package/node_modules/uuid/dist/cjs/v35.js +44 -0
- package/node_modules/uuid/dist/cjs/v4.d.ts +4 -0
- package/node_modules/uuid/dist/cjs/v4.js +29 -0
- package/node_modules/uuid/dist/cjs/v5.d.ts +9 -0
- package/node_modules/uuid/dist/cjs/v5.js +14 -0
- package/node_modules/uuid/dist/cjs/v6.d.ts +4 -0
- package/node_modules/uuid/dist/cjs/v6.js +22 -0
- package/node_modules/uuid/dist/cjs/v6ToV1.d.ts +2 -0
- package/node_modules/uuid/dist/cjs/v6ToV1.js +13 -0
- package/node_modules/uuid/dist/cjs/v7.d.ts +9 -0
- package/node_modules/uuid/dist/cjs/v7.js +69 -0
- package/node_modules/uuid/dist/cjs/validate.d.ts +2 -0
- package/node_modules/uuid/dist/cjs/validate.js +7 -0
- package/node_modules/uuid/dist/cjs/version.d.ts +2 -0
- package/node_modules/uuid/dist/cjs/version.js +10 -0
- package/node_modules/uuid/dist/cjs-browser/index.d.ts +15 -0
- package/node_modules/uuid/dist/cjs-browser/index.js +31 -0
- package/node_modules/uuid/dist/cjs-browser/max.d.ts +2 -0
- package/node_modules/uuid/dist/cjs-browser/max.js +3 -0
- package/node_modules/uuid/dist/cjs-browser/md5.d.ts +2 -0
- package/node_modules/uuid/dist/cjs-browser/md5.js +137 -0
- package/node_modules/uuid/dist/cjs-browser/native.d.ts +4 -0
- package/node_modules/uuid/dist/cjs-browser/native.js +4 -0
- package/node_modules/uuid/dist/cjs-browser/nil.d.ts +2 -0
- package/node_modules/uuid/dist/cjs-browser/nil.js +3 -0
- package/node_modules/uuid/dist/cjs-browser/package.json +1 -0
- package/node_modules/uuid/dist/cjs-browser/parse.d.ts +2 -0
- package/node_modules/uuid/dist/cjs-browser/parse.js +11 -0
- package/node_modules/uuid/dist/cjs-browser/regex.d.ts +2 -0
- package/node_modules/uuid/dist/cjs-browser/regex.js +3 -0
- package/node_modules/uuid/dist/cjs-browser/rng.d.ts +1 -0
- package/node_modules/uuid/dist/cjs-browser/rng.js +14 -0
- package/node_modules/uuid/dist/cjs-browser/sha1.d.ts +2 -0
- package/node_modules/uuid/dist/cjs-browser/sha1.js +72 -0
- package/node_modules/uuid/dist/cjs-browser/stringify.d.ts +3 -0
- package/node_modules/uuid/dist/cjs-browser/stringify.js +39 -0
- package/node_modules/uuid/dist/cjs-browser/types.d.ts +21 -0
- package/node_modules/uuid/dist/cjs-browser/types.js +2 -0
- package/node_modules/uuid/dist/cjs-browser/uuid-bin.d.ts +1 -0
- package/node_modules/uuid/dist/cjs-browser/uuid-bin.js +72 -0
- package/node_modules/uuid/dist/cjs-browser/v1.d.ts +11 -0
- package/node_modules/uuid/dist/cjs-browser/v1.js +87 -0
- package/node_modules/uuid/dist/cjs-browser/v1ToV6.d.ts +2 -0
- package/node_modules/uuid/dist/cjs-browser/v1ToV6.js +13 -0
- package/node_modules/uuid/dist/cjs-browser/v3.d.ts +9 -0
- package/node_modules/uuid/dist/cjs-browser/v3.js +14 -0
- package/node_modules/uuid/dist/cjs-browser/v35.d.ts +7 -0
- package/node_modules/uuid/dist/cjs-browser/v35.js +44 -0
- package/node_modules/uuid/dist/cjs-browser/v4.d.ts +4 -0
- package/node_modules/uuid/dist/cjs-browser/v4.js +29 -0
- package/node_modules/uuid/dist/cjs-browser/v5.d.ts +9 -0
- package/node_modules/uuid/dist/cjs-browser/v5.js +14 -0
- package/node_modules/uuid/dist/cjs-browser/v6.d.ts +4 -0
- package/node_modules/uuid/dist/cjs-browser/v6.js +22 -0
- package/node_modules/uuid/dist/cjs-browser/v6ToV1.d.ts +2 -0
- package/node_modules/uuid/dist/cjs-browser/v6ToV1.js +13 -0
- package/node_modules/uuid/dist/cjs-browser/v7.d.ts +9 -0
- package/node_modules/uuid/dist/cjs-browser/v7.js +69 -0
- package/node_modules/uuid/dist/cjs-browser/validate.d.ts +2 -0
- package/node_modules/uuid/dist/cjs-browser/validate.js +7 -0
- package/node_modules/uuid/dist/cjs-browser/version.d.ts +2 -0
- package/node_modules/uuid/dist/cjs-browser/version.js +10 -0
- package/node_modules/uuid/dist/esm/bin/uuid +2 -0
- package/node_modules/uuid/dist/esm/index.d.ts +15 -0
- package/node_modules/uuid/dist/{esm-node → esm}/index.js +9 -4
- package/node_modules/uuid/dist/esm/max.d.ts +2 -0
- package/node_modules/uuid/dist/esm/max.js +1 -0
- package/node_modules/uuid/dist/esm/md5.d.ts +4 -0
- package/node_modules/uuid/dist/esm/md5.js +11 -0
- package/node_modules/uuid/dist/esm/native.d.ts +6 -0
- package/node_modules/uuid/dist/esm/native.js +2 -0
- package/node_modules/uuid/dist/esm/nil.d.ts +2 -0
- package/node_modules/uuid/dist/esm/nil.js +1 -0
- package/node_modules/uuid/dist/esm/parse.d.ts +2 -0
- package/node_modules/uuid/dist/esm/parse.js +9 -0
- package/node_modules/uuid/dist/esm/regex.d.ts +2 -0
- package/node_modules/uuid/dist/esm/regex.js +1 -0
- package/node_modules/uuid/dist/esm/rng.d.ts +1 -0
- package/node_modules/uuid/dist/esm/rng.js +10 -0
- package/node_modules/uuid/dist/esm/sha1.d.ts +4 -0
- package/node_modules/uuid/dist/esm/sha1.js +11 -0
- package/node_modules/uuid/dist/esm/stringify.d.ts +3 -0
- package/node_modules/uuid/dist/esm/stringify.js +35 -0
- package/node_modules/uuid/dist/esm/types.d.ts +21 -0
- package/node_modules/uuid/dist/esm/types.js +1 -0
- package/node_modules/uuid/dist/esm/uuid-bin.d.ts +1 -0
- package/node_modules/uuid/dist/esm/uuid-bin.js +70 -0
- package/node_modules/uuid/dist/esm/v1.d.ts +11 -0
- package/node_modules/uuid/dist/esm/v1.js +83 -0
- package/node_modules/uuid/dist/esm/v1ToV6.d.ts +2 -0
- package/node_modules/uuid/dist/esm/v1ToV6.js +10 -0
- package/node_modules/uuid/dist/esm/v3.d.ts +9 -0
- package/node_modules/uuid/dist/esm/v3.js +9 -0
- package/node_modules/uuid/dist/esm/v35.d.ts +7 -0
- package/node_modules/uuid/dist/esm/v35.js +39 -0
- package/node_modules/uuid/dist/esm/v4.d.ts +4 -0
- package/node_modules/uuid/dist/esm/v4.js +27 -0
- package/node_modules/uuid/dist/esm/v5.d.ts +9 -0
- package/node_modules/uuid/dist/esm/v5.js +9 -0
- package/node_modules/uuid/dist/esm/v6.d.ts +4 -0
- package/node_modules/uuid/dist/esm/v6.js +20 -0
- package/node_modules/uuid/dist/esm/v6ToV1.d.ts +2 -0
- package/node_modules/uuid/dist/esm/v6ToV1.js +10 -0
- package/node_modules/uuid/dist/esm/v7.d.ts +9 -0
- package/node_modules/uuid/dist/esm/v7.js +65 -0
- package/node_modules/uuid/dist/esm/validate.d.ts +2 -0
- package/node_modules/uuid/dist/esm/validate.js +5 -0
- package/node_modules/uuid/dist/esm/version.d.ts +2 -0
- package/node_modules/uuid/dist/esm/version.js +8 -0
- package/node_modules/uuid/dist/esm-browser/index.d.ts +15 -0
- package/node_modules/uuid/dist/esm-browser/index.js +9 -4
- package/node_modules/uuid/dist/esm-browser/max.d.ts +2 -0
- package/node_modules/uuid/dist/esm-browser/max.js +1 -0
- package/node_modules/uuid/dist/esm-browser/md5.d.ts +2 -0
- package/node_modules/uuid/dist/esm-browser/md5.js +113 -193
- package/node_modules/uuid/dist/esm-browser/native.d.ts +4 -0
- package/node_modules/uuid/dist/esm-browser/native.js +2 -0
- package/node_modules/uuid/dist/esm-browser/nil.d.ts +2 -0
- package/node_modules/uuid/dist/esm-browser/nil.js +1 -1
- package/node_modules/uuid/dist/esm-browser/parse.d.ts +2 -0
- package/node_modules/uuid/dist/esm-browser/parse.js +6 -32
- package/node_modules/uuid/dist/esm-browser/regex.d.ts +2 -0
- package/node_modules/uuid/dist/esm-browser/regex.js +1 -1
- package/node_modules/uuid/dist/esm-browser/rng.d.ts +1 -0
- package/node_modules/uuid/dist/esm-browser/rng.js +8 -16
- package/node_modules/uuid/dist/esm-browser/sha1.d.ts +2 -0
- package/node_modules/uuid/dist/esm-browser/sha1.js +62 -88
- package/node_modules/uuid/dist/esm-browser/stringify.d.ts +3 -0
- package/node_modules/uuid/dist/esm-browser/stringify.js +32 -27
- package/node_modules/uuid/dist/esm-browser/types.d.ts +21 -0
- package/node_modules/uuid/dist/esm-browser/types.js +1 -0
- package/node_modules/uuid/dist/esm-browser/uuid-bin.d.ts +1 -0
- package/node_modules/uuid/dist/esm-browser/uuid-bin.js +70 -0
- package/node_modules/uuid/dist/esm-browser/v1.d.ts +11 -0
- package/node_modules/uuid/dist/esm-browser/v1.js +78 -90
- package/node_modules/uuid/dist/esm-browser/v1ToV6.d.ts +2 -0
- package/node_modules/uuid/dist/esm-browser/v1ToV6.js +10 -0
- package/node_modules/uuid/dist/esm-browser/v3.d.ts +9 -0
- package/node_modules/uuid/dist/esm-browser/v3.js +8 -3
- package/node_modules/uuid/dist/esm-browser/v35.d.ts +7 -0
- package/node_modules/uuid/dist/esm-browser/v35.js +33 -58
- package/node_modules/uuid/dist/esm-browser/v4.d.ts +4 -0
- package/node_modules/uuid/dist/esm-browser/v4.js +23 -20
- package/node_modules/uuid/dist/esm-browser/v5.d.ts +9 -0
- package/node_modules/uuid/dist/esm-browser/v5.js +8 -3
- package/node_modules/uuid/dist/esm-browser/v6.d.ts +4 -0
- package/node_modules/uuid/dist/esm-browser/v6.js +20 -0
- package/node_modules/uuid/dist/esm-browser/v6ToV1.d.ts +2 -0
- package/node_modules/uuid/dist/esm-browser/v6ToV1.js +10 -0
- package/node_modules/uuid/dist/esm-browser/v7.d.ts +9 -0
- package/node_modules/uuid/dist/esm-browser/v7.js +65 -0
- package/node_modules/uuid/dist/esm-browser/validate.d.ts +2 -0
- package/node_modules/uuid/dist/esm-browser/validate.js +2 -4
- package/node_modules/uuid/dist/esm-browser/version.d.ts +2 -0
- package/node_modules/uuid/dist/esm-browser/version.js +5 -8
- package/node_modules/uuid/package.json +80 -83
- package/package.json +4 -1
- package/worldmap/worldmap.js +7 -0
- package/worldmap.html +1 -1
- package/node_modules/uuid/CHANGELOG.md +0 -229
- package/node_modules/uuid/CONTRIBUTING.md +0 -18
- package/node_modules/uuid/dist/bin/uuid +0 -2
- package/node_modules/uuid/dist/esm-node/md5.js +0 -13
- package/node_modules/uuid/dist/esm-node/nil.js +0 -1
- package/node_modules/uuid/dist/esm-node/parse.js +0 -35
- package/node_modules/uuid/dist/esm-node/regex.js +0 -1
- package/node_modules/uuid/dist/esm-node/rng.js +0 -12
- package/node_modules/uuid/dist/esm-node/sha1.js +0 -13
- package/node_modules/uuid/dist/esm-node/stringify.js +0 -29
- package/node_modules/uuid/dist/esm-node/v1.js +0 -95
- package/node_modules/uuid/dist/esm-node/v3.js +0 -4
- package/node_modules/uuid/dist/esm-node/v35.js +0 -64
- package/node_modules/uuid/dist/esm-node/v4.js +0 -24
- package/node_modules/uuid/dist/esm-node/v5.js +0 -4
- package/node_modules/uuid/dist/esm-node/validate.js +0 -7
- package/node_modules/uuid/dist/esm-node/version.js +0 -11
- package/node_modules/uuid/dist/index.js +0 -79
- package/node_modules/uuid/dist/md5-browser.js +0 -223
- package/node_modules/uuid/dist/md5.js +0 -23
- package/node_modules/uuid/dist/nil.js +0 -8
- package/node_modules/uuid/dist/parse.js +0 -45
- package/node_modules/uuid/dist/regex.js +0 -8
- package/node_modules/uuid/dist/rng-browser.js +0 -26
- package/node_modules/uuid/dist/rng.js +0 -24
- package/node_modules/uuid/dist/sha1-browser.js +0 -104
- package/node_modules/uuid/dist/sha1.js +0 -23
- package/node_modules/uuid/dist/stringify.js +0 -39
- package/node_modules/uuid/dist/umd/uuid.min.js +0 -1
- package/node_modules/uuid/dist/umd/uuidNIL.min.js +0 -1
- package/node_modules/uuid/dist/umd/uuidParse.min.js +0 -1
- package/node_modules/uuid/dist/umd/uuidStringify.min.js +0 -1
- package/node_modules/uuid/dist/umd/uuidValidate.min.js +0 -1
- package/node_modules/uuid/dist/umd/uuidVersion.min.js +0 -1
- package/node_modules/uuid/dist/umd/uuidv1.min.js +0 -1
- package/node_modules/uuid/dist/umd/uuidv3.min.js +0 -1
- package/node_modules/uuid/dist/umd/uuidv4.min.js +0 -1
- package/node_modules/uuid/dist/umd/uuidv5.min.js +0 -1
- package/node_modules/uuid/dist/uuid-bin.js +0 -85
- package/node_modules/uuid/dist/v1.js +0 -107
- package/node_modules/uuid/dist/v3.js +0 -16
- package/node_modules/uuid/dist/v35.js +0 -78
- package/node_modules/uuid/dist/v4.js +0 -37
- package/node_modules/uuid/dist/v5.js +0 -16
- package/node_modules/uuid/dist/validate.js +0 -17
- package/node_modules/uuid/dist/version.js +0 -21
- package/node_modules/uuid/wrapper.mjs +0 -10
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import rng from './rng.js';
|
|
2
|
+
import { unsafeStringify } from './stringify.js';
|
|
3
|
+
const _state = {};
|
|
4
|
+
function v1(options, buf, offset) {
|
|
5
|
+
let bytes;
|
|
6
|
+
const isV6 = options?._v6 ?? false;
|
|
7
|
+
if (options) {
|
|
8
|
+
const optionsKeys = Object.keys(options);
|
|
9
|
+
if (optionsKeys.length === 1 && optionsKeys[0] === '_v6') {
|
|
10
|
+
options = undefined;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
if (options) {
|
|
14
|
+
bytes = v1Bytes(options.random ?? options.rng?.() ?? rng(), options.msecs, options.nsecs, options.clockseq, options.node, buf, offset);
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
const now = Date.now();
|
|
18
|
+
const rnds = rng();
|
|
19
|
+
updateV1State(_state, now, rnds);
|
|
20
|
+
bytes = v1Bytes(rnds, _state.msecs, _state.nsecs, isV6 ? undefined : _state.clockseq, isV6 ? undefined : _state.node, buf, offset);
|
|
21
|
+
}
|
|
22
|
+
return buf ?? unsafeStringify(bytes);
|
|
23
|
+
}
|
|
24
|
+
export function updateV1State(state, now, rnds) {
|
|
25
|
+
state.msecs ??= -Infinity;
|
|
26
|
+
state.nsecs ??= 0;
|
|
27
|
+
if (now === state.msecs) {
|
|
28
|
+
state.nsecs++;
|
|
29
|
+
if (state.nsecs >= 10000) {
|
|
30
|
+
state.node = undefined;
|
|
31
|
+
state.nsecs = 0;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
else if (now > state.msecs) {
|
|
35
|
+
state.nsecs = 0;
|
|
36
|
+
}
|
|
37
|
+
else if (now < state.msecs) {
|
|
38
|
+
state.node = undefined;
|
|
39
|
+
}
|
|
40
|
+
if (!state.node) {
|
|
41
|
+
state.node = rnds.slice(10, 16);
|
|
42
|
+
state.node[0] |= 0x01;
|
|
43
|
+
state.clockseq = ((rnds[8] << 8) | rnds[9]) & 0x3fff;
|
|
44
|
+
}
|
|
45
|
+
state.msecs = now;
|
|
46
|
+
return state;
|
|
47
|
+
}
|
|
48
|
+
function v1Bytes(rnds, msecs, nsecs, clockseq, node, buf, offset = 0) {
|
|
49
|
+
if (rnds.length < 16) {
|
|
50
|
+
throw new Error('Random bytes length must be >= 16');
|
|
51
|
+
}
|
|
52
|
+
if (!buf) {
|
|
53
|
+
buf = new Uint8Array(16);
|
|
54
|
+
offset = 0;
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
if (offset < 0 || offset + 16 > buf.length) {
|
|
58
|
+
throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
msecs ??= Date.now();
|
|
62
|
+
nsecs ??= 0;
|
|
63
|
+
clockseq ??= ((rnds[8] << 8) | rnds[9]) & 0x3fff;
|
|
64
|
+
node ??= rnds.slice(10, 16);
|
|
65
|
+
msecs += 12219292800000;
|
|
66
|
+
const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;
|
|
67
|
+
buf[offset++] = (tl >>> 24) & 0xff;
|
|
68
|
+
buf[offset++] = (tl >>> 16) & 0xff;
|
|
69
|
+
buf[offset++] = (tl >>> 8) & 0xff;
|
|
70
|
+
buf[offset++] = tl & 0xff;
|
|
71
|
+
const tmh = ((msecs / 0x100000000) * 10000) & 0xfffffff;
|
|
72
|
+
buf[offset++] = (tmh >>> 8) & 0xff;
|
|
73
|
+
buf[offset++] = tmh & 0xff;
|
|
74
|
+
buf[offset++] = ((tmh >>> 24) & 0xf) | 0x10;
|
|
75
|
+
buf[offset++] = (tmh >>> 16) & 0xff;
|
|
76
|
+
buf[offset++] = (clockseq >>> 8) | 0x80;
|
|
77
|
+
buf[offset++] = clockseq & 0xff;
|
|
78
|
+
for (let n = 0; n < 6; ++n) {
|
|
79
|
+
buf[offset++] = node[n];
|
|
80
|
+
}
|
|
81
|
+
return buf;
|
|
82
|
+
}
|
|
83
|
+
export default v1;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import parse from './parse.js';
|
|
2
|
+
import { unsafeStringify } from './stringify.js';
|
|
3
|
+
export default function v1ToV6(uuid) {
|
|
4
|
+
const v1Bytes = typeof uuid === 'string' ? parse(uuid) : uuid;
|
|
5
|
+
const v6Bytes = _v1ToV6(v1Bytes);
|
|
6
|
+
return typeof uuid === 'string' ? unsafeStringify(v6Bytes) : v6Bytes;
|
|
7
|
+
}
|
|
8
|
+
function _v1ToV6(v1Bytes) {
|
|
9
|
+
return Uint8Array.of(((v1Bytes[6] & 0x0f) << 4) | ((v1Bytes[7] >> 4) & 0x0f), ((v1Bytes[7] & 0x0f) << 4) | ((v1Bytes[4] & 0xf0) >> 4), ((v1Bytes[4] & 0x0f) << 4) | ((v1Bytes[5] & 0xf0) >> 4), ((v1Bytes[5] & 0x0f) << 4) | ((v1Bytes[0] & 0xf0) >> 4), ((v1Bytes[0] & 0x0f) << 4) | ((v1Bytes[1] & 0xf0) >> 4), ((v1Bytes[1] & 0x0f) << 4) | ((v1Bytes[2] & 0xf0) >> 4), 0x60 | (v1Bytes[2] & 0x0f), v1Bytes[3], v1Bytes[8], v1Bytes[9], v1Bytes[10], v1Bytes[11], v1Bytes[12], v1Bytes[13], v1Bytes[14], v1Bytes[15]);
|
|
10
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { UUIDTypes } from './types.js';
|
|
2
|
+
export { DNS, URL } from './v35.js';
|
|
3
|
+
declare function v3(value: string | Uint8Array, namespace: UUIDTypes, buf?: undefined, offset?: number): string;
|
|
4
|
+
declare function v3<TBuf extends Uint8Array = Uint8Array>(value: string | Uint8Array, namespace: UUIDTypes, buf: TBuf, offset?: number): TBuf;
|
|
5
|
+
declare namespace v3 {
|
|
6
|
+
var DNS: string;
|
|
7
|
+
var URL: string;
|
|
8
|
+
}
|
|
9
|
+
export default v3;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import md5 from './md5.js';
|
|
2
|
+
import v35, { DNS, URL } from './v35.js';
|
|
3
|
+
export { DNS, URL } from './v35.js';
|
|
4
|
+
function v3(value, namespace, buf, offset) {
|
|
5
|
+
return v35(0x30, md5, value, namespace, buf, offset);
|
|
6
|
+
}
|
|
7
|
+
v3.DNS = DNS;
|
|
8
|
+
v3.URL = URL;
|
|
9
|
+
export default v3;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { UUIDTypes } from './types.js';
|
|
2
|
+
export declare function stringToBytes(str: string): Uint8Array;
|
|
3
|
+
export declare const DNS = "6ba7b810-9dad-11d1-80b4-00c04fd430c8";
|
|
4
|
+
export declare const URL = "6ba7b811-9dad-11d1-80b4-00c04fd430c8";
|
|
5
|
+
type HashFunction = (bytes: Uint8Array) => Uint8Array;
|
|
6
|
+
export default function v35<TBuf extends Uint8Array = Uint8Array>(version: 0x30 | 0x50, hash: HashFunction, value: string | Uint8Array, namespace: UUIDTypes, buf?: TBuf, offset?: number): UUIDTypes<TBuf>;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import parse from './parse.js';
|
|
2
|
+
import { unsafeStringify } from './stringify.js';
|
|
3
|
+
export function stringToBytes(str) {
|
|
4
|
+
str = unescape(encodeURIComponent(str));
|
|
5
|
+
const bytes = new Uint8Array(str.length);
|
|
6
|
+
for (let i = 0; i < str.length; ++i) {
|
|
7
|
+
bytes[i] = str.charCodeAt(i);
|
|
8
|
+
}
|
|
9
|
+
return bytes;
|
|
10
|
+
}
|
|
11
|
+
export const DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';
|
|
12
|
+
export const URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';
|
|
13
|
+
export default function v35(version, hash, value, namespace, buf, offset) {
|
|
14
|
+
const valueBytes = typeof value === 'string' ? stringToBytes(value) : value;
|
|
15
|
+
const namespaceBytes = typeof namespace === 'string' ? parse(namespace) : namespace;
|
|
16
|
+
if (typeof namespace === 'string') {
|
|
17
|
+
namespace = parse(namespace);
|
|
18
|
+
}
|
|
19
|
+
if (namespace?.length !== 16) {
|
|
20
|
+
throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');
|
|
21
|
+
}
|
|
22
|
+
let bytes = new Uint8Array(16 + valueBytes.length);
|
|
23
|
+
bytes.set(namespaceBytes);
|
|
24
|
+
bytes.set(valueBytes, namespaceBytes.length);
|
|
25
|
+
bytes = hash(bytes);
|
|
26
|
+
bytes[6] = (bytes[6] & 0x0f) | version;
|
|
27
|
+
bytes[8] = (bytes[8] & 0x3f) | 0x80;
|
|
28
|
+
if (buf) {
|
|
29
|
+
offset = offset || 0;
|
|
30
|
+
if (offset < 0 || offset + 16 > buf.length) {
|
|
31
|
+
throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);
|
|
32
|
+
}
|
|
33
|
+
for (let i = 0; i < 16; ++i) {
|
|
34
|
+
buf[offset + i] = bytes[i];
|
|
35
|
+
}
|
|
36
|
+
return buf;
|
|
37
|
+
}
|
|
38
|
+
return unsafeStringify(bytes);
|
|
39
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Version4Options } from './types.js';
|
|
2
|
+
declare function v4(options?: Version4Options, buf?: undefined, offset?: number): string;
|
|
3
|
+
declare function v4<TBuf extends Uint8Array = Uint8Array>(options: Version4Options | undefined, buf: TBuf, offset?: number): TBuf;
|
|
4
|
+
export default v4;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import native from './native.js';
|
|
2
|
+
import rng from './rng.js';
|
|
3
|
+
import { unsafeStringify } from './stringify.js';
|
|
4
|
+
function v4(options, buf, offset) {
|
|
5
|
+
if (native.randomUUID && !buf && !options) {
|
|
6
|
+
return native.randomUUID();
|
|
7
|
+
}
|
|
8
|
+
options = options || {};
|
|
9
|
+
const rnds = options.random ?? options.rng?.() ?? rng();
|
|
10
|
+
if (rnds.length < 16) {
|
|
11
|
+
throw new Error('Random bytes length must be >= 16');
|
|
12
|
+
}
|
|
13
|
+
rnds[6] = (rnds[6] & 0x0f) | 0x40;
|
|
14
|
+
rnds[8] = (rnds[8] & 0x3f) | 0x80;
|
|
15
|
+
if (buf) {
|
|
16
|
+
offset = offset || 0;
|
|
17
|
+
if (offset < 0 || offset + 16 > buf.length) {
|
|
18
|
+
throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);
|
|
19
|
+
}
|
|
20
|
+
for (let i = 0; i < 16; ++i) {
|
|
21
|
+
buf[offset + i] = rnds[i];
|
|
22
|
+
}
|
|
23
|
+
return buf;
|
|
24
|
+
}
|
|
25
|
+
return unsafeStringify(rnds);
|
|
26
|
+
}
|
|
27
|
+
export default v4;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { UUIDTypes } from './types.js';
|
|
2
|
+
export { DNS, URL } from './v35.js';
|
|
3
|
+
declare function v5(value: string | Uint8Array, namespace: UUIDTypes, buf?: undefined, offset?: number): string;
|
|
4
|
+
declare function v5<TBuf extends Uint8Array = Uint8Array>(value: string | Uint8Array, namespace: UUIDTypes, buf: TBuf, offset?: number): TBuf;
|
|
5
|
+
declare namespace v5 {
|
|
6
|
+
var DNS: string;
|
|
7
|
+
var URL: string;
|
|
8
|
+
}
|
|
9
|
+
export default v5;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import sha1 from './sha1.js';
|
|
2
|
+
import v35, { DNS, URL } from './v35.js';
|
|
3
|
+
export { DNS, URL } from './v35.js';
|
|
4
|
+
function v5(value, namespace, buf, offset) {
|
|
5
|
+
return v35(0x50, sha1, value, namespace, buf, offset);
|
|
6
|
+
}
|
|
7
|
+
v5.DNS = DNS;
|
|
8
|
+
v5.URL = URL;
|
|
9
|
+
export default v5;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Version6Options } from './types.js';
|
|
2
|
+
declare function v6(options?: Version6Options, buf?: undefined, offset?: number): string;
|
|
3
|
+
declare function v6<TBuf extends Uint8Array = Uint8Array>(options: Version6Options | undefined, buf: TBuf, offset?: number): TBuf;
|
|
4
|
+
export default v6;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { unsafeStringify } from './stringify.js';
|
|
2
|
+
import v1 from './v1.js';
|
|
3
|
+
import v1ToV6 from './v1ToV6.js';
|
|
4
|
+
function v6(options, buf, offset) {
|
|
5
|
+
options ??= {};
|
|
6
|
+
offset ??= 0;
|
|
7
|
+
let bytes = v1({ ...options, _v6: true }, new Uint8Array(16));
|
|
8
|
+
bytes = v1ToV6(bytes);
|
|
9
|
+
if (buf) {
|
|
10
|
+
if (offset < 0 || offset + 16 > buf.length) {
|
|
11
|
+
throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);
|
|
12
|
+
}
|
|
13
|
+
for (let i = 0; i < 16; i++) {
|
|
14
|
+
buf[offset + i] = bytes[i];
|
|
15
|
+
}
|
|
16
|
+
return buf;
|
|
17
|
+
}
|
|
18
|
+
return unsafeStringify(bytes);
|
|
19
|
+
}
|
|
20
|
+
export default v6;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import parse from './parse.js';
|
|
2
|
+
import { unsafeStringify } from './stringify.js';
|
|
3
|
+
export default function v6ToV1(uuid) {
|
|
4
|
+
const v6Bytes = typeof uuid === 'string' ? parse(uuid) : uuid;
|
|
5
|
+
const v1Bytes = _v6ToV1(v6Bytes);
|
|
6
|
+
return typeof uuid === 'string' ? unsafeStringify(v1Bytes) : v1Bytes;
|
|
7
|
+
}
|
|
8
|
+
function _v6ToV1(v6Bytes) {
|
|
9
|
+
return Uint8Array.of(((v6Bytes[3] & 0x0f) << 4) | ((v6Bytes[4] >> 4) & 0x0f), ((v6Bytes[4] & 0x0f) << 4) | ((v6Bytes[5] & 0xf0) >> 4), ((v6Bytes[5] & 0x0f) << 4) | (v6Bytes[6] & 0x0f), v6Bytes[7], ((v6Bytes[1] & 0x0f) << 4) | ((v6Bytes[2] & 0xf0) >> 4), ((v6Bytes[2] & 0x0f) << 4) | ((v6Bytes[3] & 0xf0) >> 4), 0x10 | ((v6Bytes[0] & 0xf0) >> 4), ((v6Bytes[0] & 0x0f) << 4) | ((v6Bytes[1] & 0xf0) >> 4), v6Bytes[8], v6Bytes[9], v6Bytes[10], v6Bytes[11], v6Bytes[12], v6Bytes[13], v6Bytes[14], v6Bytes[15]);
|
|
10
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Version7Options } from './types.js';
|
|
2
|
+
type V7State = {
|
|
3
|
+
msecs?: number;
|
|
4
|
+
seq?: number;
|
|
5
|
+
};
|
|
6
|
+
declare function v7(options?: Version7Options, buf?: undefined, offset?: number): string;
|
|
7
|
+
declare function v7<TBuf extends Uint8Array = Uint8Array>(options: Version7Options | undefined, buf: TBuf, offset?: number): TBuf;
|
|
8
|
+
export declare function updateV7State(state: V7State, now: number, rnds: Uint8Array): V7State;
|
|
9
|
+
export default v7;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import rng from './rng.js';
|
|
2
|
+
import { unsafeStringify } from './stringify.js';
|
|
3
|
+
const _state = {};
|
|
4
|
+
function v7(options, buf, offset) {
|
|
5
|
+
let bytes;
|
|
6
|
+
if (options) {
|
|
7
|
+
bytes = v7Bytes(options.random ?? options.rng?.() ?? rng(), options.msecs, options.seq, buf, offset);
|
|
8
|
+
}
|
|
9
|
+
else {
|
|
10
|
+
const now = Date.now();
|
|
11
|
+
const rnds = rng();
|
|
12
|
+
updateV7State(_state, now, rnds);
|
|
13
|
+
bytes = v7Bytes(rnds, _state.msecs, _state.seq, buf, offset);
|
|
14
|
+
}
|
|
15
|
+
return buf ?? unsafeStringify(bytes);
|
|
16
|
+
}
|
|
17
|
+
export function updateV7State(state, now, rnds) {
|
|
18
|
+
state.msecs ??= -Infinity;
|
|
19
|
+
state.seq ??= 0;
|
|
20
|
+
if (now > state.msecs) {
|
|
21
|
+
state.seq = (rnds[6] << 23) | (rnds[7] << 16) | (rnds[8] << 8) | rnds[9];
|
|
22
|
+
state.msecs = now;
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
state.seq = (state.seq + 1) | 0;
|
|
26
|
+
if (state.seq === 0) {
|
|
27
|
+
state.msecs++;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return state;
|
|
31
|
+
}
|
|
32
|
+
function v7Bytes(rnds, msecs, seq, buf, offset = 0) {
|
|
33
|
+
if (rnds.length < 16) {
|
|
34
|
+
throw new Error('Random bytes length must be >= 16');
|
|
35
|
+
}
|
|
36
|
+
if (!buf) {
|
|
37
|
+
buf = new Uint8Array(16);
|
|
38
|
+
offset = 0;
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
if (offset < 0 || offset + 16 > buf.length) {
|
|
42
|
+
throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
msecs ??= Date.now();
|
|
46
|
+
seq ??= ((rnds[6] * 0x7f) << 24) | (rnds[7] << 16) | (rnds[8] << 8) | rnds[9];
|
|
47
|
+
buf[offset++] = (msecs / 0x10000000000) & 0xff;
|
|
48
|
+
buf[offset++] = (msecs / 0x100000000) & 0xff;
|
|
49
|
+
buf[offset++] = (msecs / 0x1000000) & 0xff;
|
|
50
|
+
buf[offset++] = (msecs / 0x10000) & 0xff;
|
|
51
|
+
buf[offset++] = (msecs / 0x100) & 0xff;
|
|
52
|
+
buf[offset++] = msecs & 0xff;
|
|
53
|
+
buf[offset++] = 0x70 | ((seq >>> 28) & 0x0f);
|
|
54
|
+
buf[offset++] = (seq >>> 20) & 0xff;
|
|
55
|
+
buf[offset++] = 0x80 | ((seq >>> 14) & 0x3f);
|
|
56
|
+
buf[offset++] = (seq >>> 6) & 0xff;
|
|
57
|
+
buf[offset++] = ((seq << 2) & 0xff) | (rnds[10] & 0x03);
|
|
58
|
+
buf[offset++] = rnds[11];
|
|
59
|
+
buf[offset++] = rnds[12];
|
|
60
|
+
buf[offset++] = rnds[13];
|
|
61
|
+
buf[offset++] = rnds[14];
|
|
62
|
+
buf[offset++] = rnds[15];
|
|
63
|
+
return buf;
|
|
64
|
+
}
|
|
65
|
+
export default v7;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export type * from './types.js';
|
|
2
|
+
export { default as MAX } from './max.js';
|
|
3
|
+
export { default as NIL } from './nil.js';
|
|
4
|
+
export { default as parse } from './parse.js';
|
|
5
|
+
export { default as stringify } from './stringify.js';
|
|
6
|
+
export { default as v1 } from './v1.js';
|
|
7
|
+
export { default as v1ToV6 } from './v1ToV6.js';
|
|
8
|
+
export { default as v3 } from './v3.js';
|
|
9
|
+
export { default as v4 } from './v4.js';
|
|
10
|
+
export { default as v5 } from './v5.js';
|
|
11
|
+
export { default as v6 } from './v6.js';
|
|
12
|
+
export { default as v6ToV1 } from './v6ToV1.js';
|
|
13
|
+
export { default as v7 } from './v7.js';
|
|
14
|
+
export { default as validate } from './validate.js';
|
|
15
|
+
export { default as version } from './version.js';
|
|
@@ -1,9 +1,14 @@
|
|
|
1
|
+
export { default as MAX } from './max.js';
|
|
2
|
+
export { default as NIL } from './nil.js';
|
|
3
|
+
export { default as parse } from './parse.js';
|
|
4
|
+
export { default as stringify } from './stringify.js';
|
|
1
5
|
export { default as v1 } from './v1.js';
|
|
6
|
+
export { default as v1ToV6 } from './v1ToV6.js';
|
|
2
7
|
export { default as v3 } from './v3.js';
|
|
3
8
|
export { default as v4 } from './v4.js';
|
|
4
9
|
export { default as v5 } from './v5.js';
|
|
5
|
-
export { default as
|
|
6
|
-
export { default as
|
|
10
|
+
export { default as v6 } from './v6.js';
|
|
11
|
+
export { default as v6ToV1 } from './v6ToV1.js';
|
|
12
|
+
export { default as v7 } from './v7.js';
|
|
7
13
|
export { default as validate } from './validate.js';
|
|
8
|
-
export { default as
|
|
9
|
-
export { default as parse } from './parse.js';
|
|
14
|
+
export { default as version } from './version.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default 'ffffffff-ffff-ffff-ffff-ffffffffffff';
|