UNPKG

@embrace-io/web-sdk

Version:
1 lines 2.18 kB
{"version":3,"file":"UserAPI.cjs","names":["NoOpUserManager","ProxyUserManager","createSafeProxy","diag"],"sources":["../../../../src/api-users/api/UserAPI/UserAPI.ts"],"sourcesContent":["import { diag } from '@opentelemetry/api';\nimport { createSafeProxy } from '../../../utils/index.ts';\nimport type { UserManager } from '../../manager/index.ts';\nimport { NoOpUserManager, ProxyUserManager } from '../../manager/index.ts';\n\n/**\n * Public interface for UserAPI including SDK-internal methods.\n */\nexport interface UserAPIInstance extends UserManager {\n /** @internal SDK use only */\n setGlobalUserManager(userManager: UserManager): void;\n /** @internal SDK use only */\n getUserManager(): UserManager;\n}\n\nconst NOOP_USER_MANAGER = new NoOpUserManager();\nconst INTERNAL_METHODS = new Set(['setDelegate', 'getDelegate']);\n\nexport class UserAPI {\n private static _instance?: UserAPIInstance;\n\n public static getInstance(): UserAPIInstance {\n if (!UserAPI._instance) {\n const proxyManager = new ProxyUserManager();\n\n const safeManager = createSafeProxy(\n proxyManager,\n NOOP_USER_MANAGER,\n diag.createComponentLogger({ namespace: 'UserAPI' }),\n INTERNAL_METHODS,\n );\n\n UserAPI._instance = Object.assign(safeManager, {\n setGlobalUserManager(userManager: UserManager): void {\n proxyManager.setDelegate(userManager);\n },\n getUserManager(): UserManager {\n return proxyManager;\n },\n }) as UserAPIInstance;\n }\n\n return UserAPI._instance;\n }\n\n public static resetInstance(): void {\n UserAPI._instance = undefined;\n }\n}\n"],"mappings":";;;;;;AAeA,MAAM,oBAAoB,IAAIA,0DAAAA,gBAAgB;AAC9C,MAAM,mCAAmB,IAAI,IAAI,CAAC,eAAe,aAAa,CAAC;AAE/D,IAAa,UAAb,MAAa,QAAQ;CACnB,OAAe;CAEf,OAAc,cAA+B;EAC3C,IAAI,CAAC,QAAQ,WAAW;GACtB,MAAM,eAAe,IAAIC,4DAAAA,iBAAiB;GAE1C,MAAM,cAAcC,8CAAAA,gBAClB,cACA,mBACAC,mBAAAA,KAAK,sBAAsB,EAAE,WAAW,UAAU,CAAC,GACnD,gBACF;GAEA,QAAQ,YAAY,OAAO,OAAO,aAAa;IAC7C,qBAAqB,aAAgC;KACnD,aAAa,YAAY,WAAW;IACtC;IACA,iBAA8B;KAC5B,OAAO;IACT;GACF,CAAC;EACH;EAEA,OAAO,QAAQ;CACjB;CAEA,OAAc,gBAAsB;EAClC,QAAQ,YAAY,KAAA;CACtB;AACF"}