uuid 11.0.5 → 12.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/README.md +19 -30
- package/dist/{esm/md5.js → md5.js} +1 -1
- package/dist/{esm/native.d.ts → native.d.ts} +1 -1
- package/dist/native.js +2 -0
- package/dist/{esm/rng.js → rng.js} +1 -1
- package/dist/{esm/sha1.js → sha1.js} +1 -1
- package/dist/{cjs-browser/types.d.ts → types.d.ts} +1 -1
- package/dist/{esm/uuid-bin.js → uuid-bin.js} +1 -1
- package/dist/{esm-browser/v1.d.ts → v1.d.ts} +1 -1
- package/dist/{esm/v1.js → v1.js} +1 -1
- package/dist/{esm-browser/v3.d.ts → v3.d.ts} +1 -1
- package/dist/{cjs/v35.d.ts → v35.d.ts} +1 -1
- package/dist/{cjs/v4.d.ts → v4.d.ts} +1 -1
- package/dist/{esm-browser/v4.js → v4.js} +7 -4
- package/dist/{cjs/v5.d.ts → v5.d.ts} +1 -1
- package/dist/{esm-browser/v6.d.ts → v6.d.ts} +1 -1
- package/dist/{esm-browser/v7.d.ts → v7.d.ts} +1 -1
- package/dist/{esm-browser/v7.js → v7.js} +1 -1
- package/{dist/esm-browser → dist-browser}/uuid-bin.js +1 -1
- package/{dist/esm-browser → dist-browser}/v1.js +1 -1
- package/{dist/esm → dist-browser}/v4.js +7 -4
- package/{dist/esm → dist-browser}/v7.js +1 -1
- package/package.json +27 -40
- package/dist/cjs/index.d.ts +0 -15
- package/dist/cjs/index.js +0 -31
- package/dist/cjs/max.d.ts +0 -2
- package/dist/cjs/max.js +0 -3
- package/dist/cjs/md5.d.ts +0 -4
- package/dist/cjs/md5.js +0 -13
- package/dist/cjs/native.d.ts +0 -6
- package/dist/cjs/native.js +0 -4
- package/dist/cjs/nil.d.ts +0 -2
- package/dist/cjs/nil.js +0 -3
- package/dist/cjs/package.json +0 -1
- package/dist/cjs/parse.d.ts +0 -2
- package/dist/cjs/parse.js +0 -11
- package/dist/cjs/regex.d.ts +0 -2
- package/dist/cjs/regex.js +0 -3
- package/dist/cjs/rng.d.ts +0 -1
- package/dist/cjs/rng.js +0 -13
- package/dist/cjs/sha1.d.ts +0 -4
- package/dist/cjs/sha1.js +0 -13
- package/dist/cjs/stringify.d.ts +0 -3
- package/dist/cjs/stringify.js +0 -39
- package/dist/cjs/types.d.ts +0 -21
- package/dist/cjs/types.js +0 -2
- package/dist/cjs/uuid-bin.d.ts +0 -1
- package/dist/cjs/uuid-bin.js +0 -72
- package/dist/cjs/v1.d.ts +0 -11
- package/dist/cjs/v1.js +0 -87
- package/dist/cjs/v1ToV6.d.ts +0 -2
- package/dist/cjs/v1ToV6.js +0 -13
- package/dist/cjs/v3.d.ts +0 -9
- package/dist/cjs/v3.js +0 -14
- package/dist/cjs/v35.js +0 -41
- package/dist/cjs/v4.js +0 -29
- package/dist/cjs/v5.js +0 -14
- package/dist/cjs/v6.d.ts +0 -4
- package/dist/cjs/v6.js +0 -19
- package/dist/cjs/v6ToV1.d.ts +0 -2
- package/dist/cjs/v6ToV1.js +0 -13
- package/dist/cjs/v7.d.ts +0 -9
- package/dist/cjs/v7.js +0 -69
- package/dist/cjs/validate.d.ts +0 -2
- package/dist/cjs/validate.js +0 -7
- package/dist/cjs/version.d.ts +0 -2
- package/dist/cjs/version.js +0 -10
- package/dist/cjs-browser/index.js +0 -31
- package/dist/cjs-browser/max.js +0 -3
- package/dist/cjs-browser/md5.d.ts +0 -2
- package/dist/cjs-browser/md5.js +0 -137
- package/dist/cjs-browser/native.d.ts +0 -4
- package/dist/cjs-browser/native.js +0 -4
- package/dist/cjs-browser/nil.js +0 -3
- package/dist/cjs-browser/package.json +0 -1
- package/dist/cjs-browser/parse.js +0 -11
- package/dist/cjs-browser/regex.js +0 -3
- package/dist/cjs-browser/rng.js +0 -14
- package/dist/cjs-browser/sha1.d.ts +0 -2
- package/dist/cjs-browser/sha1.js +0 -72
- package/dist/cjs-browser/stringify.js +0 -39
- package/dist/cjs-browser/types.js +0 -2
- package/dist/cjs-browser/uuid-bin.js +0 -72
- package/dist/cjs-browser/v1.d.ts +0 -11
- package/dist/cjs-browser/v1.js +0 -87
- package/dist/cjs-browser/v1ToV6.js +0 -13
- package/dist/cjs-browser/v3.d.ts +0 -9
- package/dist/cjs-browser/v3.js +0 -14
- package/dist/cjs-browser/v35.d.ts +0 -7
- package/dist/cjs-browser/v35.js +0 -41
- package/dist/cjs-browser/v4.d.ts +0 -4
- package/dist/cjs-browser/v4.js +0 -29
- package/dist/cjs-browser/v5.d.ts +0 -9
- package/dist/cjs-browser/v5.js +0 -14
- package/dist/cjs-browser/v6.d.ts +0 -4
- package/dist/cjs-browser/v6.js +0 -19
- package/dist/cjs-browser/v6ToV1.js +0 -13
- package/dist/cjs-browser/v7.d.ts +0 -9
- package/dist/cjs-browser/v7.js +0 -69
- package/dist/cjs-browser/validate.js +0 -7
- package/dist/cjs-browser/version.js +0 -10
- package/dist/esm/index.d.ts +0 -15
- package/dist/esm/max.d.ts +0 -2
- package/dist/esm/native.js +0 -2
- package/dist/esm/nil.d.ts +0 -2
- package/dist/esm/parse.d.ts +0 -2
- package/dist/esm/regex.d.ts +0 -2
- package/dist/esm/rng.d.ts +0 -1
- package/dist/esm/stringify.d.ts +0 -3
- package/dist/esm/types.d.ts +0 -21
- package/dist/esm/uuid-bin.d.ts +0 -1
- package/dist/esm/v1.d.ts +0 -11
- package/dist/esm/v1ToV6.d.ts +0 -2
- package/dist/esm/v3.d.ts +0 -9
- package/dist/esm/v35.d.ts +0 -7
- package/dist/esm/v4.d.ts +0 -4
- package/dist/esm/v5.d.ts +0 -9
- package/dist/esm/v6.d.ts +0 -4
- package/dist/esm/v6ToV1.d.ts +0 -2
- package/dist/esm/v7.d.ts +0 -9
- package/dist/esm/validate.d.ts +0 -2
- package/dist/esm/version.d.ts +0 -2
- package/dist/esm-browser/index.d.ts +0 -15
- package/dist/esm-browser/max.d.ts +0 -2
- package/dist/esm-browser/md5.d.ts +0 -2
- package/dist/esm-browser/native.d.ts +0 -4
- package/dist/esm-browser/nil.d.ts +0 -2
- package/dist/esm-browser/parse.d.ts +0 -2
- package/dist/esm-browser/regex.d.ts +0 -2
- package/dist/esm-browser/rng.d.ts +0 -1
- package/dist/esm-browser/sha1.d.ts +0 -2
- package/dist/esm-browser/stringify.d.ts +0 -3
- package/dist/esm-browser/types.d.ts +0 -21
- package/dist/esm-browser/uuid-bin.d.ts +0 -1
- package/dist/esm-browser/v1ToV6.d.ts +0 -2
- package/dist/esm-browser/v35.d.ts +0 -7
- package/dist/esm-browser/v4.d.ts +0 -4
- package/dist/esm-browser/v5.d.ts +0 -9
- package/dist/esm-browser/v6ToV1.d.ts +0 -2
- package/dist/esm-browser/validate.d.ts +0 -2
- package/dist/esm-browser/version.d.ts +0 -2
- /package/dist/{esm/bin → bin}/uuid +0 -0
- /package/dist/{cjs-browser/index.d.ts → index.d.ts} +0 -0
- /package/dist/{esm/index.js → index.js} +0 -0
- /package/dist/{cjs-browser/max.d.ts → max.d.ts} +0 -0
- /package/dist/{esm/max.js → max.js} +0 -0
- /package/dist/{esm/md5.d.ts → md5.d.ts} +0 -0
- /package/dist/{cjs-browser/nil.d.ts → nil.d.ts} +0 -0
- /package/dist/{esm/nil.js → nil.js} +0 -0
- /package/dist/{cjs-browser/parse.d.ts → parse.d.ts} +0 -0
- /package/dist/{esm/parse.js → parse.js} +0 -0
- /package/dist/{cjs-browser/regex.d.ts → regex.d.ts} +0 -0
- /package/dist/{esm/regex.js → regex.js} +0 -0
- /package/dist/{cjs-browser/rng.d.ts → rng.d.ts} +0 -0
- /package/dist/{esm/sha1.d.ts → sha1.d.ts} +0 -0
- /package/dist/{cjs-browser/stringify.d.ts → stringify.d.ts} +0 -0
- /package/dist/{esm/stringify.js → stringify.js} +0 -0
- /package/dist/{esm/types.js → types.js} +0 -0
- /package/dist/{cjs-browser/uuid-bin.d.ts → uuid-bin.d.ts} +0 -0
- /package/dist/{cjs-browser/v1ToV6.d.ts → v1ToV6.d.ts} +0 -0
- /package/dist/{esm/v1ToV6.js → v1ToV6.js} +0 -0
- /package/dist/{esm/v3.js → v3.js} +0 -0
- /package/dist/{esm/v35.js → v35.js} +0 -0
- /package/dist/{esm/v5.js → v5.js} +0 -0
- /package/dist/{esm/v6.js → v6.js} +0 -0
- /package/dist/{cjs-browser/v6ToV1.d.ts → v6ToV1.d.ts} +0 -0
- /package/dist/{esm/v6ToV1.js → v6ToV1.js} +0 -0
- /package/dist/{cjs-browser/validate.d.ts → validate.d.ts} +0 -0
- /package/dist/{esm/validate.js → validate.js} +0 -0
- /package/dist/{cjs-browser/version.d.ts → version.d.ts} +0 -0
- /package/dist/{esm/version.js → version.js} +0 -0
- /package/{dist/esm-browser → dist-browser}/index.js +0 -0
- /package/{dist/esm-browser → dist-browser}/max.js +0 -0
- /package/{dist/esm-browser → dist-browser}/md5.js +0 -0
- /package/{dist/esm-browser → dist-browser}/native.js +0 -0
- /package/{dist/esm-browser → dist-browser}/nil.js +0 -0
- /package/{dist/esm-browser → dist-browser}/parse.js +0 -0
- /package/{dist/esm-browser → dist-browser}/regex.js +0 -0
- /package/{dist/esm-browser → dist-browser}/rng.js +0 -0
- /package/{dist/esm-browser → dist-browser}/sha1.js +0 -0
- /package/{dist/esm-browser → dist-browser}/stringify.js +0 -0
- /package/{dist/esm-browser → dist-browser}/types.js +0 -0
- /package/{dist/esm-browser → dist-browser}/v1ToV6.js +0 -0
- /package/{dist/esm-browser → dist-browser}/v3.js +0 -0
- /package/{dist/esm-browser → dist-browser}/v35.js +0 -0
- /package/{dist/esm-browser → dist-browser}/v5.js +0 -0
- /package/{dist/esm-browser → dist-browser}/v6.js +0 -0
- /package/{dist/esm-browser → dist-browser}/v6ToV1.js +0 -0
- /package/{dist/esm-browser → dist-browser}/validate.js +0 -0
- /package/{dist/esm-browser → dist-browser}/version.js +0 -0
package/README.md
CHANGED
|
@@ -2,27 +2,24 @@
|
|
|
2
2
|
-- This file is auto-generated from README_js.md. Changes should be made there.
|
|
3
3
|
-->
|
|
4
4
|
|
|
5
|
-
# uuid [](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [](https://github.com/uuidjs/uuid/actions
|
|
5
|
+
# uuid [](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [](https://github.com/uuidjs/uuid/actions/workflows/browser.yml)
|
|
6
6
|
|
|
7
|
-
For the creation of [RFC9562](https://www.rfc-editor.org/rfc/rfc9562.html) (
|
|
7
|
+
For the creation of [RFC9562](https://www.rfc-editor.org/rfc/rfc9562.html) (formerly [RFC4122](https://www.rfc-editor.org/rfc/rfc4122.html)) UUIDs
|
|
8
8
|
|
|
9
9
|
- **Complete** - Support for all RFC9562 UUID versions
|
|
10
10
|
- **Cross-platform** - Support for...
|
|
11
|
-
-
|
|
12
|
-
- [Chrome, Safari, Firefox, Edge
|
|
11
|
+
- [Typescript](#support)
|
|
12
|
+
- [Chrome, Safari, Firefox, and Edge](#support)
|
|
13
13
|
- [NodeJS](#support)
|
|
14
14
|
- [React Native / Expo](#react-native--expo)
|
|
15
|
-
- **Secure** -
|
|
16
|
-
- **Compact** -
|
|
17
|
-
- **CLI** -
|
|
18
|
-
- **Typescript** - Types now included
|
|
15
|
+
- **Secure** - Uses modern `crypto` API for random values
|
|
16
|
+
- **Compact** - Zero-dependency, [tree-shakable](https://developer.mozilla.org/en-US/docs/Glossary/Tree_shaking)
|
|
17
|
+
- **CLI** - [`uuid` command line](#command-line) utility
|
|
19
18
|
|
|
20
19
|
<!-- prettier-ignore -->
|
|
21
20
|
> [!NOTE]
|
|
22
|
-
|
|
23
|
-
>
|
|
24
|
-
> * Subtle changes to how the `options` arg is interpreted for `v1()`, `v6()`, and `v7()`. [See details](#options-handling-for-timestamp-uuids)
|
|
25
|
-
> * Binary UUIDs are now `Uint8Array`s. (May impact callers of `parse()`, `stringify()`, or that pass an `option#buf` argument to `v1()`-`v7()`.)
|
|
21
|
+
>
|
|
22
|
+
> Starting with `uuid@12` CommonJS is no longer supported. See [implications](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c) and [motivation](https://github.com/uuidjs/uuid/issues/881) for details.
|
|
26
23
|
|
|
27
24
|
## Quickstart
|
|
28
25
|
|
|
@@ -34,18 +31,10 @@ npm install uuid
|
|
|
34
31
|
|
|
35
32
|
**2. Create a UUID**
|
|
36
33
|
|
|
37
|
-
ESM-syntax (must use named exports):
|
|
38
|
-
|
|
39
34
|
```javascript
|
|
40
35
|
import { v4 as uuidv4 } from 'uuid';
|
|
41
|
-
uuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'
|
|
42
|
-
```
|
|
43
36
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
```javascript
|
|
47
|
-
const { v4: uuidv4 } = require('uuid');
|
|
48
|
-
uuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'
|
|
37
|
+
uuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'
|
|
49
38
|
```
|
|
50
39
|
|
|
51
40
|
For timestamp UUIDs, namespace UUIDs, and other options read on ...
|
|
@@ -180,7 +169,7 @@ Create an RFC version 1 (timestamp) UUID
|
|
|
180
169
|
| [`options.nsecs = 0`] | RFC "timestamp" field (`Number` of nanoseconds to add to `msecs`, should be 0-10,000) |
|
|
181
170
|
| [`options.random = (random)`] | `Array` of 16 random bytes (0-255) used to generate other fields, above |
|
|
182
171
|
| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |
|
|
183
|
-
| [`buffer`] | `
|
|
172
|
+
| [`buffer`] | `Uint8Array` or `Uint8Array` subtype (e.g. Node.js `Buffer`). If provided, binary UUID is written into the array, starting at `offset` |
|
|
184
173
|
| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |
|
|
185
174
|
| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |
|
|
186
175
|
| _throws_ | `Error` if more than 10M UUIDs/sec are requested |
|
|
@@ -198,7 +187,7 @@ Example:
|
|
|
198
187
|
```javascript
|
|
199
188
|
import { v1 as uuidv1 } from 'uuid';
|
|
200
189
|
|
|
201
|
-
uuidv1(); // ⇨ '2c5ea4c0-4067-11e9-
|
|
190
|
+
uuidv1(); // ⇨ '2c5ea4c0-4067-11e9-9b5d-ab8dfbbd4bed'
|
|
202
191
|
```
|
|
203
192
|
|
|
204
193
|
Example using `options`:
|
|
@@ -244,7 +233,7 @@ Create an RFC version 4 (random) UUID
|
|
|
244
233
|
| [`options`] | `Object` with one or more of the following properties: |
|
|
245
234
|
| [`options.random`] | `Array` of 16 random bytes (0-255) |
|
|
246
235
|
| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |
|
|
247
|
-
| [`buffer`] | `
|
|
236
|
+
| [`buffer`] | `Uint8Array` or `Uint8Array` subtype (e.g. Node.js `Buffer`). If provided, binary UUID is written into the array, starting at `offset` |
|
|
248
237
|
| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |
|
|
249
238
|
| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |
|
|
250
239
|
|
|
@@ -253,7 +242,7 @@ Example:
|
|
|
253
242
|
```javascript
|
|
254
243
|
import { v4 as uuidv4 } from 'uuid';
|
|
255
244
|
|
|
256
|
-
uuidv4(); // ⇨ '
|
|
245
|
+
uuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'
|
|
257
246
|
```
|
|
258
247
|
|
|
259
248
|
Example using predefined `random` values:
|
|
@@ -292,7 +281,7 @@ Create an RFC version 5 (namespace w/ SHA-1) UUID
|
|
|
292
281
|
| --- | --- |
|
|
293
282
|
| `name` | `String \| Array` |
|
|
294
283
|
| `namespace` | `String \| Array[16]` Namespace UUID |
|
|
295
|
-
| [`buffer`] | `
|
|
284
|
+
| [`buffer`] | `Uint8Array` or `Uint8Array` subtype (e.g. Node.js `Buffer`). If provided, binary UUID is written into the array, starting at `offset` |
|
|
296
285
|
| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |
|
|
297
286
|
| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |
|
|
298
287
|
|
|
@@ -329,7 +318,7 @@ This method takes the same arguments as uuid.v1().
|
|
|
329
318
|
```javascript
|
|
330
319
|
import { v6 as uuidv6 } from 'uuid';
|
|
331
320
|
|
|
332
|
-
uuidv6(); // ⇨ '1e940672-c5ea-
|
|
321
|
+
uuidv6(); // ⇨ '1e940672-c5ea-64c1-9bdd-2b0d7b3dcb6d'
|
|
333
322
|
```
|
|
334
323
|
|
|
335
324
|
Example using `options`:
|
|
@@ -367,7 +356,7 @@ Create an RFC version 7 (random) UUID
|
|
|
367
356
|
| [`options.random = (random)`] | `Array` of 16 random bytes (0-255) used to generate other fields, above |
|
|
368
357
|
| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |
|
|
369
358
|
| [`options.seq = (random)`] | 32-bit sequence `Number` between 0 - 0xffffffff. This may be provided to help ensure uniqueness for UUIDs generated within the same millisecond time interval. Default = random value. |
|
|
370
|
-
| [`buffer`] | `
|
|
359
|
+
| [`buffer`] | `Uint8Array` or `Uint8Array` subtype (e.g. Node.js `Buffer`). If provided, binary UUID is written into the array, starting at `offset` |
|
|
371
360
|
| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |
|
|
372
361
|
| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |
|
|
373
362
|
|
|
@@ -376,7 +365,7 @@ Example:
|
|
|
376
365
|
```javascript
|
|
377
366
|
import { v7 as uuidv7 } from 'uuid';
|
|
378
367
|
|
|
379
|
-
uuidv7(); // ⇨ '01695553-c90c-
|
|
368
|
+
uuidv7(); // ⇨ '01695553-c90c-745a-b76f-770d7b3dcb6d'
|
|
380
369
|
```
|
|
381
370
|
|
|
382
371
|
### ~~uuid.v8()~~
|
|
@@ -483,7 +472,7 @@ Prior to `uuid@11`, it was possible for `options` state to interfere with the in
|
|
|
483
472
|
|
|
484
473
|
**Browsers**: `uuid` [builds are tested](/uuidjs/uuid/blob/main/wdio.conf.js) against the latest version of desktop Chrome, Safari, Firefox, and Edge. Mobile versions of these same browsers are expected to work but aren't currently tested.
|
|
485
474
|
|
|
486
|
-
**Node**: `uuid` [builds are tested](https://github.com/uuidjs/uuid/blob/main/.github/workflows/ci.yml#L26-L27) against node ([LTS releases](https://github.com/nodejs/Release)), plus one prior. E.g. `node@
|
|
475
|
+
**Node**: `uuid` [builds are tested](https://github.com/uuidjs/uuid/blob/main/.github/workflows/ci.yml#L26-L27) against node ([LTS releases](https://github.com/nodejs/Release)), plus one prior. E.g. At the time of this writing `node@20` is the "maintenance" release and `node@24` is the "current" release, so `uuid` supports `node@18`-`node@24`.
|
|
487
476
|
|
|
488
477
|
**Typescript**: TS versions released within the past two years are supported. [source](https://github.com/microsoft/TypeScript/issues/49088#issuecomment-2468723715)
|
|
489
478
|
|
package/dist/native.js
ADDED
|
@@ -6,6 +6,6 @@ type V1State = {
|
|
|
6
6
|
nsecs?: number;
|
|
7
7
|
};
|
|
8
8
|
declare function v1(options?: Version1Options, buf?: undefined, offset?: number): string;
|
|
9
|
-
declare function v1(options: Version1Options | undefined, buf:
|
|
9
|
+
declare function v1<Buf extends Uint8Array = Uint8Array>(options: Version1Options | undefined, buf: Buf, offset?: number): Buf;
|
|
10
10
|
export declare function updateV1State(state: V1State, now: number, rnds: Uint8Array): V1State;
|
|
11
11
|
export default v1;
|
package/dist/{esm/v1.js → v1.js}
RENAMED
|
@@ -19,7 +19,7 @@ function v1(options, buf, offset) {
|
|
|
19
19
|
updateV1State(_state, now, rnds);
|
|
20
20
|
bytes = v1Bytes(rnds, _state.msecs, _state.nsecs, isV6 ? undefined : _state.clockseq, isV6 ? undefined : _state.node, buf, offset);
|
|
21
21
|
}
|
|
22
|
-
return buf
|
|
22
|
+
return buf ?? unsafeStringify(bytes);
|
|
23
23
|
}
|
|
24
24
|
export function updateV1State(state, now, rnds) {
|
|
25
25
|
state.msecs ??= -Infinity;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { UUIDTypes } from './types.js';
|
|
2
2
|
export { DNS, URL } from './v35.js';
|
|
3
3
|
declare function v3(value: string | Uint8Array, namespace: UUIDTypes, buf?: undefined, offset?: number): string;
|
|
4
|
-
declare function v3(value: string | Uint8Array, namespace: UUIDTypes, buf:
|
|
4
|
+
declare function v3<TBuf extends Uint8Array = Uint8Array>(value: string | Uint8Array, namespace: UUIDTypes, buf: TBuf, offset?: number): TBuf;
|
|
5
5
|
declare namespace v3 {
|
|
6
6
|
var DNS: string;
|
|
7
7
|
var URL: string;
|
|
@@ -3,5 +3,5 @@ export declare function stringToBytes(str: string): Uint8Array;
|
|
|
3
3
|
export declare const DNS = "6ba7b810-9dad-11d1-80b4-00c04fd430c8";
|
|
4
4
|
export declare const URL = "6ba7b811-9dad-11d1-80b4-00c04fd430c8";
|
|
5
5
|
type HashFunction = (bytes: Uint8Array) => Uint8Array;
|
|
6
|
-
export default function v35(version: 0x30 | 0x50, hash: HashFunction, value: string | Uint8Array, namespace: UUIDTypes, buf?:
|
|
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
7
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Version4Options } from './types.js';
|
|
2
2
|
declare function v4(options?: Version4Options, buf?: undefined, offset?: number): string;
|
|
3
|
-
declare function v4(options: Version4Options | undefined, buf:
|
|
3
|
+
declare function v4<TBuf extends Uint8Array = Uint8Array>(options: Version4Options | undefined, buf: TBuf, offset?: number): TBuf;
|
|
4
4
|
export default v4;
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import native from './native.js';
|
|
2
2
|
import rng from './rng.js';
|
|
3
3
|
import { unsafeStringify } from './stringify.js';
|
|
4
|
-
function
|
|
5
|
-
if (native.randomUUID && !buf && !options) {
|
|
6
|
-
return native.randomUUID();
|
|
7
|
-
}
|
|
4
|
+
function _v4(options, buf, offset) {
|
|
8
5
|
options = options || {};
|
|
9
6
|
const rnds = options.random ?? options.rng?.() ?? rng();
|
|
10
7
|
if (rnds.length < 16) {
|
|
@@ -24,4 +21,10 @@ function v4(options, buf, offset) {
|
|
|
24
21
|
}
|
|
25
22
|
return unsafeStringify(rnds);
|
|
26
23
|
}
|
|
24
|
+
function v4(options, buf, offset) {
|
|
25
|
+
if (native.randomUUID && !buf && !options) {
|
|
26
|
+
return native.randomUUID();
|
|
27
|
+
}
|
|
28
|
+
return _v4(options, buf, offset);
|
|
29
|
+
}
|
|
27
30
|
export default v4;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { UUIDTypes } from './types.js';
|
|
2
2
|
export { DNS, URL } from './v35.js';
|
|
3
3
|
declare function v5(value: string | Uint8Array, namespace: UUIDTypes, buf?: undefined, offset?: number): string;
|
|
4
|
-
declare function v5(value: string | Uint8Array, namespace: UUIDTypes, buf:
|
|
4
|
+
declare function v5<TBuf extends Uint8Array = Uint8Array>(value: string | Uint8Array, namespace: UUIDTypes, buf: TBuf, offset?: number): TBuf;
|
|
5
5
|
declare namespace v5 {
|
|
6
6
|
var DNS: string;
|
|
7
7
|
var URL: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Version6Options } from './types.js';
|
|
2
2
|
declare function v6(options?: Version6Options, buf?: undefined, offset?: number): string;
|
|
3
|
-
declare function v6(options: Version6Options | undefined, buf:
|
|
3
|
+
declare function v6<TBuf extends Uint8Array = Uint8Array>(options: Version6Options | undefined, buf: TBuf, offset?: number): TBuf;
|
|
4
4
|
export default v6;
|
|
@@ -4,6 +4,6 @@ type V7State = {
|
|
|
4
4
|
seq?: number;
|
|
5
5
|
};
|
|
6
6
|
declare function v7(options?: Version7Options, buf?: undefined, offset?: number): string;
|
|
7
|
-
declare function v7(options: Version7Options | undefined, buf:
|
|
7
|
+
declare function v7<TBuf extends Uint8Array = Uint8Array>(options: Version7Options | undefined, buf: TBuf, offset?: number): TBuf;
|
|
8
8
|
export declare function updateV7State(state: V7State, now: number, rnds: Uint8Array): V7State;
|
|
9
9
|
export default v7;
|
|
@@ -12,7 +12,7 @@ function v7(options, buf, offset) {
|
|
|
12
12
|
updateV7State(_state, now, rnds);
|
|
13
13
|
bytes = v7Bytes(rnds, _state.msecs, _state.seq, buf, offset);
|
|
14
14
|
}
|
|
15
|
-
return buf
|
|
15
|
+
return buf ?? unsafeStringify(bytes);
|
|
16
16
|
}
|
|
17
17
|
export function updateV7State(state, now, rnds) {
|
|
18
18
|
state.msecs ??= -Infinity;
|
|
@@ -19,7 +19,7 @@ function v1(options, buf, offset) {
|
|
|
19
19
|
updateV1State(_state, now, rnds);
|
|
20
20
|
bytes = v1Bytes(rnds, _state.msecs, _state.nsecs, isV6 ? undefined : _state.clockseq, isV6 ? undefined : _state.node, buf, offset);
|
|
21
21
|
}
|
|
22
|
-
return buf
|
|
22
|
+
return buf ?? unsafeStringify(bytes);
|
|
23
23
|
}
|
|
24
24
|
export function updateV1State(state, now, rnds) {
|
|
25
25
|
state.msecs ??= -Infinity;
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import native from './native.js';
|
|
2
2
|
import rng from './rng.js';
|
|
3
3
|
import { unsafeStringify } from './stringify.js';
|
|
4
|
-
function
|
|
5
|
-
if (native.randomUUID && !buf && !options) {
|
|
6
|
-
return native.randomUUID();
|
|
7
|
-
}
|
|
4
|
+
function _v4(options, buf, offset) {
|
|
8
5
|
options = options || {};
|
|
9
6
|
const rnds = options.random ?? options.rng?.() ?? rng();
|
|
10
7
|
if (rnds.length < 16) {
|
|
@@ -24,4 +21,10 @@ function v4(options, buf, offset) {
|
|
|
24
21
|
}
|
|
25
22
|
return unsafeStringify(rnds);
|
|
26
23
|
}
|
|
24
|
+
function v4(options, buf, offset) {
|
|
25
|
+
if (native.randomUUID && !buf && !options) {
|
|
26
|
+
return native.randomUUID();
|
|
27
|
+
}
|
|
28
|
+
return _v4(options, buf, offset);
|
|
29
|
+
}
|
|
27
30
|
export default v4;
|
|
@@ -12,7 +12,7 @@ function v7(options, buf, offset) {
|
|
|
12
12
|
updateV7State(_state, now, rnds);
|
|
13
13
|
bytes = v7Bytes(rnds, _state.msecs, _state.seq, buf, offset);
|
|
14
14
|
}
|
|
15
|
-
return buf
|
|
15
|
+
return buf ?? unsafeStringify(bytes);
|
|
16
16
|
}
|
|
17
17
|
export function updateV7State(state, now, rnds) {
|
|
18
18
|
state.msecs ??= -Infinity;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "uuid",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "12.0.0",
|
|
4
4
|
"description": "RFC9562 UUIDs",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"funding": [
|
|
@@ -20,56 +20,44 @@
|
|
|
20
20
|
],
|
|
21
21
|
"license": "MIT",
|
|
22
22
|
"bin": {
|
|
23
|
-
"uuid": "./dist/
|
|
23
|
+
"uuid": "./dist/bin/uuid"
|
|
24
24
|
},
|
|
25
25
|
"sideEffects": false,
|
|
26
|
-
"
|
|
26
|
+
"types": "./dist/index.d.ts",
|
|
27
27
|
"exports": {
|
|
28
28
|
".": {
|
|
29
|
-
"
|
|
30
|
-
|
|
31
|
-
"require": "./dist/cjs/index.js"
|
|
32
|
-
},
|
|
33
|
-
"browser": {
|
|
34
|
-
"import": "./dist/esm-browser/index.js",
|
|
35
|
-
"require": "./dist/cjs-browser/index.js"
|
|
36
|
-
},
|
|
37
|
-
"default": "./dist/esm-browser/index.js"
|
|
29
|
+
"browser": "./dist-browser/index.js",
|
|
30
|
+
"default": "./dist/index.js"
|
|
38
31
|
},
|
|
39
32
|
"./package.json": "./package.json"
|
|
40
33
|
},
|
|
41
|
-
"module": "./dist/esm/index.js",
|
|
42
|
-
"browser": {
|
|
43
|
-
"./dist/esm/index.js": "./dist/esm-browser/index.js",
|
|
44
|
-
"./dist/cjs/index.js": "./dist/cjs-browser/index.js"
|
|
45
|
-
},
|
|
46
34
|
"files": [
|
|
47
35
|
"dist",
|
|
48
|
-
"
|
|
36
|
+
"dist-browser",
|
|
37
|
+
"!**/test"
|
|
49
38
|
],
|
|
50
39
|
"devDependencies": {
|
|
51
|
-
"@babel/eslint-parser": "7.
|
|
52
|
-
"@commitlint/cli": "19.
|
|
53
|
-
"@commitlint/config-conventional": "19.
|
|
54
|
-
"@eslint/js": "9.
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"eslint": "
|
|
59
|
-
"eslint-
|
|
60
|
-
"
|
|
61
|
-
"globals": "15.14.0",
|
|
40
|
+
"@babel/eslint-parser": "7.27.1",
|
|
41
|
+
"@commitlint/cli": "19.8.0",
|
|
42
|
+
"@commitlint/config-conventional": "19.8.0",
|
|
43
|
+
"@eslint/js": "9.26.0",
|
|
44
|
+
"bundlewatch": "0.4.1",
|
|
45
|
+
"commander": "13.1.0",
|
|
46
|
+
"eslint": "9.26.0",
|
|
47
|
+
"eslint-config-prettier": "10.1.2",
|
|
48
|
+
"eslint-plugin-prettier": "5.4.0",
|
|
49
|
+
"globals": "16.0.0",
|
|
62
50
|
"husky": "9.1.7",
|
|
63
51
|
"jest": "29.7.0",
|
|
64
|
-
"lint-staged": "15.2
|
|
65
|
-
"neostandard": "0.12.
|
|
52
|
+
"lint-staged": "15.5.2",
|
|
53
|
+
"neostandard": "0.12.1",
|
|
66
54
|
"npm-run-all": "4.1.5",
|
|
67
|
-
"prettier": "3.
|
|
68
|
-
"release-please": "
|
|
55
|
+
"prettier": "3.5.3",
|
|
56
|
+
"release-please": "17.0.0",
|
|
69
57
|
"runmd": "1.4.1",
|
|
70
58
|
"standard-version": "9.5.0",
|
|
71
|
-
"typescript": "5.
|
|
72
|
-
"typescript-eslint": "8.
|
|
59
|
+
"typescript": "5.2.2",
|
|
60
|
+
"typescript-eslint": "8.32.0"
|
|
73
61
|
},
|
|
74
62
|
"optionalDevDependencies": {
|
|
75
63
|
"@wdio/browserstack-service": "9.2.1",
|
|
@@ -81,7 +69,7 @@
|
|
|
81
69
|
},
|
|
82
70
|
"scripts": {
|
|
83
71
|
"build": "./scripts/build.sh",
|
|
84
|
-
"build:watch": "tsc --watch -p tsconfig.
|
|
72
|
+
"build:watch": "tsc --watch -p tsconfig.json",
|
|
85
73
|
"bundlewatch": "npm run pretest:browser && bundlewatch --config bundlewatch.config.json",
|
|
86
74
|
"docs:diff": "npm run docs && git diff --quiet README.md",
|
|
87
75
|
"docs": "npm run build && npx runmd --output=README.md README_js.md",
|
|
@@ -89,7 +77,6 @@
|
|
|
89
77
|
"eslint:fix": "eslint --fix src/ test/ examples/ *.[jt]s",
|
|
90
78
|
"examples:browser:rollup:build": "cd examples/browser-rollup && npm run build",
|
|
91
79
|
"examples:browser:webpack:build": "cd examples/browser-webpack && npm run build",
|
|
92
|
-
"examples:node:commonjs:test": "cd examples/node-commonjs && npm test",
|
|
93
80
|
"examples:node:esmodules:test": "cd examples/node-esmodules && npm test",
|
|
94
81
|
"examples:node:jest:test": "cd examples/node-jest && npm test",
|
|
95
82
|
"examples:node:typescript:test": "cd examples/typescript && npm test",
|
|
@@ -108,8 +95,8 @@
|
|
|
108
95
|
"test:benchmark": "cd examples/benchmark && npm test",
|
|
109
96
|
"test:browser": "wdio run ./wdio.conf.js",
|
|
110
97
|
"test:node": "npm-run-all --parallel examples:node:**",
|
|
111
|
-
"test:watch": "node --test --enable-source-maps --watch dist/
|
|
112
|
-
"test": "node --test --enable-source-maps dist/
|
|
98
|
+
"test:watch": "node --test --enable-source-maps --watch dist/test/*.js",
|
|
99
|
+
"test": "node --test --enable-source-maps dist/test/*.js"
|
|
113
100
|
},
|
|
114
101
|
"repository": {
|
|
115
102
|
"type": "git",
|
|
@@ -128,5 +115,5 @@
|
|
|
128
115
|
"postchangelog": "prettier --write CHANGELOG.md"
|
|
129
116
|
}
|
|
130
117
|
},
|
|
131
|
-
"packageManager": "npm@11.
|
|
118
|
+
"packageManager": "npm@11.3.0"
|
|
132
119
|
}
|
package/dist/cjs/index.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
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';
|
package/dist/cjs/index.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.version = exports.validate = exports.v7 = exports.v6ToV1 = exports.v6 = exports.v5 = exports.v4 = exports.v3 = exports.v1ToV6 = exports.v1 = exports.stringify = exports.parse = exports.NIL = exports.MAX = void 0;
|
|
4
|
-
var max_js_1 = require("./max.js");
|
|
5
|
-
Object.defineProperty(exports, "MAX", { enumerable: true, get: function () { return max_js_1.default; } });
|
|
6
|
-
var nil_js_1 = require("./nil.js");
|
|
7
|
-
Object.defineProperty(exports, "NIL", { enumerable: true, get: function () { return nil_js_1.default; } });
|
|
8
|
-
var parse_js_1 = require("./parse.js");
|
|
9
|
-
Object.defineProperty(exports, "parse", { enumerable: true, get: function () { return parse_js_1.default; } });
|
|
10
|
-
var stringify_js_1 = require("./stringify.js");
|
|
11
|
-
Object.defineProperty(exports, "stringify", { enumerable: true, get: function () { return stringify_js_1.default; } });
|
|
12
|
-
var v1_js_1 = require("./v1.js");
|
|
13
|
-
Object.defineProperty(exports, "v1", { enumerable: true, get: function () { return v1_js_1.default; } });
|
|
14
|
-
var v1ToV6_js_1 = require("./v1ToV6.js");
|
|
15
|
-
Object.defineProperty(exports, "v1ToV6", { enumerable: true, get: function () { return v1ToV6_js_1.default; } });
|
|
16
|
-
var v3_js_1 = require("./v3.js");
|
|
17
|
-
Object.defineProperty(exports, "v3", { enumerable: true, get: function () { return v3_js_1.default; } });
|
|
18
|
-
var v4_js_1 = require("./v4.js");
|
|
19
|
-
Object.defineProperty(exports, "v4", { enumerable: true, get: function () { return v4_js_1.default; } });
|
|
20
|
-
var v5_js_1 = require("./v5.js");
|
|
21
|
-
Object.defineProperty(exports, "v5", { enumerable: true, get: function () { return v5_js_1.default; } });
|
|
22
|
-
var v6_js_1 = require("./v6.js");
|
|
23
|
-
Object.defineProperty(exports, "v6", { enumerable: true, get: function () { return v6_js_1.default; } });
|
|
24
|
-
var v6ToV1_js_1 = require("./v6ToV1.js");
|
|
25
|
-
Object.defineProperty(exports, "v6ToV1", { enumerable: true, get: function () { return v6ToV1_js_1.default; } });
|
|
26
|
-
var v7_js_1 = require("./v7.js");
|
|
27
|
-
Object.defineProperty(exports, "v7", { enumerable: true, get: function () { return v7_js_1.default; } });
|
|
28
|
-
var validate_js_1 = require("./validate.js");
|
|
29
|
-
Object.defineProperty(exports, "validate", { enumerable: true, get: function () { return validate_js_1.default; } });
|
|
30
|
-
var version_js_1 = require("./version.js");
|
|
31
|
-
Object.defineProperty(exports, "version", { enumerable: true, get: function () { return version_js_1.default; } });
|
package/dist/cjs/max.d.ts
DELETED
package/dist/cjs/max.js
DELETED
package/dist/cjs/md5.d.ts
DELETED
package/dist/cjs/md5.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const crypto_1 = require("crypto");
|
|
4
|
-
function md5(bytes) {
|
|
5
|
-
if (Array.isArray(bytes)) {
|
|
6
|
-
bytes = Buffer.from(bytes);
|
|
7
|
-
}
|
|
8
|
-
else if (typeof bytes === 'string') {
|
|
9
|
-
bytes = Buffer.from(bytes, 'utf8');
|
|
10
|
-
}
|
|
11
|
-
return (0, crypto_1.createHash)('md5').update(bytes).digest();
|
|
12
|
-
}
|
|
13
|
-
exports.default = md5;
|
package/dist/cjs/native.d.ts
DELETED
package/dist/cjs/native.js
DELETED
package/dist/cjs/nil.d.ts
DELETED
package/dist/cjs/nil.js
DELETED
package/dist/cjs/package.json
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"type":"commonjs"}
|
package/dist/cjs/parse.d.ts
DELETED
package/dist/cjs/parse.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const validate_js_1 = require("./validate.js");
|
|
4
|
-
function parse(uuid) {
|
|
5
|
-
if (!(0, validate_js_1.default)(uuid)) {
|
|
6
|
-
throw TypeError('Invalid UUID');
|
|
7
|
-
}
|
|
8
|
-
let v;
|
|
9
|
-
return Uint8Array.of((v = parseInt(uuid.slice(0, 8), 16)) >>> 24, (v >>> 16) & 0xff, (v >>> 8) & 0xff, v & 0xff, (v = parseInt(uuid.slice(9, 13), 16)) >>> 8, v & 0xff, (v = parseInt(uuid.slice(14, 18), 16)) >>> 8, v & 0xff, (v = parseInt(uuid.slice(19, 23), 16)) >>> 8, v & 0xff, ((v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000) & 0xff, (v / 0x100000000) & 0xff, (v >>> 24) & 0xff, (v >>> 16) & 0xff, (v >>> 8) & 0xff, v & 0xff);
|
|
10
|
-
}
|
|
11
|
-
exports.default = parse;
|
package/dist/cjs/regex.d.ts
DELETED
package/dist/cjs/regex.js
DELETED
package/dist/cjs/rng.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function rng(): Uint8Array;
|
package/dist/cjs/rng.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const crypto_1 = require("crypto");
|
|
4
|
-
const rnds8Pool = new Uint8Array(256);
|
|
5
|
-
let poolPtr = rnds8Pool.length;
|
|
6
|
-
function rng() {
|
|
7
|
-
if (poolPtr > rnds8Pool.length - 16) {
|
|
8
|
-
(0, crypto_1.randomFillSync)(rnds8Pool);
|
|
9
|
-
poolPtr = 0;
|
|
10
|
-
}
|
|
11
|
-
return rnds8Pool.slice(poolPtr, (poolPtr += 16));
|
|
12
|
-
}
|
|
13
|
-
exports.default = rng;
|
package/dist/cjs/sha1.d.ts
DELETED