uuid 10.0.0 → 11.0.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 +170 -0
- package/README.md +71 -171
- package/dist/cjs/_types.d.ts +21 -0
- package/dist/cjs/_types.js +3 -0
- package/dist/cjs/index.d.ts +14 -0
- package/dist/cjs/index.js +32 -0
- package/dist/cjs/max.d.ts +2 -0
- package/dist/cjs/max.js +4 -0
- package/dist/cjs/md5.d.ts +2 -0
- package/dist/cjs/md5.js +14 -0
- package/dist/cjs/native.d.ts +5 -0
- package/dist/cjs/native.js +5 -0
- package/dist/cjs/nil.d.ts +2 -0
- package/dist/cjs/nil.js +4 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/parse.d.ts +2 -0
- package/dist/cjs/parse.js +12 -0
- package/dist/cjs/regex.d.ts +2 -0
- package/dist/cjs/regex.js +4 -0
- package/dist/cjs/rng.d.ts +1 -0
- package/dist/cjs/rng.js +14 -0
- package/dist/cjs/sha1.d.ts +2 -0
- package/dist/cjs/sha1.js +14 -0
- package/dist/cjs/stringify.d.ts +3 -0
- package/dist/cjs/stringify.js +39 -0
- package/dist/cjs/test/parse.test.d.ts +1 -0
- package/dist/cjs/test/parse.test.js +51 -0
- package/dist/cjs/test/rng.test.d.ts +1 -0
- package/dist/cjs/test/rng.test.js +15 -0
- package/dist/cjs/test/stringify.test.d.ts +1 -0
- package/dist/cjs/test/stringify.test.js +24 -0
- package/dist/cjs/test/test_constants.d.ts +33 -0
- package/dist/cjs/test/test_constants.js +92 -0
- package/dist/cjs/test/v1.test.d.ts +1 -0
- package/dist/cjs/test/v1.test.js +128 -0
- package/dist/cjs/test/v35.test.d.ts +1 -0
- package/dist/cjs/test/v35.test.js +144 -0
- package/dist/cjs/test/v4.test.d.ts +1 -0
- package/dist/cjs/test/v4.test.js +61 -0
- package/dist/cjs/test/v6.test.d.ts +1 -0
- package/dist/cjs/test/v6.test.js +57 -0
- package/dist/cjs/test/v7.test.d.ts +1 -0
- package/dist/cjs/test/v7.test.js +195 -0
- package/dist/cjs/test/validate.test.d.ts +1 -0
- package/dist/cjs/test/validate.test.js +14 -0
- package/dist/cjs/test/version.test.d.ts +1 -0
- package/dist/cjs/test/version.test.js +21 -0
- package/dist/cjs/uuid-bin.d.ts +1 -0
- package/dist/cjs/uuid-bin.js +73 -0
- package/dist/cjs/v1.d.ts +11 -0
- package/dist/cjs/v1.js +79 -0
- package/dist/cjs/v1ToV6.d.ts +2 -0
- package/dist/cjs/v1ToV6.js +14 -0
- package/dist/cjs/v3.d.ts +9 -0
- package/dist/cjs/v3.js +15 -0
- package/dist/cjs/v35.d.ts +7 -0
- package/dist/cjs/v35.js +42 -0
- package/dist/cjs/v4.d.ts +4 -0
- package/dist/cjs/v4.js +24 -0
- package/dist/cjs/v5.d.ts +9 -0
- package/dist/cjs/v5.js +15 -0
- package/dist/cjs/v6.d.ts +4 -0
- package/dist/cjs/v6.js +20 -0
- package/dist/cjs/v6ToV1.d.ts +2 -0
- package/dist/cjs/v6ToV1.js +14 -0
- package/dist/cjs/v7.d.ts +9 -0
- package/dist/cjs/v7.js +61 -0
- package/dist/cjs/validate.d.ts +2 -0
- package/dist/cjs/validate.js +8 -0
- package/dist/cjs/version.d.ts +2 -0
- package/dist/cjs/version.js +11 -0
- package/dist/cjs-browser/_types.d.ts +21 -0
- package/dist/cjs-browser/_types.js +3 -0
- package/dist/{esm-node/index.js → cjs-browser/index.d.ts} +1 -1
- package/dist/cjs-browser/index.js +32 -0
- package/dist/cjs-browser/max.d.ts +2 -0
- package/dist/cjs-browser/max.js +4 -0
- package/dist/cjs-browser/md5.d.ts +2 -0
- package/dist/cjs-browser/md5.js +138 -0
- package/dist/cjs-browser/native.d.ts +4 -0
- package/dist/cjs-browser/native.js +5 -0
- package/dist/cjs-browser/nil.d.ts +2 -0
- package/dist/cjs-browser/nil.js +4 -0
- package/dist/cjs-browser/package.json +1 -0
- package/dist/cjs-browser/parse.d.ts +2 -0
- package/dist/cjs-browser/parse.js +12 -0
- package/dist/cjs-browser/regex.d.ts +2 -0
- package/dist/cjs-browser/regex.js +4 -0
- package/dist/cjs-browser/rng.d.ts +1 -0
- package/dist/cjs-browser/rng.js +15 -0
- package/dist/cjs-browser/sha1.d.ts +2 -0
- package/dist/cjs-browser/sha1.js +73 -0
- package/dist/cjs-browser/stringify.d.ts +3 -0
- package/dist/cjs-browser/stringify.js +39 -0
- package/dist/cjs-browser/test/parse.test.d.ts +1 -0
- package/dist/cjs-browser/test/parse.test.js +51 -0
- package/dist/cjs-browser/test/rng.test.d.ts +1 -0
- package/dist/cjs-browser/test/rng.test.js +15 -0
- package/dist/cjs-browser/test/stringify.test.d.ts +1 -0
- package/dist/cjs-browser/test/stringify.test.js +24 -0
- package/dist/cjs-browser/test/test_constants.d.ts +33 -0
- package/dist/cjs-browser/test/test_constants.js +92 -0
- package/dist/cjs-browser/test/v1.test.d.ts +1 -0
- package/dist/cjs-browser/test/v1.test.js +128 -0
- package/dist/cjs-browser/test/v35.test.d.ts +1 -0
- package/dist/cjs-browser/test/v35.test.js +144 -0
- package/dist/cjs-browser/test/v4.test.d.ts +1 -0
- package/dist/cjs-browser/test/v4.test.js +61 -0
- package/dist/cjs-browser/test/v6.test.d.ts +1 -0
- package/dist/cjs-browser/test/v6.test.js +57 -0
- package/dist/cjs-browser/test/v7.test.d.ts +1 -0
- package/dist/cjs-browser/test/v7.test.js +195 -0
- package/dist/cjs-browser/test/validate.test.d.ts +1 -0
- package/dist/cjs-browser/test/validate.test.js +14 -0
- package/dist/cjs-browser/test/version.test.d.ts +1 -0
- package/dist/cjs-browser/test/version.test.js +21 -0
- package/dist/cjs-browser/uuid-bin.d.ts +1 -0
- package/dist/cjs-browser/uuid-bin.js +73 -0
- package/dist/cjs-browser/v1.d.ts +11 -0
- package/dist/cjs-browser/v1.js +79 -0
- package/dist/cjs-browser/v1ToV6.d.ts +2 -0
- package/dist/cjs-browser/v1ToV6.js +14 -0
- package/dist/cjs-browser/v3.d.ts +9 -0
- package/dist/cjs-browser/v3.js +15 -0
- package/dist/cjs-browser/v35.d.ts +7 -0
- package/dist/cjs-browser/v35.js +42 -0
- package/dist/cjs-browser/v4.d.ts +4 -0
- package/dist/cjs-browser/v4.js +24 -0
- package/dist/cjs-browser/v5.d.ts +9 -0
- package/dist/cjs-browser/v5.js +15 -0
- package/dist/cjs-browser/v6.d.ts +4 -0
- package/dist/cjs-browser/v6.js +20 -0
- package/dist/cjs-browser/v6ToV1.d.ts +2 -0
- package/dist/cjs-browser/v6ToV1.js +14 -0
- package/dist/cjs-browser/v7.d.ts +9 -0
- package/dist/cjs-browser/v7.js +61 -0
- package/dist/cjs-browser/validate.d.ts +2 -0
- package/dist/cjs-browser/validate.js +8 -0
- package/dist/cjs-browser/version.d.ts +2 -0
- package/dist/cjs-browser/version.js +11 -0
- package/dist/esm/_types.d.ts +21 -0
- package/dist/esm/_types.js +2 -0
- package/dist/esm/bin/uuid +2 -0
- package/dist/esm/index.d.ts +14 -0
- package/dist/esm/index.js +15 -0
- package/dist/esm/max.d.ts +2 -0
- package/dist/esm/max.js +2 -0
- package/dist/esm/md5.d.ts +2 -0
- package/dist/esm/md5.js +12 -0
- package/dist/esm/native.d.ts +5 -0
- package/dist/esm/native.js +3 -0
- package/dist/esm/nil.d.ts +2 -0
- package/dist/esm/nil.js +2 -0
- package/dist/esm/parse.d.ts +2 -0
- package/dist/esm/parse.js +10 -0
- package/dist/esm/regex.d.ts +2 -0
- package/dist/esm/regex.js +2 -0
- package/dist/esm/rng.d.ts +1 -0
- package/dist/esm/rng.js +11 -0
- package/dist/esm/sha1.d.ts +2 -0
- package/dist/esm/sha1.js +12 -0
- package/dist/esm/stringify.d.ts +3 -0
- package/dist/esm/stringify.js +36 -0
- package/dist/esm/test/parse.test.d.ts +1 -0
- package/dist/esm/test/parse.test.js +49 -0
- package/dist/esm/test/rng.test.d.ts +1 -0
- package/dist/esm/test/rng.test.js +13 -0
- package/dist/esm/test/stringify.test.d.ts +1 -0
- package/dist/esm/test/stringify.test.js +22 -0
- package/dist/esm/test/test_constants.d.ts +33 -0
- package/dist/esm/test/test_constants.js +89 -0
- package/dist/esm/test/v1.test.d.ts +1 -0
- package/dist/esm/test/v1.test.js +126 -0
- package/dist/esm/test/v35.test.d.ts +1 -0
- package/dist/esm/test/v35.test.js +142 -0
- package/dist/esm/test/v4.test.d.ts +1 -0
- package/dist/esm/test/v4.test.js +59 -0
- package/dist/esm/test/v6.test.d.ts +1 -0
- package/dist/esm/test/v6.test.js +55 -0
- package/dist/esm/test/v7.test.d.ts +1 -0
- package/dist/esm/test/v7.test.js +193 -0
- package/dist/esm/test/validate.test.d.ts +1 -0
- package/dist/esm/test/validate.test.js +12 -0
- package/dist/esm/test/version.test.d.ts +1 -0
- package/dist/esm/test/version.test.js +19 -0
- package/dist/esm/uuid-bin.d.ts +1 -0
- package/dist/esm/uuid-bin.js +71 -0
- package/dist/esm/v1.d.ts +11 -0
- package/dist/esm/v1.js +76 -0
- package/dist/esm/v1ToV6.d.ts +2 -0
- package/dist/esm/v1ToV6.js +11 -0
- package/dist/esm/v3.d.ts +9 -0
- package/dist/esm/v3.js +10 -0
- package/dist/esm/v35.d.ts +7 -0
- package/dist/esm/v35.js +37 -0
- package/dist/esm/v4.d.ts +4 -0
- package/dist/esm/v4.js +22 -0
- package/dist/esm/v5.d.ts +9 -0
- package/dist/esm/v5.js +10 -0
- package/dist/esm/v6.d.ts +4 -0
- package/dist/esm/v6.js +18 -0
- package/dist/esm/v6ToV1.d.ts +2 -0
- package/dist/esm/v6ToV1.js +11 -0
- package/dist/esm/v7.d.ts +9 -0
- package/dist/esm/v7.js +58 -0
- package/dist/esm/validate.d.ts +2 -0
- package/dist/esm/validate.js +6 -0
- package/dist/esm/version.d.ts +2 -0
- package/dist/esm/version.js +9 -0
- package/dist/esm-browser/_types.d.ts +21 -0
- package/dist/esm-browser/_types.js +2 -0
- package/dist/esm-browser/index.d.ts +14 -0
- package/dist/esm-browser/index.js +2 -1
- package/dist/esm-browser/max.d.ts +2 -0
- package/dist/esm-browser/max.js +2 -1
- package/dist/esm-browser/md5.d.ts +2 -0
- package/dist/esm-browser/md5.js +114 -172
- package/dist/esm-browser/native.d.ts +4 -0
- package/dist/esm-browser/native.js +3 -4
- package/dist/esm-browser/nil.d.ts +2 -0
- package/dist/esm-browser/nil.js +2 -1
- package/dist/esm-browser/parse.d.ts +2 -0
- package/dist/esm-browser/parse.js +7 -34
- package/dist/esm-browser/regex.d.ts +2 -0
- package/dist/esm-browser/regex.js +2 -1
- package/dist/esm-browser/rng.d.ts +1 -0
- package/dist/esm-browser/rng.js +9 -14
- package/dist/esm-browser/sha1.d.ts +2 -0
- package/dist/esm-browser/sha1.js +63 -68
- package/dist/esm-browser/stringify.d.ts +3 -0
- package/dist/esm-browser/stringify.js +30 -25
- package/dist/esm-browser/test/parse.test.d.ts +1 -0
- package/dist/esm-browser/test/parse.test.js +49 -0
- package/dist/esm-browser/test/rng.test.d.ts +1 -0
- package/dist/esm-browser/test/rng.test.js +13 -0
- package/dist/esm-browser/test/stringify.test.d.ts +1 -0
- package/dist/esm-browser/test/stringify.test.js +22 -0
- package/dist/esm-browser/test/test_constants.d.ts +33 -0
- package/dist/esm-browser/test/test_constants.js +89 -0
- package/dist/esm-browser/test/v1.test.d.ts +1 -0
- package/dist/esm-browser/test/v1.test.js +126 -0
- package/dist/esm-browser/test/v35.test.d.ts +1 -0
- package/dist/esm-browser/test/v35.test.js +142 -0
- package/dist/esm-browser/test/v4.test.d.ts +1 -0
- package/dist/esm-browser/test/v4.test.js +59 -0
- package/dist/esm-browser/test/v6.test.d.ts +1 -0
- package/dist/esm-browser/test/v6.test.js +55 -0
- package/dist/esm-browser/test/v7.test.d.ts +1 -0
- package/dist/esm-browser/test/v7.test.js +193 -0
- package/dist/esm-browser/test/validate.test.d.ts +1 -0
- package/dist/esm-browser/test/validate.test.js +12 -0
- package/dist/esm-browser/test/version.test.d.ts +1 -0
- package/dist/esm-browser/test/version.test.js +19 -0
- package/dist/esm-browser/uuid-bin.d.ts +1 -0
- package/dist/esm-browser/uuid-bin.js +71 -0
- package/dist/esm-browser/v1.d.ts +11 -0
- package/dist/esm-browser/v1.js +68 -117
- package/dist/esm-browser/v1ToV6.d.ts +2 -0
- package/dist/esm-browser/v1ToV6.js +7 -16
- package/dist/esm-browser/v3.d.ts +9 -0
- package/dist/esm-browser/v3.js +9 -3
- package/dist/esm-browser/v35.d.ts +7 -0
- package/dist/esm-browser/v35.js +29 -47
- package/dist/esm-browser/v4.d.ts +4 -0
- package/dist/esm-browser/v4.js +16 -19
- package/dist/esm-browser/v5.d.ts +9 -0
- package/dist/esm-browser/v5.js +9 -3
- package/dist/esm-browser/v6.d.ts +4 -0
- package/dist/esm-browser/v6.js +14 -32
- package/dist/esm-browser/v6ToV1.d.ts +2 -0
- package/dist/esm-browser/v6ToV1.js +6 -15
- package/dist/esm-browser/v7.d.ts +9 -0
- package/dist/esm-browser/v7.js +51 -139
- package/dist/esm-browser/validate.d.ts +2 -0
- package/dist/esm-browser/validate.js +3 -2
- package/dist/esm-browser/version.d.ts +2 -0
- package/dist/esm-browser/version.js +6 -5
- package/package.json +54 -64
- package/wrapper.mjs +1 -1
- package/dist/bin/uuid +0 -2
- package/dist/commonjs-browser/index.js +0 -104
- package/dist/commonjs-browser/max.js +0 -7
- package/dist/commonjs-browser/md5.js +0 -200
- package/dist/commonjs-browser/native.js +0 -10
- package/dist/commonjs-browser/nil.js +0 -7
- package/dist/commonjs-browser/parse.js +0 -44
- package/dist/commonjs-browser/regex.js +0 -7
- package/dist/commonjs-browser/rng.js +0 -23
- package/dist/commonjs-browser/sha1.js +0 -82
- package/dist/commonjs-browser/stringify.js +0 -38
- package/dist/commonjs-browser/v1.js +0 -131
- package/dist/commonjs-browser/v1ToV6.js +0 -26
- package/dist/commonjs-browser/v3.js +0 -11
- package/dist/commonjs-browser/v35.js +0 -63
- package/dist/commonjs-browser/v4.js +0 -32
- package/dist/commonjs-browser/v5.js +0 -11
- package/dist/commonjs-browser/v6.js +0 -42
- package/dist/commonjs-browser/v6ToV1.js +0 -26
- package/dist/commonjs-browser/v7.js +0 -152
- package/dist/commonjs-browser/validate.js +0 -12
- package/dist/commonjs-browser/version.js +0 -15
- package/dist/esm-node/max.js +0 -1
- package/dist/esm-node/md5.js +0 -10
- package/dist/esm-node/native.js +0 -4
- package/dist/esm-node/nil.js +0 -1
- package/dist/esm-node/parse.js +0 -37
- package/dist/esm-node/regex.js +0 -1
- package/dist/esm-node/rng.js +0 -10
- package/dist/esm-node/sha1.js +0 -10
- package/dist/esm-node/stringify.js +0 -31
- package/dist/esm-node/v1.js +0 -125
- package/dist/esm-node/v1ToV6.js +0 -20
- package/dist/esm-node/v3.js +0 -4
- package/dist/esm-node/v35.js +0 -55
- package/dist/esm-node/v4.js +0 -25
- package/dist/esm-node/v5.js +0 -4
- package/dist/esm-node/v6.js +0 -32
- package/dist/esm-node/v6ToV1.js +0 -20
- package/dist/esm-node/v7.js +0 -146
- package/dist/esm-node/validate.js +0 -5
- package/dist/esm-node/version.js +0 -8
- package/dist/index.js +0 -104
- package/dist/max.js +0 -7
- package/dist/md5-browser.js +0 -200
- package/dist/md5.js +0 -17
- package/dist/native-browser.js +0 -10
- package/dist/native.js +0 -11
- package/dist/nil.js +0 -7
- package/dist/parse.js +0 -44
- package/dist/regex.js +0 -7
- package/dist/rng-browser.js +0 -23
- package/dist/rng.js +0 -17
- package/dist/sha1-browser.js +0 -82
- package/dist/sha1.js +0 -17
- package/dist/stringify.js +0 -38
- package/dist/uuid-bin.js +0 -75
- package/dist/v1.js +0 -131
- package/dist/v1ToV6.js +0 -26
- package/dist/v3.js +0 -11
- package/dist/v35.js +0 -63
- package/dist/v4.js +0 -32
- package/dist/v5.js +0 -11
- package/dist/v6.js +0 -38
- package/dist/v6ToV1.js +0 -26
- package/dist/v7.js +0 -152
- package/dist/validate.js +0 -12
- package/dist/version.js +0 -15
package/dist/esm-browser/v1.js
CHANGED
|
@@ -1,125 +1,76 @@
|
|
|
1
1
|
import rng from './rng.js';
|
|
2
2
|
import { unsafeStringify } from './stringify.js';
|
|
3
|
-
|
|
4
|
-
// **`v1()` - Generate time-based UUID**
|
|
5
|
-
//
|
|
6
|
-
// Inspired by https://github.com/LiosK/UUID.js
|
|
7
|
-
// and http://docs.python.org/library/uuid.html
|
|
8
|
-
|
|
9
|
-
var _nodeId;
|
|
10
|
-
var _clockseq;
|
|
11
|
-
|
|
12
|
-
// Previous uuid creation time
|
|
13
|
-
var _lastMSecs = 0;
|
|
14
|
-
var _lastNSecs = 0;
|
|
15
|
-
|
|
16
|
-
// See https://github.com/uuidjs/uuid for API details
|
|
3
|
+
const _state = {};
|
|
17
4
|
function v1(options, buf, offset) {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
if (!options._v6) {
|
|
26
|
-
if (!node) {
|
|
27
|
-
node = _nodeId;
|
|
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
|
+
}
|
|
28
12
|
}
|
|
29
|
-
if (
|
|
30
|
-
|
|
13
|
+
if (options) {
|
|
14
|
+
bytes = v1Bytes(options.random ?? options.rng?.() ?? rng(), options.msecs, options.nsecs, options.clockseq, options.node, buf, offset);
|
|
31
15
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
var seedBytes = options.random || (options.rng || rng)();
|
|
38
|
-
|
|
39
|
-
// Randomize node
|
|
40
|
-
if (node == null) {
|
|
41
|
-
node = [seedBytes[0], seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];
|
|
42
|
-
|
|
43
|
-
// v1 only: cache node value for reuse
|
|
44
|
-
if (!_nodeId && !options._v6) {
|
|
45
|
-
// per RFC4122 4.5: Set MAC multicast bit (v1 only)
|
|
46
|
-
node[0] |= 0x01; // Set multicast bit
|
|
47
|
-
|
|
48
|
-
_nodeId = node;
|
|
49
|
-
}
|
|
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);
|
|
50
21
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
22
|
+
return buf ? bytes : 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 (!buf) {
|
|
50
|
+
buf = new Uint8Array(16);
|
|
51
|
+
offset = 0;
|
|
52
|
+
}
|
|
53
|
+
msecs ??= Date.now();
|
|
54
|
+
nsecs ??= 0;
|
|
55
|
+
clockseq ??= ((rnds[8] << 8) | rnds[9]) & 0x3fff;
|
|
56
|
+
node ??= rnds.slice(10, 16);
|
|
57
|
+
msecs += 12219292800000;
|
|
58
|
+
const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;
|
|
59
|
+
buf[offset++] = (tl >>> 24) & 0xff;
|
|
60
|
+
buf[offset++] = (tl >>> 16) & 0xff;
|
|
61
|
+
buf[offset++] = (tl >>> 8) & 0xff;
|
|
62
|
+
buf[offset++] = tl & 0xff;
|
|
63
|
+
const tmh = ((msecs / 0x100000000) * 10000) & 0xfffffff;
|
|
64
|
+
buf[offset++] = (tmh >>> 8) & 0xff;
|
|
65
|
+
buf[offset++] = tmh & 0xff;
|
|
66
|
+
buf[offset++] = ((tmh >>> 24) & 0xf) | 0x10;
|
|
67
|
+
buf[offset++] = (tmh >>> 16) & 0xff;
|
|
68
|
+
buf[offset++] = (clockseq >>> 8) | 0x80;
|
|
69
|
+
buf[offset++] = clockseq & 0xff;
|
|
70
|
+
for (let n = 0; n < 6; ++n) {
|
|
71
|
+
buf[offset++] = node[n];
|
|
59
72
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
// v1 & v6 timestamps are 100 nano-second units since the Gregorian epoch,
|
|
63
|
-
// (1582-10-15 00:00). JSNumbers aren't precise enough for this, so time is
|
|
64
|
-
// handled internally as 'msecs' (integer milliseconds) and 'nsecs'
|
|
65
|
-
// (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.
|
|
66
|
-
var msecs = options.msecs !== undefined ? options.msecs : Date.now();
|
|
67
|
-
|
|
68
|
-
// Per 4.2.1.2, use count of uuid's generated during the current clock
|
|
69
|
-
// cycle to simulate higher resolution clock
|
|
70
|
-
var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1;
|
|
71
|
-
|
|
72
|
-
// Time since last uuid creation (in msecs)
|
|
73
|
-
var dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000;
|
|
74
|
-
|
|
75
|
-
// Per 4.2.1.2, Bump clockseq on clock regression
|
|
76
|
-
if (dt < 0 && options.clockseq === undefined) {
|
|
77
|
-
clockseq = clockseq + 1 & 0x3fff;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
// Reset nsecs if clock regresses (new clockseq) or we've moved onto a new
|
|
81
|
-
// time interval
|
|
82
|
-
if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {
|
|
83
|
-
nsecs = 0;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
// Per 4.2.1.2 Throw error if too many uuids are requested
|
|
87
|
-
if (nsecs >= 10000) {
|
|
88
|
-
throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");
|
|
89
|
-
}
|
|
90
|
-
_lastMSecs = msecs;
|
|
91
|
-
_lastNSecs = nsecs;
|
|
92
|
-
_clockseq = clockseq;
|
|
93
|
-
|
|
94
|
-
// Per 4.1.4 - Convert from unix epoch to Gregorian epoch
|
|
95
|
-
msecs += 12219292800000;
|
|
96
|
-
|
|
97
|
-
// `time_low`
|
|
98
|
-
var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;
|
|
99
|
-
b[i++] = tl >>> 24 & 0xff;
|
|
100
|
-
b[i++] = tl >>> 16 & 0xff;
|
|
101
|
-
b[i++] = tl >>> 8 & 0xff;
|
|
102
|
-
b[i++] = tl & 0xff;
|
|
103
|
-
|
|
104
|
-
// `time_mid`
|
|
105
|
-
var tmh = msecs / 0x100000000 * 10000 & 0xfffffff;
|
|
106
|
-
b[i++] = tmh >>> 8 & 0xff;
|
|
107
|
-
b[i++] = tmh & 0xff;
|
|
108
|
-
|
|
109
|
-
// `time_high_and_version`
|
|
110
|
-
b[i++] = tmh >>> 24 & 0xf | 0x10; // include version
|
|
111
|
-
b[i++] = tmh >>> 16 & 0xff;
|
|
112
|
-
|
|
113
|
-
// `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)
|
|
114
|
-
b[i++] = clockseq >>> 8 | 0x80;
|
|
115
|
-
|
|
116
|
-
// `clock_seq_low`
|
|
117
|
-
b[i++] = clockseq & 0xff;
|
|
118
|
-
|
|
119
|
-
// `node`
|
|
120
|
-
for (var n = 0; n < 6; ++n) {
|
|
121
|
-
b[i + n] = node[n];
|
|
122
|
-
}
|
|
123
|
-
return buf || unsafeStringify(b);
|
|
73
|
+
return buf;
|
|
124
74
|
}
|
|
125
|
-
export default v1;
|
|
75
|
+
export default v1;
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdjEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxHQUFHLE1BQU0sVUFBVSxDQUFDO0FBQzNCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQXNCakQsTUFBTSxNQUFNLEdBQVksRUFBRSxDQUFDO0FBSTNCLFNBQVMsRUFBRSxDQUFDLE9BQXlCLEVBQUUsR0FBZ0IsRUFBRSxNQUFlO0lBQ3RFLElBQUksS0FBaUIsQ0FBQztJQUd0QixNQUFNLElBQUksR0FBRyxPQUFPLEVBQUUsR0FBRyxJQUFJLEtBQUssQ0FBQztJQUNuQyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ1osTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QyxJQUFJLFdBQVcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUN6RCxPQUFPLEdBQUcsU0FBUyxDQUFDO1FBQ3RCLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUVaLEtBQUssR0FBRyxPQUFPLENBQ2IsT0FBTyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxHQUFHLEVBQUUsRUFDMUMsT0FBTyxDQUFDLEtBQUssRUFDYixPQUFPLENBQUMsS0FBSyxFQUNiLE9BQU8sQ0FBQyxRQUFRLEVBQ2hCLE9BQU8sQ0FBQyxJQUFJLEVBQ1osR0FBRyxFQUNILE1BQU0sQ0FDUCxDQUFDO0lBQ0osQ0FBQztTQUFNLENBQUM7UUFFTixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDdkIsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFFbkIsYUFBYSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFD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
|
|
@@ -1,20 +1,11 @@
|
|
|
1
1
|
import parse from './parse.js';
|
|
2
2
|
import { unsafeStringify } from './stringify.js';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Convert a v1 UUID to a v6 UUID
|
|
6
|
-
*
|
|
7
|
-
* @param {string|Uint8Array} uuid - The v1 UUID to convert to v6
|
|
8
|
-
* @returns {string|Uint8Array} The v6 UUID as the same type as the `uuid` arg
|
|
9
|
-
* (string or Uint8Array)
|
|
10
|
-
*/
|
|
11
3
|
export default function v1ToV6(uuid) {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
4
|
+
const v1Bytes = typeof uuid === 'string' ? parse(uuid) : uuid;
|
|
5
|
+
const v6Bytes = _v1ToV6(v1Bytes);
|
|
6
|
+
return typeof uuid === 'string' ? unsafeStringify(v6Bytes) : v6Bytes;
|
|
15
7
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
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
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjFUb1Y2LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3YxVG9WNi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssTUFBTSxZQUFZLENBQUM7QUFDL0IsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBV2pELE1BQU0sQ0FBQyxPQUFPLFVBQVUsTUFBTSxDQUFDLElBQXlCO0lBQ3RELE1BQU0sT0FBTyxHQUFHLE9BQU8sSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFFOUQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRWpDLE9BQU8sT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztBQUN2RSxDQUFDO0FBR0QsU0FBUyxPQUFPLENBQUMsT0FBbUI7SUFDbEMsT0FBTyxVQUFVLENBQUMsRUFBRSxDQUNsQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQ3ZELENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFDdkQsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUN2RCxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBRXZELENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFDdkQsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUV2RCxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQzFCLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFFVixPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQ1YsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUNWLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFDWCxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQ1gsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUNYLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFDWCxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQ1gsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUNaLENBQUM7QUFDSixDQUFDIn0=
|
|
@@ -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(value: string | Uint8Array, namespace: UUIDTypes, buf?: Uint8Array, offset?: number): Uint8Array;
|
|
5
|
+
declare namespace v3 {
|
|
6
|
+
var DNS: string;
|
|
7
|
+
var URL: string;
|
|
8
|
+
}
|
|
9
|
+
export default v3;
|
package/dist/esm-browser/v3.js
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
import v35 from './v35.js';
|
|
2
1
|
import md5 from './md5.js';
|
|
3
|
-
|
|
4
|
-
export
|
|
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;
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdjMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxHQUFHLE1BQU0sVUFBVSxDQUFDO0FBQzNCLE9BQU8sR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQWNwQyxTQUFTLEVBQUUsQ0FBQyxLQUEwQixFQUFFLFNBQW9CLEVBQUUsR0FBZ0IsRUFBRSxNQUFlO0lBQzdGLE9BQU8sR0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDdkQsQ0FBQztBQUVELEVBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO0FBQ2IsRUFBRSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7QUFFYixlQUFlLEVBQUUsQ0FBQyJ9
|
|
@@ -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(version: 0x30 | 0x50, hash: HashFunction, value: string | Uint8Array, namespace: UUIDTypes, buf?: Uint8Array, offset?: number): string | Uint8Array;
|
|
7
|
+
export {};
|
package/dist/esm-browser/v35.js
CHANGED
|
@@ -1,55 +1,37 @@
|
|
|
1
|
-
import { unsafeStringify } from './stringify.js';
|
|
2
1
|
import parse from './parse.js';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
return bytes;
|
|
11
|
-
}
|
|
12
|
-
export var DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';
|
|
13
|
-
export var URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';
|
|
14
|
-
export default function v35(name, version, hashfunc) {
|
|
15
|
-
function generateUUID(value, namespace, buf, offset) {
|
|
16
|
-
var _namespace;
|
|
17
|
-
if (typeof value === 'string') {
|
|
18
|
-
value = stringToBytes(value);
|
|
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);
|
|
19
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;
|
|
20
16
|
if (typeof namespace === 'string') {
|
|
21
|
-
|
|
17
|
+
namespace = parse(namespace);
|
|
22
18
|
}
|
|
23
|
-
if (
|
|
24
|
-
|
|
19
|
+
if (namespace?.length !== 16) {
|
|
20
|
+
throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');
|
|
25
21
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
bytes
|
|
32
|
-
bytes.set(value, namespace.length);
|
|
33
|
-
bytes = hashfunc(bytes);
|
|
34
|
-
bytes[6] = bytes[6] & 0x0f | version;
|
|
35
|
-
bytes[8] = bytes[8] & 0x3f | 0x80;
|
|
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;
|
|
36
28
|
if (buf) {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
29
|
+
offset = offset || 0;
|
|
30
|
+
for (let i = 0; i < 16; ++i) {
|
|
31
|
+
buf[offset + i] = bytes[i];
|
|
32
|
+
}
|
|
33
|
+
return buf;
|
|
42
34
|
}
|
|
43
35
|
return unsafeStringify(bytes);
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
// Function#name is not settable on some platforms (#270)
|
|
47
|
-
try {
|
|
48
|
-
generateUUID.name = name;
|
|
49
|
-
} catch (err) {}
|
|
50
|
-
|
|
51
|
-
// For CommonJS default export support
|
|
52
|
-
generateUUID.DNS = DNS;
|
|
53
|
-
generateUUID.URL = URL;
|
|
54
|
-
return generateUUID;
|
|
55
|
-
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjM1LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3YzNS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssTUFBTSxZQUFZLENBQUM7QUFDL0IsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpELE1BQU0sVUFBVSxhQUFhLENBQUMsR0FBVztJQUV2QyxHQUFHLEdBQUcsUUFBUSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFFeEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXpDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDcEMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxzQ0FBc0MsQ0FBQztBQUMxRCxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsc0NBQXNDLENBQUM7QUFJMUQsTUFBTSxDQUFDLE9BQU8sVUFBVSxHQUFHLENBQ3pCLE9BQW9CLEVBQ3BCLElBQWtCLEVBQ2xCLEtBQTBCLEVBQzFCLFNBQW9CLEVBQ3BCLEdBQWdCLEVBQ2hCLE1BQWU7SUFFZixNQUFNLFVBQVUsR0FBZSxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3hGLE1BQU0sY0FBYyxHQUFlLE9BQU8sU0FBUyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFFaEcsSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNsQyxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLFNBQVMsRUFBRSxNQUFNLEtBQUssRUFBRSxFQUFFLENBQUM7UUFDN0IsTUFBTSxTQUFTLENBQUMsa0VBQWtFLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBS0QsSUFBSSxLQUFLLEdBQUcsSUFBSSxVQUFVLENBQUMsRUFBRSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuRCxLQUFLLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFCLEtBQUssQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXBCLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUM7SUFDdkMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQztJQUVwQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1IsTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLENBQUM7UUFFckIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQzVCLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdCLENBQUM7UUFFRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxPQUFPLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNoQyxDQUFDIn0=
|
package/dist/esm-browser/v4.js
CHANGED
|
@@ -2,24 +2,21 @@ import native from './native.js';
|
|
|
2
2
|
import rng from './rng.js';
|
|
3
3
|
import { unsafeStringify } from './stringify.js';
|
|
4
4
|
function v4(options, buf, offset) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
options = options || {};
|
|
9
|
-
var rnds = options.random || (options.rng || rng)();
|
|
10
|
-
|
|
11
|
-
// Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
|
|
12
|
-
rnds[6] = rnds[6] & 0x0f | 0x40;
|
|
13
|
-
rnds[8] = rnds[8] & 0x3f | 0x80;
|
|
14
|
-
|
|
15
|
-
// Copy bytes to buffer, if provided
|
|
16
|
-
if (buf) {
|
|
17
|
-
offset = offset || 0;
|
|
18
|
-
for (var i = 0; i < 16; ++i) {
|
|
19
|
-
buf[offset + i] = rnds[i];
|
|
5
|
+
if (native.randomUUID && !buf && !options) {
|
|
6
|
+
return native.randomUUID();
|
|
20
7
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
8
|
+
options = options || {};
|
|
9
|
+
const rnds = options.random || (options.rng || rng)();
|
|
10
|
+
rnds[6] = (rnds[6] & 0x0f) | 0x40;
|
|
11
|
+
rnds[8] = (rnds[8] & 0x3f) | 0x80;
|
|
12
|
+
if (buf) {
|
|
13
|
+
offset = offset || 0;
|
|
14
|
+
for (let i = 0; i < 16; ++i) {
|
|
15
|
+
buf[offset + i] = rnds[i];
|
|
16
|
+
}
|
|
17
|
+
return buf;
|
|
18
|
+
}
|
|
19
|
+
return unsafeStringify(rnds);
|
|
24
20
|
}
|
|
25
|
-
export default v4;
|
|
21
|
+
export default v4;
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdjQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFDO0FBQ2pDLE9BQU8sR0FBRyxNQUFNLFVBQVUsQ0FBQztBQUMzQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJakQsU0FBUyxFQUFFLENBQUMsT0FBeUIsRUFBRSxHQUFnQixFQUFFLE1BQWU7SUFDdEUsSUFBSSxNQUFNLENBQUMsVUFBVSxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDMUMsT0FBTyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELE9BQU8sR0FBRyxPQUFPLElBQUksRUFBRSxDQUFDO0lBRXhCLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFHdEQsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQztJQUNsQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO0lBR2xDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDUixNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUVyQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDNUIsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUIsQ0FBQztRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELE9BQU8sZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQy9CLENBQUM7QUFFRCxlQUFlLEVBQUUsQ0FBQyJ9
|
|
@@ -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(value: string | Uint8Array, namespace: UUIDTypes, buf?: Uint8Array, offset?: number): Uint8Array;
|
|
5
|
+
declare namespace v5 {
|
|
6
|
+
var DNS: string;
|
|
7
|
+
var URL: string;
|
|
8
|
+
}
|
|
9
|
+
export default v5;
|
package/dist/esm-browser/v5.js
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
import v35 from './v35.js';
|
|
2
1
|
import sha1 from './sha1.js';
|
|
3
|
-
|
|
4
|
-
export
|
|
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;
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdjUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBQzdCLE9BQU8sR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQWNwQyxTQUFTLEVBQUUsQ0FBQyxLQUEwQixFQUFFLFNBQW9CLEVBQUUsR0FBZ0IsRUFBRSxNQUFlO0lBQzdGLE9BQU8sR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDeEQsQ0FBQztBQUVELEVBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO0FBQ2IsRUFBRSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7QUFFYixlQUFlLEVBQUUsQ0FBQyJ9
|
package/dist/esm-browser/v6.js
CHANGED
|
@@ -1,36 +1,18 @@
|
|
|
1
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
2
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
3
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
4
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
5
|
-
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
6
1
|
import { unsafeStringify } from './stringify.js';
|
|
7
2
|
import v1 from './v1.js';
|
|
8
3
|
import v1ToV6 from './v1ToV6.js';
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
// with slightly different behavior around how the clock_seq and node fields
|
|
20
|
-
// are randomized, which is why we call v1 with _v6: true.
|
|
21
|
-
var bytes = v1(_objectSpread(_objectSpread({}, options), {}, {
|
|
22
|
-
_v6: true
|
|
23
|
-
}), new Uint8Array(16));
|
|
24
|
-
|
|
25
|
-
// Reorder the fields to v6 layout.
|
|
26
|
-
bytes = v1ToV6(bytes);
|
|
27
|
-
|
|
28
|
-
// Return as a byte array if requested
|
|
29
|
-
if (buf) {
|
|
30
|
-
for (var i = 0; i < 16; i++) {
|
|
31
|
-
buf[offset + i] = bytes[i];
|
|
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
|
+
for (let i = 0; i < 16; i++) {
|
|
11
|
+
buf[offset + i] = bytes[i];
|
|
12
|
+
}
|
|
13
|
+
return buf;
|
|
32
14
|
}
|
|
33
|
-
return
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
15
|
+
return unsafeStringify(bytes);
|
|
16
|
+
}
|
|
17
|
+
export default v6;
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdjYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN6QixPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUM7QUFJakMsU0FBUyxFQUFFLENBQUMsT0FBeUIsRUFBRSxHQUFnQixFQUFFLE1BQWU7SUFDdEUsT0FBTyxLQUFLLEVBQUUsQ0FBQztJQUNmLE1BQU0sS0FBSyxDQUFDLENBQUM7SUFLYixJQUFJLEtBQUssR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsSUFBSSxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUc5RCxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBR3RCLElBQUksR0FBRyxFQUFFLENBQUM7UUFDUixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDNUIsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELE9BQU8sZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2hDLENBQUM7QUFFRCxlQUFlLEVBQUUsQ0FBQyJ9
|
|
@@ -1,20 +1,11 @@
|
|
|
1
1
|
import parse from './parse.js';
|
|
2
2
|
import { unsafeStringify } from './stringify.js';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Convert a v6 UUID to a v1 UUID
|
|
6
|
-
*
|
|
7
|
-
* @param {string|Uint8Array} uuid - The v6 UUID to convert to v6
|
|
8
|
-
* @returns {string|Uint8Array} The v1 UUID as the same type as the `uuid` arg
|
|
9
|
-
* (string or Uint8Array)
|
|
10
|
-
*/
|
|
11
3
|
export default function v6ToV1(uuid) {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
4
|
+
const v6Bytes = typeof uuid === 'string' ? parse(uuid) : uuid;
|
|
5
|
+
const v1Bytes = _v6ToV1(v6Bytes);
|
|
6
|
+
return typeof uuid === 'string' ? unsafeStringify(v1Bytes) : v1Bytes;
|
|
15
7
|
}
|
|
16
|
-
|
|
17
|
-
// Do the field transformation needed for v6 -> v1
|
|
18
8
|
function _v6ToV1(v6Bytes) {
|
|
19
|
-
|
|
20
|
-
}
|
|
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
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjZUb1YxLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Y2VG9WMS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssTUFBTSxZQUFZLENBQUM7QUFDL0IsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBV2pELE1BQU0sQ0FBQyxPQUFPLFVBQVUsTUFBTSxDQUFDLElBQWU7SUFDNUMsTUFBTSxPQUFPLEdBQUcsT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUU5RCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFakMsT0FBTyxPQUFPLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0FBQ3ZFLENBQUM7QUFHRCxTQUFTLE9BQU8sQ0FBQyxPQUFtQjtJQUNsQyxPQUFPLFVBQVUsQ0FBQyxFQUFFLENBQ2xCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsRUFDdkQsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUN2RCxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUNoRCxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBRVYsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUN2RCxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBRXZELElBQUksR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUNqQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBRXZELE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFDVixPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQ1YsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUNYLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFDWCxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQ1gsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUNYLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFDWCxPQUFPLENBQUMsRUFBRSxDQUFDLENBQ1osQ0FBQztBQUNKLENBQUMifQ==
|
|
@@ -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(options?: Version7Options, buf?: Uint8Array, offset?: number): Uint8Array;
|
|
8
|
+
export declare function updateV7State(state: V7State, now: number, rnds: Uint8Array): V7State;
|
|
9
|
+
export default v7;
|