UNPKG

869 BJavaScriptView Raw
1"use strict";
2var randomBuffer = new Uint16Array(1);
3/**
4 * Returns a random number on [0, 1)
5 * Uses window.crypto if available
6 */
7function rand() {
8 if (typeof crypto !== "undefined") {
9 crypto.getRandomValues(randomBuffer);
10 return randomBuffer[0] / Math.pow(2, 16);
11 }
12 else {
13 return Math.random();
14 }
15}
16var UUID = {
17 /**
18 * Generates a v4 UUID.
19 */
20 get: function () {
21 var template = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";
22 var value = template.replace(/[xy]/g, function (c) {
23 var v = Math.floor(rand() * 16);
24 if (c !== "x") {
25 v = v & 0x3 | 0x8;
26 }
27 return v.toString(16);
28 });
29 return value;
30 }
31};
32Object.defineProperty(exports, "__esModule", { value: true });
33exports.default = UUID;
34
35//# sourceMappingURL=UUID.js.map