blog/source/files/magicbroad/assets/getDeviceId.e8f3946a.js.map
2022-06-09 09:09:09 +08:00

1 line
15 KiB
Text

{"version":3,"file":"getDeviceId.e8f3946a.js","sources":["../../node_modules/uuid/dist/esm-browser/rng.js","../../node_modules/uuid/dist/esm-browser/regex.js","../../node_modules/uuid/dist/esm-browser/validate.js","../../node_modules/uuid/dist/esm-browser/stringify.js","../../node_modules/uuid/dist/esm-browser/parse.js","../../node_modules/uuid/dist/esm-browser/v35.js","../../node_modules/uuid/dist/esm-browser/v4.js","../../node_modules/uuid/dist/esm-browser/sha1.js","../../node_modules/uuid/dist/esm-browser/v5.js","../../src/helpers/getDeviceId.ts"],"sourcesContent":["// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import validate from './validate.js';\n\nfunction parse(uuid) {\n if (!validate(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n var v;\n var arr = new Uint8Array(16); // Parse ########-....-....-....-............\n\n arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n arr[1] = v >>> 16 & 0xff;\n arr[2] = v >>> 8 & 0xff;\n arr[3] = v & 0xff; // Parse ........-####-....-....-............\n\n arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n arr[5] = v & 0xff; // Parse ........-....-####-....-............\n\n arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n arr[7] = v & 0xff; // Parse ........-....-....-####-............\n\n arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n arr[9] = v & 0xff; // Parse ........-....-....-....-############\n // (Use \"/\" to avoid 32-bit truncation when bit-shifting high-order bytes)\n\n arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;\n arr[11] = v / 0x100000000 & 0xff;\n arr[12] = v >>> 24 & 0xff;\n arr[13] = v >>> 16 & 0xff;\n arr[14] = v >>> 8 & 0xff;\n arr[15] = v & 0xff;\n return arr;\n}\n\nexport default parse;","import stringify from './stringify.js';\nimport parse from './parse.js';\n\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n var bytes = [];\n\n for (var i = 0; i < str.length; ++i) {\n bytes.push(str.charCodeAt(i));\n }\n\n return bytes;\n}\n\nexport var DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexport var URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexport default function (name, version, hashfunc) {\n function generateUUID(value, namespace, buf, offset) {\n if (typeof value === 'string') {\n value = stringToBytes(value);\n }\n\n if (typeof namespace === 'string') {\n namespace = parse(namespace);\n }\n\n if (namespace.length !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n } // Compute hash of namespace and value, Per 4.3\n // Future: Use spread syntax when supported on all platforms, e.g. `bytes =\n // hashfunc([...namespace, ... value])`\n\n\n var bytes = new Uint8Array(16 + value.length);\n bytes.set(namespace);\n bytes.set(value, namespace.length);\n bytes = hashfunc(bytes);\n bytes[6] = bytes[6] & 0x0f | version;\n bytes[8] = bytes[8] & 0x3f | 0x80;\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n\n return buf;\n }\n\n return stringify(bytes);\n } // Function#name is not settable on some platforms (#270)\n\n\n try {\n generateUUID.name = name; // eslint-disable-next-line no-empty\n } catch (err) {} // For CommonJS default export support\n\n\n generateUUID.DNS = DNS;\n generateUUID.URL = URL;\n return generateUUID;\n}","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","// Adapted from Chris Veness' SHA1 code at\n// http://www.movable-type.co.uk/scripts/sha1.html\nfunction f(s, x, y, z) {\n switch (s) {\n case 0:\n return x & y ^ ~x & z;\n\n case 1:\n return x ^ y ^ z;\n\n case 2:\n return x & y ^ x & z ^ y & z;\n\n case 3:\n return x ^ y ^ z;\n }\n}\n\nfunction ROTL(x, n) {\n return x << n | x >>> 32 - n;\n}\n\nfunction sha1(bytes) {\n var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6];\n var H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];\n\n if (typeof bytes === 'string') {\n var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = [];\n\n for (var i = 0; i < msg.length; ++i) {\n bytes.push(msg.charCodeAt(i));\n }\n } else if (!Array.isArray(bytes)) {\n // Convert Array-like to Array\n bytes = Array.prototype.slice.call(bytes);\n }\n\n bytes.push(0x80);\n var l = bytes.length / 4 + 2;\n var N = Math.ceil(l / 16);\n var M = new Array(N);\n\n for (var _i = 0; _i < N; ++_i) {\n var arr = new Uint32Array(16);\n\n for (var j = 0; j < 16; ++j) {\n arr[j] = bytes[_i * 64 + j * 4] << 24 | bytes[_i * 64 + j * 4 + 1] << 16 | bytes[_i * 64 + j * 4 + 2] << 8 | bytes[_i * 64 + j * 4 + 3];\n }\n\n M[_i] = arr;\n }\n\n M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32);\n M[N - 1][14] = Math.floor(M[N - 1][14]);\n M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff;\n\n for (var _i2 = 0; _i2 < N; ++_i2) {\n var W = new Uint32Array(80);\n\n for (var t = 0; t < 16; ++t) {\n W[t] = M[_i2][t];\n }\n\n for (var _t = 16; _t < 80; ++_t) {\n W[_t] = ROTL(W[_t - 3] ^ W[_t - 8] ^ W[_t - 14] ^ W[_t - 16], 1);\n }\n\n var a = H[0];\n var b = H[1];\n var c = H[2];\n var d = H[3];\n var e = H[4];\n\n for (var _t2 = 0; _t2 < 80; ++_t2) {\n var s = Math.floor(_t2 / 20);\n var T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[_t2] >>> 0;\n e = d;\n d = c;\n c = ROTL(b, 30) >>> 0;\n b = a;\n a = T;\n }\n\n H[0] = H[0] + a >>> 0;\n H[1] = H[1] + b >>> 0;\n H[2] = H[2] + c >>> 0;\n H[3] = H[3] + d >>> 0;\n H[4] = H[4] + e >>> 0;\n }\n\n return [H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff];\n}\n\nexport default sha1;","import v35 from './v35.js';\nimport sha1 from './sha1.js';\nvar v5 = v35('v5', 0x50, sha1);\nexport default v5;","import {v4 as uuidv4, v5 as uuidv5} from \"uuid\";\n\nexport const getUserId = () => {\n const id = window.localStorage.getItem(\"MAGICBROAD_DEVICE_ID\");\n if (id) {\n return id;\n } else {\n const newId = uuidv4();\n window.localStorage.setItem(\"MAGICBROAD_DEVICE_ID\", newId);\n return newId;\n }\n};\n\nexport const getUserDeviceId = (user_id: string) => {\n return uuidv5(getUserId(), user_id);\n};\n\nexport const broadcastId = \"00000000-0000-0000-0000-000000000000\";\n\nexport default getUserId;\n"],"names":["getUserId","id","window","localStorage","getItem","newId","uuidv4","setItem","getUserDeviceId","user_id","uuidv5","broadcastId"],"mappings":"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"}