{"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,oBAAoB,CAAC,KAC3C,EAAE,EAAE;AACnC,OAAK,QAAQ;;CAGf,YAA8C,QAAQ;AACpD,MAAI,KAAK,SAAS,KAChB,MAAK,MAAM,KAAK,gDAAgD;AAElE,OAAK,OAAO;;CAGd,cAAiC;AAC/B,MAAI,KAAK,SAAS,KAChB,MAAK,MAAM,KAAK,uCAAuC;AAEzD,OAAK,OAAO;;CAGd,mBAAmD;AACjD,SAAO,KAAK;;;AAIhB,MAAa,WAAW,IAAI,UAAU"}