{"version":3,"file":"index.js","sources":["../../../../../src/integrations/tracing/dataloader/index.ts"],"sourcesContent":["import type { IntegrationFn } from '@sentry/core';\nimport { defineIntegration } from '@sentry/core';\nimport { generateInstrumentOnce } from '@sentry/node-core';\nimport { dataloaderChannelIntegration, isOrchestrionInjected } from '@sentry/server-utils/orchestrion';\nimport { DataloaderInstrumentation } from './vendored/instrumentation';\n\nconst INTEGRATION_NAME = 'Dataloader' as const;\n\nexport const instrumentDataloader = generateInstrumentOnce(INTEGRATION_NAME, () => new DataloaderInstrumentation());\n\nconst _dataloaderIntegration = (() => {\n return {\n name: INTEGRATION_NAME,\n setupOnce() {\n // Decide here, not in the factory: the runtime channel injection runs inside `Sentry.init()`,\n // after the integrations array has already been built, so `isOrchestrionInjected()` is only\n // reliable by `setupOnce`. When the diagnostics channels are injected (runtime hook or bundler\n // plugin), subscribe to them; otherwise fall back to the vendored OTel instrumentation.\n if (isOrchestrionInjected()) {\n dataloaderChannelIntegration().setupOnce?.();\n } else {\n instrumentDataloader();\n }\n },\n };\n}) satisfies IntegrationFn;\n\n/**\n * Adds Sentry tracing instrumentation for the [dataloader](https://www.npmjs.com/package/dataloader) library.\n *\n * For more information, see the [`dataloaderIntegration` documentation](https://docs.sentry.io/platforms/javascript/guides/node/configuration/integrations/dataloader/).\n *\n * @example\n * ```javascript\n * const Sentry = require('@sentry/node');\n *\n * Sentry.init({\n * integrations: [Sentry.dataloaderIntegration()],\n * });\n * ```\n */\nexport const dataloaderIntegration = defineIntegration(_dataloaderIntegration);\n"],"names":[],"mappings":";;;;;AAMA,MAAM,gBAAA,GAAmB,YAAA;AAElB,MAAM,uBAAuB,sBAAA,CAAuB,gBAAA,EAAkB,MAAM,IAAI,2BAA2B;AAElH,MAAM,0BAA0B,MAAM;AACpC,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,gBAAA;AAAA,IACN,SAAA,GAAY;AAKV,MAAA,IAAI,uBAAsB,EAAG;AAC3B,QAAA,4BAAA,GAA+B,SAAA,IAAY;AAAA,MAC7C,CAAA,MAAO;AACL,QAAA,oBAAA,EAAqB;AAAA,MACvB;AAAA,IACF;AAAA,GACF;AACF,CAAA,CAAA;AAgBO,MAAM,qBAAA,GAAwB,kBAAkB,sBAAsB;;;;"}