@embrace-io/web-sdk
Version:
1 lines • 2.14 kB
Source Map (JSON)
{"version":3,"file":"LogAPI.cjs","names":["NoOpLogManager","ProxyLogManager","createSafeProxy","diag"],"sources":["../../../../src/api-logs/api/LogAPI/LogAPI.ts"],"sourcesContent":["import { diag } from '@opentelemetry/api';\nimport { createSafeProxy } from '../../../utils/index.ts';\nimport type { LogManager } from '../../manager/index.ts';\nimport { NoOpLogManager, ProxyLogManager } from '../../manager/index.ts';\n\n/**\n * Public interface for LogAPI including SDK-internal methods.\n */\nexport interface LogAPIInstance extends LogManager {\n /** @internal SDK use only */\n setGlobalLogManager(logManager: LogManager): void;\n /** @internal SDK use only */\n getLogManager(): LogManager;\n}\n\nconst NOOP_LOG_MANAGER = new NoOpLogManager();\nconst INTERNAL_METHODS = new Set(['setDelegate', 'getDelegate']);\n\nexport class LogAPI {\n private static _instance?: LogAPIInstance;\n\n public static getInstance(): LogAPIInstance {\n if (!LogAPI._instance) {\n const proxyManager = new ProxyLogManager();\n\n const safeManager = createSafeProxy(\n proxyManager,\n NOOP_LOG_MANAGER,\n diag.createComponentLogger({ namespace: 'LogAPI' }),\n INTERNAL_METHODS,\n );\n\n LogAPI._instance = Object.assign(safeManager, {\n setGlobalLogManager(logManager: LogManager): void {\n proxyManager.setDelegate(logManager);\n },\n getLogManager(): LogManager {\n return proxyManager;\n },\n }) as LogAPIInstance;\n }\n\n return LogAPI._instance;\n }\n\n public static resetInstance(): void {\n LogAPI._instance = undefined;\n }\n}\n"],"mappings":";;;;;;AAeA,MAAM,mBAAmB,IAAIA,uDAAAA,eAAe;AAC5C,MAAM,mCAAmB,IAAI,IAAI,CAAC,eAAe,aAAa,CAAC;AAE/D,IAAa,SAAb,MAAa,OAAO;CAClB,OAAe;CAEf,OAAc,cAA8B;EAC1C,IAAI,CAAC,OAAO,WAAW;GACrB,MAAM,eAAe,IAAIC,yDAAAA,gBAAgB;GAEzC,MAAM,cAAcC,8CAAAA,gBAClB,cACA,kBACAC,mBAAAA,KAAK,sBAAsB,EAAE,WAAW,SAAS,CAAC,GAClD,gBACF;GAEA,OAAO,YAAY,OAAO,OAAO,aAAa;IAC5C,oBAAoB,YAA8B;KAChD,aAAa,YAAY,UAAU;IACrC;IACA,gBAA4B;KAC1B,OAAO;IACT;GACF,CAAC;EACH;EAEA,OAAO,OAAO;CAChB;CAEA,OAAc,gBAAsB;EAClC,OAAO,YAAY,KAAA;CACrB;AACF"}