UNPKG

@embrace-io/web-sdk

Version:
1 lines 1.49 kB
{"version":3,"file":"registry.cjs","names":["diag"],"sources":["../../src/sdk/registry.ts"],"sourcesContent":["import type { DiagLogger } from '@opentelemetry/api';\nimport { diag } from '@opentelemetry/api';\nimport type { SDKControl, SDKRegistryManager } from './types.ts';\n\nclass Registry implements SDKRegistryManager {\n private _sdk: SDKControl | null = null;\n private readonly _diag: DiagLogger;\n\n public constructor({\n diagLogger = diag.createComponentLogger({ namespace: 'embrace-registry' }),\n }: { diagLogger?: DiagLogger } = {}) {\n this._diag = diagLogger;\n }\n\n public register: (sdk: SDKControl) => void = (sdk) => {\n if (this._sdk !== null) {\n this._diag.warn('previously registered sdk will be overwritten');\n }\n this._sdk = sdk;\n };\n\n public clear: () => void = () => {\n if (this._sdk === null) {\n this._diag.warn('sdk already cleared, this is a no-op');\n }\n this._sdk = null;\n };\n\n public registered: () => SDKControl | null = () => {\n return this._sdk;\n };\n}\n\nexport const registry = new Registry();\n"],"mappings":";;;AAIA,IAAM,WAAN,MAA6C;CAC3C,OAAkC;CAClC;CAEA,YAAmB,EACjB,aAAaA,mBAAAA,KAAK,sBAAsB,EAAE,WAAW,mBAAmB,CAAC,MAC1C,CAAC,GAAG;EACnC,KAAK,QAAQ;CACf;CAEA,YAA8C,QAAQ;EACpD,IAAI,KAAK,SAAS,MAChB,KAAK,MAAM,KAAK,+CAA+C;EAEjE,KAAK,OAAO;CACd;CAEA,cAAiC;EAC/B,IAAI,KAAK,SAAS,MAChB,KAAK,MAAM,KAAK,sCAAsC;EAExD,KAAK,OAAO;CACd;CAEA,mBAAmD;EACjD,OAAO,KAAK;CACd;AACF;AAEA,MAAa,WAAW,IAAI,SAAS"}