@embrace-io/web-sdk
Version:
32 lines (31 loc) • 1.14 kB
JavaScript
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