{"version":3,"file":"EmbraceW3CTraceContextPropagator.cjs","names":["W3CTraceContextPropagator","trace","defaultTextMapGetter","KEY_EMB_W3C_TRACEPARENT"],"sources":["../../../src/propagators/EmbraceW3CTraceContextPropagator/EmbraceW3CTraceContextPropagator.ts"],"sourcesContent":["import type { Context, TextMapSetter } from '@opentelemetry/api';\nimport { defaultTextMapGetter, trace } from '@opentelemetry/api';\nimport { W3CTraceContextPropagator } from '@opentelemetry/core';\nimport { KEY_EMB_W3C_TRACEPARENT } from '../../constants/index.ts';\n\nexport class EmbraceW3CTraceContextPropagator extends W3CTraceContextPropagator {\n  public override inject(\n    context: Context,\n    carrier: unknown,\n    setter: TextMapSetter,\n  ) {\n    super.inject(context, carrier, setter);\n\n    // Add the injected Traceparent header as an attribute to the span in the current\n    // context if both are available\n    const span = trace.getSpan(context);\n    if (span) {\n      const traceparent =\n        carrier instanceof Headers\n          ? carrier.get('traceparent')\n          : defaultTextMapGetter.get(carrier, 'traceparent');\n      if (traceparent) {\n        span.setAttribute(KEY_EMB_W3C_TRACEPARENT, traceparent);\n      }\n    }\n  }\n}\n"],"mappings":";;;;;AAKA,IAAa,mCAAb,cAAsDA,oBAAAA,0BAA0B;CAC9E,OACE,SACA,SACA,QACA;EACA,MAAM,OAAO,SAAS,SAAS,MAAM;EAIrC,MAAM,OAAOC,mBAAAA,MAAM,QAAQ,OAAO;EAClC,IAAI,MAAM;GACR,MAAM,cACJ,mBAAmB,UACf,QAAQ,IAAI,aAAa,IACzBC,mBAAAA,qBAAqB,IAAI,SAAS,aAAa;GACrD,IAAI,aACF,KAAK,aAAaC,6BAAAA,yBAAyB,WAAW;EAE1D;CACF;AACF"}