@aller/blink
Version:
A library for tracking user behaviour.
29 lines • 974 B
JavaScript
/* tslint:disable */
Object.defineProperty(exports, "__esModule", { value: true });
var uuidDict = {};
/**
* Gives a unique but consistent id for each key.
* Saves the uuid, so if several system is using this, they get the same value!
*/
function generateUUID(key) {
if (key === void 0) { key = ''; }
if (key && key in uuidDict) {
return uuidDict[key];
}
// Public Domain/MIT
var d = new Date().getTime();
if (typeof performance !== 'undefined' &&
typeof performance.now === 'function') {
d += performance.now(); // use high-precision timer if available
}
var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
var r = (d + Math.random() * 16) % 16 | 0;
d = Math.floor(d / 16);
return (c === 'x' ? r : (r & 0x3) | 0x8).toString(16);
});
uuidDict[key] = uuid;
return uuid;
}
exports.default = generateUUID;
//# sourceMappingURL=uuid.js.map
;