{"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"}