{"version":3,"file":"LogRecordScrubProcessor.cjs","names":[],"sources":["../../../src/processors/LogRecordScrubProcessor/LogRecordScrubProcessor.ts"],"sourcesContent":["import type { LogRecordProcessor, SdkLogRecord } from '@opentelemetry/sdk-logs';\nimport type { AttributeScrubber } from '../../common/index.ts';\nimport type { LogRecordScrubProcessorArgs } from './types.ts';\n\nexport class LogRecordScrubProcessor implements LogRecordProcessor {\n  private readonly _attributeScrubbers: AttributeScrubber[];\n\n  public constructor({ attributeScrubbers }: LogRecordScrubProcessorArgs) {\n    this._attributeScrubbers = attributeScrubbers;\n  }\n\n  // no-op\n  public forceFlush(): Promise<void> {\n    return Promise.resolve(undefined);\n  }\n\n  public onEmit(logRecord: SdkLogRecord) {\n    this._attributeScrubbers.forEach((scrubber) => {\n      const value = logRecord.attributes[scrubber.key];\n      if (value && typeof value === 'string') {\n        logRecord.setAttribute(scrubber.key, scrubber.scrub(value));\n      }\n    });\n  }\n\n  // no-op\n  public shutdown(): Promise<void> {\n    return Promise.resolve(undefined);\n  }\n}\n"],"mappings":";;AAIA,IAAa,0BAAb,MAAmE;CACjE;CAEA,YAAmB,EAAE,sBAAmD;AACtE,OAAK,sBAAsB;;CAI7B,aAAmC;AACjC,SAAO,QAAQ,QAAQ,KAAA,EAAU;;CAGnC,OAAc,WAAyB;AACrC,OAAK,oBAAoB,SAAS,aAAa;GAC7C,MAAM,QAAQ,UAAU,WAAW,SAAS;AAC5C,OAAI,SAAS,OAAO,UAAU,SAC5B,WAAU,aAAa,SAAS,KAAK,SAAS,MAAM,MAAM,CAAC;IAE7D;;CAIJ,WAAiC;AAC/B,SAAO,QAAQ,QAAQ,KAAA,EAAU"}