{"version":3,"file":"ProxyTraceManager.cjs","names":["NoOpTraceManager"],"sources":["../../../../src/api-traces/manager/ProxyTraceManager/ProxyTraceManager.ts"],"sourcesContent":["import type { Context } from '@opentelemetry/api';\nimport type { ExtendedSpan, ExtendedSpanOptions } from '../../api/index.ts';\nimport type { TraceManager } from '../index.ts';\nimport { NoOpTraceManager } from '../NoOpTraceManager/index.ts';\n\nconst NOOP_TRACE_MANAGER = new NoOpTraceManager();\n\nexport class ProxyTraceManager implements TraceManager {\n  private _delegate?: TraceManager;\n\n  public getDelegate(): TraceManager {\n    return this._delegate ?? NOOP_TRACE_MANAGER;\n  }\n\n  public setDelegate(delegate: TraceManager): void {\n    this._delegate = delegate;\n  }\n\n  public startSpan(\n    name: string,\n    options?: ExtendedSpanOptions,\n    context?: Context,\n  ): ExtendedSpan {\n    return this.getDelegate().startSpan(name, options, context);\n  }\n\n  public setSpan(context: Context, span: ExtendedSpan): Context {\n    return this.getDelegate().setSpan(context, span);\n  }\n\n  public getSpan(context: Context): ExtendedSpan | undefined {\n    return this.getDelegate().getSpan(context);\n  }\n}\n"],"mappings":";;AAKA,MAAM,qBAAqB,uDAAIA,EAAAA,CAAAA,iBAAiB;AAEhD,IAAa,oBAAb,MAAuD;CACrD;CAEA,cAAmC;EACjC,OAAO,KAAK,aAAa;CAC3B;CAEA,YAAmB,UAA8B;EAC/C,KAAK,YAAY;CACnB;CAEA,UACE,MACA,SACA,SACc;EACd,OAAO,KAAK,YAAY,CAAC,CAAC,UAAU,MAAM,SAAS,OAAO;CAC5D;CAEA,QAAe,SAAkB,MAA6B;EAC5D,OAAO,KAAK,YAAY,CAAC,CAAC,QAAQ,SAAS,IAAI;CACjD;CAEA,QAAe,SAA4C;EACzD,OAAO,KAAK,YAAY,CAAC,CAAC,QAAQ,OAAO;CAC3C;AACF"}