@azure/event-hubs 5.13.0-beta.2 → 6.0.0-alpha.20250129.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -31
- package/dist/browser/batchingPartitionChannel.d.ts +94 -0
- package/dist/browser/batchingPartitionChannel.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/batchingPartitionChannel.js +4 -4
- package/dist/browser/batchingPartitionChannel.js.map +1 -0
- package/dist/browser/connectionContext.d.ts +108 -0
- package/dist/browser/connectionContext.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/connectionContext.js +9 -11
- package/dist/browser/connectionContext.js.map +1 -0
- package/dist/browser/dataTransformer.d.ts +53 -0
- package/dist/browser/dataTransformer.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/dataTransformer.js +2 -2
- package/dist/browser/dataTransformer.js.map +1 -0
- package/dist/browser/diagnostics/instrumentEventData.d.ts +28 -0
- package/dist/browser/diagnostics/instrumentEventData.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/diagnostics/instrumentEventData.js +3 -3
- package/dist/browser/diagnostics/instrumentEventData.js.map +1 -0
- package/dist/browser/diagnostics/tracing.d.ts +19 -0
- package/dist/browser/diagnostics/tracing.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/diagnostics/tracing.js +2 -2
- package/dist/browser/diagnostics/tracing.js.map +1 -0
- package/dist/browser/eventData.d.ts +295 -0
- package/dist/browser/eventData.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/eventData.js +39 -5
- package/dist/browser/eventData.js.map +1 -0
- package/dist/browser/eventDataAdapter.d.ts +69 -0
- package/dist/browser/eventDataAdapter.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/eventDataAdapter.js +1 -1
- package/dist/browser/eventDataAdapter.js.map +1 -0
- package/dist/browser/eventDataBatch.d.ts +225 -0
- package/dist/browser/eventDataBatch.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/eventDataBatch.js +7 -4
- package/dist/browser/eventDataBatch.js.map +1 -0
- package/dist/browser/eventHubBufferedProducerClient.d.ts +323 -0
- package/dist/browser/eventHubBufferedProducerClient.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/eventHubBufferedProducerClient.js +10 -9
- package/dist/browser/eventHubBufferedProducerClient.js.map +1 -0
- package/dist/browser/eventHubConsumerClient.d.ts +277 -0
- package/dist/browser/eventHubConsumerClient.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/eventHubConsumerClient.js +12 -12
- package/dist/browser/eventHubConsumerClient.js.map +1 -0
- package/dist/browser/eventHubConsumerClientModels.d.ts +218 -0
- package/dist/browser/eventHubConsumerClientModels.d.ts.map +1 -0
- package/dist/browser/eventHubConsumerClientModels.js +4 -0
- package/dist/browser/eventHubConsumerClientModels.js.map +1 -0
- package/dist/browser/eventHubProducerClient.d.ts +266 -0
- package/dist/browser/eventHubProducerClient.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/eventHubProducerClient.js +12 -10
- package/dist/browser/eventHubProducerClient.js.map +1 -0
- package/dist/browser/eventHubSender.d.ts +227 -0
- package/dist/browser/eventHubSender.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/eventHubSender.js +12 -12
- package/dist/browser/eventHubSender.js.map +1 -0
- package/dist/browser/eventPosition.d.ts +73 -0
- package/dist/browser/eventPosition.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/eventPosition.js +2 -2
- package/dist/browser/eventPosition.js.map +1 -0
- package/dist/browser/eventProcessor.d.ts +232 -0
- package/dist/browser/eventProcessor.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/eventProcessor.js +18 -18
- package/dist/browser/eventProcessor.js.map +1 -0
- package/dist/browser/eventhubConnectionConfig.d.ts +96 -0
- package/dist/browser/eventhubConnectionConfig.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/eventhubConnectionConfig.js +2 -2
- package/dist/browser/eventhubConnectionConfig.js.map +1 -0
- package/dist/browser/impl/awaitableQueue.d.ts +25 -0
- package/dist/browser/impl/awaitableQueue.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/impl/awaitableQueue.js +1 -1
- package/dist/browser/impl/awaitableQueue.js.map +1 -0
- package/dist/browser/impl/partitionAssigner.d.ts +29 -0
- package/dist/browser/impl/partitionAssigner.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/impl/partitionAssigner.js +2 -2
- package/dist/browser/impl/partitionAssigner.js.map +1 -0
- package/dist/browser/impl/partitionGate.d.ts +27 -0
- package/dist/browser/impl/partitionGate.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/impl/partitionGate.js +1 -1
- package/{dist-esm/src → dist/browser}/impl/partitionGate.js.map +1 -1
- package/dist/browser/impl/partitionKeyToIdMapper.d.ts +6 -0
- package/dist/browser/impl/partitionKeyToIdMapper.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/impl/partitionKeyToIdMapper.js +1 -1
- package/{dist-esm/src → dist/browser}/impl/partitionKeyToIdMapper.js.map +1 -1
- package/dist/browser/inMemoryCheckpointStore.d.ts +44 -0
- package/dist/browser/inMemoryCheckpointStore.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/inMemoryCheckpointStore.js +3 -3
- package/dist/browser/inMemoryCheckpointStore.js.map +1 -0
- package/dist/browser/index.d.ts +21 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/index.js +9 -9
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/loadBalancerStrategies/balancedStrategy.d.ts +30 -0
- package/dist/browser/loadBalancerStrategies/balancedStrategy.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/loadBalancerStrategies/balancedStrategy.js +2 -2
- package/dist/browser/loadBalancerStrategies/balancedStrategy.js.map +1 -0
- package/dist/browser/loadBalancerStrategies/greedyStrategy.d.ts +24 -0
- package/dist/browser/loadBalancerStrategies/greedyStrategy.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/loadBalancerStrategies/greedyStrategy.js +2 -2
- package/dist/browser/loadBalancerStrategies/greedyStrategy.js.map +1 -0
- package/dist/browser/loadBalancerStrategies/loadBalancingStrategy.d.ts +28 -0
- package/dist/browser/loadBalancerStrategies/loadBalancingStrategy.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/loadBalancerStrategies/loadBalancingStrategy.js +2 -2
- package/dist/browser/loadBalancerStrategies/loadBalancingStrategy.js.map +1 -0
- package/dist/browser/loadBalancerStrategies/unbalancedStrategy.d.ts +20 -0
- package/dist/browser/loadBalancerStrategies/unbalancedStrategy.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/loadBalancerStrategies/unbalancedStrategy.js +1 -1
- package/dist/browser/loadBalancerStrategies/unbalancedStrategy.js.map +1 -0
- package/dist/browser/logger.d.ts +37 -0
- package/dist/browser/logger.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/logger.js +1 -1
- package/dist/browser/logger.js.map +1 -0
- package/dist/browser/managementClient.d.ts +145 -0
- package/dist/browser/managementClient.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/managementClient.js +8 -8
- package/dist/browser/managementClient.js.map +1 -0
- package/dist/browser/models/private.d.ts +185 -0
- package/dist/browser/models/private.d.ts.map +1 -0
- package/dist/browser/models/private.js +4 -0
- package/dist/browser/models/private.js.map +1 -0
- package/dist/browser/models/public.d.ts +240 -0
- package/dist/browser/models/public.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/models/public.js +1 -1
- package/dist/browser/models/public.js.map +1 -0
- package/dist/browser/package.json +3 -0
- package/dist/browser/partitionProcessor.d.ts +134 -0
- package/dist/browser/partitionProcessor.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/partitionProcessor.js +2 -2
- package/dist/browser/partitionProcessor.js.map +1 -0
- package/dist/browser/partitionPump.d.ts +38 -0
- package/dist/browser/partitionPump.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/partitionPump.js +6 -7
- package/dist/browser/partitionPump.js.map +1 -0
- package/dist/browser/partitionReceiver.d.ts +82 -0
- package/dist/browser/partitionReceiver.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/partitionReceiver.js +14 -12
- package/dist/browser/partitionReceiver.js.map +1 -0
- package/dist/browser/pumpManager.d.ts +72 -0
- package/dist/browser/pumpManager.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/pumpManager.js +4 -4
- package/dist/browser/pumpManager.js.map +1 -0
- package/dist/browser/util/connectionStringUtils.d.ts +52 -0
- package/dist/browser/util/connectionStringUtils.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/util/connectionStringUtils.js +1 -1
- package/{dist-esm/src → dist/browser}/util/connectionStringUtils.js.map +1 -1
- package/dist/browser/util/constants.d.ts +25 -0
- package/dist/browser/util/constants.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/util/constants.js +4 -2
- package/dist/browser/util/constants.js.map +1 -0
- package/dist/browser/util/delayWithoutThrow.d.ts +8 -0
- package/dist/browser/util/delayWithoutThrow.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/util/delayWithoutThrow.js +1 -1
- package/dist/browser/util/delayWithoutThrow.js.map +1 -0
- package/dist/browser/util/error.d.ts +39 -0
- package/dist/browser/util/error.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/util/error.js +2 -2
- package/dist/browser/util/error.js.map +1 -0
- package/dist/browser/util/getPromiseParts.d.ts +10 -0
- package/dist/browser/util/getPromiseParts.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/util/getPromiseParts.js +1 -1
- package/{dist-esm/src → dist/browser}/util/getPromiseParts.js.map +1 -1
- package/dist/browser/util/operationOptions.d.ts +16 -0
- package/dist/browser/util/operationOptions.d.ts.map +1 -0
- package/dist/browser/util/operationOptions.js +4 -0
- package/dist/browser/util/operationOptions.js.map +1 -0
- package/dist/browser/util/parseEndpoint.d.ts +11 -0
- package/dist/browser/util/parseEndpoint.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/util/parseEndpoint.js +1 -1
- package/{dist-esm/src → dist/browser}/util/parseEndpoint.js.map +1 -1
- package/dist/browser/util/retries.d.ts +6 -0
- package/dist/browser/util/retries.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/util/retries.js +1 -1
- package/dist/browser/util/retries.js.map +1 -0
- package/dist/browser/util/runtimeInfo-browser.d.mts.map +1 -0
- package/dist/browser/util/runtimeInfo-browser.mjs.map +1 -0
- package/dist/browser/util/runtimeInfo.d.ts +6 -0
- package/{dist-esm/src/util/runtimeInfo.browser.js → dist/browser/util/runtimeInfo.js} +2 -2
- package/dist/browser/util/timerLoop.d.ts +26 -0
- package/dist/browser/util/timerLoop.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/util/timerLoop.js +1 -1
- package/{dist-esm/src → dist/browser}/util/timerLoop.js.map +1 -1
- package/dist/browser/util/typeGuards.d.ts +8 -0
- package/dist/browser/util/typeGuards.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/util/typeGuards.js +2 -2
- package/dist/browser/util/typeGuards.js.map +1 -0
- package/dist/browser/util/utils.d.ts +7 -0
- package/dist/browser/util/utils.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/util/utils.js +1 -1
- package/{dist-esm/src → dist/browser}/util/utils.js.map +1 -1
- package/dist/browser/withAuth.d.ts +25 -0
- package/dist/browser/withAuth.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/withAuth.js +4 -4
- package/dist/browser/withAuth.js.map +1 -0
- package/dist/commonjs/batchingPartitionChannel.d.ts +94 -0
- package/dist/commonjs/batchingPartitionChannel.d.ts.map +1 -0
- package/dist/commonjs/batchingPartitionChannel.js +252 -0
- package/dist/commonjs/batchingPartitionChannel.js.map +1 -0
- package/dist/commonjs/connectionContext.d.ts +108 -0
- package/dist/commonjs/connectionContext.d.ts.map +1 -0
- package/dist/commonjs/connectionContext.js +322 -0
- package/dist/commonjs/connectionContext.js.map +1 -0
- package/dist/commonjs/dataTransformer.d.ts +53 -0
- package/dist/commonjs/dataTransformer.d.ts.map +1 -0
- package/dist/commonjs/dataTransformer.js +138 -0
- package/dist/commonjs/dataTransformer.js.map +1 -0
- package/dist/commonjs/diagnostics/instrumentEventData.d.ts +28 -0
- package/dist/commonjs/diagnostics/instrumentEventData.d.ts.map +1 -0
- package/dist/commonjs/diagnostics/instrumentEventData.js +73 -0
- package/dist/commonjs/diagnostics/instrumentEventData.js.map +1 -0
- package/dist/commonjs/diagnostics/tracing.d.ts +19 -0
- package/dist/commonjs/diagnostics/tracing.d.ts.map +1 -0
- package/dist/commonjs/diagnostics/tracing.js +44 -0
- package/dist/commonjs/diagnostics/tracing.js.map +1 -0
- package/dist/commonjs/eventData.d.ts +295 -0
- package/dist/commonjs/eventData.d.ts.map +1 -0
- package/dist/commonjs/eventData.js +253 -0
- package/dist/commonjs/eventData.js.map +1 -0
- package/dist/commonjs/eventDataAdapter.d.ts +69 -0
- package/dist/commonjs/eventDataAdapter.d.ts.map +1 -0
- package/dist/commonjs/eventDataAdapter.js +38 -0
- package/dist/commonjs/eventDataAdapter.js.map +1 -0
- package/dist/commonjs/eventDataBatch.d.ts +225 -0
- package/dist/commonjs/eventDataBatch.d.ts.map +1 -0
- package/dist/commonjs/eventDataBatch.js +254 -0
- package/dist/commonjs/eventDataBatch.js.map +1 -0
- package/dist/commonjs/eventHubBufferedProducerClient.d.ts +323 -0
- package/dist/commonjs/eventHubBufferedProducerClient.d.ts.map +1 -0
- package/dist/commonjs/eventHubBufferedProducerClient.js +289 -0
- package/dist/commonjs/eventHubBufferedProducerClient.js.map +1 -0
- package/dist/commonjs/eventHubConsumerClient.d.ts +277 -0
- package/dist/commonjs/eventHubConsumerClient.d.ts.map +1 -0
- package/dist/commonjs/eventHubConsumerClient.js +298 -0
- package/dist/commonjs/eventHubConsumerClient.js.map +1 -0
- package/dist/commonjs/eventHubConsumerClientModels.d.ts +218 -0
- package/dist/commonjs/eventHubConsumerClientModels.d.ts.map +1 -0
- package/dist/commonjs/eventHubConsumerClientModels.js +5 -0
- package/dist/commonjs/eventHubConsumerClientModels.js.map +1 -0
- package/dist/commonjs/eventHubProducerClient.d.ts +266 -0
- package/dist/commonjs/eventHubProducerClient.d.ts.map +1 -0
- package/dist/commonjs/eventHubProducerClient.js +319 -0
- package/dist/commonjs/eventHubProducerClient.js.map +1 -0
- package/dist/commonjs/eventHubSender.d.ts +227 -0
- package/dist/commonjs/eventHubSender.d.ts.map +1 -0
- package/dist/commonjs/eventHubSender.js +547 -0
- package/dist/commonjs/eventHubSender.js.map +1 -0
- package/dist/commonjs/eventPosition.d.ts +73 -0
- package/dist/commonjs/eventPosition.d.ts.map +1 -0
- package/dist/commonjs/eventPosition.js +128 -0
- package/dist/commonjs/eventPosition.js.map +1 -0
- package/dist/commonjs/eventProcessor.d.ts +232 -0
- package/dist/commonjs/eventProcessor.d.ts.map +1 -0
- package/dist/commonjs/eventProcessor.js +371 -0
- package/dist/commonjs/eventProcessor.js.map +1 -0
- package/dist/commonjs/eventhubConnectionConfig.d.ts +96 -0
- package/dist/commonjs/eventhubConnectionConfig.d.ts.map +1 -0
- package/dist/commonjs/eventhubConnectionConfig.js +101 -0
- package/dist/commonjs/eventhubConnectionConfig.js.map +1 -0
- package/dist/commonjs/impl/awaitableQueue.d.ts +25 -0
- package/dist/commonjs/impl/awaitableQueue.d.ts.map +1 -0
- package/dist/commonjs/impl/awaitableQueue.js +51 -0
- package/dist/commonjs/impl/awaitableQueue.js.map +1 -0
- package/dist/commonjs/impl/partitionAssigner.d.ts +29 -0
- package/dist/commonjs/impl/partitionAssigner.d.ts.map +1 -0
- package/dist/commonjs/impl/partitionAssigner.js +58 -0
- package/dist/commonjs/impl/partitionAssigner.js.map +1 -0
- package/dist/commonjs/impl/partitionGate.d.ts +27 -0
- package/dist/commonjs/impl/partitionGate.d.ts.map +1 -0
- package/dist/commonjs/impl/partitionGate.js +44 -0
- package/dist/commonjs/impl/partitionGate.js.map +1 -0
- package/dist/commonjs/impl/partitionKeyToIdMapper.d.ts +6 -0
- package/dist/commonjs/impl/partitionKeyToIdMapper.d.ts.map +1 -0
- package/dist/commonjs/impl/partitionKeyToIdMapper.js +115 -0
- package/dist/commonjs/impl/partitionKeyToIdMapper.js.map +1 -0
- package/dist/commonjs/inMemoryCheckpointStore.d.ts +44 -0
- package/dist/commonjs/inMemoryCheckpointStore.d.ts.map +1 -0
- package/dist/commonjs/inMemoryCheckpointStore.js +96 -0
- package/dist/commonjs/inMemoryCheckpointStore.js.map +1 -0
- package/dist/commonjs/index.d.ts +21 -0
- package/dist/commonjs/index.d.ts.map +1 -0
- package/dist/commonjs/index.js +26 -0
- package/dist/commonjs/index.js.map +1 -0
- package/dist/commonjs/loadBalancerStrategies/balancedStrategy.d.ts +30 -0
- package/dist/commonjs/loadBalancerStrategies/balancedStrategy.d.ts.map +1 -0
- package/dist/commonjs/loadBalancerStrategies/balancedStrategy.js +43 -0
- package/dist/commonjs/loadBalancerStrategies/balancedStrategy.js.map +1 -0
- package/dist/commonjs/loadBalancerStrategies/greedyStrategy.d.ts +24 -0
- package/dist/commonjs/loadBalancerStrategies/greedyStrategy.d.ts.map +1 -0
- package/dist/commonjs/loadBalancerStrategies/greedyStrategy.js +32 -0
- package/dist/commonjs/loadBalancerStrategies/greedyStrategy.js.map +1 -0
- package/dist/commonjs/loadBalancerStrategies/loadBalancingStrategy.d.ts +28 -0
- package/dist/commonjs/loadBalancerStrategies/loadBalancingStrategy.d.ts.map +1 -0
- package/dist/commonjs/loadBalancerStrategies/loadBalancingStrategy.js +248 -0
- package/dist/commonjs/loadBalancerStrategies/loadBalancingStrategy.js.map +1 -0
- package/dist/commonjs/loadBalancerStrategies/unbalancedStrategy.d.ts +20 -0
- package/dist/commonjs/loadBalancerStrategies/unbalancedStrategy.d.ts.map +1 -0
- package/dist/commonjs/loadBalancerStrategies/unbalancedStrategy.js +26 -0
- package/dist/commonjs/loadBalancerStrategies/unbalancedStrategy.js.map +1 -0
- package/dist/commonjs/logger.d.ts +37 -0
- package/dist/commonjs/logger.d.ts.map +1 -0
- package/dist/commonjs/logger.js +65 -0
- package/dist/commonjs/logger.js.map +1 -0
- package/dist/commonjs/managementClient.d.ts +145 -0
- package/dist/commonjs/managementClient.d.ts.map +1 -0
- package/dist/commonjs/managementClient.js +275 -0
- package/dist/commonjs/managementClient.js.map +1 -0
- package/dist/commonjs/models/private.d.ts +185 -0
- package/dist/commonjs/models/private.d.ts.map +1 -0
- package/dist/commonjs/models/private.js +5 -0
- package/dist/commonjs/models/private.js.map +1 -0
- package/dist/commonjs/models/public.d.ts +240 -0
- package/dist/commonjs/models/public.d.ts.map +1 -0
- package/dist/commonjs/models/public.js +21 -0
- package/dist/commonjs/models/public.js.map +1 -0
- package/dist/commonjs/package.json +3 -0
- package/dist/commonjs/partitionProcessor.d.ts +134 -0
- package/dist/commonjs/partitionProcessor.d.ts.map +1 -0
- package/dist/commonjs/partitionProcessor.js +138 -0
- package/dist/commonjs/partitionProcessor.js.map +1 -0
- package/dist/commonjs/partitionPump.d.ts +38 -0
- package/dist/commonjs/partitionPump.d.ts.map +1 -0
- package/dist/commonjs/partitionPump.js +171 -0
- package/dist/commonjs/partitionPump.js.map +1 -0
- package/dist/commonjs/partitionReceiver.d.ts +82 -0
- package/dist/commonjs/partitionReceiver.d.ts.map +1 -0
- package/dist/commonjs/partitionReceiver.js +335 -0
- package/dist/commonjs/partitionReceiver.js.map +1 -0
- package/dist/commonjs/pumpManager.d.ts +72 -0
- package/dist/commonjs/pumpManager.d.ts.map +1 -0
- package/dist/commonjs/pumpManager.js +122 -0
- package/dist/commonjs/pumpManager.js.map +1 -0
- package/{types/latest → dist/commonjs}/tsdoc-metadata.json +1 -1
- package/dist/commonjs/util/connectionStringUtils.d.ts +52 -0
- package/dist/commonjs/util/connectionStringUtils.d.ts.map +1 -0
- package/dist/commonjs/util/connectionStringUtils.js +51 -0
- package/dist/commonjs/util/connectionStringUtils.js.map +1 -0
- package/dist/commonjs/util/constants.d.ts +25 -0
- package/dist/commonjs/util/constants.d.ts.map +1 -0
- package/dist/commonjs/util/constants.js +30 -0
- package/dist/commonjs/util/constants.js.map +1 -0
- package/dist/commonjs/util/delayWithoutThrow.d.ts +8 -0
- package/dist/commonjs/util/delayWithoutThrow.d.ts.map +1 -0
- package/dist/commonjs/util/delayWithoutThrow.js +20 -0
- package/dist/commonjs/util/delayWithoutThrow.js.map +1 -0
- package/dist/commonjs/util/error.d.ts +39 -0
- package/dist/commonjs/util/error.d.ts.map +1 -0
- package/dist/commonjs/util/error.js +110 -0
- package/dist/commonjs/util/error.js.map +1 -0
- package/dist/commonjs/util/getPromiseParts.d.ts +10 -0
- package/dist/commonjs/util/getPromiseParts.d.ts.map +1 -0
- package/dist/commonjs/util/getPromiseParts.js +23 -0
- package/dist/commonjs/util/getPromiseParts.js.map +1 -0
- package/dist/commonjs/util/operationOptions.d.ts +16 -0
- package/dist/commonjs/util/operationOptions.d.ts.map +1 -0
- package/dist/commonjs/util/operationOptions.js +5 -0
- package/dist/commonjs/util/operationOptions.js.map +1 -0
- package/dist/commonjs/util/parseEndpoint.d.ts +11 -0
- package/dist/commonjs/util/parseEndpoint.d.ts.map +1 -0
- package/dist/commonjs/util/parseEndpoint.js +20 -0
- package/dist/commonjs/util/parseEndpoint.js.map +1 -0
- package/dist/commonjs/util/retries.d.ts +6 -0
- package/dist/commonjs/util/retries.d.ts.map +1 -0
- package/dist/commonjs/util/retries.js +16 -0
- package/dist/commonjs/util/retries.js.map +1 -0
- package/dist/commonjs/util/runtimeInfo.d.ts +6 -0
- package/dist/commonjs/util/runtimeInfo.d.ts.map +1 -0
- package/dist/commonjs/util/runtimeInfo.js +15 -0
- package/dist/commonjs/util/runtimeInfo.js.map +1 -0
- package/dist/commonjs/util/timerLoop.d.ts +26 -0
- package/dist/commonjs/util/timerLoop.d.ts.map +1 -0
- package/dist/commonjs/util/timerLoop.js +30 -0
- package/dist/commonjs/util/timerLoop.js.map +1 -0
- package/dist/commonjs/util/typeGuards.d.ts +8 -0
- package/dist/commonjs/util/typeGuards.d.ts.map +1 -0
- package/dist/commonjs/util/typeGuards.js +15 -0
- package/dist/commonjs/util/typeGuards.js.map +1 -0
- package/dist/commonjs/util/utils.d.ts +7 -0
- package/dist/commonjs/util/utils.d.ts.map +1 -0
- package/dist/commonjs/util/utils.js +16 -0
- package/dist/commonjs/util/utils.js.map +1 -0
- package/dist/commonjs/withAuth.d.ts +25 -0
- package/dist/commonjs/withAuth.d.ts.map +1 -0
- package/dist/commonjs/withAuth.js +88 -0
- package/dist/commonjs/withAuth.js.map +1 -0
- package/dist/esm/batchingPartitionChannel.d.ts +94 -0
- package/dist/esm/batchingPartitionChannel.d.ts.map +1 -0
- package/dist/esm/batchingPartitionChannel.js +248 -0
- package/dist/esm/batchingPartitionChannel.js.map +1 -0
- package/dist/esm/connectionContext.d.ts +108 -0
- package/dist/esm/connectionContext.d.ts.map +1 -0
- package/dist/esm/connectionContext.js +318 -0
- package/dist/esm/connectionContext.js.map +1 -0
- package/dist/esm/dataTransformer.d.ts +53 -0
- package/dist/esm/dataTransformer.d.ts.map +1 -0
- package/dist/esm/dataTransformer.js +133 -0
- package/dist/esm/dataTransformer.js.map +1 -0
- package/dist/esm/diagnostics/instrumentEventData.d.ts +28 -0
- package/dist/esm/diagnostics/instrumentEventData.d.ts.map +1 -0
- package/dist/esm/diagnostics/instrumentEventData.js +68 -0
- package/dist/esm/diagnostics/instrumentEventData.js.map +1 -0
- package/dist/esm/diagnostics/tracing.d.ts +19 -0
- package/dist/esm/diagnostics/tracing.d.ts.map +1 -0
- package/dist/esm/diagnostics/tracing.js +40 -0
- package/dist/esm/diagnostics/tracing.js.map +1 -0
- package/dist/esm/eventData.d.ts +295 -0
- package/dist/esm/eventData.d.ts.map +1 -0
- package/dist/esm/eventData.js +245 -0
- package/dist/esm/eventData.js.map +1 -0
- package/dist/esm/eventDataAdapter.d.ts +69 -0
- package/dist/esm/eventDataAdapter.d.ts.map +1 -0
- package/dist/esm/eventDataAdapter.js +35 -0
- package/dist/esm/eventDataAdapter.js.map +1 -0
- package/dist/esm/eventDataBatch.d.ts +225 -0
- package/dist/esm/eventDataBatch.d.ts.map +1 -0
- package/dist/esm/eventDataBatch.js +249 -0
- package/dist/esm/eventDataBatch.js.map +1 -0
- package/dist/esm/eventHubBufferedProducerClient.d.ts +323 -0
- package/dist/esm/eventHubBufferedProducerClient.d.ts.map +1 -0
- package/dist/esm/eventHubBufferedProducerClient.js +285 -0
- package/dist/esm/eventHubBufferedProducerClient.js.map +1 -0
- package/dist/esm/eventHubConsumerClient.d.ts +277 -0
- package/dist/esm/eventHubConsumerClient.d.ts.map +1 -0
- package/dist/esm/eventHubConsumerClient.js +293 -0
- package/dist/esm/eventHubConsumerClient.js.map +1 -0
- package/dist/esm/eventHubConsumerClientModels.d.ts +218 -0
- package/dist/esm/eventHubConsumerClientModels.d.ts.map +1 -0
- package/dist/esm/eventHubConsumerClientModels.js +4 -0
- package/dist/esm/eventHubConsumerClientModels.js.map +1 -0
- package/dist/esm/eventHubProducerClient.d.ts +266 -0
- package/dist/esm/eventHubProducerClient.d.ts.map +1 -0
- package/dist/esm/eventHubProducerClient.js +315 -0
- package/dist/esm/eventHubProducerClient.js.map +1 -0
- package/dist/esm/eventHubSender.d.ts +227 -0
- package/dist/esm/eventHubSender.d.ts.map +1 -0
- package/dist/esm/eventHubSender.js +541 -0
- package/dist/esm/eventHubSender.js.map +1 -0
- package/dist/esm/eventPosition.d.ts +73 -0
- package/dist/esm/eventPosition.d.ts.map +1 -0
- package/dist/esm/eventPosition.js +121 -0
- package/dist/esm/eventPosition.js.map +1 -0
- package/dist/esm/eventProcessor.d.ts +232 -0
- package/dist/esm/eventProcessor.d.ts.map +1 -0
- package/dist/esm/eventProcessor.js +367 -0
- package/dist/esm/eventProcessor.js.map +1 -0
- package/dist/esm/eventhubConnectionConfig.d.ts +96 -0
- package/dist/esm/eventhubConnectionConfig.d.ts.map +1 -0
- package/dist/esm/eventhubConnectionConfig.js +98 -0
- package/dist/esm/eventhubConnectionConfig.js.map +1 -0
- package/dist/esm/impl/awaitableQueue.d.ts +25 -0
- package/dist/esm/impl/awaitableQueue.d.ts.map +1 -0
- package/dist/esm/impl/awaitableQueue.js +47 -0
- package/dist/esm/impl/awaitableQueue.js.map +1 -0
- package/dist/esm/impl/partitionAssigner.d.ts +29 -0
- package/dist/esm/impl/partitionAssigner.d.ts.map +1 -0
- package/dist/esm/impl/partitionAssigner.js +54 -0
- package/dist/esm/impl/partitionAssigner.js.map +1 -0
- package/dist/esm/impl/partitionGate.d.ts +27 -0
- package/dist/esm/impl/partitionGate.d.ts.map +1 -0
- package/dist/esm/impl/partitionGate.js +40 -0
- package/dist/esm/impl/partitionGate.js.map +1 -0
- package/dist/esm/impl/partitionKeyToIdMapper.d.ts +6 -0
- package/dist/esm/impl/partitionKeyToIdMapper.d.ts.map +1 -0
- package/dist/esm/impl/partitionKeyToIdMapper.js +111 -0
- package/dist/esm/impl/partitionKeyToIdMapper.js.map +1 -0
- package/dist/esm/inMemoryCheckpointStore.d.ts +44 -0
- package/dist/esm/inMemoryCheckpointStore.d.ts.map +1 -0
- package/dist/esm/inMemoryCheckpointStore.js +92 -0
- package/dist/esm/inMemoryCheckpointStore.js.map +1 -0
- package/dist/esm/index.d.ts +21 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +12 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/loadBalancerStrategies/balancedStrategy.d.ts +30 -0
- package/dist/esm/loadBalancerStrategies/balancedStrategy.d.ts.map +1 -0
- package/dist/esm/loadBalancerStrategies/balancedStrategy.js +39 -0
- package/dist/esm/loadBalancerStrategies/balancedStrategy.js.map +1 -0
- package/dist/esm/loadBalancerStrategies/greedyStrategy.d.ts +24 -0
- package/dist/esm/loadBalancerStrategies/greedyStrategy.d.ts.map +1 -0
- package/dist/esm/loadBalancerStrategies/greedyStrategy.js +28 -0
- package/dist/esm/loadBalancerStrategies/greedyStrategy.js.map +1 -0
- package/dist/esm/loadBalancerStrategies/loadBalancingStrategy.d.ts +28 -0
- package/dist/esm/loadBalancerStrategies/loadBalancingStrategy.d.ts.map +1 -0
- package/dist/esm/loadBalancerStrategies/loadBalancingStrategy.js +245 -0
- package/dist/esm/loadBalancerStrategies/loadBalancingStrategy.js.map +1 -0
- package/dist/esm/loadBalancerStrategies/unbalancedStrategy.d.ts +20 -0
- package/dist/esm/loadBalancerStrategies/unbalancedStrategy.d.ts.map +1 -0
- package/dist/esm/loadBalancerStrategies/unbalancedStrategy.js +22 -0
- package/dist/esm/loadBalancerStrategies/unbalancedStrategy.js.map +1 -0
- package/dist/esm/logger.d.ts +37 -0
- package/dist/esm/logger.d.ts.map +1 -0
- package/dist/esm/logger.js +56 -0
- package/dist/esm/logger.js.map +1 -0
- package/dist/esm/managementClient.d.ts +145 -0
- package/dist/esm/managementClient.d.ts.map +1 -0
- package/dist/esm/managementClient.js +271 -0
- package/dist/esm/managementClient.js.map +1 -0
- package/dist/esm/models/private.d.ts +185 -0
- package/dist/esm/models/private.d.ts.map +1 -0
- package/dist/esm/models/private.js +4 -0
- package/dist/esm/models/private.js.map +1 -0
- package/dist/esm/models/public.d.ts +240 -0
- package/dist/esm/models/public.d.ts.map +1 -0
- package/dist/esm/models/public.js +18 -0
- package/dist/esm/models/public.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/partitionProcessor.d.ts +134 -0
- package/dist/esm/partitionProcessor.d.ts.map +1 -0
- package/dist/esm/partitionProcessor.js +134 -0
- package/dist/esm/partitionProcessor.js.map +1 -0
- package/dist/esm/partitionPump.d.ts +38 -0
- package/dist/esm/partitionPump.d.ts.map +1 -0
- package/dist/esm/partitionPump.js +166 -0
- package/dist/esm/partitionPump.js.map +1 -0
- package/dist/esm/partitionReceiver.d.ts +82 -0
- package/dist/esm/partitionReceiver.d.ts.map +1 -0
- package/dist/esm/partitionReceiver.js +330 -0
- package/dist/esm/partitionReceiver.js.map +1 -0
- package/dist/esm/pumpManager.d.ts +72 -0
- package/dist/esm/pumpManager.d.ts.map +1 -0
- package/dist/esm/pumpManager.js +118 -0
- package/dist/esm/pumpManager.js.map +1 -0
- package/dist/esm/util/connectionStringUtils.d.ts +52 -0
- package/dist/esm/util/connectionStringUtils.d.ts.map +1 -0
- package/dist/esm/util/connectionStringUtils.js +48 -0
- package/dist/esm/util/connectionStringUtils.js.map +1 -0
- package/dist/esm/util/constants.d.ts +25 -0
- package/dist/esm/util/constants.d.ts.map +1 -0
- package/dist/esm/util/constants.js +27 -0
- package/dist/esm/util/constants.js.map +1 -0
- package/dist/esm/util/delayWithoutThrow.d.ts +8 -0
- package/dist/esm/util/delayWithoutThrow.d.ts.map +1 -0
- package/dist/esm/util/delayWithoutThrow.js +17 -0
- package/dist/esm/util/delayWithoutThrow.js.map +1 -0
- package/dist/esm/util/error.d.ts +39 -0
- package/dist/esm/util/error.d.ts.map +1 -0
- package/dist/esm/util/error.js +103 -0
- package/dist/esm/util/error.js.map +1 -0
- package/dist/esm/util/getPromiseParts.d.ts +10 -0
- package/dist/esm/util/getPromiseParts.d.ts.map +1 -0
- package/dist/esm/util/getPromiseParts.js +20 -0
- package/dist/esm/util/getPromiseParts.js.map +1 -0
- package/dist/esm/util/operationOptions.d.ts +16 -0
- package/dist/esm/util/operationOptions.d.ts.map +1 -0
- package/dist/esm/util/operationOptions.js +4 -0
- package/dist/esm/util/operationOptions.js.map +1 -0
- package/dist/esm/util/parseEndpoint.d.ts +11 -0
- package/dist/esm/util/parseEndpoint.d.ts.map +1 -0
- package/dist/esm/util/parseEndpoint.js +17 -0
- package/dist/esm/util/parseEndpoint.js.map +1 -0
- package/dist/esm/util/retries.d.ts +6 -0
- package/dist/esm/util/retries.d.ts.map +1 -0
- package/dist/esm/util/retries.js +13 -0
- package/dist/esm/util/retries.js.map +1 -0
- package/dist/esm/util/runtimeInfo.d.ts +6 -0
- package/dist/esm/util/runtimeInfo.d.ts.map +1 -0
- package/{dist-esm/src → dist/esm}/util/runtimeInfo.js +1 -1
- package/{dist-esm/src → dist/esm}/util/runtimeInfo.js.map +1 -1
- package/dist/esm/util/timerLoop.d.ts +26 -0
- package/dist/esm/util/timerLoop.d.ts.map +1 -0
- package/dist/esm/util/timerLoop.js +27 -0
- package/dist/esm/util/timerLoop.js.map +1 -0
- package/dist/esm/util/typeGuards.d.ts +8 -0
- package/dist/esm/util/typeGuards.d.ts.map +1 -0
- package/dist/esm/util/typeGuards.js +12 -0
- package/dist/esm/util/typeGuards.js.map +1 -0
- package/dist/esm/util/utils.d.ts +7 -0
- package/dist/esm/util/utils.d.ts.map +1 -0
- package/dist/esm/util/utils.js +13 -0
- package/dist/esm/util/utils.js.map +1 -0
- package/dist/esm/withAuth.d.ts +25 -0
- package/dist/esm/withAuth.d.ts.map +1 -0
- package/dist/esm/withAuth.js +84 -0
- package/dist/esm/withAuth.js.map +1 -0
- package/package.json +85 -80
- package/dist/index.js +0 -5372
- package/dist/index.js.map +0 -1
- package/dist-esm/src/batchingPartitionChannel.js.map +0 -1
- package/dist-esm/src/connectionContext.js.map +0 -1
- package/dist-esm/src/dataTransformer.js.map +0 -1
- package/dist-esm/src/diagnostics/instrumentEventData.js.map +0 -1
- package/dist-esm/src/diagnostics/tracing.js.map +0 -1
- package/dist-esm/src/eventData.js.map +0 -1
- package/dist-esm/src/eventDataAdapter.js.map +0 -1
- package/dist-esm/src/eventDataBatch.js.map +0 -1
- package/dist-esm/src/eventHubBufferedProducerClient.js.map +0 -1
- package/dist-esm/src/eventHubConsumerClient.js.map +0 -1
- package/dist-esm/src/eventHubConsumerClientModels.js +0 -4
- package/dist-esm/src/eventHubConsumerClientModels.js.map +0 -1
- package/dist-esm/src/eventHubProducerClient.js.map +0 -1
- package/dist-esm/src/eventHubSender.js.map +0 -1
- package/dist-esm/src/eventPosition.js.map +0 -1
- package/dist-esm/src/eventProcessor.js.map +0 -1
- package/dist-esm/src/eventhubConnectionConfig.js.map +0 -1
- package/dist-esm/src/impl/awaitableQueue.js.map +0 -1
- package/dist-esm/src/impl/partitionAssigner.js.map +0 -1
- package/dist-esm/src/inMemoryCheckpointStore.js.map +0 -1
- package/dist-esm/src/index.js.map +0 -1
- package/dist-esm/src/loadBalancerStrategies/balancedStrategy.js.map +0 -1
- package/dist-esm/src/loadBalancerStrategies/greedyStrategy.js.map +0 -1
- package/dist-esm/src/loadBalancerStrategies/loadBalancingStrategy.js.map +0 -1
- package/dist-esm/src/loadBalancerStrategies/unbalancedStrategy.js.map +0 -1
- package/dist-esm/src/logger.js.map +0 -1
- package/dist-esm/src/managementClient.js.map +0 -1
- package/dist-esm/src/models/private.js +0 -4
- package/dist-esm/src/models/private.js.map +0 -1
- package/dist-esm/src/models/public.js.map +0 -1
- package/dist-esm/src/partitionProcessor.js.map +0 -1
- package/dist-esm/src/partitionPump.js.map +0 -1
- package/dist-esm/src/partitionReceiver.js.map +0 -1
- package/dist-esm/src/pumpManager.js.map +0 -1
- package/dist-esm/src/util/constants.js.map +0 -1
- package/dist-esm/src/util/delayWithoutThrow.js.map +0 -1
- package/dist-esm/src/util/error.js.map +0 -1
- package/dist-esm/src/util/operationOptions.js +0 -4
- package/dist-esm/src/util/operationOptions.js.map +0 -1
- package/dist-esm/src/util/retries.js.map +0 -1
- package/dist-esm/src/util/runtimeInfo.browser.js.map +0 -1
- package/dist-esm/src/util/typeGuards.js.map +0 -1
- package/dist-esm/src/withAuth.js.map +0 -1
- package/types/latest/event-hubs.d.ts +0 -1877
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { logErrorStackTrace, logger } from "./logger.js";
|
|
4
|
+
import { Buffer } from "buffer";
|
|
5
|
+
import isBuffer from "is-buffer";
|
|
6
|
+
import { message } from "rhea-promise";
|
|
7
|
+
/** @internal */
|
|
8
|
+
export const dataSectionTypeCode = 0x75;
|
|
9
|
+
/** @internal */
|
|
10
|
+
export const sequenceSectionTypeCode = 0x76;
|
|
11
|
+
/** @internal */
|
|
12
|
+
export const valueSectionTypeCode = 0x77;
|
|
13
|
+
/**
|
|
14
|
+
* The default data transformer that will be used by the Azure SDK.
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
export const defaultDataTransformer = {
|
|
18
|
+
/**
|
|
19
|
+
* A function that takes the body property from an EventData object
|
|
20
|
+
* and returns an encoded body (some form of AMQP type).
|
|
21
|
+
*
|
|
22
|
+
* @param body - The AMQP message body
|
|
23
|
+
* @param bodyType - The AMQP section to story the body in.
|
|
24
|
+
* @returns The encoded AMQP message body as an AMQP Data/Sequence/Value section.
|
|
25
|
+
*/
|
|
26
|
+
encode(body, bodyType) {
|
|
27
|
+
let result;
|
|
28
|
+
// string, undefined, null, boolean, array, object, number should end up here
|
|
29
|
+
// coercing undefined to null as that will ensure that null value will be given to the
|
|
30
|
+
// customer on receive.
|
|
31
|
+
if (body === undefined)
|
|
32
|
+
body = null;
|
|
33
|
+
if (bodyType === "value") {
|
|
34
|
+
// TODO: Expose value_section from `rhea` similar to the data_section and sequence_section.
|
|
35
|
+
// Right now there isn't a way to create a value section officially.
|
|
36
|
+
result = message.data_section(body);
|
|
37
|
+
result.typecode = valueSectionTypeCode;
|
|
38
|
+
}
|
|
39
|
+
else if (bodyType === "sequence") {
|
|
40
|
+
result = message.sequence_section(body);
|
|
41
|
+
}
|
|
42
|
+
else if (isBuffer(body) || body instanceof Uint8Array) {
|
|
43
|
+
result = message.data_section(body);
|
|
44
|
+
}
|
|
45
|
+
else if (body === null && bodyType === "data") {
|
|
46
|
+
result = message.data_section(null);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
try {
|
|
50
|
+
const bodyStr = JSON.stringify(body);
|
|
51
|
+
result = message.data_section(Buffer.from(bodyStr, "utf8"));
|
|
52
|
+
}
|
|
53
|
+
catch (err) {
|
|
54
|
+
const msg = `An error occurred while executing JSON.stringify() on the given body ` +
|
|
55
|
+
body +
|
|
56
|
+
`${err ? err.stack : JSON.stringify(err)}`;
|
|
57
|
+
logger.warning("[encode] " + msg);
|
|
58
|
+
logErrorStackTrace(err);
|
|
59
|
+
throw new Error(msg);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return result;
|
|
63
|
+
},
|
|
64
|
+
/**
|
|
65
|
+
* A function that takes the body property from an AMQP message, which can come from either
|
|
66
|
+
* the 'data', 'value' or 'sequence' sections of an AMQP message.
|
|
67
|
+
*
|
|
68
|
+
* If the body is not a JSON string the the raw contents will be returned, along with the bodyType
|
|
69
|
+
* indicating which part of the AMQP message the body was decoded from.
|
|
70
|
+
*
|
|
71
|
+
* @param body - The AMQP message body as received from rhea.
|
|
72
|
+
* @param skipParsingBodyAsJson - Boolean to skip running JSON.parse() on message body when body type is `content`.
|
|
73
|
+
* @returns The decoded/raw body and the body type.
|
|
74
|
+
*/
|
|
75
|
+
decode(body, skipParsingBodyAsJson) {
|
|
76
|
+
try {
|
|
77
|
+
if (isRheaAmqpSection(body)) {
|
|
78
|
+
switch (body.typecode) {
|
|
79
|
+
case dataSectionTypeCode:
|
|
80
|
+
return {
|
|
81
|
+
body: skipParsingBodyAsJson ? body.content : tryToJsonDecode(body.content),
|
|
82
|
+
bodyType: "data",
|
|
83
|
+
};
|
|
84
|
+
case sequenceSectionTypeCode:
|
|
85
|
+
return { body: body.content, bodyType: "sequence" };
|
|
86
|
+
case valueSectionTypeCode:
|
|
87
|
+
return { body: body.content, bodyType: "value" };
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
if (isBuffer(body)) {
|
|
92
|
+
return { body: skipParsingBodyAsJson ? body : tryToJsonDecode(body), bodyType: "data" };
|
|
93
|
+
}
|
|
94
|
+
return { body, bodyType: "value" };
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
catch (err) {
|
|
98
|
+
logger.verbose("[decode] An error occurred while decoding the received message body. The error is: %O", err);
|
|
99
|
+
throw err;
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* Attempts to decode 'body' as a JSON string. If it fails it returns body
|
|
105
|
+
* verbatim.
|
|
106
|
+
*
|
|
107
|
+
* @param body - An AMQP message body.
|
|
108
|
+
* @returns A JSON decoded object, or body if body was not a JSON string.
|
|
109
|
+
*
|
|
110
|
+
* @internal
|
|
111
|
+
*/
|
|
112
|
+
function tryToJsonDecode(body) {
|
|
113
|
+
let processedBody = body;
|
|
114
|
+
try {
|
|
115
|
+
// Trying to stringify and JSON.parse() anything else will fail flat and we shall return
|
|
116
|
+
// the original type back
|
|
117
|
+
const bodyStr = processedBody.toString("utf8");
|
|
118
|
+
processedBody = JSON.parse(bodyStr);
|
|
119
|
+
}
|
|
120
|
+
catch (err) {
|
|
121
|
+
logger.verbose("[decode] An error occurred while trying JSON.parse() on the received body. The error is %O", err);
|
|
122
|
+
}
|
|
123
|
+
return processedBody;
|
|
124
|
+
}
|
|
125
|
+
/** @internal */
|
|
126
|
+
export function isRheaAmqpSection(possibleSection) {
|
|
127
|
+
return (possibleSection != null &&
|
|
128
|
+
typeof possibleSection.typecode === "number" &&
|
|
129
|
+
(possibleSection.typecode === dataSectionTypeCode ||
|
|
130
|
+
possibleSection.typecode === valueSectionTypeCode ||
|
|
131
|
+
possibleSection.typecode === sequenceSectionTypeCode));
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=dataTransformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataTransformer.js","sourceRoot":"","sources":["../../src/dataTransformer.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { logErrorStackTrace, logger } from \"./logger.js\";\nimport { Buffer } from \"buffer\";\nimport isBuffer from \"is-buffer\";\nimport { message } from \"rhea-promise\";\n\n/**\n * The allowed AMQP message body types.\n * @internal\n */\nexport type BodyTypes = \"data\" | \"value\" | \"sequence\";\n\n/** @internal */\nexport const dataSectionTypeCode = 0x75 as const;\n/** @internal */\nexport const sequenceSectionTypeCode = 0x76 as const;\n/** @internal */\nexport const valueSectionTypeCode = 0x77 as const;\n\n/**\n * The default data transformer that will be used by the Azure SDK.\n * @internal\n */\nexport const defaultDataTransformer = {\n /**\n * A function that takes the body property from an EventData object\n * and returns an encoded body (some form of AMQP type).\n *\n * @param body - The AMQP message body\n * @param bodyType - The AMQP section to story the body in.\n * @returns The encoded AMQP message body as an AMQP Data/Sequence/Value section.\n */\n encode(body: unknown, bodyType: BodyTypes): any {\n let result: any;\n // string, undefined, null, boolean, array, object, number should end up here\n // coercing undefined to null as that will ensure that null value will be given to the\n // customer on receive.\n if (body === undefined) body = null;\n\n if (bodyType === \"value\") {\n // TODO: Expose value_section from `rhea` similar to the data_section and sequence_section.\n // Right now there isn't a way to create a value section officially.\n result = message.data_section(body);\n result.typecode = valueSectionTypeCode;\n } else if (bodyType === \"sequence\") {\n result = message.sequence_section(body);\n } else if (isBuffer(body) || body instanceof Uint8Array) {\n result = message.data_section(body);\n } else if (body === null && bodyType === \"data\") {\n result = message.data_section(null);\n } else {\n try {\n const bodyStr = JSON.stringify(body);\n result = message.data_section(Buffer.from(bodyStr, \"utf8\"));\n } catch (err: any) {\n const msg =\n `An error occurred while executing JSON.stringify() on the given body ` +\n body +\n `${err ? err.stack : JSON.stringify(err)}`;\n logger.warning(\"[encode] \" + msg);\n logErrorStackTrace(err);\n throw new Error(msg);\n }\n }\n return result;\n },\n\n /**\n * A function that takes the body property from an AMQP message, which can come from either\n * the 'data', 'value' or 'sequence' sections of an AMQP message.\n *\n * If the body is not a JSON string the the raw contents will be returned, along with the bodyType\n * indicating which part of the AMQP message the body was decoded from.\n *\n * @param body - The AMQP message body as received from rhea.\n * @param skipParsingBodyAsJson - Boolean to skip running JSON.parse() on message body when body type is `content`.\n * @returns The decoded/raw body and the body type.\n */\n decode(\n body: unknown | RheaAmqpSection,\n skipParsingBodyAsJson: boolean,\n ): { body: unknown; bodyType: BodyTypes } {\n try {\n if (isRheaAmqpSection(body)) {\n switch (body.typecode) {\n case dataSectionTypeCode:\n return {\n body: skipParsingBodyAsJson ? body.content : tryToJsonDecode(body.content),\n bodyType: \"data\",\n };\n case sequenceSectionTypeCode:\n return { body: body.content, bodyType: \"sequence\" };\n case valueSectionTypeCode:\n return { body: body.content, bodyType: \"value\" };\n }\n } else {\n if (isBuffer(body)) {\n return { body: skipParsingBodyAsJson ? body : tryToJsonDecode(body), bodyType: \"data\" };\n }\n\n return { body, bodyType: \"value\" };\n }\n } catch (err: any) {\n logger.verbose(\n \"[decode] An error occurred while decoding the received message body. The error is: %O\",\n err,\n );\n throw err;\n }\n },\n};\n\n/**\n * Attempts to decode 'body' as a JSON string. If it fails it returns body\n * verbatim.\n *\n * @param body - An AMQP message body.\n * @returns A JSON decoded object, or body if body was not a JSON string.\n *\n * @internal\n */\nfunction tryToJsonDecode(body: unknown): unknown {\n let processedBody: any = body;\n try {\n // Trying to stringify and JSON.parse() anything else will fail flat and we shall return\n // the original type back\n const bodyStr: string = processedBody.toString(\"utf8\");\n processedBody = JSON.parse(bodyStr);\n } catch (err: any) {\n logger.verbose(\n \"[decode] An error occurred while trying JSON.parse() on the received body. The error is %O\",\n err,\n );\n }\n return processedBody;\n}\n\n/**\n * Mirror of the internal Section interface in rhea.\n *\n * @internal\n */\nexport interface RheaAmqpSection {\n typecode:\n | typeof dataSectionTypeCode\n | typeof sequenceSectionTypeCode\n | typeof valueSectionTypeCode;\n content: any;\n}\n\n/** @internal */\nexport function isRheaAmqpSection(\n possibleSection: any | RheaAmqpSection,\n): possibleSection is RheaAmqpSection {\n return (\n possibleSection != null &&\n typeof possibleSection.typecode === \"number\" &&\n (possibleSection.typecode === dataSectionTypeCode ||\n possibleSection.typecode === valueSectionTypeCode ||\n possibleSection.typecode === sequenceSectionTypeCode)\n );\n}\n"]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { EventData } from "../eventData.js";
|
|
2
|
+
import type { TracingContext } from "@azure/core-tracing";
|
|
3
|
+
import type { AmqpAnnotatedMessage } from "@azure/core-amqp";
|
|
4
|
+
import type { OperationOptions } from "../util/operationOptions.js";
|
|
5
|
+
import type { MessagingOperationNames } from "./tracing.js";
|
|
6
|
+
/**
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
export declare const TRACEPARENT_PROPERTY = "Diagnostic-Id";
|
|
10
|
+
/**
|
|
11
|
+
* Populates the `EventData` with `SpanContext` info to support trace propagation.
|
|
12
|
+
* Creates and returns a copy of the passed in `EventData` unless the `EventData`
|
|
13
|
+
* has already been instrumented.
|
|
14
|
+
* @param eventData - The `EventData` or `AmqpAnnotatedMessage` to instrument.
|
|
15
|
+
* @param span - The `Span` containing the context to propagate tracing information.
|
|
16
|
+
* @param operation - The type of the operation being performed.
|
|
17
|
+
*/
|
|
18
|
+
export declare function instrumentEventData(eventData: EventData | AmqpAnnotatedMessage, options: OperationOptions, entityPath: string, host: string, operation?: MessagingOperationNames): {
|
|
19
|
+
event: EventData;
|
|
20
|
+
spanContext: TracingContext | undefined;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Extracts the `SpanContext` from an `EventData` if the context exists.
|
|
24
|
+
* @param eventData - An individual `EventData` object.
|
|
25
|
+
* @internal
|
|
26
|
+
*/
|
|
27
|
+
export declare function extractSpanContextFromEventData(eventData: EventData): TracingContext | undefined;
|
|
28
|
+
//# sourceMappingURL=instrumentEventData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instrumentEventData.d.ts","sourceRoot":"","sources":["../../../src/diagnostics/instrumentEventData.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAG5D;;GAEG;AACH,eAAO,MAAM,oBAAoB,kBAAkB,CAAC;AAEpD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,SAAS,GAAG,oBAAoB,EAC3C,OAAO,EAAE,gBAAgB,EACzB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,uBAAuB,GAClC;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,WAAW,EAAE,cAAc,GAAG,SAAS,CAAA;CAAE,CA+C/D;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,SAAS,EAAE,SAAS,GAAG,cAAc,GAAG,SAAS,CAOhG"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { isAmqpAnnotatedMessage } from "../eventData.js";
|
|
4
|
+
import { toSpanOptions, tracingClient } from "./tracing.js";
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export const TRACEPARENT_PROPERTY = "Diagnostic-Id";
|
|
9
|
+
/**
|
|
10
|
+
* Populates the `EventData` with `SpanContext` info to support trace propagation.
|
|
11
|
+
* Creates and returns a copy of the passed in `EventData` unless the `EventData`
|
|
12
|
+
* has already been instrumented.
|
|
13
|
+
* @param eventData - The `EventData` or `AmqpAnnotatedMessage` to instrument.
|
|
14
|
+
* @param span - The `Span` containing the context to propagate tracing information.
|
|
15
|
+
* @param operation - The type of the operation being performed.
|
|
16
|
+
*/
|
|
17
|
+
export function instrumentEventData(eventData, options, entityPath, host, operation) {
|
|
18
|
+
var _a, _b;
|
|
19
|
+
const props = isAmqpAnnotatedMessage(eventData)
|
|
20
|
+
? eventData.applicationProperties
|
|
21
|
+
: eventData.properties;
|
|
22
|
+
// check if the event has already been instrumented
|
|
23
|
+
const previouslyInstrumented = Boolean(props === null || props === void 0 ? void 0 : props[TRACEPARENT_PROPERTY]);
|
|
24
|
+
if (previouslyInstrumented) {
|
|
25
|
+
return { event: eventData, spanContext: undefined };
|
|
26
|
+
}
|
|
27
|
+
const { span: messageSpan, updatedOptions } = tracingClient.startSpan("message", options, toSpanOptions({ entityPath, host }, operation, "producer"));
|
|
28
|
+
try {
|
|
29
|
+
if (!messageSpan.isRecording()) {
|
|
30
|
+
return {
|
|
31
|
+
event: eventData,
|
|
32
|
+
spanContext: undefined,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
const traceParent = tracingClient.createRequestHeaders((_a = updatedOptions.tracingOptions) === null || _a === void 0 ? void 0 : _a.tracingContext)["traceparent"];
|
|
36
|
+
if (traceParent) {
|
|
37
|
+
const copiedProps = Object.assign({}, props);
|
|
38
|
+
// create a copy so the original isn't modified
|
|
39
|
+
if (isAmqpAnnotatedMessage(eventData)) {
|
|
40
|
+
eventData = Object.assign(Object.assign({}, eventData), { applicationProperties: copiedProps });
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
eventData = Object.assign(Object.assign({}, eventData), { properties: copiedProps });
|
|
44
|
+
}
|
|
45
|
+
copiedProps[TRACEPARENT_PROPERTY] = traceParent;
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
event: eventData,
|
|
49
|
+
spanContext: (_b = updatedOptions.tracingOptions) === null || _b === void 0 ? void 0 : _b.tracingContext,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
finally {
|
|
53
|
+
messageSpan.end();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Extracts the `SpanContext` from an `EventData` if the context exists.
|
|
58
|
+
* @param eventData - An individual `EventData` object.
|
|
59
|
+
* @internal
|
|
60
|
+
*/
|
|
61
|
+
export function extractSpanContextFromEventData(eventData) {
|
|
62
|
+
if (!eventData.properties || !eventData.properties[TRACEPARENT_PROPERTY]) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
const diagnosticId = eventData.properties[TRACEPARENT_PROPERTY];
|
|
66
|
+
return tracingClient.parseTraceparentHeader(diagnosticId);
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=instrumentEventData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instrumentEventData.js","sourceRoot":"","sources":["../../../src/diagnostics/instrumentEventData.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAKzD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE5D;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,eAAe,CAAC;AAEpD;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,SAA2C,EAC3C,OAAyB,EACzB,UAAkB,EAClB,IAAY,EACZ,SAAmC;;IAEnC,MAAM,KAAK,GAAG,sBAAsB,CAAC,SAAS,CAAC;QAC7C,CAAC,CAAC,SAAS,CAAC,qBAAqB;QACjC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC;IAEzB,mDAAmD;IACnD,MAAM,sBAAsB,GAAG,OAAO,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,oBAAoB,CAAC,CAAC,CAAC;IAEtE,IAAI,sBAAsB,EAAE,CAAC;QAC3B,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;IACtD,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,aAAa,CAAC,SAAS,CACnE,SAAS,EACT,OAAO,EACP,aAAa,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAC3D,CAAC;IACF,IAAI,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,CAAC;YAC/B,OAAO;gBACL,KAAK,EAAE,SAAS;gBAChB,WAAW,EAAE,SAAS;aACvB,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,aAAa,CAAC,oBAAoB,CACpD,MAAA,cAAc,CAAC,cAAc,0CAAE,cAAc,CAC9C,CAAC,aAAa,CAAC,CAAC;QACjB,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,WAAW,qBAAQ,KAAK,CAAE,CAAC;YAEjC,+CAA+C;YAC/C,IAAI,sBAAsB,CAAC,SAAS,CAAC,EAAE,CAAC;gBACtC,SAAS,mCAAQ,SAAS,KAAE,qBAAqB,EAAE,WAAW,GAAE,CAAC;YACnE,CAAC;iBAAM,CAAC;gBACN,SAAS,mCAAQ,SAAS,KAAE,UAAU,EAAE,WAAW,GAAE,CAAC;YACxD,CAAC;YACD,WAAW,CAAC,oBAAoB,CAAC,GAAG,WAAW,CAAC;QAClD,CAAC;QAED,OAAO;YACL,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,MAAA,cAAc,CAAC,cAAc,0CAAE,cAAc;SAC3D,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,WAAW,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,+BAA+B,CAAC,SAAoB;IAClE,IAAI,CAAC,SAAS,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACzE,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,SAAS,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;IAChE,OAAO,aAAa,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC;AAC5D,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { EventData } from \"../eventData.js\";\nimport { isAmqpAnnotatedMessage } from \"../eventData.js\";\nimport type { TracingContext } from \"@azure/core-tracing\";\nimport type { AmqpAnnotatedMessage } from \"@azure/core-amqp\";\nimport type { OperationOptions } from \"../util/operationOptions.js\";\nimport type { MessagingOperationNames } from \"./tracing.js\";\nimport { toSpanOptions, tracingClient } from \"./tracing.js\";\n\n/**\n * @internal\n */\nexport const TRACEPARENT_PROPERTY = \"Diagnostic-Id\";\n\n/**\n * Populates the `EventData` with `SpanContext` info to support trace propagation.\n * Creates and returns a copy of the passed in `EventData` unless the `EventData`\n * has already been instrumented.\n * @param eventData - The `EventData` or `AmqpAnnotatedMessage` to instrument.\n * @param span - The `Span` containing the context to propagate tracing information.\n * @param operation - The type of the operation being performed.\n */\nexport function instrumentEventData(\n eventData: EventData | AmqpAnnotatedMessage,\n options: OperationOptions,\n entityPath: string,\n host: string,\n operation?: MessagingOperationNames,\n): { event: EventData; spanContext: TracingContext | undefined } {\n const props = isAmqpAnnotatedMessage(eventData)\n ? eventData.applicationProperties\n : eventData.properties;\n\n // check if the event has already been instrumented\n const previouslyInstrumented = Boolean(props?.[TRACEPARENT_PROPERTY]);\n\n if (previouslyInstrumented) {\n return { event: eventData, spanContext: undefined };\n }\n\n const { span: messageSpan, updatedOptions } = tracingClient.startSpan(\n \"message\",\n options,\n toSpanOptions({ entityPath, host }, operation, \"producer\"),\n );\n try {\n if (!messageSpan.isRecording()) {\n return {\n event: eventData,\n spanContext: undefined,\n };\n }\n\n const traceParent = tracingClient.createRequestHeaders(\n updatedOptions.tracingOptions?.tracingContext,\n )[\"traceparent\"];\n if (traceParent) {\n const copiedProps = { ...props };\n\n // create a copy so the original isn't modified\n if (isAmqpAnnotatedMessage(eventData)) {\n eventData = { ...eventData, applicationProperties: copiedProps };\n } else {\n eventData = { ...eventData, properties: copiedProps };\n }\n copiedProps[TRACEPARENT_PROPERTY] = traceParent;\n }\n\n return {\n event: eventData,\n spanContext: updatedOptions.tracingOptions?.tracingContext,\n };\n } finally {\n messageSpan.end();\n }\n}\n\n/**\n * Extracts the `SpanContext` from an `EventData` if the context exists.\n * @param eventData - An individual `EventData` object.\n * @internal\n */\nexport function extractSpanContextFromEventData(eventData: EventData): TracingContext | undefined {\n if (!eventData.properties || !eventData.properties[TRACEPARENT_PROPERTY]) {\n return;\n }\n\n const diagnosticId = eventData.properties[TRACEPARENT_PROPERTY];\n return tracingClient.parseTraceparentHeader(diagnosticId);\n}\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { TracingSpanOptions, TracingSpanKind } from "@azure/core-tracing";
|
|
2
|
+
import type { EventHubConnectionConfig } from "../eventhubConnectionConfig.js";
|
|
3
|
+
/**
|
|
4
|
+
* The names of the operations that can be instrumented.
|
|
5
|
+
*/
|
|
6
|
+
export type MessagingOperationNames = "publish" | "receive" | "process";
|
|
7
|
+
/**
|
|
8
|
+
* The {@link TracingClient} that is used to add tracing spans.
|
|
9
|
+
*/
|
|
10
|
+
export declare const tracingClient: import("@azure/core-tracing").TracingClient;
|
|
11
|
+
/**
|
|
12
|
+
* Creates {@link TracingSpanOptions} from the provided data.
|
|
13
|
+
* @param eventHubConfig - The configuration object containing initial attributes to set on the span.
|
|
14
|
+
* @param spanKind - The {@link TracingSpanKind} for the newly created span.
|
|
15
|
+
* @param operation - The operation type.
|
|
16
|
+
* @returns a {@link TracingSpanOptions} that can be passed to a {@link TracingClient}
|
|
17
|
+
*/
|
|
18
|
+
export declare function toSpanOptions(eventHubConfig: Pick<EventHubConnectionConfig, "entityPath" | "host">, operation?: MessagingOperationNames, spanKind?: TracingSpanKind): TracingSpanOptions;
|
|
19
|
+
//# sourceMappingURL=tracing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../../../src/diagnostics/tracing.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE/E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAG/E;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,aAAa,6CAIxB,CAAC;AAEH;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,cAAc,EAAE,IAAI,CAAC,wBAAwB,EAAE,YAAY,GAAG,MAAM,CAAC,EACrE,SAAS,CAAC,EAAE,uBAAuB,EACnC,QAAQ,CAAC,EAAE,eAAe,GACzB,kBAAkB,CAuBpB"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { createTracingClient } from "@azure/core-tracing";
|
|
4
|
+
import { packageJsonInfo } from "../util/constants.js";
|
|
5
|
+
/**
|
|
6
|
+
* The {@link TracingClient} that is used to add tracing spans.
|
|
7
|
+
*/
|
|
8
|
+
export const tracingClient = createTracingClient({
|
|
9
|
+
namespace: "Microsoft.EventHub",
|
|
10
|
+
packageName: packageJsonInfo.name,
|
|
11
|
+
packageVersion: packageJsonInfo.version,
|
|
12
|
+
});
|
|
13
|
+
/**
|
|
14
|
+
* Creates {@link TracingSpanOptions} from the provided data.
|
|
15
|
+
* @param eventHubConfig - The configuration object containing initial attributes to set on the span.
|
|
16
|
+
* @param spanKind - The {@link TracingSpanKind} for the newly created span.
|
|
17
|
+
* @param operation - The operation type.
|
|
18
|
+
* @returns a {@link TracingSpanOptions} that can be passed to a {@link TracingClient}
|
|
19
|
+
*/
|
|
20
|
+
export function toSpanOptions(eventHubConfig, operation, spanKind) {
|
|
21
|
+
const propertyName = operation === "process" || operation === "receive"
|
|
22
|
+
? "messaging.source.name"
|
|
23
|
+
: "messaging.destination.name";
|
|
24
|
+
const spanAttributes = {
|
|
25
|
+
"messaging.system": "eventhubs",
|
|
26
|
+
[propertyName]: eventHubConfig.entityPath,
|
|
27
|
+
"net.peer.name": eventHubConfig.host,
|
|
28
|
+
};
|
|
29
|
+
if (operation) {
|
|
30
|
+
spanAttributes["messaging.operation"] = operation;
|
|
31
|
+
}
|
|
32
|
+
const spanOptions = {
|
|
33
|
+
spanAttributes: spanAttributes,
|
|
34
|
+
};
|
|
35
|
+
if (spanKind) {
|
|
36
|
+
spanOptions.spanKind = spanKind;
|
|
37
|
+
}
|
|
38
|
+
return spanOptions;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=tracing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../../src/diagnostics/tracing.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAOvD;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,mBAAmB,CAAC;IAC/C,SAAS,EAAE,oBAAoB;IAC/B,WAAW,EAAE,eAAe,CAAC,IAAI;IACjC,cAAc,EAAE,eAAe,CAAC,OAAO;CACxC,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAC3B,cAAqE,EACrE,SAAmC,EACnC,QAA0B;IAE1B,MAAM,YAAY,GAChB,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS;QAChD,CAAC,CAAC,uBAAuB;QACzB,CAAC,CAAC,4BAA4B,CAAC;IAEnC,MAAM,cAAc,GAAG;QACrB,kBAAkB,EAAE,WAAW;QAC/B,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC,UAAU;QACzC,eAAe,EAAE,cAAc,CAAC,IAAI;KACrC,CAAC;IAEF,IAAI,SAAS,EAAE,CAAC;QACd,cAAc,CAAC,qBAAqB,CAAC,GAAG,SAAS,CAAC;IACpD,CAAC;IAED,MAAM,WAAW,GAAuB;QACtC,cAAc,EAAE,cAAc;KAC/B,CAAC;IACF,IAAI,QAAQ,EAAE,CAAC;QACb,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAClC,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { TracingSpanOptions, TracingSpanKind } from \"@azure/core-tracing\";\nimport { createTracingClient } from \"@azure/core-tracing\";\nimport type { EventHubConnectionConfig } from \"../eventhubConnectionConfig.js\";\nimport { packageJsonInfo } from \"../util/constants.js\";\n\n/**\n * The names of the operations that can be instrumented.\n */\nexport type MessagingOperationNames = \"publish\" | \"receive\" | \"process\";\n\n/**\n * The {@link TracingClient} that is used to add tracing spans.\n */\nexport const tracingClient = createTracingClient({\n namespace: \"Microsoft.EventHub\",\n packageName: packageJsonInfo.name,\n packageVersion: packageJsonInfo.version,\n});\n\n/**\n * Creates {@link TracingSpanOptions} from the provided data.\n * @param eventHubConfig - The configuration object containing initial attributes to set on the span.\n * @param spanKind - The {@link TracingSpanKind} for the newly created span.\n * @param operation - The operation type.\n * @returns a {@link TracingSpanOptions} that can be passed to a {@link TracingClient}\n */\nexport function toSpanOptions(\n eventHubConfig: Pick<EventHubConnectionConfig, \"entityPath\" | \"host\">,\n operation?: MessagingOperationNames,\n spanKind?: TracingSpanKind,\n): TracingSpanOptions {\n const propertyName =\n operation === \"process\" || operation === \"receive\"\n ? \"messaging.source.name\"\n : \"messaging.destination.name\";\n\n const spanAttributes = {\n \"messaging.system\": \"eventhubs\",\n [propertyName]: eventHubConfig.entityPath,\n \"net.peer.name\": eventHubConfig.host,\n };\n\n if (operation) {\n spanAttributes[\"messaging.operation\"] = operation;\n }\n\n const spanOptions: TracingSpanOptions = {\n spanAttributes: spanAttributes,\n };\n if (spanKind) {\n spanOptions.spanKind = spanKind;\n }\n return spanOptions;\n}\n"]}
|
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
import { AmqpAnnotatedMessage } from "@azure/core-amqp";
|
|
2
|
+
import type { DeliveryAnnotations, MessageAnnotations, Message as RheaMessage } from "rhea-promise";
|
|
3
|
+
import type { PENDING_PUBLISH_SEQ_NUM_SYMBOL } from "./util/constants.js";
|
|
4
|
+
/**
|
|
5
|
+
* Describes the delivery annotations.
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export interface EventHubDeliveryAnnotations extends DeliveryAnnotations {
|
|
9
|
+
/**
|
|
10
|
+
* The offset of the last event.
|
|
11
|
+
*/
|
|
12
|
+
last_enqueued_offset?: string;
|
|
13
|
+
/**
|
|
14
|
+
* The sequence number of the last event.
|
|
15
|
+
*/
|
|
16
|
+
last_enqueued_sequence_number?: number;
|
|
17
|
+
/**
|
|
18
|
+
* The enqueued time of the last event.
|
|
19
|
+
*/
|
|
20
|
+
last_enqueued_time_utc?: number;
|
|
21
|
+
/**
|
|
22
|
+
* The retrieval time of the last event.
|
|
23
|
+
*/
|
|
24
|
+
runtime_info_retrieval_time_utc?: number;
|
|
25
|
+
/**
|
|
26
|
+
* Any unknown delivery annotations.
|
|
27
|
+
*/
|
|
28
|
+
[x: string]: any;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Map containing message attributes that will be held in the message header.
|
|
32
|
+
* @internal
|
|
33
|
+
*/
|
|
34
|
+
export interface EventHubMessageAnnotations extends MessageAnnotations {
|
|
35
|
+
/**
|
|
36
|
+
* Annotation for the partition key set for the event.
|
|
37
|
+
*/
|
|
38
|
+
"x-opt-partition-key"?: string | null;
|
|
39
|
+
/**
|
|
40
|
+
* Annotation for the sequence number of the event.
|
|
41
|
+
*/
|
|
42
|
+
"x-opt-sequence-number"?: number;
|
|
43
|
+
/**
|
|
44
|
+
* Annotation for the enqueued time of the event.
|
|
45
|
+
*/
|
|
46
|
+
"x-opt-enqueued-time"?: number;
|
|
47
|
+
/**
|
|
48
|
+
* Annotation for the offset of the event.
|
|
49
|
+
*/
|
|
50
|
+
"x-opt-offset"?: string;
|
|
51
|
+
/**
|
|
52
|
+
* Any other annotation that can be added to the message.
|
|
53
|
+
*/
|
|
54
|
+
[x: string]: any;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Describes the structure of an event to be sent or received from the EventHub.
|
|
58
|
+
* @internal
|
|
59
|
+
*/
|
|
60
|
+
export interface EventDataInternal {
|
|
61
|
+
/**
|
|
62
|
+
* The message body that needs to be sent or is received.
|
|
63
|
+
*/
|
|
64
|
+
body: any;
|
|
65
|
+
/**
|
|
66
|
+
* The enqueued time of the event.
|
|
67
|
+
*/
|
|
68
|
+
enqueuedTimeUtc?: Date;
|
|
69
|
+
/**
|
|
70
|
+
* If specified EventHub will hash this to a partitionId.
|
|
71
|
+
* It guarantees that messages end up in a specific partition on the event hub.
|
|
72
|
+
*/
|
|
73
|
+
partitionKey?: string | null;
|
|
74
|
+
/**
|
|
75
|
+
* The offset of the event.
|
|
76
|
+
*/
|
|
77
|
+
offset?: string;
|
|
78
|
+
/**
|
|
79
|
+
* The sequence number of the event.
|
|
80
|
+
*/
|
|
81
|
+
sequenceNumber?: number;
|
|
82
|
+
/**
|
|
83
|
+
* The application specific properties.
|
|
84
|
+
*/
|
|
85
|
+
properties?: {
|
|
86
|
+
[property: string]: any;
|
|
87
|
+
};
|
|
88
|
+
/**
|
|
89
|
+
* The last sequence number of the event within the partition stream of the Event Hub.
|
|
90
|
+
*/
|
|
91
|
+
lastSequenceNumber?: number;
|
|
92
|
+
/**
|
|
93
|
+
* The offset of the last enqueued event.
|
|
94
|
+
*/
|
|
95
|
+
lastEnqueuedOffset?: string;
|
|
96
|
+
/**
|
|
97
|
+
* The enqueued UTC time of the last event.
|
|
98
|
+
*/
|
|
99
|
+
lastEnqueuedTime?: Date;
|
|
100
|
+
/**
|
|
101
|
+
* The time when the runtime info was retrieved
|
|
102
|
+
*/
|
|
103
|
+
retrievalTime?: Date;
|
|
104
|
+
/**
|
|
105
|
+
* The properties set by the service.
|
|
106
|
+
*/
|
|
107
|
+
systemProperties?: {
|
|
108
|
+
[property: string]: any;
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* The content type of the message. Optionally describes
|
|
112
|
+
* the payload of the message, with a descriptor following the format of RFC2045, Section 5, for
|
|
113
|
+
* example "application/json".
|
|
114
|
+
*/
|
|
115
|
+
contentType?: string;
|
|
116
|
+
/**
|
|
117
|
+
* The correlation identifier that allows an
|
|
118
|
+
* application to specify a context for the message for the purposes of correlation, for example
|
|
119
|
+
* reflecting the MessageId of a message that is being replied to.
|
|
120
|
+
*/
|
|
121
|
+
correlationId?: string | number | Buffer;
|
|
122
|
+
/**
|
|
123
|
+
* The message identifier is an
|
|
124
|
+
* application-defined value that uniquely identifies the message and its payload.
|
|
125
|
+
*
|
|
126
|
+
* Note: Numbers that are not whole integers are not allowed.
|
|
127
|
+
*/
|
|
128
|
+
messageId?: string | number | Buffer;
|
|
129
|
+
/**
|
|
130
|
+
* Returns the underlying raw amqp message.
|
|
131
|
+
*/
|
|
132
|
+
getRawAmqpMessage(): AmqpAnnotatedMessage;
|
|
133
|
+
/**
|
|
134
|
+
* The pending publish sequence number, set while the event
|
|
135
|
+
* is being published with idempotent partitions enabled.
|
|
136
|
+
*/
|
|
137
|
+
[PENDING_PUBLISH_SEQ_NUM_SYMBOL]?: number;
|
|
138
|
+
/**
|
|
139
|
+
* The sequence number the event was published with
|
|
140
|
+
* when idempotent partitions are enabled.
|
|
141
|
+
*/
|
|
142
|
+
_publishedSequenceNumber?: number;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Converts the AMQP message to an EventData.
|
|
146
|
+
* @param msg - The AMQP message that needs to be converted to EventData.
|
|
147
|
+
* @param skipParsingBodyAsJson - Boolean to skip running JSON.parse() on message body when body type is `content`.
|
|
148
|
+
* @internal
|
|
149
|
+
*/
|
|
150
|
+
export declare function fromRheaMessage(msg: RheaMessage, skipParsingBodyAsJson: boolean): EventDataInternal;
|
|
151
|
+
/**
|
|
152
|
+
* Converts an EventData object to an AMQP message.
|
|
153
|
+
* @param data - The EventData object that needs to be converted to an AMQP message.
|
|
154
|
+
* @param partitionKey - An optional key to determine the partition that this event should land in.
|
|
155
|
+
* @internal
|
|
156
|
+
*/
|
|
157
|
+
export declare function toRheaMessage(data: EventData | AmqpAnnotatedMessage, partitionKey?: string): RheaMessage;
|
|
158
|
+
/**
|
|
159
|
+
* The interface that describes the data to be sent to Event Hub.
|
|
160
|
+
* Use this as a reference when creating the object to be sent when using the `EventHubProducerClient`.
|
|
161
|
+
* For example, `{ body: "your-data" }` or
|
|
162
|
+
* ```
|
|
163
|
+
* {
|
|
164
|
+
* body: "your-data",
|
|
165
|
+
* properties: {
|
|
166
|
+
* propertyName: "property value"
|
|
167
|
+
* }
|
|
168
|
+
* }
|
|
169
|
+
* ```
|
|
170
|
+
*/
|
|
171
|
+
export interface EventData {
|
|
172
|
+
/**
|
|
173
|
+
* The message body that needs to be sent.
|
|
174
|
+
* If the application reading the events is not using this SDK,
|
|
175
|
+
* convert your body payload to a byte array or Buffer for better
|
|
176
|
+
* cross-language compatibility.
|
|
177
|
+
*/
|
|
178
|
+
body: any;
|
|
179
|
+
/**
|
|
180
|
+
* The content type of the message. Optionally describes
|
|
181
|
+
* the payload of the message, with a descriptor following the format of RFC2045, Section 5, for
|
|
182
|
+
* example "application/json".
|
|
183
|
+
*/
|
|
184
|
+
contentType?: string;
|
|
185
|
+
/**
|
|
186
|
+
* The correlation identifier that allows an
|
|
187
|
+
* application to specify a context for the message for the purposes of correlation, for example
|
|
188
|
+
* reflecting the MessageId of a message that is being replied to.
|
|
189
|
+
*/
|
|
190
|
+
correlationId?: string | number | Buffer;
|
|
191
|
+
/**
|
|
192
|
+
* The message identifier is an
|
|
193
|
+
* application-defined value that uniquely identifies the message and its payload.
|
|
194
|
+
*
|
|
195
|
+
* Note: Numbers that are not whole integers are not allowed.
|
|
196
|
+
*/
|
|
197
|
+
messageId?: string | number | Buffer;
|
|
198
|
+
/**
|
|
199
|
+
* Set of key value pairs that can be used to set properties specific to user application.
|
|
200
|
+
*/
|
|
201
|
+
properties?: {
|
|
202
|
+
[key: string]: any;
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Asserts that the provided data conforms to the `EventData` interface.
|
|
207
|
+
*
|
|
208
|
+
* This function performs runtime checks on the `data` object to ensure it matches the expected
|
|
209
|
+
* structure and types defined in the `EventData` interface. If any of the checks fail, it throws
|
|
210
|
+
* an error with a descriptive message indicating the mismatch.
|
|
211
|
+
*
|
|
212
|
+
* @param data - The data object to validate as `EventData`.
|
|
213
|
+
* @throws \{Error\} Throws an error if the data does not conform to the `EventData` interface.
|
|
214
|
+
*/
|
|
215
|
+
export declare function assertIsEventData(data: any): asserts data is EventData;
|
|
216
|
+
/**
|
|
217
|
+
* The interface that describes the structure of the event received from Event Hub.
|
|
218
|
+
* Use this as a reference when creating the `processEvents` function to process the events
|
|
219
|
+
* received from an Event Hub when using the `EventHubConsumerClient`.
|
|
220
|
+
*/
|
|
221
|
+
export interface ReceivedEventData {
|
|
222
|
+
/**
|
|
223
|
+
* The message body that needs to be sent or is received.
|
|
224
|
+
*/
|
|
225
|
+
body: any;
|
|
226
|
+
/**
|
|
227
|
+
* The application specific properties.
|
|
228
|
+
*/
|
|
229
|
+
properties?: {
|
|
230
|
+
[key: string]: any;
|
|
231
|
+
};
|
|
232
|
+
/**
|
|
233
|
+
* The enqueued time of the event.
|
|
234
|
+
*/
|
|
235
|
+
enqueuedTimeUtc: Date;
|
|
236
|
+
/**
|
|
237
|
+
* When specified Event Hub will hash this to a partitionId.
|
|
238
|
+
* It guarantees that messages end up in a specific partition on the event hub.
|
|
239
|
+
*/
|
|
240
|
+
partitionKey: string | null;
|
|
241
|
+
/**
|
|
242
|
+
* The offset of the event.
|
|
243
|
+
*/
|
|
244
|
+
offset: string;
|
|
245
|
+
/**
|
|
246
|
+
* The sequence number of the event.
|
|
247
|
+
*/
|
|
248
|
+
sequenceNumber: number;
|
|
249
|
+
/**
|
|
250
|
+
* The properties set by the service.
|
|
251
|
+
*/
|
|
252
|
+
systemProperties?: {
|
|
253
|
+
[key: string]: any;
|
|
254
|
+
};
|
|
255
|
+
/**
|
|
256
|
+
* The content type of the message. Optionally describes
|
|
257
|
+
* the payload of the message, with a descriptor following the format of RFC2045, Section 5, for
|
|
258
|
+
* example "application/json".
|
|
259
|
+
*/
|
|
260
|
+
contentType?: string;
|
|
261
|
+
/**
|
|
262
|
+
* The correlation identifier that allows an
|
|
263
|
+
* application to specify a context for the message for the purposes of correlation, for example
|
|
264
|
+
* reflecting the MessageId of a message that is being replied to.
|
|
265
|
+
*/
|
|
266
|
+
correlationId?: string | number | Buffer;
|
|
267
|
+
/**
|
|
268
|
+
* The message identifier is an
|
|
269
|
+
* application-defined value that uniquely identifies the message and its payload.
|
|
270
|
+
*/
|
|
271
|
+
messageId?: string | number | Buffer;
|
|
272
|
+
/**
|
|
273
|
+
* Returns the underlying raw amqp message.
|
|
274
|
+
*/
|
|
275
|
+
getRawAmqpMessage(): AmqpAnnotatedMessage;
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* @internal
|
|
279
|
+
*/
|
|
280
|
+
export declare function isAmqpAnnotatedMessage(possible: unknown): possible is AmqpAnnotatedMessage;
|
|
281
|
+
/**
|
|
282
|
+
* @internal
|
|
283
|
+
*/
|
|
284
|
+
export interface PopulateIdempotentMessageAnnotationsParameters {
|
|
285
|
+
isIdempotentPublishingEnabled: boolean;
|
|
286
|
+
ownerLevel?: number;
|
|
287
|
+
producerGroupId?: number;
|
|
288
|
+
publishSequenceNumber?: number;
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Populates a rhea message with idempotent producer properties.
|
|
292
|
+
* @internal
|
|
293
|
+
*/
|
|
294
|
+
export declare function populateIdempotentMessageAnnotations(rheaMessage: RheaMessage, { isIdempotentPublishingEnabled, ownerLevel, producerGroupId, publishSequenceNumber, }: PopulateIdempotentMessageAnnotationsParameters): void;
|
|
295
|
+
//# sourceMappingURL=eventData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eventData.d.ts","sourceRoot":"","sources":["../../src/eventData.ts"],"names":[],"mappings":"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"}
|