UNPKG

@embrace-io/web-sdk

Version:
32 lines (31 loc) 1.14 kB
import { createSafeProxy } from "../../../utils/createSafeProxy/createSafeProxy.js"; import { NoOpUserManager } from "../../manager/NoOpUserManager/NoOpUserManager.js"; import { ProxyUserManager } from "../../manager/ProxyUserManager/ProxyUserManager.js"; import { diag } from "@opentelemetry/api"; //#region src/api-users/api/UserAPI/UserAPI.ts const NOOP_USER_MANAGER = new NoOpUserManager(); const INTERNAL_METHODS = /* @__PURE__ */ new Set(["setDelegate", "getDelegate"]); var UserAPI = class UserAPI { static _instance; static getInstance() { if (!UserAPI._instance) { const proxyManager = new ProxyUserManager(); const safeManager = createSafeProxy(proxyManager, NOOP_USER_MANAGER, diag.createComponentLogger({ namespace: "UserAPI" }), INTERNAL_METHODS); UserAPI._instance = Object.assign(safeManager, { setGlobalUserManager(userManager) { proxyManager.setDelegate(userManager); }, getUserManager() { return proxyManager; } }); } return UserAPI._instance; } static resetInstance() { UserAPI._instance = void 0; } }; //#endregion export { UserAPI }; //# sourceMappingURL=UserAPI.js.map