@embrace-io/web-sdk
Version:
34 lines (33 loc) • 1.81 kB
JavaScript
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const require_utils_createSafeProxy_createSafeProxy = require("../../../utils/createSafeProxy/createSafeProxy.cjs");
const require_api_sessions_manager_NoOpUserSessionManager_NoOpUserSessionManager = require("../../manager/NoOpUserSessionManager/NoOpUserSessionManager.cjs");
const require_api_sessions_manager_ProxyUserSessionManager_ProxyUserSessionManager = require("../../manager/ProxyUserSessionManager/ProxyUserSessionManager.cjs");
let _opentelemetry_api = require("@opentelemetry/api");
//#region src/api-sessions/api/SessionAPI/SessionAPI.ts
const NOOP_USER_SESSION_MANAGER = new require_api_sessions_manager_NoOpUserSessionManager_NoOpUserSessionManager.NoOpUserSessionManager();
const INTERNAL_METHODS = /* @__PURE__ */ new Set(["setDelegate", "getDelegate"]);
var SessionAPI = class SessionAPI {
static _instance;
static getInstance() {
if (!SessionAPI._instance) {
const proxyManager = new require_api_sessions_manager_ProxyUserSessionManager_ProxyUserSessionManager.ProxyUserSessionManager();
const safeManager = require_utils_createSafeProxy_createSafeProxy.createSafeProxy(proxyManager, NOOP_USER_SESSION_MANAGER, _opentelemetry_api.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
exports.SessionAPI = SessionAPI;
//# sourceMappingURL=SessionAPI.cjs.map