UNPKG

@embrace-io/web-sdk

Version:
55 lines (54 loc) 2.33 kB
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const require_utils_generateUUID = require("../../utils/generateUUID.cjs"); const require_managers_EmbraceUserManager_constants = require("./constants.cjs"); const require_managers_EmbraceUserManager_types = require("./types.cjs"); let _opentelemetry_api = require("@opentelemetry/api"); //#region src/managers/EmbraceUserManager/EmbraceUserManager.ts var EmbraceUserManager = class { _diag; _storage; _embraceUserId = null; constructor({ diag: diagParam, storage }) { this._diag = diagParam ?? _opentelemetry_api.diag.createComponentLogger({ namespace: "EmbraceUserManager" }); this._storage = storage; this._initialSetup(); } getEmbraceUserId() { return this._embraceUserId || this._generateNewEmbraceUserId(); } setEmbraceUserId(userId) { this._embraceUserId = userId; this._storage.setItem(require_managers_EmbraceUserManager_constants.EMBRACE_USER_ID_STORAGE_KEY, userId); } clearEmbraceUserId() { this._embraceUserId = null; this._storage.removeItem(require_managers_EmbraceUserManager_constants.EMBRACE_USER_ID_STORAGE_KEY); } _initialSetup() { const embraceUserId = this._storage.getItem(require_managers_EmbraceUserManager_constants.EMBRACE_USER_ID_STORAGE_KEY); if (!embraceUserId) this._diag.debug("No existing user found in storage, creating a new one"); else if (require_managers_EmbraceUserManager_types.isUserId(embraceUserId)) this._embraceUserId = embraceUserId; else { this._diag.warn("Invalid embrace user id, generating a new one"); this.clearEmbraceUserId(); } if (!this._embraceUserId) this._embraceUserId = this._generateNewEmbraceUserId(); } _generateNewEmbraceUserId() { const newUserId = require_utils_generateUUID.generateUUID(); this.setEmbraceUserId(newUserId); return newUserId; } getUserId() { return this._storage.getItem(require_managers_EmbraceUserManager_constants.EMBRACE_EXTERNAL_USER_ID_KEY); } setUserId(userId) { this._storage.setItem(require_managers_EmbraceUserManager_constants.EMBRACE_EXTERNAL_USER_ID_KEY, userId); } clearUserId() { this._storage.removeItem(require_managers_EmbraceUserManager_constants.EMBRACE_EXTERNAL_USER_ID_KEY); } }; //#endregion exports.EmbraceUserManager = EmbraceUserManager; //# sourceMappingURL=EmbraceUserManager.cjs.map