{"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,0DAAIA,kBAAkB;AAEjD,IAAa,oBAAb,MAAuD;CACrD;CAEA,cAAmC;AACjC,SAAO,KAAK,aAAa;;CAG3B,YAAmB,UAA8B;AAC/C,OAAK,YAAY;;CAGnB,UACE,MACA,SACA,SACc;AACd,SAAO,KAAK,aAAa,CAAC,UAAU,MAAM,SAAS,QAAQ;;CAG7D,QAAe,SAAkB,MAA6B;AAC5D,SAAO,KAAK,aAAa,CAAC,QAAQ,SAAS,KAAK;;CAGlD,QAAe,SAA4C;AACzD,SAAO,KAAK,aAAa,CAAC,QAAQ,QAAQ"}