UNPKG

@embrace-io/web-sdk

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