UNPKG

@embrace-io/web-sdk

Version:
33 lines (32 loc) 1.36 kB
import { createSafeProxy } from "../../../utils/createSafeProxy/createSafeProxy.js"; import { NoOpUserSessionManager } from "../../manager/NoOpUserSessionManager/NoOpUserSessionManager.js"; import { ProxyUserSessionManager } from "../../manager/ProxyUserSessionManager/ProxyUserSessionManager.js"; import { diag } from "@opentelemetry/api"; //#region src/api-sessions/api/SessionAPI/SessionAPI.ts const NOOP_USER_SESSION_MANAGER = new NoOpUserSessionManager(); const INTERNAL_METHODS = /* @__PURE__ */ new Set(["setDelegate", "getDelegate"]); var SessionAPI = class SessionAPI { static _instance; static getInstance() { if (!SessionAPI._instance) { const proxyManager = new ProxyUserSessionManager(); const safeManager = createSafeProxy(proxyManager, NOOP_USER_SESSION_MANAGER, diag.createComponentLogger({ namespace: "SessionAPI" }), INTERNAL_METHODS); SessionAPI._instance = Object.assign(safeManager, { setGlobalUserSessionManager(userSessionManager) { proxyManager.setDelegate(userSessionManager); }, getUserSessionManager() { return proxyManager; } }); } return SessionAPI._instance; } /** @internal For testing only. Resets the global singleton between tests. */ static resetInstance() { SessionAPI._instance = void 0; } }; //#endregion export { SessionAPI }; //# sourceMappingURL=SessionAPI.js.map