{"version":3,"file":"exporter.mjs","names":[],"sources":["../../src/internal/exporter.ts"],"sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { context } from '@opentelemetry/api';\nimport type { ExportResult } from '../ExportResult';\nimport { suppressTracing } from '../trace/suppress-tracing';\n\nexport interface Exporter<T> {\n  export(arg: T, resultCallback: (result: ExportResult) => void): void;\n}\n\n/**\n * @internal\n * Shared functionality used by Exporters while exporting data, including suppression of Traces.\n */\nexport function _export<T>(\n  exporter: Exporter<T>,\n  arg: T\n): Promise<ExportResult> {\n  return new Promise(resolve => {\n    // prevent downstream exporter calls from generating spans\n    context.with(suppressTracing(context.active()), () => {\n      exporter.export(arg, resolve);\n    });\n  });\n}\n"],"mappings":";;;;;;;AAiBA,SAAgB,QACd,UACA,KACuB;CACvB,OAAO,IAAI,SAAQ,YAAW;EAE5B,QAAQ,KAAK,gBAAgB,QAAQ,OAAO,CAAC,SAAS;GACpD,SAAS,OAAO,KAAK,OAAO;EAC9B,CAAC;CACH,CAAC;AACH"}