1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 |
|
4 |
|
5 |
|
6 | function asHex(value) {
|
7 | return Array.from(value)
|
8 | .map(function (i) { return ("00" + i.toString(16)).slice(-2); })
|
9 | .join('');
|
10 | }
|
11 |
|
12 |
|
13 |
|
14 | function getRandomBytes(size) {
|
15 |
|
16 | if (typeof Uint8Array === 'function' && typeof window === 'object' && window.crypto) {
|
17 | var buffer = new Uint8Array(size);
|
18 | var randomValues = window.crypto.getRandomValues(buffer);
|
19 | if (randomValues) {
|
20 | return randomValues;
|
21 | }
|
22 | }
|
23 |
|
24 | return Array.from(new Array(size), function () { return (Math.random() * 255) | 0; });
|
25 | }
|
26 |
|
27 |
|
28 |
|
29 |
|
30 |
|
31 | function generateUuid() {
|
32 | var version = 64;
|
33 | var clockSeqHiAndReserved = getRandomBytes(1);
|
34 | var timeHiAndVersion = getRandomBytes(2);
|
35 | clockSeqHiAndReserved[0] &= 63 | 128;
|
36 |
|
37 | timeHiAndVersion[0] &= 15 | version;
|
38 | return [
|
39 | asHex(getRandomBytes(4)),
|
40 | '-',
|
41 | asHex(getRandomBytes(2)),
|
42 | '-',
|
43 | asHex(timeHiAndVersion),
|
44 | '-',
|
45 | asHex(clockSeqHiAndReserved),
|
46 | asHex(getRandomBytes(1)),
|
47 | '-',
|
48 | asHex(getRandomBytes(6)),
|
49 | ].join('');
|
50 | }
|
51 | exports.generateUuid = generateUuid;
|
52 |
|
53 | exports.default = generateUuid;
|