UNPKG

@embrace-io/web-sdk

Version:
1 lines 1.58 kB
{"version":3,"file":"SpanScrubProcessor.cjs","names":[],"sources":["../../../src/processors/SpanScrubProcessor/SpanScrubProcessor.ts"],"sourcesContent":["import type { Span, SpanProcessor } from '@opentelemetry/sdk-trace';\nimport type { AttributeScrubber } from '../../common/index.ts';\nimport type { SpanScrubProcessorArgs } from './types.ts';\n\nexport class SpanScrubProcessor implements SpanProcessor {\n private readonly _attributeScrubbers: AttributeScrubber[];\n\n public constructor({ attributeScrubbers }: SpanScrubProcessorArgs) {\n this._attributeScrubbers = attributeScrubbers;\n }\n\n public forceFlush(): Promise<void> {\n return Promise.resolve(undefined);\n }\n\n public onEnding(span: Span): void {\n this._attributeScrubbers.forEach((scrubber) => {\n const value = span.attributes[scrubber.key];\n if (value && typeof value === 'string') {\n span.attributes[scrubber.key] = scrubber.scrub(value);\n }\n });\n }\n\n public onStart(this: void): void {\n // do nothing.\n }\n\n public onEnd(this: void): void {\n // do nothing.\n }\n\n public shutdown(): Promise<void> {\n return Promise.resolve(undefined);\n }\n}\n"],"mappings":";;AAIA,IAAa,qBAAb,MAAyD;CACvD;CAEA,YAAmB,EAAE,sBAA8C;EACjE,KAAK,sBAAsB;CAC7B;CAEA,aAAmC;EACjC,OAAO,QAAQ,QAAQ,KAAA,CAAS;CAClC;CAEA,SAAgB,MAAkB;EAChC,KAAK,oBAAoB,SAAS,aAAa;GAC7C,MAAM,QAAQ,KAAK,WAAW,SAAS;GACvC,IAAI,SAAS,OAAO,UAAU,UAC5B,KAAK,WAAW,SAAS,OAAO,SAAS,MAAM,KAAK;EAExD,CAAC;CACH;CAEA,UAAiC,CAEjC;CAEA,QAA+B,CAE/B;CAEA,WAAiC;EAC/B,OAAO,QAAQ,QAAQ,KAAA,CAAS;CAClC;AACF"}