@embrace-io/web-sdk
Version:
3 lines (2 loc) • 2.56 kB
JavaScript
import{diag as e}from"@opentelemetry/api";import"../../api-users/userAPI.js";import{KEY_ENDUSER_PSEUDO_ID as t}from"../../api-users/manager/constants/index.js";import"../../api-users/manager/NoOpUserManager/NoOpUserManager.js";import"../../api-users/manager/ProxyUserManager/ProxyUserManager.js";import{generateUUID as r}from"../../utils/generateUUID.js";import"tslib";import"@opentelemetry/core";import{EMBRACE_USER_ID_STORAGE_KEY as a,EMBRACE_USER_STORAGE_KEY_DEPRECATED as s,EMBRACE_EXTERNAL_USER_ID_KEY as o}from"./constants.js";import{isUser as i,isUserId as n}from"./types.js";var g=function(){function g(t){var r=void 0===t?{}:t,a=r.diag,s=r.storage,o=void 0===s?localStorage:s;this._embraceUserId=null,this._diag=null!=a?a:e.createComponentLogger({namespace:"EmbraceUserManager"}),this._storage=o,this._migrateOldLocalStorageKey(),this._initialSetup()}return g.prototype.getEmbraceUserId=function(){return this._embraceUserId||this._generateNewEmbraceUserId()},g.prototype.setEmbraceUserId=function(e){this._embraceUserId=e;try{this._storage.setItem(a,e)}catch(e){this._diag.warn("Failed to persist user object for storage, keeping it in-memory only",e)}},g.prototype.clearEmbraceUserId=function(){this._embraceUserId=null;try{this._storage.removeItem(a)}catch(e){this._diag.warn("Failed to remove embrace user in storage",e)}},g.prototype._migrateOldLocalStorageKey=function(){try{var e=this._storage.getItem(s);if(e){var r=JSON.parse(e);i(r)?(this._diag.debug("Migrating old user data from storage"),this._storage.setItem(a,r[t]),this._storage.removeItem(s)):(this._diag.warn("Invalid user data found in storage, clearing old user data"),this._storage.removeItem(s))}}catch(e){this._diag.warn("Failed to get old user data from storage",e)}},g.prototype._initialSetup=function(){try{var e=this._storage.getItem(a);e?n(e)?this._embraceUserId=e:(this._diag.warn("Invalid embrace user id, generating a new one"),this.clearEmbraceUserId()):this._diag.debug("No existing user found in storage, creating a new one")}catch(e){this._diag.warn("Failed to get embrace user id from storage, defaulting to a new one",e)}this._embraceUserId||(this._embraceUserId=this._generateNewEmbraceUserId())},g.prototype._generateNewEmbraceUserId=function(){var e=r();return this.setEmbraceUserId(e),e},g.prototype.getUserId=function(){return this._storage.getItem(o)},g.prototype.setUserId=function(e){this._storage.setItem(o,e)},g.prototype.clearUserId=function(){this._storage.removeItem(o)},g}();export{g as EmbraceUserManager};
//# sourceMappingURL=EmbraceUserManager.js.map