@embrace-io/web-sdk
Version:
55 lines (54 loc) • 2.33 kB
JavaScript
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