@azure/service-bus 7.10.0-beta.1 → 7.10.0-beta.2
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 +114 -57
- package/dist/browser/connectionContext.d.ts +109 -0
- package/dist/browser/connectionContext.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/connectionContext.js +11 -10
- package/dist/browser/connectionContext.js.map +1 -0
- package/dist/browser/constructorHelpers.d.ts +79 -0
- package/dist/browser/constructorHelpers.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/constructorHelpers.js +9 -8
- package/dist/browser/constructorHelpers.js.map +1 -0
- package/dist/browser/core/autoLockRenewer.d.ts +58 -0
- package/dist/browser/core/autoLockRenewer.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/core/autoLockRenewer.js +3 -3
- package/dist/browser/core/autoLockRenewer.js.map +1 -0
- package/dist/browser/core/batchingReceiver.d.ts +120 -0
- package/dist/browser/core/batchingReceiver.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/core/batchingReceiver.js +27 -25
- package/dist/browser/core/batchingReceiver.js.map +1 -0
- package/dist/browser/core/linkEntity.d.ts +192 -0
- package/dist/browser/core/linkEntity.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/core/linkEntity.js +7 -5
- package/dist/browser/core/linkEntity.js.map +1 -0
- package/dist/browser/core/managementClient.d.ts +312 -0
- package/dist/browser/core/managementClient.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/core/managementClient.js +58 -54
- package/dist/browser/core/managementClient.js.map +1 -0
- package/dist/browser/core/messageReceiver.d.ts +147 -0
- package/dist/browser/core/messageReceiver.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/core/messageReceiver.js +16 -21
- package/dist/browser/core/messageReceiver.js.map +1 -0
- package/dist/browser/core/messageSender.d.ts +93 -0
- package/dist/browser/core/messageSender.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/core/messageSender.js +22 -21
- package/dist/browser/core/messageSender.js.map +1 -0
- package/dist/browser/core/receiverHelper.d.ts +45 -0
- package/dist/browser/core/receiverHelper.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/core/receiverHelper.js +5 -5
- package/dist/browser/core/receiverHelper.js.map +1 -0
- package/dist/browser/core/shared.d.ts +34 -0
- package/dist/browser/core/shared.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/core/shared.js +7 -14
- package/dist/browser/core/shared.js.map +1 -0
- package/dist/browser/core/streamingReceiver.d.ts +142 -0
- package/dist/browser/core/streamingReceiver.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/core/streamingReceiver.js +29 -23
- package/dist/browser/core/streamingReceiver.js.map +1 -0
- package/dist/browser/dataTransformer.d.ts +77 -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/instrumentServiceBusMessage.d.ts +50 -0
- package/dist/browser/diagnostics/instrumentServiceBusMessage.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/diagnostics/instrumentServiceBusMessage.js +10 -18
- package/dist/browser/diagnostics/instrumentServiceBusMessage.js.map +1 -0
- package/dist/browser/diagnostics/tracing.d.ts +21 -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/experimental/index.d.ts +10 -0
- package/dist/browser/experimental/index.d.ts.map +1 -0
- package/dist/browser/experimental/index.js +4 -0
- package/dist/browser/experimental/index.js.map +1 -0
- package/dist/browser/index.d.ts +26 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/index.js +5 -5
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/log.d.ts +70 -0
- package/dist/browser/log.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/log.js +1 -1
- package/dist/browser/log.js.map +1 -0
- package/dist/browser/models.d.ts +328 -0
- package/dist/browser/models.d.ts.map +1 -0
- package/dist/browser/models.js +4 -0
- package/dist/browser/models.js.map +1 -0
- package/dist/browser/modelsToBeSharedWithEventHubs.d.ts +18 -0
- package/dist/browser/modelsToBeSharedWithEventHubs.d.ts.map +1 -0
- package/dist/browser/modelsToBeSharedWithEventHubs.js +4 -0
- package/dist/browser/modelsToBeSharedWithEventHubs.js.map +1 -0
- package/dist/browser/package.json +3 -0
- package/dist/browser/receivers/receiver.d.ts +299 -0
- package/dist/browser/receivers/receiver.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/receivers/receiver.js +39 -66
- package/dist/browser/receivers/receiver.js.map +1 -0
- package/dist/browser/receivers/receiverCommon.d.ts +81 -0
- package/dist/browser/receivers/receiverCommon.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/receivers/receiverCommon.js +28 -44
- package/dist/browser/receivers/receiverCommon.js.map +1 -0
- package/dist/browser/receivers/sessionReceiver.d.ts +189 -0
- package/dist/browser/receivers/sessionReceiver.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/receivers/sessionReceiver.js +44 -76
- package/dist/browser/receivers/sessionReceiver.js.map +1 -0
- package/dist/browser/sender.d.ts +125 -0
- package/dist/browser/sender.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/sender.js +16 -32
- package/dist/browser/sender.js.map +1 -0
- package/dist/browser/serializers/namespaceResourceSerializer.d.ts +46 -0
- package/dist/browser/serializers/namespaceResourceSerializer.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/serializers/namespaceResourceSerializer.js +3 -3
- package/dist/browser/serializers/namespaceResourceSerializer.js.map +1 -0
- package/dist/browser/serializers/queueResourceSerializer.d.ts +461 -0
- package/dist/browser/serializers/queueResourceSerializer.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/serializers/queueResourceSerializer.js +5 -13
- package/dist/browser/serializers/queueResourceSerializer.js.map +1 -0
- package/dist/browser/serializers/ruleResourceSerializer.d.ts +135 -0
- package/dist/browser/serializers/ruleResourceSerializer.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/serializers/ruleResourceSerializer.js +6 -5
- package/dist/browser/serializers/ruleResourceSerializer.js.map +1 -0
- package/dist/browser/serializers/subscriptionResourceSerializer.d.ts +396 -0
- package/dist/browser/serializers/subscriptionResourceSerializer.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/serializers/subscriptionResourceSerializer.js +5 -5
- package/dist/browser/serializers/subscriptionResourceSerializer.js.map +1 -0
- package/dist/browser/serializers/topicResourceSerializer.d.ts +335 -0
- package/dist/browser/serializers/topicResourceSerializer.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/serializers/topicResourceSerializer.js +4 -4
- package/dist/browser/serializers/topicResourceSerializer.js.map +1 -0
- package/dist/browser/serviceBusAtomManagementClient.d.ts +652 -0
- package/dist/browser/serviceBusAtomManagementClient.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/serviceBusAtomManagementClient.js +283 -267
- package/dist/browser/serviceBusAtomManagementClient.js.map +1 -0
- package/dist/browser/serviceBusClient.d.ts +231 -0
- package/dist/browser/serviceBusClient.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/serviceBusClient.js +34 -30
- package/dist/browser/serviceBusClient.js.map +1 -0
- package/dist/browser/serviceBusError.d.ts +119 -0
- package/dist/browser/serviceBusError.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/serviceBusError.js +2 -2
- package/dist/browser/serviceBusError.js.map +1 -0
- package/dist/browser/serviceBusMessage.d.ts +529 -0
- package/dist/browser/serviceBusMessage.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/serviceBusMessage.js +18 -25
- package/dist/browser/serviceBusMessage.js.map +1 -0
- package/dist/browser/serviceBusMessageBatch.d.ts +153 -0
- package/dist/browser/serviceBusMessageBatch.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/serviceBusMessageBatch.js +5 -5
- package/dist/browser/serviceBusMessageBatch.js.map +1 -0
- package/dist/browser/serviceBusRuleManager.d.ts +103 -0
- package/dist/browser/serviceBusRuleManager.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/serviceBusRuleManager.js +18 -39
- package/dist/browser/serviceBusRuleManager.js.map +1 -0
- package/dist/browser/session/messageSession.d.ts +236 -0
- package/dist/browser/session/messageSession.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/session/messageSession.js +42 -32
- package/dist/browser/session/messageSession.js.map +1 -0
- package/dist/browser/util/atomXmlHelper.d.ts +56 -0
- package/dist/browser/util/atomXmlHelper.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/util/atomXmlHelper.js +12 -11
- package/dist/browser/util/atomXmlHelper.js.map +1 -0
- package/dist/browser/util/compat/compatibility.d.ts +109 -0
- package/dist/browser/util/compat/compatibility.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/util/compat/compatibility.js +2 -2
- package/dist/browser/util/compat/compatibility.js.map +1 -0
- package/dist/browser/util/compat/httpHeaders.d.ts +136 -0
- package/dist/browser/util/compat/httpHeaders.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/util/compat/httpHeaders.js +1 -1
- package/{dist-esm/src → dist/browser}/util/compat/httpHeaders.js.map +1 -1
- package/dist/browser/util/compat/index.d.ts +3 -0
- package/dist/browser/util/compat/index.d.ts.map +1 -0
- package/dist/browser/util/compat/index.js +5 -0
- package/dist/browser/util/compat/index.js.map +1 -0
- package/dist/browser/util/connectionStringUtils.d.ts +53 -0
- package/dist/browser/util/connectionStringUtils.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/util/connectionStringUtils.js +8 -2
- package/dist/browser/util/connectionStringUtils.js.map +1 -0
- package/dist/browser/util/constants.d.ts +322 -0
- package/dist/browser/util/constants.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/util/constants.js +3 -3
- package/{dist-esm/src → dist/browser}/util/constants.js.map +1 -1
- package/dist/browser/util/crypto-browser.d.mts.map +1 -0
- package/dist/browser/util/crypto-browser.mjs.map +1 -0
- package/dist/browser/util/crypto.d.ts +5 -0
- package/{dist-esm/src/util/crypto.browser.js → dist/browser/util/crypto.js} +2 -4
- package/dist/browser/util/errors.d.ts +130 -0
- package/dist/browser/util/errors.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/util/errors.js +4 -4
- package/dist/browser/util/errors.js.map +1 -0
- package/dist/browser/util/parseUrl-browser.d.mts.map +1 -0
- package/dist/browser/util/parseUrl-browser.mjs.map +1 -0
- package/dist/browser/util/parseUrl.d.ts +5 -0
- package/{dist-esm/src/util/parseUrl.browser.js → dist/browser/util/parseUrl.js} +1 -3
- 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 +7 -0
- package/{dist-esm/src/util/runtimeInfo.browser.js → dist/browser/util/runtimeInfo.js} +2 -2
- package/dist/browser/util/sasServiceClientCredentials.d.ts +31 -0
- package/dist/browser/util/sasServiceClientCredentials.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/util/sasServiceClientCredentials.js +1 -3
- package/dist/browser/util/sasServiceClientCredentials.js.map +1 -0
- package/dist/browser/util/semaphore.d.ts +38 -0
- package/dist/browser/util/semaphore.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/util/semaphore.js +1 -1
- package/{dist-esm/src → dist/browser}/util/semaphore.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 +247 -0
- package/dist/browser/util/utils.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/util/utils.js +12 -12
- package/dist/browser/util/utils.js.map +1 -0
- package/dist/commonjs/connectionContext.d.ts +109 -0
- package/dist/commonjs/connectionContext.d.ts.map +1 -0
- package/dist/commonjs/connectionContext.js +359 -0
- package/dist/commonjs/connectionContext.js.map +1 -0
- package/dist/commonjs/constructorHelpers.d.ts +79 -0
- package/dist/commonjs/constructorHelpers.d.ts.map +1 -0
- package/dist/commonjs/constructorHelpers.js +104 -0
- package/dist/commonjs/constructorHelpers.js.map +1 -0
- package/dist/commonjs/core/autoLockRenewer.d.ts +58 -0
- package/dist/commonjs/core/autoLockRenewer.d.ts.map +1 -0
- package/dist/commonjs/core/autoLockRenewer.js +174 -0
- package/dist/commonjs/core/autoLockRenewer.js.map +1 -0
- package/dist/commonjs/core/batchingReceiver.d.ts +120 -0
- package/dist/commonjs/core/batchingReceiver.d.ts.map +1 -0
- package/dist/commonjs/core/batchingReceiver.js +397 -0
- package/dist/commonjs/core/batchingReceiver.js.map +1 -0
- package/dist/commonjs/core/linkEntity.d.ts +192 -0
- package/dist/commonjs/core/linkEntity.d.ts.map +1 -0
- package/dist/commonjs/core/linkEntity.js +283 -0
- package/dist/commonjs/core/linkEntity.js.map +1 -0
- package/dist/commonjs/core/managementClient.d.ts +312 -0
- package/dist/commonjs/core/managementClient.d.ts.map +1 -0
- package/dist/commonjs/core/managementClient.js +1078 -0
- package/dist/commonjs/core/managementClient.js.map +1 -0
- package/dist/commonjs/core/messageReceiver.d.ts +147 -0
- package/dist/commonjs/core/messageReceiver.d.ts.map +1 -0
- package/dist/commonjs/core/messageReceiver.js +142 -0
- package/dist/commonjs/core/messageReceiver.js.map +1 -0
- package/dist/commonjs/core/messageSender.d.ts +93 -0
- package/dist/commonjs/core/messageSender.d.ts.map +1 -0
- package/dist/commonjs/core/messageSender.js +284 -0
- package/dist/commonjs/core/messageSender.js.map +1 -0
- package/dist/commonjs/core/receiverHelper.d.ts +45 -0
- package/dist/commonjs/core/receiverHelper.d.ts.map +1 -0
- package/dist/commonjs/core/receiverHelper.js +122 -0
- package/dist/commonjs/core/receiverHelper.js.map +1 -0
- package/dist/commonjs/core/shared.d.ts +34 -0
- package/dist/commonjs/core/shared.d.ts.map +1 -0
- package/dist/commonjs/core/shared.js +63 -0
- package/dist/commonjs/core/shared.js.map +1 -0
- package/dist/commonjs/core/streamingReceiver.d.ts +142 -0
- package/dist/commonjs/core/streamingReceiver.d.ts.map +1 -0
- package/dist/commonjs/core/streamingReceiver.js +495 -0
- package/dist/commonjs/core/streamingReceiver.js.map +1 -0
- package/dist/commonjs/dataTransformer.d.ts +77 -0
- package/dist/commonjs/dataTransformer.d.ts.map +1 -0
- package/dist/commonjs/dataTransformer.js +169 -0
- package/dist/commonjs/dataTransformer.js.map +1 -0
- package/dist/commonjs/diagnostics/instrumentServiceBusMessage.d.ts +50 -0
- package/dist/commonjs/diagnostics/instrumentServiceBusMessage.d.ts.map +1 -0
- package/dist/commonjs/diagnostics/instrumentServiceBusMessage.js +99 -0
- package/dist/commonjs/diagnostics/instrumentServiceBusMessage.js.map +1 -0
- package/dist/commonjs/diagnostics/tracing.d.ts +21 -0
- package/dist/commonjs/diagnostics/tracing.d.ts.map +1 -0
- package/dist/commonjs/diagnostics/tracing.js +41 -0
- package/dist/commonjs/diagnostics/tracing.js.map +1 -0
- package/dist/commonjs/experimental/index.d.ts +10 -0
- package/dist/commonjs/experimental/index.d.ts.map +1 -0
- package/dist/commonjs/experimental/index.js +5 -0
- package/dist/commonjs/experimental/index.js.map +1 -0
- package/dist/commonjs/index.d.ts +26 -0
- package/dist/commonjs/index.d.ts.map +1 -0
- package/dist/commonjs/index.js +22 -0
- package/dist/commonjs/index.js.map +1 -0
- package/dist/commonjs/log.d.ts +70 -0
- package/dist/commonjs/log.d.ts.map +1 -0
- package/dist/commonjs/log.js +94 -0
- package/dist/commonjs/log.js.map +1 -0
- package/dist/commonjs/models.d.ts +328 -0
- package/dist/commonjs/models.d.ts.map +1 -0
- package/dist/commonjs/models.js +5 -0
- package/dist/commonjs/models.js.map +1 -0
- package/dist/commonjs/modelsToBeSharedWithEventHubs.d.ts +18 -0
- package/dist/commonjs/modelsToBeSharedWithEventHubs.d.ts.map +1 -0
- package/dist/commonjs/modelsToBeSharedWithEventHubs.js +5 -0
- package/dist/commonjs/modelsToBeSharedWithEventHubs.js.map +1 -0
- package/dist/commonjs/package.json +3 -0
- package/dist/commonjs/receivers/receiver.d.ts +299 -0
- package/dist/commonjs/receivers/receiver.d.ts.map +1 -0
- package/dist/commonjs/receivers/receiver.js +338 -0
- package/dist/commonjs/receivers/receiver.js.map +1 -0
- package/dist/commonjs/receivers/receiverCommon.d.ts +81 -0
- package/dist/commonjs/receivers/receiverCommon.d.ts.map +1 -0
- package/dist/commonjs/receivers/receiverCommon.js +254 -0
- package/dist/commonjs/receivers/receiverCommon.js.map +1 -0
- package/dist/commonjs/receivers/sessionReceiver.d.ts +189 -0
- package/dist/commonjs/receivers/sessionReceiver.d.ts.map +1 -0
- package/dist/commonjs/receivers/sessionReceiver.js +392 -0
- package/dist/commonjs/receivers/sessionReceiver.js.map +1 -0
- package/dist/commonjs/sender.d.ts +125 -0
- package/dist/commonjs/sender.d.ts.map +1 -0
- package/dist/commonjs/sender.js +169 -0
- package/dist/commonjs/sender.js.map +1 -0
- package/dist/commonjs/serializers/namespaceResourceSerializer.d.ts +46 -0
- package/dist/commonjs/serializers/namespaceResourceSerializer.d.ts.map +1 -0
- package/dist/commonjs/serializers/namespaceResourceSerializer.js +39 -0
- package/dist/commonjs/serializers/namespaceResourceSerializer.js.map +1 -0
- package/dist/commonjs/serializers/queueResourceSerializer.d.ts +461 -0
- package/dist/commonjs/serializers/queueResourceSerializer.d.ts.map +1 -0
- package/dist/commonjs/serializers/queueResourceSerializer.js +99 -0
- package/dist/commonjs/serializers/queueResourceSerializer.js.map +1 -0
- package/dist/commonjs/serializers/ruleResourceSerializer.d.ts +135 -0
- package/dist/commonjs/serializers/ruleResourceSerializer.d.ts.map +1 -0
- package/dist/commonjs/serializers/ruleResourceSerializer.js +288 -0
- package/dist/commonjs/serializers/ruleResourceSerializer.js.map +1 -0
- package/dist/commonjs/serializers/subscriptionResourceSerializer.d.ts +396 -0
- package/dist/commonjs/serializers/subscriptionResourceSerializer.d.ts.map +1 -0
- package/dist/commonjs/serializers/subscriptionResourceSerializer.js +103 -0
- package/dist/commonjs/serializers/subscriptionResourceSerializer.js.map +1 -0
- package/dist/commonjs/serializers/topicResourceSerializer.d.ts +335 -0
- package/dist/commonjs/serializers/topicResourceSerializer.d.ts.map +1 -0
- package/dist/commonjs/serializers/topicResourceSerializer.js +97 -0
- package/dist/commonjs/serializers/topicResourceSerializer.js.map +1 -0
- package/dist/commonjs/serviceBusAtomManagementClient.d.ts +652 -0
- package/dist/commonjs/serviceBusAtomManagementClient.d.ts.map +1 -0
- package/dist/commonjs/serviceBusAtomManagementClient.js +1694 -0
- package/dist/commonjs/serviceBusAtomManagementClient.js.map +1 -0
- package/dist/commonjs/serviceBusClient.d.ts +231 -0
- package/dist/commonjs/serviceBusClient.d.ts.map +1 -0
- package/dist/commonjs/serviceBusClient.js +212 -0
- package/dist/commonjs/serviceBusClient.js.map +1 -0
- package/dist/commonjs/serviceBusError.d.ts +119 -0
- package/dist/commonjs/serviceBusError.d.ts.map +1 -0
- package/dist/commonjs/serviceBusError.js +89 -0
- package/dist/commonjs/serviceBusError.js.map +1 -0
- package/dist/commonjs/serviceBusMessage.d.ts +529 -0
- package/dist/commonjs/serviceBusMessage.d.ts.map +1 -0
- package/dist/commonjs/serviceBusMessage.js +415 -0
- package/dist/commonjs/serviceBusMessage.js.map +1 -0
- package/dist/commonjs/serviceBusMessageBatch.d.ts +153 -0
- package/dist/commonjs/serviceBusMessageBatch.d.ts.map +1 -0
- package/dist/commonjs/serviceBusMessageBatch.js +172 -0
- package/dist/commonjs/serviceBusMessageBatch.js.map +1 -0
- package/dist/commonjs/serviceBusRuleManager.d.ts +103 -0
- package/dist/commonjs/serviceBusRuleManager.d.ts.map +1 -0
- package/dist/commonjs/serviceBusRuleManager.js +129 -0
- package/dist/commonjs/serviceBusRuleManager.js.map +1 -0
- package/dist/commonjs/session/messageSession.d.ts +236 -0
- package/dist/commonjs/session/messageSession.d.ts.map +1 -0
- package/dist/commonjs/session/messageSession.js +654 -0
- package/dist/commonjs/session/messageSession.js.map +1 -0
- package/dist/commonjs/tsdoc-metadata.json +11 -0
- package/dist/commonjs/util/atomXmlHelper.d.ts +56 -0
- package/dist/commonjs/util/atomXmlHelper.d.ts.map +1 -0
- package/dist/commonjs/util/atomXmlHelper.js +387 -0
- package/dist/commonjs/util/atomXmlHelper.js.map +1 -0
- package/dist/commonjs/util/compat/compatibility.d.ts +109 -0
- package/dist/commonjs/util/compat/compatibility.d.ts.map +1 -0
- package/dist/commonjs/util/compat/compatibility.js +30 -0
- package/dist/commonjs/util/compat/compatibility.js.map +1 -0
- package/dist/commonjs/util/compat/httpHeaders.d.ts +136 -0
- package/dist/commonjs/util/compat/httpHeaders.d.ts.map +1 -0
- package/dist/commonjs/util/compat/httpHeaders.js +156 -0
- package/dist/commonjs/util/compat/httpHeaders.js.map +1 -0
- package/dist/commonjs/util/compat/index.d.ts +3 -0
- package/dist/commonjs/util/compat/index.d.ts.map +1 -0
- package/dist/commonjs/util/compat/index.js +8 -0
- package/dist/commonjs/util/compat/index.js.map +1 -0
- package/dist/commonjs/util/connectionStringUtils.d.ts +53 -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 +322 -0
- package/dist/commonjs/util/constants.d.ts.map +1 -0
- package/dist/commonjs/util/constants.js +327 -0
- package/dist/commonjs/util/constants.js.map +1 -0
- package/dist/commonjs/util/crypto.d.ts +5 -0
- package/dist/commonjs/util/crypto.d.ts.map +1 -0
- package/dist/commonjs/util/crypto.js +15 -0
- package/dist/commonjs/util/crypto.js.map +1 -0
- package/dist/commonjs/util/errors.d.ts +130 -0
- package/dist/commonjs/util/errors.d.ts.map +1 -0
- package/dist/commonjs/util/errors.js +236 -0
- package/dist/commonjs/util/errors.js.map +1 -0
- package/dist/commonjs/util/parseUrl.d.ts +5 -0
- package/dist/commonjs/util/parseUrl.d.ts.map +1 -0
- package/dist/commonjs/util/parseUrl.js +13 -0
- package/dist/commonjs/util/parseUrl.js.map +1 -0
- package/dist/commonjs/util/runtimeInfo.d.ts +7 -0
- package/dist/commonjs/util/runtimeInfo.d.ts.map +1 -0
- package/dist/commonjs/util/runtimeInfo.js +24 -0
- package/dist/commonjs/util/runtimeInfo.js.map +1 -0
- package/dist/commonjs/util/sasServiceClientCredentials.d.ts +31 -0
- package/dist/commonjs/util/sasServiceClientCredentials.d.ts.map +1 -0
- package/dist/commonjs/util/sasServiceClientCredentials.js +48 -0
- package/dist/commonjs/util/sasServiceClientCredentials.js.map +1 -0
- package/dist/commonjs/util/semaphore.d.ts +38 -0
- package/dist/commonjs/util/semaphore.d.ts.map +1 -0
- package/dist/commonjs/util/semaphore.js +81 -0
- package/dist/commonjs/util/semaphore.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 +247 -0
- package/dist/commonjs/util/utils.d.ts.map +1 -0
- package/dist/commonjs/util/utils.js +526 -0
- package/dist/commonjs/util/utils.js.map +1 -0
- package/dist/esm/connectionContext.d.ts +109 -0
- package/dist/esm/connectionContext.d.ts.map +1 -0
- package/dist/esm/connectionContext.js +356 -0
- package/dist/esm/connectionContext.js.map +1 -0
- package/dist/esm/constructorHelpers.d.ts +79 -0
- package/dist/esm/constructorHelpers.d.ts.map +1 -0
- package/dist/esm/constructorHelpers.js +97 -0
- package/dist/esm/constructorHelpers.js.map +1 -0
- package/dist/esm/core/autoLockRenewer.d.ts +58 -0
- package/dist/esm/core/autoLockRenewer.d.ts.map +1 -0
- package/dist/esm/core/autoLockRenewer.js +170 -0
- package/dist/esm/core/autoLockRenewer.js.map +1 -0
- package/dist/esm/core/batchingReceiver.d.ts +120 -0
- package/dist/esm/core/batchingReceiver.d.ts.map +1 -0
- package/dist/esm/core/batchingReceiver.js +391 -0
- package/dist/esm/core/batchingReceiver.js.map +1 -0
- package/dist/esm/core/linkEntity.d.ts +192 -0
- package/dist/esm/core/linkEntity.d.ts.map +1 -0
- package/dist/esm/core/linkEntity.js +279 -0
- package/dist/esm/core/linkEntity.js.map +1 -0
- package/dist/esm/core/managementClient.d.ts +312 -0
- package/dist/esm/core/managementClient.d.ts.map +1 -0
- package/dist/esm/core/managementClient.js +1072 -0
- package/dist/esm/core/managementClient.js.map +1 -0
- package/dist/esm/core/messageReceiver.d.ts +147 -0
- package/dist/esm/core/messageReceiver.d.ts.map +1 -0
- package/dist/esm/core/messageReceiver.js +138 -0
- package/dist/esm/core/messageReceiver.js.map +1 -0
- package/dist/esm/core/messageSender.d.ts +93 -0
- package/dist/esm/core/messageSender.d.ts.map +1 -0
- package/dist/esm/core/messageSender.js +280 -0
- package/dist/esm/core/messageSender.js.map +1 -0
- package/dist/esm/core/receiverHelper.d.ts +45 -0
- package/dist/esm/core/receiverHelper.d.ts.map +1 -0
- package/dist/esm/core/receiverHelper.js +118 -0
- package/dist/esm/core/receiverHelper.js.map +1 -0
- package/dist/esm/core/shared.d.ts +34 -0
- package/dist/esm/core/shared.d.ts.map +1 -0
- package/dist/esm/core/shared.js +59 -0
- package/dist/esm/core/shared.js.map +1 -0
- package/dist/esm/core/streamingReceiver.d.ts +142 -0
- package/dist/esm/core/streamingReceiver.d.ts.map +1 -0
- package/dist/esm/core/streamingReceiver.js +491 -0
- package/dist/esm/core/streamingReceiver.js.map +1 -0
- package/dist/esm/dataTransformer.d.ts +77 -0
- package/dist/esm/dataTransformer.d.ts.map +1 -0
- package/dist/esm/dataTransformer.js +163 -0
- package/dist/esm/dataTransformer.js.map +1 -0
- package/dist/esm/diagnostics/instrumentServiceBusMessage.d.ts +50 -0
- package/dist/esm/diagnostics/instrumentServiceBusMessage.d.ts.map +1 -0
- package/dist/esm/diagnostics/instrumentServiceBusMessage.js +93 -0
- package/dist/esm/diagnostics/instrumentServiceBusMessage.js.map +1 -0
- package/dist/esm/diagnostics/tracing.d.ts +21 -0
- package/dist/esm/diagnostics/tracing.d.ts.map +1 -0
- package/dist/esm/diagnostics/tracing.js +37 -0
- package/dist/esm/diagnostics/tracing.js.map +1 -0
- package/dist/esm/experimental/index.d.ts +10 -0
- package/dist/esm/experimental/index.d.ts.map +1 -0
- package/dist/esm/experimental/index.js +4 -0
- package/dist/esm/experimental/index.js.map +1 -0
- package/dist/esm/index.d.ts +26 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +10 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/log.d.ts +70 -0
- package/dist/esm/log.d.ts.map +1 -0
- package/dist/esm/log.js +89 -0
- package/dist/esm/log.js.map +1 -0
- package/dist/esm/models.d.ts +328 -0
- package/dist/esm/models.d.ts.map +1 -0
- package/dist/esm/models.js +4 -0
- package/dist/esm/models.js.map +1 -0
- package/dist/esm/modelsToBeSharedWithEventHubs.d.ts +18 -0
- package/dist/esm/modelsToBeSharedWithEventHubs.d.ts.map +1 -0
- package/dist/esm/modelsToBeSharedWithEventHubs.js +4 -0
- package/dist/esm/modelsToBeSharedWithEventHubs.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/receivers/receiver.d.ts +299 -0
- package/dist/esm/receivers/receiver.d.ts.map +1 -0
- package/dist/esm/receivers/receiver.js +334 -0
- package/dist/esm/receivers/receiver.js.map +1 -0
- package/dist/esm/receivers/receiverCommon.d.ts +81 -0
- package/dist/esm/receivers/receiverCommon.d.ts.map +1 -0
- package/dist/esm/receivers/receiverCommon.js +242 -0
- package/dist/esm/receivers/receiverCommon.js.map +1 -0
- package/dist/esm/receivers/sessionReceiver.d.ts +189 -0
- package/dist/esm/receivers/sessionReceiver.d.ts.map +1 -0
- package/dist/esm/receivers/sessionReceiver.js +388 -0
- package/dist/esm/receivers/sessionReceiver.js.map +1 -0
- package/dist/esm/sender.d.ts +125 -0
- package/dist/esm/sender.d.ts.map +1 -0
- package/dist/esm/sender.js +164 -0
- package/dist/esm/sender.js.map +1 -0
- package/dist/esm/serializers/namespaceResourceSerializer.d.ts +46 -0
- package/dist/esm/serializers/namespaceResourceSerializer.d.ts.map +1 -0
- package/dist/esm/serializers/namespaceResourceSerializer.js +34 -0
- package/dist/esm/serializers/namespaceResourceSerializer.js.map +1 -0
- package/dist/esm/serializers/queueResourceSerializer.d.ts +461 -0
- package/dist/esm/serializers/queueResourceSerializer.d.ts.map +1 -0
- package/dist/esm/serializers/queueResourceSerializer.js +91 -0
- package/dist/esm/serializers/queueResourceSerializer.js.map +1 -0
- package/dist/esm/serializers/ruleResourceSerializer.d.ts +135 -0
- package/dist/esm/serializers/ruleResourceSerializer.d.ts.map +1 -0
- package/dist/esm/serializers/ruleResourceSerializer.js +279 -0
- package/dist/esm/serializers/ruleResourceSerializer.js.map +1 -0
- package/dist/esm/serializers/subscriptionResourceSerializer.d.ts +396 -0
- package/dist/esm/serializers/subscriptionResourceSerializer.d.ts.map +1 -0
- package/dist/esm/serializers/subscriptionResourceSerializer.js +95 -0
- package/dist/esm/serializers/subscriptionResourceSerializer.js.map +1 -0
- package/dist/esm/serializers/topicResourceSerializer.d.ts +335 -0
- package/dist/esm/serializers/topicResourceSerializer.d.ts.map +1 -0
- package/dist/esm/serializers/topicResourceSerializer.js +89 -0
- package/dist/esm/serializers/topicResourceSerializer.js.map +1 -0
- package/dist/esm/serviceBusAtomManagementClient.d.ts +652 -0
- package/dist/esm/serviceBusAtomManagementClient.d.ts.map +1 -0
- package/dist/esm/serviceBusAtomManagementClient.js +1690 -0
- package/dist/esm/serviceBusAtomManagementClient.js.map +1 -0
- package/dist/esm/serviceBusClient.d.ts +231 -0
- package/dist/esm/serviceBusClient.d.ts.map +1 -0
- package/dist/esm/serviceBusClient.js +207 -0
- package/dist/esm/serviceBusClient.js.map +1 -0
- package/dist/esm/serviceBusError.d.ts +119 -0
- package/dist/esm/serviceBusError.d.ts.map +1 -0
- package/dist/esm/serviceBusError.js +83 -0
- package/dist/esm/serviceBusError.js.map +1 -0
- package/dist/esm/serviceBusMessage.d.ts +529 -0
- package/dist/esm/serviceBusMessage.d.ts.map +1 -0
- package/dist/esm/serviceBusMessage.js +403 -0
- package/dist/esm/serviceBusMessage.js.map +1 -0
- package/dist/esm/serviceBusMessageBatch.d.ts +153 -0
- package/dist/esm/serviceBusMessageBatch.d.ts.map +1 -0
- package/dist/esm/serviceBusMessageBatch.js +168 -0
- package/dist/esm/serviceBusMessageBatch.js.map +1 -0
- package/dist/esm/serviceBusRuleManager.d.ts +103 -0
- package/dist/esm/serviceBusRuleManager.d.ts.map +1 -0
- package/dist/esm/serviceBusRuleManager.js +125 -0
- package/dist/esm/serviceBusRuleManager.js.map +1 -0
- package/dist/esm/session/messageSession.d.ts +236 -0
- package/dist/esm/session/messageSession.d.ts.map +1 -0
- package/dist/esm/session/messageSession.js +650 -0
- package/dist/esm/session/messageSession.js.map +1 -0
- package/dist/esm/util/atomXmlHelper.d.ts +56 -0
- package/dist/esm/util/atomXmlHelper.d.ts.map +1 -0
- package/dist/esm/util/atomXmlHelper.js +379 -0
- package/dist/esm/util/atomXmlHelper.js.map +1 -0
- package/dist/esm/util/compat/compatibility.d.ts +109 -0
- package/dist/esm/util/compat/compatibility.d.ts.map +1 -0
- package/dist/esm/util/compat/compatibility.js +27 -0
- package/dist/esm/util/compat/compatibility.js.map +1 -0
- package/dist/esm/util/compat/httpHeaders.d.ts +136 -0
- package/dist/esm/util/compat/httpHeaders.d.ts.map +1 -0
- package/dist/esm/util/compat/httpHeaders.js +151 -0
- package/dist/esm/util/compat/httpHeaders.js.map +1 -0
- package/dist/esm/util/compat/index.d.ts +3 -0
- package/dist/esm/util/compat/index.d.ts.map +1 -0
- package/dist/esm/util/compat/index.js +5 -0
- package/dist/esm/util/compat/index.js.map +1 -0
- package/dist/esm/util/connectionStringUtils.d.ts +53 -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 +322 -0
- package/dist/esm/util/constants.d.ts.map +1 -0
- package/dist/esm/util/constants.js +324 -0
- package/dist/esm/util/constants.js.map +1 -0
- package/dist/esm/util/crypto.d.ts +5 -0
- package/dist/esm/util/crypto.d.ts.map +1 -0
- package/{dist-esm/src → dist/esm}/util/crypto.js +1 -3
- package/dist/esm/util/crypto.js.map +1 -0
- package/dist/esm/util/errors.d.ts +130 -0
- package/dist/esm/util/errors.d.ts.map +1 -0
- package/dist/esm/util/errors.js +220 -0
- package/dist/esm/util/errors.js.map +1 -0
- package/dist/esm/util/parseUrl.d.ts +5 -0
- package/dist/esm/util/parseUrl.d.ts.map +1 -0
- package/{dist-esm/src → dist/esm}/util/parseUrl.js +0 -6
- package/dist/esm/util/parseUrl.js.map +1 -0
- package/dist/esm/util/runtimeInfo.d.ts +7 -0
- package/dist/esm/util/runtimeInfo.d.ts.map +1 -0
- package/{dist-esm/src → dist/esm}/util/runtimeInfo.js +2 -2
- package/{dist-esm/src → dist/esm}/util/runtimeInfo.js.map +1 -1
- package/dist/esm/util/sasServiceClientCredentials.d.ts +31 -0
- package/dist/esm/util/sasServiceClientCredentials.d.ts.map +1 -0
- package/dist/esm/util/sasServiceClientCredentials.js +44 -0
- package/dist/esm/util/sasServiceClientCredentials.js.map +1 -0
- package/dist/esm/util/semaphore.d.ts +38 -0
- package/dist/esm/util/semaphore.d.ts.map +1 -0
- package/dist/esm/util/semaphore.js +77 -0
- package/dist/esm/util/semaphore.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 +247 -0
- package/dist/esm/util/utils.d.ts.map +1 -0
- package/dist/esm/util/utils.js +498 -0
- package/dist/esm/util/utils.js.map +1 -0
- package/dist/react-native/connectionContext.d.ts +109 -0
- package/dist/react-native/connectionContext.d.ts.map +1 -0
- package/dist/react-native/connectionContext.js +356 -0
- package/dist/react-native/connectionContext.js.map +1 -0
- package/dist/react-native/constructorHelpers.d.ts +79 -0
- package/dist/react-native/constructorHelpers.d.ts.map +1 -0
- package/dist/react-native/constructorHelpers.js +97 -0
- package/dist/react-native/constructorHelpers.js.map +1 -0
- package/dist/react-native/core/autoLockRenewer.d.ts +58 -0
- package/dist/react-native/core/autoLockRenewer.d.ts.map +1 -0
- package/dist/react-native/core/autoLockRenewer.js +170 -0
- package/dist/react-native/core/autoLockRenewer.js.map +1 -0
- package/dist/react-native/core/batchingReceiver.d.ts +120 -0
- package/dist/react-native/core/batchingReceiver.d.ts.map +1 -0
- package/dist/react-native/core/batchingReceiver.js +391 -0
- package/dist/react-native/core/batchingReceiver.js.map +1 -0
- package/dist/react-native/core/linkEntity.d.ts +192 -0
- package/dist/react-native/core/linkEntity.d.ts.map +1 -0
- package/dist/react-native/core/linkEntity.js +279 -0
- package/dist/react-native/core/linkEntity.js.map +1 -0
- package/dist/react-native/core/managementClient.d.ts +312 -0
- package/dist/react-native/core/managementClient.d.ts.map +1 -0
- package/dist/react-native/core/managementClient.js +1072 -0
- package/dist/react-native/core/managementClient.js.map +1 -0
- package/dist/react-native/core/messageReceiver.d.ts +147 -0
- package/dist/react-native/core/messageReceiver.d.ts.map +1 -0
- package/dist/react-native/core/messageReceiver.js +138 -0
- package/dist/react-native/core/messageReceiver.js.map +1 -0
- package/dist/react-native/core/messageSender.d.ts +93 -0
- package/dist/react-native/core/messageSender.d.ts.map +1 -0
- package/dist/react-native/core/messageSender.js +280 -0
- package/dist/react-native/core/messageSender.js.map +1 -0
- package/dist/react-native/core/receiverHelper.d.ts +45 -0
- package/dist/react-native/core/receiverHelper.d.ts.map +1 -0
- package/dist/react-native/core/receiverHelper.js +118 -0
- package/dist/react-native/core/receiverHelper.js.map +1 -0
- package/dist/react-native/core/shared.d.ts +34 -0
- package/dist/react-native/core/shared.d.ts.map +1 -0
- package/dist/react-native/core/shared.js +59 -0
- package/dist/react-native/core/shared.js.map +1 -0
- package/dist/react-native/core/streamingReceiver.d.ts +142 -0
- package/dist/react-native/core/streamingReceiver.d.ts.map +1 -0
- package/dist/react-native/core/streamingReceiver.js +491 -0
- package/dist/react-native/core/streamingReceiver.js.map +1 -0
- package/dist/react-native/dataTransformer.d.ts +77 -0
- package/dist/react-native/dataTransformer.d.ts.map +1 -0
- package/dist/react-native/dataTransformer.js +163 -0
- package/dist/react-native/dataTransformer.js.map +1 -0
- package/dist/react-native/diagnostics/instrumentServiceBusMessage.d.ts +50 -0
- package/dist/react-native/diagnostics/instrumentServiceBusMessage.d.ts.map +1 -0
- package/dist/react-native/diagnostics/instrumentServiceBusMessage.js +93 -0
- package/dist/react-native/diagnostics/instrumentServiceBusMessage.js.map +1 -0
- package/dist/react-native/diagnostics/tracing.d.ts +21 -0
- package/dist/react-native/diagnostics/tracing.d.ts.map +1 -0
- package/dist/react-native/diagnostics/tracing.js +37 -0
- package/dist/react-native/diagnostics/tracing.js.map +1 -0
- package/dist/react-native/experimental/index.d.ts +10 -0
- package/dist/react-native/experimental/index.d.ts.map +1 -0
- package/dist/react-native/experimental/index.js +4 -0
- package/dist/react-native/experimental/index.js.map +1 -0
- package/dist/react-native/index.d.ts +26 -0
- package/dist/react-native/index.d.ts.map +1 -0
- package/dist/react-native/index.js +10 -0
- package/dist/react-native/index.js.map +1 -0
- package/dist/react-native/log.d.ts +70 -0
- package/dist/react-native/log.d.ts.map +1 -0
- package/dist/react-native/log.js +89 -0
- package/dist/react-native/log.js.map +1 -0
- package/dist/react-native/models.d.ts +328 -0
- package/dist/react-native/models.d.ts.map +1 -0
- package/dist/react-native/models.js +4 -0
- package/dist/react-native/models.js.map +1 -0
- package/dist/react-native/modelsToBeSharedWithEventHubs.d.ts +18 -0
- package/dist/react-native/modelsToBeSharedWithEventHubs.d.ts.map +1 -0
- package/dist/react-native/modelsToBeSharedWithEventHubs.js +4 -0
- package/dist/react-native/modelsToBeSharedWithEventHubs.js.map +1 -0
- package/dist/react-native/package.json +3 -0
- package/dist/react-native/receivers/receiver.d.ts +299 -0
- package/dist/react-native/receivers/receiver.d.ts.map +1 -0
- package/dist/react-native/receivers/receiver.js +334 -0
- package/dist/react-native/receivers/receiver.js.map +1 -0
- package/dist/react-native/receivers/receiverCommon.d.ts +81 -0
- package/dist/react-native/receivers/receiverCommon.d.ts.map +1 -0
- package/dist/react-native/receivers/receiverCommon.js +242 -0
- package/dist/react-native/receivers/receiverCommon.js.map +1 -0
- package/dist/react-native/receivers/sessionReceiver.d.ts +189 -0
- package/dist/react-native/receivers/sessionReceiver.d.ts.map +1 -0
- package/dist/react-native/receivers/sessionReceiver.js +388 -0
- package/dist/react-native/receivers/sessionReceiver.js.map +1 -0
- package/dist/react-native/sender.d.ts +125 -0
- package/dist/react-native/sender.d.ts.map +1 -0
- package/dist/react-native/sender.js +164 -0
- package/dist/react-native/sender.js.map +1 -0
- package/dist/react-native/serializers/namespaceResourceSerializer.d.ts +46 -0
- package/dist/react-native/serializers/namespaceResourceSerializer.d.ts.map +1 -0
- package/dist/react-native/serializers/namespaceResourceSerializer.js +34 -0
- package/dist/react-native/serializers/namespaceResourceSerializer.js.map +1 -0
- package/dist/react-native/serializers/queueResourceSerializer.d.ts +461 -0
- package/dist/react-native/serializers/queueResourceSerializer.d.ts.map +1 -0
- package/dist/react-native/serializers/queueResourceSerializer.js +91 -0
- package/dist/react-native/serializers/queueResourceSerializer.js.map +1 -0
- package/dist/react-native/serializers/ruleResourceSerializer.d.ts +135 -0
- package/dist/react-native/serializers/ruleResourceSerializer.d.ts.map +1 -0
- package/dist/react-native/serializers/ruleResourceSerializer.js +279 -0
- package/dist/react-native/serializers/ruleResourceSerializer.js.map +1 -0
- package/dist/react-native/serializers/subscriptionResourceSerializer.d.ts +396 -0
- package/dist/react-native/serializers/subscriptionResourceSerializer.d.ts.map +1 -0
- package/dist/react-native/serializers/subscriptionResourceSerializer.js +95 -0
- package/dist/react-native/serializers/subscriptionResourceSerializer.js.map +1 -0
- package/dist/react-native/serializers/topicResourceSerializer.d.ts +335 -0
- package/dist/react-native/serializers/topicResourceSerializer.d.ts.map +1 -0
- package/dist/react-native/serializers/topicResourceSerializer.js +89 -0
- package/dist/react-native/serializers/topicResourceSerializer.js.map +1 -0
- package/dist/react-native/serviceBusAtomManagementClient.d.ts +652 -0
- package/dist/react-native/serviceBusAtomManagementClient.d.ts.map +1 -0
- package/dist/react-native/serviceBusAtomManagementClient.js +1690 -0
- package/dist/react-native/serviceBusAtomManagementClient.js.map +1 -0
- package/dist/react-native/serviceBusClient.d.ts +231 -0
- package/dist/react-native/serviceBusClient.d.ts.map +1 -0
- package/dist/react-native/serviceBusClient.js +207 -0
- package/dist/react-native/serviceBusClient.js.map +1 -0
- package/dist/react-native/serviceBusError.d.ts +119 -0
- package/dist/react-native/serviceBusError.d.ts.map +1 -0
- package/dist/react-native/serviceBusError.js +83 -0
- package/dist/react-native/serviceBusError.js.map +1 -0
- package/dist/react-native/serviceBusMessage.d.ts +529 -0
- package/dist/react-native/serviceBusMessage.d.ts.map +1 -0
- package/dist/react-native/serviceBusMessage.js +403 -0
- package/dist/react-native/serviceBusMessage.js.map +1 -0
- package/dist/react-native/serviceBusMessageBatch.d.ts +153 -0
- package/dist/react-native/serviceBusMessageBatch.d.ts.map +1 -0
- package/dist/react-native/serviceBusMessageBatch.js +168 -0
- package/dist/react-native/serviceBusMessageBatch.js.map +1 -0
- package/dist/react-native/serviceBusRuleManager.d.ts +103 -0
- package/dist/react-native/serviceBusRuleManager.d.ts.map +1 -0
- package/dist/react-native/serviceBusRuleManager.js +125 -0
- package/dist/react-native/serviceBusRuleManager.js.map +1 -0
- package/dist/react-native/session/messageSession.d.ts +236 -0
- package/dist/react-native/session/messageSession.d.ts.map +1 -0
- package/dist/react-native/session/messageSession.js +650 -0
- package/dist/react-native/session/messageSession.js.map +1 -0
- package/dist/react-native/util/atomXmlHelper.d.ts +56 -0
- package/dist/react-native/util/atomXmlHelper.d.ts.map +1 -0
- package/dist/react-native/util/atomXmlHelper.js +379 -0
- package/dist/react-native/util/atomXmlHelper.js.map +1 -0
- package/dist/react-native/util/compat/compatibility.d.ts +109 -0
- package/dist/react-native/util/compat/compatibility.d.ts.map +1 -0
- package/dist/react-native/util/compat/compatibility.js +27 -0
- package/dist/react-native/util/compat/compatibility.js.map +1 -0
- package/dist/react-native/util/compat/httpHeaders.d.ts +136 -0
- package/dist/react-native/util/compat/httpHeaders.d.ts.map +1 -0
- package/dist/react-native/util/compat/httpHeaders.js +151 -0
- package/dist/react-native/util/compat/httpHeaders.js.map +1 -0
- package/dist/react-native/util/compat/index.d.ts +3 -0
- package/dist/react-native/util/compat/index.d.ts.map +1 -0
- package/dist/react-native/util/compat/index.js +5 -0
- package/dist/react-native/util/compat/index.js.map +1 -0
- package/dist/react-native/util/connectionStringUtils.d.ts +53 -0
- package/dist/react-native/util/connectionStringUtils.d.ts.map +1 -0
- package/dist/react-native/util/connectionStringUtils.js +48 -0
- package/dist/react-native/util/connectionStringUtils.js.map +1 -0
- package/dist/react-native/util/constants.d.ts +322 -0
- package/dist/react-native/util/constants.d.ts.map +1 -0
- package/dist/react-native/util/constants.js +324 -0
- package/dist/react-native/util/constants.js.map +1 -0
- package/dist/react-native/util/crypto.d.ts +5 -0
- package/dist/react-native/util/crypto.d.ts.map +1 -0
- package/dist/react-native/util/crypto.js +11 -0
- package/dist/react-native/util/crypto.js.map +1 -0
- package/dist/react-native/util/errors.d.ts +130 -0
- package/dist/react-native/util/errors.d.ts.map +1 -0
- package/dist/react-native/util/errors.js +220 -0
- package/dist/react-native/util/errors.js.map +1 -0
- package/dist/react-native/util/parseUrl.d.ts +5 -0
- package/dist/react-native/util/parseUrl.d.ts.map +1 -0
- package/dist/react-native/util/parseUrl.js +9 -0
- package/dist/react-native/util/parseUrl.js.map +1 -0
- package/dist/react-native/util/runtimeInfo-react-native.d.mts.map +1 -0
- package/dist/react-native/util/runtimeInfo-react-native.mjs.map +1 -0
- package/dist/react-native/util/runtimeInfo.d.ts +7 -0
- package/{dist-esm/src/util/runtimeInfo.native.js → dist/react-native/util/runtimeInfo.js} +3 -3
- package/dist/react-native/util/sasServiceClientCredentials.d.ts +31 -0
- package/dist/react-native/util/sasServiceClientCredentials.d.ts.map +1 -0
- package/dist/react-native/util/sasServiceClientCredentials.js +44 -0
- package/dist/react-native/util/sasServiceClientCredentials.js.map +1 -0
- package/dist/react-native/util/semaphore.d.ts +38 -0
- package/dist/react-native/util/semaphore.d.ts.map +1 -0
- package/dist/react-native/util/semaphore.js +77 -0
- package/dist/react-native/util/semaphore.js.map +1 -0
- package/dist/react-native/util/typeGuards.d.ts +8 -0
- package/dist/react-native/util/typeGuards.d.ts.map +1 -0
- package/dist/react-native/util/typeGuards.js +12 -0
- package/dist/react-native/util/typeGuards.js.map +1 -0
- package/dist/react-native/util/utils.d.ts +247 -0
- package/dist/react-native/util/utils.d.ts.map +1 -0
- package/dist/react-native/util/utils.js +498 -0
- package/dist/react-native/util/utils.js.map +1 -0
- package/package.json +115 -96
- package/dist/index.js +0 -10438
- package/dist/index.js.map +0 -1
- package/dist-esm/src/connectionContext.js.map +0 -1
- package/dist-esm/src/constructorHelpers.js.map +0 -1
- package/dist-esm/src/core/autoLockRenewer.js.map +0 -1
- package/dist-esm/src/core/batchingReceiver.js.map +0 -1
- package/dist-esm/src/core/linkEntity.js.map +0 -1
- package/dist-esm/src/core/managementClient.js.map +0 -1
- package/dist-esm/src/core/messageReceiver.js.map +0 -1
- package/dist-esm/src/core/messageSender.js.map +0 -1
- package/dist-esm/src/core/receiverHelper.js.map +0 -1
- package/dist-esm/src/core/shared.js.map +0 -1
- package/dist-esm/src/core/streamingReceiver.js.map +0 -1
- package/dist-esm/src/dataTransformer.js.map +0 -1
- package/dist-esm/src/diagnostics/instrumentServiceBusMessage.js.map +0 -1
- package/dist-esm/src/diagnostics/tracing.js.map +0 -1
- package/dist-esm/src/index.js.map +0 -1
- package/dist-esm/src/log.js.map +0 -1
- package/dist-esm/src/models.js +0 -4
- package/dist-esm/src/models.js.map +0 -1
- package/dist-esm/src/modelsToBeSharedWithEventHubs.js +0 -4
- package/dist-esm/src/modelsToBeSharedWithEventHubs.js.map +0 -1
- package/dist-esm/src/receivers/receiver.js.map +0 -1
- package/dist-esm/src/receivers/receiverCommon.js.map +0 -1
- package/dist-esm/src/receivers/sessionReceiver.js.map +0 -1
- package/dist-esm/src/sender.js.map +0 -1
- package/dist-esm/src/serializers/namespaceResourceSerializer.js.map +0 -1
- package/dist-esm/src/serializers/queueResourceSerializer.js.map +0 -1
- package/dist-esm/src/serializers/ruleResourceSerializer.js.map +0 -1
- package/dist-esm/src/serializers/subscriptionResourceSerializer.js.map +0 -1
- package/dist-esm/src/serializers/topicResourceSerializer.js.map +0 -1
- package/dist-esm/src/serviceBusAtomManagementClient.js.map +0 -1
- package/dist-esm/src/serviceBusClient.js.map +0 -1
- package/dist-esm/src/serviceBusError.js.map +0 -1
- package/dist-esm/src/serviceBusMessage.js.map +0 -1
- package/dist-esm/src/serviceBusMessageBatch.js.map +0 -1
- package/dist-esm/src/serviceBusRuleManager.js.map +0 -1
- package/dist-esm/src/session/messageSession.js.map +0 -1
- package/dist-esm/src/util/atomXmlHelper.js.map +0 -1
- package/dist-esm/src/util/compat/compatibility.js.map +0 -1
- package/dist-esm/src/util/compat/index.js +0 -5
- package/dist-esm/src/util/compat/index.js.map +0 -1
- package/dist-esm/src/util/connectionStringUtils.js.map +0 -1
- package/dist-esm/src/util/crypto.browser.js.map +0 -1
- package/dist-esm/src/util/crypto.js.map +0 -1
- package/dist-esm/src/util/errors.js.map +0 -1
- package/dist-esm/src/util/parseUrl.browser.js.map +0 -1
- package/dist-esm/src/util/parseUrl.js.map +0 -1
- package/dist-esm/src/util/runtimeInfo.browser.js.map +0 -1
- package/dist-esm/src/util/runtimeInfo.native.js.map +0 -1
- package/dist-esm/src/util/sasServiceClientCredentials.js.map +0 -1
- package/dist-esm/src/util/typeGuards.js.map +0 -1
- package/dist-esm/src/util/utils.js.map +0 -1
- package/types/latest/service-bus-beta.d.ts +0 -3197
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { Delivery, ReceiverOptions, Source } from "rhea-promise";
|
|
2
|
+
import type { ReceiveMode } from "../models.js";
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export type ReceiverHandlers = Pick<ReceiverOptions, "onMessage" | "onError" | "onClose" | "onSessionError" | "onSessionClose" | "onSettled">;
|
|
7
|
+
/**
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export interface DeferredPromiseAndTimer {
|
|
11
|
+
resolve: (value?: any) => void;
|
|
12
|
+
reject: (reason?: any) => void;
|
|
13
|
+
timer: NodeJS.Timeout;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* This is the shared onSettled handler for all of the receiver implementations.
|
|
17
|
+
*
|
|
18
|
+
* The sequence is basically:
|
|
19
|
+
* 1. User calls `await <ServiceBusMessage instance>.complete()` (or other settlement methods)
|
|
20
|
+
* 2. This creates a `Promise` that gets stored in the _deliveryDispositionMap
|
|
21
|
+
* 3. When the service acknowledges the settlement this method gets called for that message.
|
|
22
|
+
* 4. We resolve() the promise from the _deliveryDispositionMap.
|
|
23
|
+
* 5. User's code after the settlement continues.
|
|
24
|
+
*
|
|
25
|
+
* @internal
|
|
26
|
+
*/
|
|
27
|
+
export declare function onMessageSettled(logPrefix: string, delivery: Delivery | undefined, deliveryDispositionMap: Map<number, DeferredPromiseAndTimer>): void;
|
|
28
|
+
/**
|
|
29
|
+
* Creates the options that need to be specified while creating an AMQP receiver link.
|
|
30
|
+
*
|
|
31
|
+
* @internal
|
|
32
|
+
*/
|
|
33
|
+
export declare function createReceiverOptions(name: string, receiveMode: ReceiveMode, source: Source, clientId: string, handlers: ReceiverHandlers, timeoutInMs?: number): ReceiverOptions;
|
|
34
|
+
//# sourceMappingURL=shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/core/shared.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,eAAe,EACf,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,WAAW,CACxF,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;CACvB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,GAC3D,IAAI,CAmCN;AAID;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,gBAAgB,EAC1B,WAAW,CAAC,EAAE,MAAM,GACnB,eAAe,CAsBjB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Copyright (c) Microsoft Corporation.
|
|
2
|
-
// Licensed under the MIT
|
|
3
|
-
import { translateServiceBusError } from "../serviceBusError";
|
|
4
|
-
import { receiverLogger } from "../log";
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { translateServiceBusError } from "../serviceBusError.js";
|
|
4
|
+
import { receiverLogger } from "../log.js";
|
|
5
5
|
import { Constants } from "@azure/core-amqp";
|
|
6
6
|
/**
|
|
7
7
|
* This is the shared onSettled handler for all of the receiver implementations.
|
|
@@ -46,21 +46,14 @@ export function createReceiverOptions(name, receiveMode, source, clientId, handl
|
|
|
46
46
|
const properties = timeoutInMs !== undefined
|
|
47
47
|
? { [Constants.receiverIdentifierName]: clientId, [timeoutName]: timeoutInMs }
|
|
48
48
|
: { [Constants.receiverIdentifierName]: clientId };
|
|
49
|
-
const rcvrOptions = {
|
|
50
|
-
name,
|
|
49
|
+
const rcvrOptions = Object.assign({ name,
|
|
51
50
|
// "autoaccept" being true in the "receiveAndDelete" mode sets the "settled" flag to true on the deliveries
|
|
52
51
|
// which helps in clearing the circular buffer(size=2048) as it is needed to receive messages after 2048 of them are received.
|
|
53
|
-
autoaccept: receiveMode === "receiveAndDelete" ? true : false,
|
|
52
|
+
autoaccept: receiveMode === "receiveAndDelete" ? true : false,
|
|
54
53
|
// receiveAndDelete -> first(0), peekLock -> second (1)
|
|
55
|
-
rcv_settle_mode: receiveMode === "receiveAndDelete" ? 0 : 1,
|
|
54
|
+
rcv_settle_mode: receiveMode === "receiveAndDelete" ? 0 : 1,
|
|
56
55
|
// receiveAndDelete -> settled (1), peekLock -> unsettled (0)
|
|
57
|
-
snd_settle_mode: receiveMode === "receiveAndDelete" ? 1 : 0,
|
|
58
|
-
source,
|
|
59
|
-
target: clientId,
|
|
60
|
-
credit_window: 0,
|
|
61
|
-
properties,
|
|
62
|
-
...handlers,
|
|
63
|
-
};
|
|
56
|
+
snd_settle_mode: receiveMode === "receiveAndDelete" ? 1 : 0, source, target: clientId, credit_window: 0, properties }, handlers);
|
|
64
57
|
return rcvrOptions;
|
|
65
58
|
}
|
|
66
59
|
//# sourceMappingURL=shared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/core/shared.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAmB7C;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAC9B,SAAiB,EACjB,QAA8B,EAC9B,sBAA4D;IAE5D,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC;QACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC;QACxC,cAAc,CAAC,OAAO,CACpB,wEAAwE,GAAG,WAAW,EACtF,SAAS,EACT,EAAE,EACF,OAAO,EACP,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAC3C,CAAC;QACF,IAAI,OAAO,IAAI,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAA4B,CAAC;YAC1E,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5B,cAAc,CAAC,OAAO,CACpB,oEAAoE,EACpE,SAAS,EACT,EAAE,CACH,CAAC;YACF,MAAM,YAAY,GAAG,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACvD,cAAc,CAAC,OAAO,CACpB,+DAA+D,EAC/D,SAAS,EACT,EAAE,EACF,YAAY,CACb,CAAC;YACF,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/E,MAAM,KAAK,GAAG,wBAAwB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACpD,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;YAED,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;AACH,CAAC;AAED,8GAA8G;AAC9G,MAAM,WAAW,GAAG,GAAG,SAAS,CAAC,YAAY,UAAU,CAAC;AACxD;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAAY,EACZ,WAAwB,EACxB,MAAc,EACd,QAAgB,EAChB,QAA0B,EAC1B,WAAoB;IAEpB,MAAM,UAAU,GACd,WAAW,KAAK,SAAS;QACvB,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,sBAAsB,CAAC,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE;QAC9E,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,sBAAsB,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvD,MAAM,WAAW,mBACf,IAAI;QACJ,2GAA2G;QAC3G,8HAA8H;QAC9H,UAAU,EAAE,WAAW,KAAK,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;QAC7D,uDAAuD;QACvD,eAAe,EAAE,WAAW,KAAK,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,6DAA6D;QAC7D,eAAe,EAAE,WAAW,KAAK,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC3D,MAAM,EACN,MAAM,EAAE,QAAQ,EAChB,aAAa,EAAE,CAAC,EAChB,UAAU,IACP,QAAQ,CACZ,CAAC;IAEF,OAAO,WAAW,CAAC;AACrB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { Delivery, ReceiverOptions, Source } from \"rhea-promise\";\nimport { translateServiceBusError } from \"../serviceBusError.js\";\nimport { receiverLogger } from \"../log.js\";\nimport type { ReceiveMode } from \"../models.js\";\nimport { Constants } from \"@azure/core-amqp\";\n\n/**\n * @internal\n */\nexport type ReceiverHandlers = Pick<\n ReceiverOptions,\n \"onMessage\" | \"onError\" | \"onClose\" | \"onSessionError\" | \"onSessionClose\" | \"onSettled\"\n>;\n\n/**\n * @internal\n */\nexport interface DeferredPromiseAndTimer {\n resolve: (value?: any) => void;\n reject: (reason?: any) => void;\n timer: NodeJS.Timeout;\n}\n\n/**\n * This is the shared onSettled handler for all of the receiver implementations.\n *\n * The sequence is basically:\n * 1. User calls `await <ServiceBusMessage instance>.complete()` (or other settlement methods)\n * 2. This creates a `Promise` that gets stored in the _deliveryDispositionMap\n * 3. When the service acknowledges the settlement this method gets called for that message.\n * 4. We resolve() the promise from the _deliveryDispositionMap.\n * 5. User's code after the settlement continues.\n *\n * @internal\n */\nexport function onMessageSettled(\n logPrefix: string,\n delivery: Delivery | undefined,\n deliveryDispositionMap: Map<number, DeferredPromiseAndTimer>,\n): void {\n if (delivery) {\n const id = delivery.id;\n const state = delivery.remote_state;\n const settled = delivery.remote_settled;\n receiverLogger.verbose(\n \"%s Delivery with id %d, remote_settled: %s, remote_state: %o has been \" + \"received.\",\n logPrefix,\n id,\n settled,\n state && state.error ? state.error : state,\n );\n if (settled && deliveryDispositionMap.has(id)) {\n const promise = deliveryDispositionMap.get(id) as DeferredPromiseAndTimer;\n clearTimeout(promise.timer);\n receiverLogger.verbose(\n \"%s Found the delivery with id %d in the map and cleared the timer.\",\n logPrefix,\n id,\n );\n const deleteResult = deliveryDispositionMap.delete(id);\n receiverLogger.verbose(\n \"%s Successfully deleted the delivery with id %d from the map.\",\n logPrefix,\n id,\n deleteResult,\n );\n if (state && state.error && (state.error.condition || state.error.description)) {\n const error = translateServiceBusError(state.error);\n return promise.reject(error);\n }\n\n return promise.resolve();\n }\n }\n}\n\n// Placed in Service Bus for now and can be promoted to core-amqp if also useful for Event Hubs in the future.\nconst timeoutName = `${Constants.vendorString}:timeout`;\n/**\n * Creates the options that need to be specified while creating an AMQP receiver link.\n *\n * @internal\n */\nexport function createReceiverOptions(\n name: string,\n receiveMode: ReceiveMode,\n source: Source,\n clientId: string,\n handlers: ReceiverHandlers,\n timeoutInMs?: number,\n): ReceiverOptions {\n const properties =\n timeoutInMs !== undefined\n ? { [Constants.receiverIdentifierName]: clientId, [timeoutName]: timeoutInMs }\n : { [Constants.receiverIdentifierName]: clientId };\n const rcvrOptions: ReceiverOptions = {\n name,\n // \"autoaccept\" being true in the \"receiveAndDelete\" mode sets the \"settled\" flag to true on the deliveries\n // which helps in clearing the circular buffer(size=2048) as it is needed to receive messages after 2048 of them are received.\n autoaccept: receiveMode === \"receiveAndDelete\" ? true : false,\n // receiveAndDelete -> first(0), peekLock -> second (1)\n rcv_settle_mode: receiveMode === \"receiveAndDelete\" ? 0 : 1,\n // receiveAndDelete -> settled (1), peekLock -> unsettled (0)\n snd_settle_mode: receiveMode === \"receiveAndDelete\" ? 1 : 0,\n source,\n target: clientId,\n credit_window: 0,\n properties,\n ...handlers,\n };\n\n return rcvrOptions;\n}\n"]}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import type { OnAmqpEventAsPromise, ReceiveOptions } from "./messageReceiver.js";
|
|
2
|
+
import { MessageReceiver } from "./messageReceiver.js";
|
|
3
|
+
import type { ConnectionContext } from "../connectionContext.js";
|
|
4
|
+
import type { OperationOptionsBase } from "../modelsToBeSharedWithEventHubs.js";
|
|
5
|
+
import type { AmqpError } from "rhea-promise";
|
|
6
|
+
import type { InternalMessageHandlers, MessageHandlers, SubscribeOptions } from "../models.js";
|
|
7
|
+
/**
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export interface StreamingReceiverInitArgs extends ReceiveOptions, Pick<OperationOptionsBase, "abortSignal"> {
|
|
11
|
+
messageHandlers: MessageHandlers;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* @internal
|
|
15
|
+
* Describes the streaming receiver where the user can receive the message
|
|
16
|
+
* by providing handler functions.
|
|
17
|
+
*/
|
|
18
|
+
export declare class StreamingReceiver extends MessageReceiver {
|
|
19
|
+
/**
|
|
20
|
+
* The maximum number of messages that should be
|
|
21
|
+
* processed concurrently while in streaming mode. Once this limit has been reached, more
|
|
22
|
+
* messages will not be received until the user's message handler has completed processing current message.
|
|
23
|
+
* Default: 1
|
|
24
|
+
*/
|
|
25
|
+
maxConcurrentCalls: number;
|
|
26
|
+
/**
|
|
27
|
+
* Indicates whether the receiver is already actively
|
|
28
|
+
* running `onDetached`.
|
|
29
|
+
* This is expected to be true while the receiver attempts
|
|
30
|
+
* to bring its link back up due to a retryable issue.
|
|
31
|
+
*/
|
|
32
|
+
private _isDetaching;
|
|
33
|
+
/**
|
|
34
|
+
*Retry policy options that determine the mode, number of retries, retry interval etc.
|
|
35
|
+
*/
|
|
36
|
+
private _retryOptions;
|
|
37
|
+
private _receiverHelper;
|
|
38
|
+
/**
|
|
39
|
+
* The user's message handlers, wrapped so any thrown exceptions are properly logged
|
|
40
|
+
* or forwarded to the user's processError handler.
|
|
41
|
+
*/
|
|
42
|
+
private _messageHandlers;
|
|
43
|
+
/**
|
|
44
|
+
* The subscribe(options) passed when the subscribe call originally happened. Stored
|
|
45
|
+
* so _subscribeImpl() can re-use them later if we have to restart our subscription
|
|
46
|
+
* when detach/reattaching.
|
|
47
|
+
*/
|
|
48
|
+
private _subscribeOptions;
|
|
49
|
+
/**
|
|
50
|
+
* Used so we can stub out retry in tests.
|
|
51
|
+
*/
|
|
52
|
+
private _retryForeverFn;
|
|
53
|
+
/**
|
|
54
|
+
* The message handler that will be set as the handler on the
|
|
55
|
+
* underlying rhea receiver for the "receiver_close" event.
|
|
56
|
+
*/
|
|
57
|
+
private _onAmqpClose;
|
|
58
|
+
/**
|
|
59
|
+
* The message handler that will be set as the handler on
|
|
60
|
+
* the underlying rhea receiver's session for the "session_close" event.
|
|
61
|
+
*/
|
|
62
|
+
private _onSessionClose;
|
|
63
|
+
/**
|
|
64
|
+
* The message handler that will be set as the handler on
|
|
65
|
+
* the underlying rhea receiver's session for the "session_error" event.
|
|
66
|
+
*/
|
|
67
|
+
private _onSessionError;
|
|
68
|
+
/**
|
|
69
|
+
* The message handler that will be set as the handler on the
|
|
70
|
+
* underlying rhea receiver for the "receiver_error" event.
|
|
71
|
+
*/
|
|
72
|
+
private _onAmqpError;
|
|
73
|
+
/**
|
|
74
|
+
* The message handler that will be set as the handler on the
|
|
75
|
+
* underlying rhea receiver for the "message" event.
|
|
76
|
+
*/
|
|
77
|
+
protected _onAmqpMessage: OnAmqpEventAsPromise;
|
|
78
|
+
/**
|
|
79
|
+
* Whether we are currently subscribed (or subscribing) for receiving messages.
|
|
80
|
+
* (this is irrespective of receiver state, etc... - it's just a simple flag to prevent
|
|
81
|
+
* multiple subscribe() calls from happening on this instance)
|
|
82
|
+
*/
|
|
83
|
+
get isSubscribeActive(): boolean;
|
|
84
|
+
/**
|
|
85
|
+
* Instantiate a new Streaming receiver for receiving messages with handlers.
|
|
86
|
+
*
|
|
87
|
+
* @param identifier - the name used to identifier the receiver
|
|
88
|
+
* @param connectionContext - The client entity context.
|
|
89
|
+
* @param options - Options for how you'd like to connect.
|
|
90
|
+
*/
|
|
91
|
+
constructor(identifier: string, connectionContext: ConnectionContext, entityPath: string, options: ReceiveOptions);
|
|
92
|
+
private _reportInternalError;
|
|
93
|
+
private _getHandlers;
|
|
94
|
+
stopReceivingMessages(): Promise<void>;
|
|
95
|
+
close(): Promise<void>;
|
|
96
|
+
private _subscribeCallPromise;
|
|
97
|
+
/**
|
|
98
|
+
* Starts the receiver by establishing an AMQP session and an AMQP receiver link on the session.
|
|
99
|
+
*
|
|
100
|
+
* Any errors thrown by this function will also be sent to the messageHandlers.processError function
|
|
101
|
+
* _and_ thrown, ultimately from this method.
|
|
102
|
+
*
|
|
103
|
+
* NOTE: This function retries _infinitely_ until success! It is completely up to the user to break
|
|
104
|
+
* out of this retry cycle otherwise by:
|
|
105
|
+
* 1. closing the receiver
|
|
106
|
+
* 2. Calling `close` on the subscription instance they received when they initially called subscribe().
|
|
107
|
+
* 3. aborting the abortSignal they passed in when calling subscribe (this also applies to initialization calls in onDetach)
|
|
108
|
+
*
|
|
109
|
+
* @param onMessage - The message handler to receive servicebus messages.
|
|
110
|
+
* @param onError - The error handler to receive an error that occurs while receivin messages.
|
|
111
|
+
*/
|
|
112
|
+
subscribe(messageHandlers: InternalMessageHandlers, subscribeOptions: SubscribeOptions | undefined): Promise<void>;
|
|
113
|
+
/**
|
|
114
|
+
* Wraps the individual message handlers with tracing and proper error handling
|
|
115
|
+
* and assigns them to `this._messageHandlers`
|
|
116
|
+
*
|
|
117
|
+
* @param userHandlers - The user's message handlers
|
|
118
|
+
* @param operationOptions - The subscribe(options)
|
|
119
|
+
*/
|
|
120
|
+
private _setMessageHandlers;
|
|
121
|
+
/**
|
|
122
|
+
* Subscribes using the already assigned `this._messageHandlers` and `this._subscribeOptions`
|
|
123
|
+
*
|
|
124
|
+
* @returns A promise that will resolve when a link is created and we successfully add credits to it.
|
|
125
|
+
*/
|
|
126
|
+
private _subscribeImpl;
|
|
127
|
+
/**
|
|
128
|
+
* Initializes the link and adds credits. If any of these operations fail any created link will
|
|
129
|
+
* be closed.
|
|
130
|
+
*
|
|
131
|
+
* @param caller - The caller which dictates whether or not we create a new name for our created link.
|
|
132
|
+
* @param catchAndReportError - A function and reports an error but does not throw it.
|
|
133
|
+
*/
|
|
134
|
+
private _initAndAddCreditOperation;
|
|
135
|
+
/**
|
|
136
|
+
* Will reconnect the receiver link if necessary.
|
|
137
|
+
* @param receiverError - The receiver error or connection error, if any.
|
|
138
|
+
*/
|
|
139
|
+
onDetached(receiverError?: AmqpError | Error): Promise<void>;
|
|
140
|
+
protected removeLinkFromContext(): void;
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=streamingReceiver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streamingReceiver.d.ts","sourceRoot":"","sources":["../../../src/core/streamingReceiver.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAOjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAEhF,OAAO,KAAK,EAAE,SAAS,EAA6B,MAAM,cAAc,CAAC;AAKzE,OAAO,KAAK,EACV,uBAAuB,EAEvB,eAAe,EAEf,gBAAgB,EACjB,MAAM,cAAc,CAAC;AAKtB;;GAEG;AACH,MAAM,WAAW,yBACf,SAAQ,cAAc,EACpB,IAAI,CAAC,oBAAoB,EAAE,aAAa,CAAC;IAC3C,eAAe,EAAE,eAAe,CAAC;CAClC;AAED;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;IACpD;;;;;OAKG;IACH,kBAAkB,EAAE,MAAM,CAAK;IAE/B;;;;;OAKG;IACH,OAAO,CAAC,YAAY,CAAkB;IACtC;;OAEG;IACH,OAAO,CAAC,aAAa,CAAe;IAEpC,OAAO,CAAC,eAAe,CAAiB;IAExC;;;OAGG;IACH,OAAO,CAAC,gBAAgB,CAEtB;IAEF;;;;OAIG;IACH,OAAO,CAAC,iBAAiB,CAA+B;IAExD;;OAEG;IACH,OAAO,CAAC,eAAe,CAAqC;IAE5D;;;OAGG;IACH,OAAO,CAAC,YAAY,CAAuB;IAE3C;;;OAGG;IACH,OAAO,CAAC,eAAe,CAAuB;IAE9C;;;OAGG;IACH,OAAO,CAAC,eAAe,CAAc;IACrC;;;OAGG;IACH,OAAO,CAAC,YAAY,CAAc;IAElC;;;OAGG;IACH,SAAS,CAAC,cAAc,EAAE,oBAAoB,CAAC;IAE/C;;;;OAIG;IACH,IAAW,iBAAiB,IAAI,OAAO,CAEtC;IAED;;;;;;OAMG;gBAED,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,iBAAiB,EACpC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc;IAoPzB,OAAO,CAAC,oBAAoB;IAkB5B,OAAO,CAAC,YAAY;IAad,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B,OAAO,CAAC,qBAAqB,CAA4B;IAEzD;;;;;;;;;;;;;;OAcG;IACG,SAAS,CACb,eAAe,EAAE,uBAAuB,EACxC,gBAAgB,EAAE,gBAAgB,GAAG,SAAS,GAC7C,OAAO,CAAC,IAAI,CAAC;IA+BhB;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IAqE3B;;;;OAIG;YACW,cAAc;IAkC5B;;;;;;OAMG;YACW,0BAA0B;IA0CxC;;;OAGG;IACG,UAAU,CAAC,aAAa,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAuDlE,SAAS,CAAC,qBAAqB,IAAI,IAAI;CAGxC"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
// Copyright (c) Microsoft Corporation.
|
|
2
|
-
// Licensed under the MIT
|
|
3
|
-
import { MessageReceiver } from "./messageReceiver";
|
|
4
|
-
import { ReceiverHelper } from "./receiverHelper";
|
|
5
|
-
import { throwErrorIfConnectionClosed } from "../util/errors";
|
|
6
|
-
import { RetryOperationType, ConditionErrorNameMapper
|
|
7
|
-
import { receiverLogger as logger } from "../log";
|
|
8
|
-
import { ServiceBusMessageImpl } from "../serviceBusMessage";
|
|
9
|
-
import { translateServiceBusError } from "../serviceBusError";
|
|
10
|
-
import { abandonMessage, completeMessage, retryForever } from "../receivers/receiverCommon";
|
|
11
|
-
import { toProcessingSpanOptions } from "../diagnostics/instrumentServiceBusMessage";
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { MessageReceiver } from "./messageReceiver.js";
|
|
4
|
+
import { ReceiverHelper } from "./receiverHelper.js";
|
|
5
|
+
import { throwErrorIfConnectionClosed } from "../util/errors.js";
|
|
6
|
+
import { RetryOperationType, ConditionErrorNameMapper } from "@azure/core-amqp";
|
|
7
|
+
import { receiverLogger as logger } from "../log.js";
|
|
8
|
+
import { ServiceBusMessageImpl } from "../serviceBusMessage.js";
|
|
9
|
+
import { translateServiceBusError } from "../serviceBusError.js";
|
|
10
|
+
import { abandonMessage, completeMessage, retryForever } from "../receivers/receiverCommon.js";
|
|
11
|
+
import { toProcessingSpanOptions } from "../diagnostics/instrumentServiceBusMessage.js";
|
|
12
12
|
import { AbortError } from "@azure/abort-controller";
|
|
13
|
-
import { tracingClient } from "../diagnostics/tracing";
|
|
13
|
+
import { tracingClient } from "../diagnostics/tracing.js";
|
|
14
14
|
/**
|
|
15
15
|
* @internal
|
|
16
16
|
* Describes the streaming receiver where the user can receive the message
|
|
@@ -59,19 +59,20 @@ export class StreamingReceiver extends MessageReceiver {
|
|
|
59
59
|
* Used so we can stub out retry in tests.
|
|
60
60
|
*/
|
|
61
61
|
this._retryForeverFn = retryForever;
|
|
62
|
-
if (typeof options
|
|
62
|
+
if (typeof (options === null || options === void 0 ? void 0 : options.maxConcurrentCalls) === "number" && (options === null || options === void 0 ? void 0 : options.maxConcurrentCalls) > 0) {
|
|
63
63
|
this.maxConcurrentCalls = options.maxConcurrentCalls;
|
|
64
64
|
}
|
|
65
|
-
this._retryOptions = options
|
|
65
|
+
this._retryOptions = (options === null || options === void 0 ? void 0 : options.retryOptions) || {};
|
|
66
66
|
this._receiverHelper = new ReceiverHelper(() => ({
|
|
67
67
|
receiver: this.link,
|
|
68
68
|
logPrefix: this.logPrefix,
|
|
69
69
|
}));
|
|
70
70
|
this._onAmqpClose = async (context) => {
|
|
71
|
+
var _a;
|
|
71
72
|
const receiverError = context.receiver && context.receiver.error;
|
|
72
73
|
const receiver = this.link || context.receiver;
|
|
73
74
|
logger.logError(receiverError, `${this.logPrefix} 'receiver_close' event occurred. The associated error is`);
|
|
74
|
-
this._lockRenewer
|
|
75
|
+
(_a = this._lockRenewer) === null || _a === void 0 ? void 0 : _a.stopAll(this);
|
|
75
76
|
if (receiver && !receiver.isItselfClosed()) {
|
|
76
77
|
await this.onDetached(receiverError);
|
|
77
78
|
}
|
|
@@ -82,10 +83,11 @@ export class StreamingReceiver extends MessageReceiver {
|
|
|
82
83
|
}
|
|
83
84
|
};
|
|
84
85
|
this._onSessionClose = async (context) => {
|
|
86
|
+
var _a;
|
|
85
87
|
const receiver = this.link || context.receiver;
|
|
86
88
|
const sessionError = context.session && context.session.error;
|
|
87
89
|
logger.logError(sessionError, `${this.logPrefix} 'session_close' event occurred. The associated error is`);
|
|
88
|
-
this._lockRenewer
|
|
90
|
+
(_a = this._lockRenewer) === null || _a === void 0 ? void 0 : _a.stopAll(this);
|
|
89
91
|
if (receiver && !receiver.isSessionItselfClosed()) {
|
|
90
92
|
await this.onDetached(sessionError);
|
|
91
93
|
}
|
|
@@ -124,6 +126,7 @@ export class StreamingReceiver extends MessageReceiver {
|
|
|
124
126
|
}
|
|
125
127
|
};
|
|
126
128
|
this._onAmqpMessage = async (context) => {
|
|
129
|
+
var _a, _b, _c, _d;
|
|
127
130
|
// If the receiver got closed in PeekLock mode, avoid processing the message as we
|
|
128
131
|
// cannot settle the message.
|
|
129
132
|
if (this.receiveMode === "peekLock" && (!this.link || !this.link.isOpen())) {
|
|
@@ -131,8 +134,8 @@ export class StreamingReceiver extends MessageReceiver {
|
|
|
131
134
|
"as the receiver is closed", this.logPrefix);
|
|
132
135
|
return;
|
|
133
136
|
}
|
|
134
|
-
const bMessage = new ServiceBusMessageImpl(context.message, context.delivery, true, this.receiveMode, options.skipParsingBodyAsJson
|
|
135
|
-
this._lockRenewer
|
|
137
|
+
const bMessage = new ServiceBusMessageImpl(context.message, context.delivery, true, this.receiveMode, (_a = options.skipParsingBodyAsJson) !== null && _a !== void 0 ? _a : false, (_b = options.skipConvertingDate) !== null && _b !== void 0 ? _b : false);
|
|
138
|
+
(_c = this._lockRenewer) === null || _c === void 0 ? void 0 : _c.start(this, bMessage, (err) => {
|
|
136
139
|
this._messageHandlers().processError({
|
|
137
140
|
error: err,
|
|
138
141
|
errorSource: "renewLock",
|
|
@@ -149,7 +152,7 @@ export class StreamingReceiver extends MessageReceiver {
|
|
|
149
152
|
"with id '%s' on the receiver '%s'", this.logPrefix, bMessage.messageId, this.name);
|
|
150
153
|
// Do not want renewLock to happen unnecessarily, while abandoning the message. Hence,
|
|
151
154
|
// doing this here. Otherwise, this should be done in finally.
|
|
152
|
-
this._lockRenewer
|
|
155
|
+
(_d = this._lockRenewer) === null || _d === void 0 ? void 0 : _d.stop(this, bMessage);
|
|
153
156
|
const error = translateServiceBusError(err);
|
|
154
157
|
// Nothing much to do if user's message handler throws. Let us try abandoning the message.
|
|
155
158
|
if (!bMessage.delivery.remote_settled &&
|
|
@@ -287,7 +290,7 @@ export class StreamingReceiver extends MessageReceiver {
|
|
|
287
290
|
throw err;
|
|
288
291
|
}
|
|
289
292
|
finally {
|
|
290
|
-
promiseResolve
|
|
293
|
+
promiseResolve === null || promiseResolve === void 0 ? void 0 : promiseResolve();
|
|
291
294
|
this._subscribeCallPromise = undefined;
|
|
292
295
|
}
|
|
293
296
|
}
|
|
@@ -299,6 +302,7 @@ export class StreamingReceiver extends MessageReceiver {
|
|
|
299
302
|
* @param operationOptions - The subscribe(options)
|
|
300
303
|
*/
|
|
301
304
|
_setMessageHandlers(userHandlers, operationOptions) {
|
|
305
|
+
var _a;
|
|
302
306
|
const messageHandlers = {
|
|
303
307
|
processError: async (args) => {
|
|
304
308
|
try {
|
|
@@ -312,7 +316,7 @@ export class StreamingReceiver extends MessageReceiver {
|
|
|
312
316
|
},
|
|
313
317
|
processMessage: async (message) => {
|
|
314
318
|
try {
|
|
315
|
-
await tracingClient.withSpan("StreamReceiver.process", operationOptions
|
|
319
|
+
await tracingClient.withSpan("StreamReceiver.process", operationOptions !== null && operationOptions !== void 0 ? operationOptions : {}, () => userHandlers.processMessage(message), toProcessingSpanOptions(message, this, this._context.config, "process"));
|
|
316
320
|
}
|
|
317
321
|
catch (err) {
|
|
318
322
|
this._messageHandlers().processError({
|
|
@@ -349,7 +353,7 @@ export class StreamingReceiver extends MessageReceiver {
|
|
|
349
353
|
identifier: this.identifier,
|
|
350
354
|
}));
|
|
351
355
|
},
|
|
352
|
-
forwardInternalErrors: userHandlers.forwardInternalErrors
|
|
356
|
+
forwardInternalErrors: (_a = userHandlers.forwardInternalErrors) !== null && _a !== void 0 ? _a : false,
|
|
353
357
|
};
|
|
354
358
|
this._messageHandlers = () => messageHandlers;
|
|
355
359
|
}
|
|
@@ -359,6 +363,7 @@ export class StreamingReceiver extends MessageReceiver {
|
|
|
359
363
|
* @returns A promise that will resolve when a link is created and we successfully add credits to it.
|
|
360
364
|
*/
|
|
361
365
|
async _subscribeImpl(caller) {
|
|
366
|
+
var _a;
|
|
362
367
|
try {
|
|
363
368
|
// we don't expect to ever get an error from retryForever but bugs
|
|
364
369
|
// do happen.
|
|
@@ -366,7 +371,7 @@ export class StreamingReceiver extends MessageReceiver {
|
|
|
366
371
|
retryConfig: {
|
|
367
372
|
connectionId: this._context.connection.id,
|
|
368
373
|
operationType: RetryOperationType.receiverLink,
|
|
369
|
-
abortSignal: this._subscribeOptions
|
|
374
|
+
abortSignal: (_a = this._subscribeOptions) === null || _a === void 0 ? void 0 : _a.abortSignal,
|
|
370
375
|
retryOptions: this._retryOptions,
|
|
371
376
|
operation: () => this._initAndAddCreditOperation(caller),
|
|
372
377
|
},
|
|
@@ -399,6 +404,7 @@ export class StreamingReceiver extends MessageReceiver {
|
|
|
399
404
|
* @param catchAndReportError - A function and reports an error but does not throw it.
|
|
400
405
|
*/
|
|
401
406
|
async _initAndAddCreditOperation(caller) {
|
|
407
|
+
var _a;
|
|
402
408
|
if (this._receiverHelper.isSuspended()) {
|
|
403
409
|
// user has suspended us while we were initializing
|
|
404
410
|
// the connection. Abort this attempt - if they attempt
|
|
@@ -413,7 +419,7 @@ export class StreamingReceiver extends MessageReceiver {
|
|
|
413
419
|
// Need to check again as user can suspend us in preInitialize()
|
|
414
420
|
throw new AbortError("Receiver was suspended during initialization.");
|
|
415
421
|
}
|
|
416
|
-
await this._init(this._createReceiverOptions(caller === "detach", this._getHandlers()), this._subscribeOptions
|
|
422
|
+
await this._init(this._createReceiverOptions(caller === "detach", this._getHandlers()), (_a = this._subscribeOptions) === null || _a === void 0 ? void 0 : _a.abortSignal);
|
|
417
423
|
try {
|
|
418
424
|
await this._messageHandlers().postInitialize();
|
|
419
425
|
this._receiverHelper.addCredit(this.maxConcurrentCalls);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streamingReceiver.js","sourceRoot":"","sources":["../../../src/core/streamingReceiver.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AAEjE,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAEhF,OAAO,EAAE,cAAc,IAAI,MAAM,EAAE,MAAM,WAAW,CAAC;AAErD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAS/F,OAAO,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAW1D;;;;GAIG;AACH,MAAM,OAAO,iBAAkB,SAAQ,eAAe;IAwEpD;;;;OAIG;IACH,IAAW,iBAAiB;QAC1B,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;IAC7C,CAAC;IAED;;;;;;OAMG;IACH,YACE,UAAkB,EAClB,iBAAoC,EACpC,UAAkB,EAClB,OAAuB;QAEvB,KAAK,CAAC,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QA7FzE;;;;;WAKG;QACH,uBAAkB,GAAW,CAAC,CAAC;QAE/B;;;;;WAKG;QACK,iBAAY,GAAY,KAAK,CAAC;QAQtC;;;WAGG;QACK,qBAAgB,GAA4C,GAAG,EAAE;YACvE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC,CAAC;QASF;;WAEG;QACK,oBAAe,GAAwB,YAAY,CAAC;QAuD1D,IAAI,OAAO,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,kBAAkB,CAAA,KAAK,QAAQ,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,kBAAkB,IAAG,CAAC,EAAE,CAAC;YACvF,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,KAAI,EAAE,CAAC;QAEjD,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC;YAC/C,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,YAAY,GAAG,KAAK,EAAE,OAAqB,EAAE,EAAE;;YAClD,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;YACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,QAAS,CAAC;YAEhD,MAAM,CAAC,QAAQ,CACb,aAAa,EACb,GAAG,IAAI,CAAC,SAAS,2DAA2D,CAC7E,CAAC;YAEF,MAAA,IAAI,CAAC,YAAY,0CAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAEjC,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,CAAC;gBAC3C,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,OAAO,CACZ,4EAA4E;oBAC1E,gFAAgF;oBAChF,aAAa,EACf,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,OAAO,CACb,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,CAAC,eAAe,GAAG,KAAK,EAAE,OAAqB,EAAE,EAAE;;YACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,QAAS,CAAC;YAChD,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;YAE9D,MAAM,CAAC,QAAQ,CACb,YAAY,EACZ,GAAG,IAAI,CAAC,SAAS,0DAA0D,CAC5E,CAAC;YAEF,MAAA,IAAI,CAAC,YAAY,0CAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAEjC,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE,EAAE,CAAC;gBAClD,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,OAAO,CACZ,iFAAiF;oBAC/E,wFAAwF;oBACxF,aAAa,EACf,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,OAAO,CACb,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,CAAC,YAAY,GAAG,CAAC,OAAqB,EAAE,EAAE;YAC5C,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;YACjE,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,OAAO,GAAG,wBAAwB,CAAC,aAAa,CAAmB,CAAC;gBAC1E,MAAM,CAAC,QAAQ,CACb,OAAO,EACP,GAAG,IAAI,CAAC,SAAS,2DAA2D,CAC7E,CAAC;gBACF,IAAI,CAAC,gBAAgB,EAAE,CAAC,YAAY,CAAC;oBACnC,KAAK,EAAE,OAAO;oBACd,WAAW,EAAE,SAAS;oBACtB,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,uBAAuB,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI;oBAClD,UAAU;iBACX,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,CAAC,eAAe,GAAG,CAAC,OAAqB,EAAE,EAAE;YAC/C,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;YAC9D,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,OAAO,GAAG,wBAAwB,CAAC,YAAY,CAAmB,CAAC;gBACzE,MAAM,CAAC,QAAQ,CACb,OAAO,EACP,GAAG,IAAI,CAAC,SAAS,0DAA0D,CAC5E,CAAC;gBACF,IAAI,CAAC,gBAAgB,EAAE,CAAC,YAAY,CAAC;oBACnC,KAAK,EAAE,OAAO;oBACd,WAAW,EAAE,SAAS;oBACtB,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,uBAAuB,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI;oBAClD,UAAU;iBACX,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,CAAC,cAAc,GAAG,KAAK,EAAE,OAAqB,EAAE,EAAE;;YACpD,kFAAkF;YAClF,6BAA6B;YAC7B,IAAI,IAAI,CAAC,WAAW,KAAK,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;gBAC3E,MAAM,CAAC,OAAO,CACZ,oEAAoE;oBAClE,2BAA2B,EAC7B,IAAI,CAAC,SAAS,CACf,CAAC;gBACF,OAAO;YACT,CAAC;YAED,MAAM,QAAQ,GAA0B,IAAI,qBAAqB,CAC/D,OAAO,CAAC,OAAQ,EAChB,OAAO,CAAC,QAAS,EACjB,IAAI,EACJ,IAAI,CAAC,WAAW,EAChB,MAAA,OAAO,CAAC,qBAAqB,mCAAI,KAAK,EACtC,MAAA,OAAO,CAAC,kBAAkB,mCAAI,KAAK,CACpC,CAAC;YAEF,MAAA,IAAI,CAAC,YAAY,0CAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC/C,IAAI,CAAC,gBAAgB,EAAE,CAAC,YAAY,CAAC;oBACnC,KAAK,EAAE,GAAG;oBACV,WAAW,EAAE,WAAW;oBACxB,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,uBAAuB,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI;oBAClD,UAAU;iBACX,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YACzD,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,MAAM,CAAC,QAAQ,CACb,GAAG,EACH,4EAA4E;oBAC1E,mCAAmC,EACrC,IAAI,CAAC,SAAS,EACd,QAAQ,CAAC,SAAS,EAClB,IAAI,CAAC,IAAI,CACV,CAAC;gBAEF,sFAAsF;gBACtF,8DAA8D;gBAC9D,MAAA,IAAI,CAAC,YAAY,0CAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACxC,MAAM,KAAK,GAAG,wBAAwB,CAAC,GAAG,CAAmB,CAAC;gBAC9D,0FAA0F;gBAC1F,IACE,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc;oBACjC,KAAK,CAAC,IAAI,KAAK,wBAAwB,CAAC,iCAAiC,CAAC;oBAC1E,IAAI,CAAC,WAAW,KAAK,UAAU;oBAC/B,IAAI,CAAC,MAAM,EAAE,CAAC,mEAAmE;kBACjF,CAAC;oBACD,IAAI,CAAC;wBACH,MAAM,CAAC,QAAQ,CACb,KAAK,EACL,oEAAoE;4BAClE,uBAAuB,EACzB,IAAI,CAAC,SAAS,EACd,QAAQ,CAAC,SAAS,EAClB,IAAI,CAAC,IAAI,EACT,KAAK,CACN,CAAC;wBACF,MAAM,cAAc,CAClB,QAAQ,EACR,IAAI,CAAC,QAAQ,EACb,UAAU,EACV,SAAS,EACT,IAAI,CAAC,aAAa,CACnB,CAAC;oBACJ,CAAC;oBAAC,OAAO,YAAiB,EAAE,CAAC;wBAC3B,MAAM,eAAe,GAAG,wBAAwB,CAAC,YAAY,CAAC,CAAC;wBAC/D,MAAM,CAAC,QAAQ,CACb,eAAe,EACf,wEAAwE;4BACtE,eAAe,EACjB,IAAI,CAAC,SAAS,EACd,QAAQ,CAAC,SAAS,EAClB,IAAI,CAAC,IAAI,CACV,CAAC;wBACF,IAAI,CAAC,gBAAgB,EAAE,CAAC,YAAY,CAAC;4BACnC,KAAK,EAAE,eAAe;4BACtB,WAAW,EAAE,SAAS;4BACtB,UAAU,EAAE,IAAI,CAAC,UAAU;4BAC3B,uBAAuB,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI;4BAClD,UAAU;yBACX,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBACD,OAAO;YACT,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC;oBACH,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACpC,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAClB,8FAA8F;oBAC9F,gDAAgD;oBAChD,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;wBAC9B,MAAM,CAAC,QAAQ,CACb,GAAG,EACH,IAAI,IAAI,CAAC,SAAS,gDAAgD,CACnE,CAAC;wBACF,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;oBACvC,CAAC;gBACH,CAAC;YACH,CAAC;YAED,oFAAoF;YACpF,0BAA0B;YAC1B,IACE,IAAI,CAAC,YAAY;gBACjB,IAAI,CAAC,WAAW,KAAK,UAAU;gBAC/B,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,EACjC,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,CAAC,OAAO,CACZ,iDAAiD,GAAG,eAAe,EACnE,IAAI,CAAC,SAAS,EACd,QAAQ,CAAC,SAAS,CACnB,CAAC;oBACF,MAAM,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;gBACjF,CAAC;gBAAC,OAAO,aAAkB,EAAE,CAAC;oBAC5B,MAAM,eAAe,GAAG,wBAAwB,CAAC,aAAa,CAAC,CAAC;oBAChE,MAAM,CAAC,QAAQ,CACb,eAAe,EACf,wEAAwE;wBACtE,eAAe,EACjB,IAAI,CAAC,SAAS,EACd,QAAQ,CAAC,SAAS,EAClB,IAAI,CAAC,IAAI,CACV,CAAC;oBACF,IAAI,CAAC,gBAAgB,EAAE,CAAC,YAAY,CAAC;wBACnC,KAAK,EAAE,eAAe;wBACtB,WAAW,EAAE,UAAU;wBACvB,UAAU,EAAE,IAAI,CAAC,UAAU;wBAC3B,uBAAuB,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI;wBAClD,UAAU;qBACX,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAAC,KAAY;QACvC,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAEhD,IAAI,eAAe,CAAC,qBAAqB,EAAE,CAAC;YAC1C,MAAM,SAAS,GAA6B;gBAC1C,KAAK;gBACL,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,WAAW,EAAE,UAAU;gBACvB,uBAAuB,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI;gBAClD,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC;YAEF,OAAO,eAAe,CAAC,YAAY,CAAC,SAA6B,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEO,YAAY;QAClB,OAAO;YACL,SAAS,EAAE,CAAC,OAAqB,EAAE,EAAE,CACnC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;YAC7E,OAAO,EAAE,CAAC,OAAqB,EAAE,EAAE,CACjC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;YAC3E,cAAc,EAAE,CAAC,OAAqB,EAAE,EAAE,CACxC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;YAC9E,OAAO,EAAE,IAAI,CAAC,YAAY;YAC1B,cAAc,EAAE,IAAI,CAAC,eAAe;SACrC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QAErC,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,MAAM,IAAI,CAAC,qBAAqB,CAAC;QACnC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAID;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,SAAS,CACb,eAAwC,EACxC,gBAA8C;QAE9C,iFAAiF;QACjF,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;QAC1C,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;QAE5D,IAAI,cAAwC,CAAC;QAC7C,IAAI,CAAC,qBAAqB,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACnD,cAAc,GAAG,OAAO,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;YAC9B,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,+EAA+E;YAC/E,oBAAoB;YACpB,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,YAAY,CAAC;gBACzC,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,uBAAuB,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI;gBAClD,WAAW,EAAE,SAAS;gBACtB,KAAK,EAAE,GAAG;gBACV,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YAEH,MAAM,GAAG,CAAC;QACZ,CAAC;gBAAS,CAAC;YACT,cAAc,aAAd,cAAc,uBAAd,cAAc,EAAI,CAAC;YACnB,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC;QACzC,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,mBAAmB,CACzB,YAAqC,EACrC,gBAAkD;;QAElD,MAAM,eAAe,GAAG;YACtB,YAAY,EAAE,KAAK,EAAE,IAAsB,EAAE,EAAE;gBAC7C,IAAI,CAAC;oBACH,IAAI,CAAC,KAAK,GAAG,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAClD,MAAM,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBACxC,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAClB,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;oBACrC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,0DAA0D,CAAC,CAAC;gBACnF,CAAC;YACH,CAAC;YACD,cAAc,EAAE,KAAK,EAAE,OAA8B,EAAE,EAAE;gBACvD,IAAI,CAAC;oBACH,MAAM,aAAa,CAAC,QAAQ,CAC1B,wBAAwB,EACxB,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,EAAE,EACtB,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,EAC1C,uBAAuB,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CACxE,CAAC;gBACJ,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAClB,IAAI,CAAC,gBAAgB,EAAE,CAAC,YAAY,CAAC;wBACnC,KAAK,EAAE,GAAG;wBACV,WAAW,EAAE,wBAAwB;wBACrC,UAAU,EAAE,IAAI,CAAC,UAAU;wBAC3B,uBAAuB,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI;wBAClD,UAAU,EAAE,IAAI,CAAC,UAAU;qBAC5B,CAAC,CAAC;oBACH,MAAM,GAAG,CAAC;gBACZ,CAAC;YACH,CAAC;YACD,cAAc,EAAE,KAAK,IAAI,EAAE;gBACzB,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;oBACjC,OAAO;gBACT,CAAC;gBAED,OAAO,YAAY,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CACjD,IAAI,CAAC,gBAAgB,EAAE,CAAC,YAAY,CAAC;oBACnC,KAAK,EAAE,GAAG;oBACV,WAAW,EAAE,wBAAwB;oBACrC,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,uBAAuB,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI;oBAClD,UAAU,EAAE,IAAI,CAAC,UAAU;iBAC5B,CAAC,CACH,CAAC;YACJ,CAAC;YACD,aAAa,EAAE,KAAK,IAAI,EAAE;gBACxB,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;oBAChC,OAAO;gBACT,CAAC;gBAED,OAAO,YAAY,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAChD,IAAI,CAAC,gBAAgB,EAAE,CAAC,YAAY,CAAC;oBACnC,KAAK,EAAE,GAAG;oBACV,WAAW,EAAE,wBAAwB;oBACrC,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,uBAAuB,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI;oBAClD,UAAU,EAAE,IAAI,CAAC,UAAU;iBAC5B,CAAC,CACH,CAAC;YACJ,CAAC;YACD,qBAAqB,EAAE,MAAA,YAAY,CAAC,qBAAqB,mCAAI,KAAK;SACnE,CAAC;QAEF,IAAI,CAAC,gBAAgB,GAAG,GAAG,EAAE,CAAC,eAAe,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,cAAc,CAAC,MAA8B;;QACzD,IAAI,CAAC;YACH,kEAAkE;YAClE,aAAa;YACb,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC;gBAChC,WAAW,EAAE;oBACX,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;oBACzC,aAAa,EAAE,kBAAkB,CAAC,YAAY;oBAC9C,WAAW,EAAE,MAAA,IAAI,CAAC,iBAAiB,0CAAE,WAAW;oBAChD,YAAY,EAAE,IAAI,CAAC,aAAa;oBAChC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC;iBACzD;gBACD,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CACf,IAAI,CAAC,gBAAgB,EAAE,CAAC,YAAY,CAAC;oBACnC,KAAK,EAAE,GAAG;oBACV,WAAW,EAAE,SAAS;oBACtB,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,uBAAuB,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI;oBAClD,UAAU,EAAE,IAAI,CAAC,UAAU;iBAC5B,CAAC;gBACJ,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,MAAM;aACP,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;YACvC,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,SAAS,kCAAkC,CAAC,CAAC;YAC9E,CAAC;YAED,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,0BAA0B,CAAC,MAA8B;;QACrE,IAAI,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,EAAE,CAAC;YACvC,mDAAmD;YACnD,uDAAuD;YACvD,uCAAuC;YACvC,6EAA6E;YAC7E,kFAAkF;YAClF,MAAM,IAAI,UAAU,CAAC,+CAA+C,CAAC,CAAC;QACxE,CAAC;QAED,4BAA4B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE5C,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,aAAa,EAAE,CAAC;QAE9C,IAAI,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,EAAE,CAAC;YACvC,gEAAgE;YAChE,MAAM,IAAI,UAAU,CAAC,+CAA+C,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,IAAI,CAAC,KAAK,CACd,IAAI,CAAC,sBAAsB,CAAC,MAAM,KAAK,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,EACrE,MAAA,IAAI,CAAC,iBAAiB,0CAAE,WAAW,CACpC,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,cAAc,EAAE,CAAC;YAC/C,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACzB,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,YAAY,CAAC;oBACzC,KAAK;oBACL,WAAW,EAAE,SAAS;oBACtB,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,uBAAuB,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI;oBAClD,UAAU,EAAE,IAAI,CAAC,UAAU;iBAC5B,CAAC,CAAC;YACL,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU,CAAC,aAAiC;QAChD,IAAI,CAAC;YACH,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,mCAAmC,CAAC,CAAC;YAErE,4EAA4E;YAC5E,yBAAyB;YACzB,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC9B,MAAM,CAAC,OAAO,CACZ,GAAG,IAAI,CAAC,SAAS,qEAAqE,CACvF,CAAC;gBACF,OAAO;YACT,CAAC;YAED,qEAAqE;YACrE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,iFAAiF;gBACjF,mFAAmF;gBACnF,yCAAyC;gBACzC,gFAAgF;gBAChF,wDAAwD;gBACxD,2EAA2E;gBAC3E,gCAAgC;gBAChC,MAAM,CAAC,OAAO,CACZ,GAAG,IAAI,CAAC,SAAS,wDAAwD,IAAI,CAAC,IAAI,2BAA2B,CAC9G,CAAC;gBACF,OAAO;YACT,CAAC;YAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAEzB,MAAM,eAAe,GAAG,aAAa;gBACnC,CAAC,CAAC,wBAAwB,CAAC,aAAa,CAAC;gBACzC,CAAC,CAAC,aAAa,CAAC;YAClB,MAAM,CAAC,QAAQ,CACb,eAAe,EACf,GAAG,IAAI,CAAC,SAAS,uDAAuD,CACzE,CAAC;YAEF,oFAAoF;YACpF,wEAAwE;YACxE,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACzB,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,MAAM,CAAC,OAAO,CACZ,GAAG,IAAI,CAAC,SAAS,oEAAoE,EACrF,GAAG,CACJ,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5B,CAAC;IACH,CAAC;IAES,qBAAqB;QAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { OnAmqpEventAsPromise, ReceiveOptions } from \"./messageReceiver.js\";\nimport { MessageReceiver } from \"./messageReceiver.js\";\nimport type { ConnectionContext } from \"../connectionContext.js\";\n\nimport { ReceiverHelper } from \"./receiverHelper.js\";\n\nimport { throwErrorIfConnectionClosed } from \"../util/errors.js\";\nimport type { MessagingError, RetryOptions } from \"@azure/core-amqp\";\nimport { RetryOperationType, ConditionErrorNameMapper } from \"@azure/core-amqp\";\nimport type { OperationOptionsBase } from \"../modelsToBeSharedWithEventHubs.js\";\nimport { receiverLogger as logger } from \"../log.js\";\nimport type { AmqpError, EventContext, OnAmqpEvent } from \"rhea-promise\";\nimport { ServiceBusMessageImpl } from \"../serviceBusMessage.js\";\nimport { translateServiceBusError } from \"../serviceBusError.js\";\nimport { abandonMessage, completeMessage, retryForever } from \"../receivers/receiverCommon.js\";\nimport type { ReceiverHandlers } from \"./shared.js\";\nimport type {\n InternalMessageHandlers,\n InternalProcessErrorArgs,\n MessageHandlers,\n ProcessErrorArgs,\n SubscribeOptions,\n} from \"../models.js\";\nimport { toProcessingSpanOptions } from \"../diagnostics/instrumentServiceBusMessage.js\";\nimport { AbortError } from \"@azure/abort-controller\";\nimport { tracingClient } from \"../diagnostics/tracing.js\";\n\n/**\n * @internal\n */\nexport interface StreamingReceiverInitArgs\n extends ReceiveOptions,\n Pick<OperationOptionsBase, \"abortSignal\"> {\n messageHandlers: MessageHandlers;\n}\n\n/**\n * @internal\n * Describes the streaming receiver where the user can receive the message\n * by providing handler functions.\n */\nexport class StreamingReceiver extends MessageReceiver {\n /**\n * The maximum number of messages that should be\n * processed concurrently while in streaming mode. Once this limit has been reached, more\n * messages will not be received until the user's message handler has completed processing current message.\n * Default: 1\n */\n maxConcurrentCalls: number = 1;\n\n /**\n * Indicates whether the receiver is already actively\n * running `onDetached`.\n * This is expected to be true while the receiver attempts\n * to bring its link back up due to a retryable issue.\n */\n private _isDetaching: boolean = false;\n /**\n *Retry policy options that determine the mode, number of retries, retry interval etc.\n */\n private _retryOptions: RetryOptions;\n\n private _receiverHelper: ReceiverHelper;\n\n /**\n * The user's message handlers, wrapped so any thrown exceptions are properly logged\n * or forwarded to the user's processError handler.\n */\n private _messageHandlers: () => Required<InternalMessageHandlers> = () => {\n throw new Error(\"messageHandlers are not set.\");\n };\n\n /**\n * The subscribe(options) passed when the subscribe call originally happened. Stored\n * so _subscribeImpl() can re-use them later if we have to restart our subscription\n * when detach/reattaching.\n */\n private _subscribeOptions: SubscribeOptions | undefined;\n\n /**\n * Used so we can stub out retry in tests.\n */\n private _retryForeverFn: typeof retryForever = retryForever;\n\n /**\n * The message handler that will be set as the handler on the\n * underlying rhea receiver for the \"receiver_close\" event.\n */\n private _onAmqpClose: OnAmqpEventAsPromise;\n\n /**\n * The message handler that will be set as the handler on\n * the underlying rhea receiver's session for the \"session_close\" event.\n */\n private _onSessionClose: OnAmqpEventAsPromise;\n\n /**\n * The message handler that will be set as the handler on\n * the underlying rhea receiver's session for the \"session_error\" event.\n */\n private _onSessionError: OnAmqpEvent;\n /**\n * The message handler that will be set as the handler on the\n * underlying rhea receiver for the \"receiver_error\" event.\n */\n private _onAmqpError: OnAmqpEvent;\n\n /**\n * The message handler that will be set as the handler on the\n * underlying rhea receiver for the \"message\" event.\n */\n protected _onAmqpMessage: OnAmqpEventAsPromise;\n\n /**\n * Whether we are currently subscribed (or subscribing) for receiving messages.\n * (this is irrespective of receiver state, etc... - it's just a simple flag to prevent\n * multiple subscribe() calls from happening on this instance)\n */\n public get isSubscribeActive(): boolean {\n return !this._receiverHelper.isSuspended();\n }\n\n /**\n * Instantiate a new Streaming receiver for receiving messages with handlers.\n *\n * @param identifier - the name used to identifier the receiver\n * @param connectionContext - The client entity context.\n * @param options - Options for how you'd like to connect.\n */\n constructor(\n identifier: string,\n connectionContext: ConnectionContext,\n entityPath: string,\n options: ReceiveOptions,\n ) {\n super(identifier, connectionContext, entityPath, \"streaming\", options);\n\n if (typeof options?.maxConcurrentCalls === \"number\" && options?.maxConcurrentCalls > 0) {\n this.maxConcurrentCalls = options.maxConcurrentCalls;\n }\n\n this._retryOptions = options?.retryOptions || {};\n\n this._receiverHelper = new ReceiverHelper(() => ({\n receiver: this.link,\n logPrefix: this.logPrefix,\n }));\n\n this._onAmqpClose = async (context: EventContext) => {\n const receiverError = context.receiver && context.receiver.error;\n const receiver = this.link || context.receiver!;\n\n logger.logError(\n receiverError,\n `${this.logPrefix} 'receiver_close' event occurred. The associated error is`,\n );\n\n this._lockRenewer?.stopAll(this);\n\n if (receiver && !receiver.isItselfClosed()) {\n await this.onDetached(receiverError);\n } else {\n logger.verbose(\n \"%s 'receiver_close' event occurred on the receiver '%s' with address '%s' \" +\n \"because the sdk initiated it. Hence not calling detached from the _onAmqpClose\" +\n \"() handler.\",\n this.logPrefix,\n this.name,\n this.address,\n );\n }\n };\n\n this._onSessionClose = async (context: EventContext) => {\n const receiver = this.link || context.receiver!;\n const sessionError = context.session && context.session.error;\n\n logger.logError(\n sessionError,\n `${this.logPrefix} 'session_close' event occurred. The associated error is`,\n );\n\n this._lockRenewer?.stopAll(this);\n\n if (receiver && !receiver.isSessionItselfClosed()) {\n await this.onDetached(sessionError);\n } else {\n logger.verbose(\n \"%s 'session_close' event occurred on the session of receiver '%s' with address \" +\n \"'%s' because the sdk initiated it. Hence not calling detached from the _onSessionClose\" +\n \"() handler.\",\n this.logPrefix,\n this.name,\n this.address,\n );\n }\n };\n\n this._onAmqpError = (context: EventContext) => {\n const receiverError = context.receiver && context.receiver.error;\n if (receiverError) {\n const sbError = translateServiceBusError(receiverError) as MessagingError;\n logger.logError(\n sbError,\n `${this.logPrefix} 'receiver_error' event occurred. The associated error is`,\n );\n this._messageHandlers().processError({\n error: sbError,\n errorSource: \"receive\",\n entityPath: this.entityPath,\n fullyQualifiedNamespace: this._context.config.host,\n identifier,\n });\n }\n };\n\n this._onSessionError = (context: EventContext) => {\n const sessionError = context.session && context.session.error;\n if (sessionError) {\n const sbError = translateServiceBusError(sessionError) as MessagingError;\n logger.logError(\n sbError,\n `${this.logPrefix} 'session_error' event occurred. The associated error is`,\n );\n this._messageHandlers().processError({\n error: sbError,\n errorSource: \"receive\",\n entityPath: this.entityPath,\n fullyQualifiedNamespace: this._context.config.host,\n identifier,\n });\n }\n };\n\n this._onAmqpMessage = async (context: EventContext) => {\n // If the receiver got closed in PeekLock mode, avoid processing the message as we\n // cannot settle the message.\n if (this.receiveMode === \"peekLock\" && (!this.link || !this.link.isOpen())) {\n logger.verbose(\n \"%s Not calling the user's message handler for the current message \" +\n \"as the receiver is closed\",\n this.logPrefix,\n );\n return;\n }\n\n const bMessage: ServiceBusMessageImpl = new ServiceBusMessageImpl(\n context.message!,\n context.delivery!,\n true,\n this.receiveMode,\n options.skipParsingBodyAsJson ?? false,\n options.skipConvertingDate ?? false,\n );\n\n this._lockRenewer?.start(this, bMessage, (err) => {\n this._messageHandlers().processError({\n error: err,\n errorSource: \"renewLock\",\n entityPath: this.entityPath,\n fullyQualifiedNamespace: this._context.config.host,\n identifier,\n });\n });\n\n try {\n await this._messageHandlers().processMessage(bMessage);\n } catch (err: any) {\n logger.logError(\n err,\n \"%s An error occurred while running user's message handler for the message \" +\n \"with id '%s' on the receiver '%s'\",\n this.logPrefix,\n bMessage.messageId,\n this.name,\n );\n\n // Do not want renewLock to happen unnecessarily, while abandoning the message. Hence,\n // doing this here. Otherwise, this should be done in finally.\n this._lockRenewer?.stop(this, bMessage);\n const error = translateServiceBusError(err) as MessagingError;\n // Nothing much to do if user's message handler throws. Let us try abandoning the message.\n if (\n !bMessage.delivery.remote_settled &&\n error.code !== ConditionErrorNameMapper[\"com.microsoft:message-lock-lost\"] &&\n this.receiveMode === \"peekLock\" &&\n this.isOpen() // only try to abandon the messages if the connection is still open\n ) {\n try {\n logger.logError(\n error,\n \"%s Abandoning the message with id '%s' on the receiver '%s' since \" +\n \"an error occured: %O.\",\n this.logPrefix,\n bMessage.messageId,\n this.name,\n error,\n );\n await abandonMessage(\n bMessage,\n this._context,\n entityPath,\n undefined,\n this._retryOptions,\n );\n } catch (abandonError: any) {\n const translatedError = translateServiceBusError(abandonError);\n logger.logError(\n translatedError,\n \"%s An error occurred while abandoning the message with id '%s' on the \" +\n \"receiver '%s'\",\n this.logPrefix,\n bMessage.messageId,\n this.name,\n );\n this._messageHandlers().processError({\n error: translatedError,\n errorSource: \"abandon\",\n entityPath: this.entityPath,\n fullyQualifiedNamespace: this._context.config.host,\n identifier,\n });\n }\n }\n return;\n } finally {\n try {\n this._receiverHelper.addCredit(1);\n } catch (err: any) {\n // if we're aborting out of the receive operation we don't need to report it (the user already\n // knows the link is being torn down or stopped)\n if (err.name !== \"AbortError\") {\n logger.logError(\n err,\n `[${this.logPrefix}] Failed to add credit after receiving message`,\n );\n await this._reportInternalError(err);\n }\n }\n }\n\n // If we've made it this far, then user's message handler completed fine. Let us try\n // completing the message.\n if (\n this.autoComplete &&\n this.receiveMode === \"peekLock\" &&\n !bMessage.delivery.remote_settled\n ) {\n try {\n logger.verbose(\n \"%s Auto completing the message with id '%s' on \" + \"the receiver.\",\n this.logPrefix,\n bMessage.messageId,\n );\n await completeMessage(bMessage, this._context, entityPath, this._retryOptions);\n } catch (completeError: any) {\n const translatedError = translateServiceBusError(completeError);\n logger.logError(\n translatedError,\n \"%s An error occurred while completing the message with id '%s' on the \" +\n \"receiver '%s'\",\n this.logPrefix,\n bMessage.messageId,\n this.name,\n );\n this._messageHandlers().processError({\n error: translatedError,\n errorSource: \"complete\",\n entityPath: this.entityPath,\n fullyQualifiedNamespace: this._context.config.host,\n identifier,\n });\n }\n }\n };\n }\n\n private _reportInternalError(error: Error): Promise<void> {\n const messageHandlers = this._messageHandlers();\n\n if (messageHandlers.forwardInternalErrors) {\n const errorArgs: InternalProcessErrorArgs = {\n error,\n entityPath: this.entityPath,\n errorSource: \"internal\",\n fullyQualifiedNamespace: this._context.config.host,\n identifier: this.identifier,\n };\n\n return messageHandlers.processError(errorArgs as ProcessErrorArgs);\n }\n\n return Promise.resolve();\n }\n\n private _getHandlers(): ReceiverHandlers {\n return {\n onMessage: (context: EventContext) =>\n this._onAmqpMessage(context).catch((err) => this._reportInternalError(err)),\n onClose: (context: EventContext) =>\n this._onAmqpClose(context).catch((err) => this._reportInternalError(err)),\n onSessionClose: (context: EventContext) =>\n this._onSessionClose(context).catch((err) => this._reportInternalError(err)),\n onError: this._onAmqpError,\n onSessionError: this._onSessionError,\n };\n }\n\n async stopReceivingMessages(): Promise<void> {\n await this._receiverHelper.suspend();\n\n if (this._subscribeCallPromise) {\n await this._subscribeCallPromise;\n }\n }\n\n async close(): Promise<void> {\n await this._receiverHelper.suspend();\n return super.close();\n }\n\n private _subscribeCallPromise: Promise<void> | undefined;\n\n /**\n * Starts the receiver by establishing an AMQP session and an AMQP receiver link on the session.\n *\n * Any errors thrown by this function will also be sent to the messageHandlers.processError function\n * _and_ thrown, ultimately from this method.\n *\n * NOTE: This function retries _infinitely_ until success! It is completely up to the user to break\n * out of this retry cycle otherwise by:\n * 1. closing the receiver\n * 2. Calling `close` on the subscription instance they received when they initially called subscribe().\n * 3. aborting the abortSignal they passed in when calling subscribe (this also applies to initialization calls in onDetach)\n *\n * @param onMessage - The message handler to receive servicebus messages.\n * @param onError - The error handler to receive an error that occurs while receivin messages.\n */\n async subscribe(\n messageHandlers: InternalMessageHandlers,\n subscribeOptions: SubscribeOptions | undefined,\n ): Promise<void> {\n // these options and message handlers will be re-used if/when onDetach is called.\n this._subscribeOptions = subscribeOptions;\n this._setMessageHandlers(messageHandlers, subscribeOptions);\n\n let promiseResolve: (() => void) | undefined;\n this._subscribeCallPromise = new Promise((resolve) => {\n promiseResolve = resolve;\n });\n\n try {\n this._receiverHelper.resume();\n return await this._subscribeImpl(\"subscribe\");\n } catch (err: any) {\n // callers aren't going to be in a good position to forward this error properly\n // so we do it here.\n await this._messageHandlers().processError({\n entityPath: this.entityPath,\n fullyQualifiedNamespace: this._context.config.host,\n errorSource: \"receive\",\n error: err,\n identifier: this.identifier,\n });\n\n throw err;\n } finally {\n promiseResolve?.();\n this._subscribeCallPromise = undefined;\n }\n }\n\n /**\n * Wraps the individual message handlers with tracing and proper error handling\n * and assigns them to `this._messageHandlers`\n *\n * @param userHandlers - The user's message handlers\n * @param operationOptions - The subscribe(options)\n */\n private _setMessageHandlers(\n userHandlers: InternalMessageHandlers,\n operationOptions: OperationOptionsBase | undefined,\n ): void {\n const messageHandlers = {\n processError: async (args: ProcessErrorArgs) => {\n try {\n args.error = translateServiceBusError(args.error);\n await userHandlers.processError(args);\n } catch (err: any) {\n await this._reportInternalError(err);\n logger.logError(err, `An error was thrown from the user's processError handler`);\n }\n },\n processMessage: async (message: ServiceBusMessageImpl) => {\n try {\n await tracingClient.withSpan(\n \"StreamReceiver.process\",\n operationOptions ?? {},\n () => userHandlers.processMessage(message),\n toProcessingSpanOptions(message, this, this._context.config, \"process\"),\n );\n } catch (err: any) {\n this._messageHandlers().processError({\n error: err,\n errorSource: \"processMessageCallback\",\n entityPath: this.entityPath,\n fullyQualifiedNamespace: this._context.config.host,\n identifier: this.identifier,\n });\n throw err;\n }\n },\n postInitialize: async () => {\n if (!userHandlers.postInitialize) {\n return;\n }\n\n return userHandlers.postInitialize().catch((err) =>\n this._messageHandlers().processError({\n error: err,\n errorSource: \"processMessageCallback\",\n entityPath: this.entityPath,\n fullyQualifiedNamespace: this._context.config.host,\n identifier: this.identifier,\n }),\n );\n },\n preInitialize: async () => {\n if (!userHandlers.preInitialize) {\n return;\n }\n\n return userHandlers.preInitialize().catch((err) =>\n this._messageHandlers().processError({\n error: err,\n errorSource: \"processMessageCallback\",\n entityPath: this.entityPath,\n fullyQualifiedNamespace: this._context.config.host,\n identifier: this.identifier,\n }),\n );\n },\n forwardInternalErrors: userHandlers.forwardInternalErrors ?? false,\n };\n\n this._messageHandlers = () => messageHandlers;\n }\n\n /**\n * Subscribes using the already assigned `this._messageHandlers` and `this._subscribeOptions`\n *\n * @returns A promise that will resolve when a link is created and we successfully add credits to it.\n */\n private async _subscribeImpl(caller: \"detach\" | \"subscribe\"): Promise<void> {\n try {\n // we don't expect to ever get an error from retryForever but bugs\n // do happen.\n return await this._retryForeverFn({\n retryConfig: {\n connectionId: this._context.connection.id,\n operationType: RetryOperationType.receiverLink,\n abortSignal: this._subscribeOptions?.abortSignal,\n retryOptions: this._retryOptions,\n operation: () => this._initAndAddCreditOperation(caller),\n },\n onError: (err) =>\n this._messageHandlers().processError({\n error: err,\n errorSource: \"receive\",\n entityPath: this.entityPath,\n fullyQualifiedNamespace: this._context.config.host,\n identifier: this.identifier,\n }),\n logPrefix: this.logPrefix,\n logger,\n });\n } catch (err: any) {\n try {\n await this._receiverHelper.suspend();\n } catch (error: any) {\n logger.logError(error, `${this.logPrefix} receiver.suspend threw an error`);\n }\n\n throw err;\n }\n }\n\n /**\n * Initializes the link and adds credits. If any of these operations fail any created link will\n * be closed.\n *\n * @param caller - The caller which dictates whether or not we create a new name for our created link.\n * @param catchAndReportError - A function and reports an error but does not throw it.\n */\n private async _initAndAddCreditOperation(caller: \"detach\" | \"subscribe\"): Promise<void> {\n if (this._receiverHelper.isSuspended()) {\n // user has suspended us while we were initializing\n // the connection. Abort this attempt - if they attempt\n // resubscribe we'll just reinitialize.\n // This checks should happen before throwErrorIfConnectionClosed(); otherwise\n // we won't be able to break out of the retry-for-ever loops when user suspend us.\n throw new AbortError(\"Receiver was suspended during initialization.\");\n }\n\n throwErrorIfConnectionClosed(this._context);\n\n await this._messageHandlers().preInitialize();\n\n if (this._receiverHelper.isSuspended()) {\n // Need to check again as user can suspend us in preInitialize()\n throw new AbortError(\"Receiver was suspended during initialization.\");\n }\n await this._init(\n this._createReceiverOptions(caller === \"detach\", this._getHandlers()),\n this._subscribeOptions?.abortSignal,\n );\n\n try {\n await this._messageHandlers().postInitialize();\n this._receiverHelper.addCredit(this.maxConcurrentCalls);\n } catch (err: any) {\n try {\n await this.closeLink();\n } catch (error: any) {\n await this._messageHandlers().processError({\n error,\n errorSource: \"receive\",\n entityPath: this.entityPath,\n fullyQualifiedNamespace: this._context.config.host,\n identifier: this.identifier,\n });\n }\n throw err;\n }\n }\n\n /**\n * Will reconnect the receiver link if necessary.\n * @param receiverError - The receiver error or connection error, if any.\n */\n async onDetached(receiverError?: AmqpError | Error): Promise<void> {\n try {\n logger.verbose(`${this.logPrefix} onDetached: reinitializing link.`);\n\n // User explicitly called `close` on the receiver, so link is already closed\n // and we can exit early.\n if (this.wasClosedPermanently) {\n logger.verbose(\n `${this.logPrefix} onDetached: link has been closed permanently, not reinitializing. `,\n );\n return;\n }\n\n // Prevent multiple onDetached invocations from running concurrently.\n if (this._isDetaching) {\n // This can happen when the network connection goes down for some amount of time.\n // The first connection `disconnect` will trigger `onDetached` and attempt to retry\n // creating the connection/receiver link.\n // While those retry attempts fail (until the network connection comes back up),\n // we'll continue to see connection `disconnect` errors.\n // These should be ignored until the already running `onDetached` completes\n // its retry attempts or errors.\n logger.verbose(\n `${this.logPrefix} onDetached: Call to detached on streaming receiver '${this.name}' is already in progress.`,\n );\n return;\n }\n\n this._isDetaching = true;\n\n const translatedError = receiverError\n ? translateServiceBusError(receiverError)\n : receiverError;\n logger.logError(\n translatedError,\n `${this.logPrefix} onDetached: Reinitializing receiver because of error`,\n );\n\n // Clears the token renewal timer. Closes the link and its session if they are open.\n // Removes the link and its session if they are present in rhea's cache.\n await this.closeLink();\n } catch (err: any) {\n logger.verbose(\n `${this.logPrefix} onDetached: Encountered an error when closing the previous link: `,\n err,\n );\n }\n\n try {\n await this._subscribeImpl(\"detach\");\n } finally {\n this._isDetaching = false;\n }\n }\n\n protected removeLinkFromContext(): void {\n delete this._context.messageReceivers[this.name];\n }\n}\n"]}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/** @internal */
|
|
2
|
+
export declare const dataSectionTypeCode: 117;
|
|
3
|
+
/** @internal */
|
|
4
|
+
export declare const sequenceSectionTypeCode: 118;
|
|
5
|
+
/** @internal */
|
|
6
|
+
export declare const valueSectionTypeCode: 119;
|
|
7
|
+
/**
|
|
8
|
+
* Mirror of the internal Section interface in rhea.
|
|
9
|
+
*
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
export interface RheaAmqpSection {
|
|
13
|
+
typecode: typeof dataSectionTypeCode | typeof sequenceSectionTypeCode | typeof valueSectionTypeCode;
|
|
14
|
+
content: any;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* The default data transformer that will be used by the Azure SDK.
|
|
18
|
+
* @internal
|
|
19
|
+
*/
|
|
20
|
+
export declare const defaultDataTransformer: {
|
|
21
|
+
/**
|
|
22
|
+
* A function that takes the body property from an EventData object
|
|
23
|
+
* and returns an encoded body (some form of AMQP type).
|
|
24
|
+
*
|
|
25
|
+
* @param body - The AMQP message body
|
|
26
|
+
* @returns The encoded AMQP message body as an AMQP Data type
|
|
27
|
+
* (data section in rhea terms). Section object with following properties:
|
|
28
|
+
* - typecode: 117 (0x75)
|
|
29
|
+
* - content: The given AMQP message body as a Buffer.
|
|
30
|
+
* - multiple: true | undefined.
|
|
31
|
+
*/
|
|
32
|
+
encode(body: unknown, bodyType: "data" | "value" | "sequence"): any;
|
|
33
|
+
/**
|
|
34
|
+
* A function that takes the body property from an AMQP message
|
|
35
|
+
* (an AMQP Data type (data section in rhea terms)) and returns the decoded message body.
|
|
36
|
+
* If it cannot decode the body then it returns the body
|
|
37
|
+
* as-is.
|
|
38
|
+
*
|
|
39
|
+
* NOTE: Use this to decode a message body when you know that the entire contents are _only_ contained
|
|
40
|
+
* in the 'data' section of the message (for instance, messages from the $mgmt link). Otherwise
|
|
41
|
+
* use 'defaultDataTransformer.decodeWithType', which can handle data coming from separate sections
|
|
42
|
+
* of the AMQP mesage.
|
|
43
|
+
*
|
|
44
|
+
* @param body - The AMQP message body
|
|
45
|
+
* @param skipParsingBodyAsJson - Boolean to skip running JSON.parse() on message body content.
|
|
46
|
+
* @returns decoded body or the given body as-is.
|
|
47
|
+
*/
|
|
48
|
+
decode(body: unknown, skipParsingBodyAsJson: boolean): unknown;
|
|
49
|
+
/**
|
|
50
|
+
* A function that takes the body property from an AMQP message, which can come from either
|
|
51
|
+
* the 'data', 'value' or 'sequence' sections of an AMQP message.
|
|
52
|
+
*
|
|
53
|
+
* If the body is not a JSON string the the raw contents will be returned, along with the bodyType
|
|
54
|
+
* indicating which part of the AMQP message the body was decoded from.
|
|
55
|
+
*
|
|
56
|
+
* @param body - The AMQP message body as received from rhea.
|
|
57
|
+
* @param skipParsingBodyAsJson - Boolean to skip running JSON.parse() on message body.
|
|
58
|
+
* @returns The decoded/raw body and the body type.
|
|
59
|
+
*/
|
|
60
|
+
decodeWithType(body: unknown | RheaAmqpSection, skipParsingBodyAsJson: boolean): {
|
|
61
|
+
body: unknown;
|
|
62
|
+
bodyType: "data" | "sequence" | "value";
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
/** @internal */
|
|
66
|
+
export declare function isRheaAmqpSection(possibleSection: any | RheaAmqpSection): possibleSection is RheaAmqpSection;
|
|
67
|
+
/**
|
|
68
|
+
* Attempts to decode 'body' as a JSON string. If it fails it returns body
|
|
69
|
+
* verbatim.
|
|
70
|
+
*
|
|
71
|
+
* @param body - An AMQP message body.
|
|
72
|
+
* @returns A JSON decoded object, or body if body was not a JSON string.
|
|
73
|
+
*
|
|
74
|
+
* @internal
|
|
75
|
+
*/
|
|
76
|
+
export declare function tryToJsonDecode(body: any): any;
|
|
77
|
+
//# sourceMappingURL=dataTransformer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataTransformer.d.ts","sourceRoot":"","sources":["../../src/dataTransformer.ts"],"names":[],"mappings":"AAQA,gBAAgB;AAChB,eAAO,MAAM,mBAAmB,EAAG,GAAa,CAAC;AACjD,gBAAgB;AAChB,eAAO,MAAM,uBAAuB,EAAG,GAAa,CAAC;AACrD,gBAAgB;AAChB,eAAO,MAAM,oBAAoB,EAAG,GAAa,CAAC;AAElD;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EACJ,OAAO,mBAAmB,GAC1B,OAAO,uBAAuB,GAC9B,OAAO,oBAAoB,CAAC;IAChC,OAAO,EAAE,GAAG,CAAC;CACd;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB;IACjC;;;;;;;;;;OAUG;iBACU,OAAO,YAAY,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,GAAG;IA8BnE;;;;;;;;;;;;;;OAcG;iBACU,OAAO,yBAAyB,OAAO,GAAG,OAAO;IAS9D;;;;;;;;;;OAUG;yBAEK,OAAO,GAAG,eAAe,yBACR,OAAO,GAC7B;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAA;KAAE;CAkC9D,CAAC;AAEF,gBAAgB;AAChB,wBAAgB,iBAAiB,CAC/B,eAAe,EAAE,GAAG,GAAG,eAAe,GACrC,eAAe,IAAI,eAAe,CAQpC;AAED;;;;;;;;GAQG;AAEH,wBAAgB,eAAe,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAe9C"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
// Copyright (c) Microsoft Corporation.
|
|
2
|
-
// Licensed under the MIT
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
3
|
import { message } from "rhea-promise";
|
|
4
4
|
import isBuffer from "is-buffer";
|
|
5
5
|
import { Buffer } from "buffer";
|
|
6
|
-
import { logErrorStackTrace, logger } from "./log";
|
|
6
|
+
import { logErrorStackTrace, logger } from "./log.js";
|
|
7
7
|
/** @internal */
|
|
8
8
|
export const dataSectionTypeCode = 0x75;
|
|
9
9
|
/** @internal */
|
|
@@ -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 { message } from \"rhea-promise\";\nimport isBuffer from \"is-buffer\";\nimport { Buffer } from \"buffer\";\nimport { logErrorStackTrace, logger } from \"./log.js\";\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 * 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/**\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 * @returns The encoded AMQP message body as an AMQP Data type\n * (data section in rhea terms). Section object with following properties:\n * - typecode: 117 (0x75)\n * - content: The given AMQP message body as a Buffer.\n * - multiple: true | undefined.\n */\n encode(body: unknown, bodyType: \"data\" | \"value\" | \"sequence\"): any {\n let result: any;\n if (bodyType === \"value\") {\n // TODO: Expose value_section from `rhea` similar to the data_section and sequence_section. 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 {\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; // tslint:disable-line\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(logger, err);\n throw new Error(msg);\n }\n }\n return result;\n },\n /**\n * A function that takes the body property from an AMQP message\n * (an AMQP Data type (data section in rhea terms)) and returns the decoded message body.\n * If it cannot decode the body then it returns the body\n * as-is.\n *\n * NOTE: Use this to decode a message body when you know that the entire contents are _only_ contained\n * in the 'data' section of the message (for instance, messages from the $mgmt link). Otherwise\n * use 'defaultDataTransformer.decodeWithType', which can handle data coming from separate sections\n * of the AMQP mesage.\n *\n * @param body - The AMQP message body\n * @param skipParsingBodyAsJson - Boolean to skip running JSON.parse() on message body content.\n * @returns decoded body or the given body as-is.\n */\n decode(body: unknown, skipParsingBodyAsJson: boolean): unknown {\n let actualContent = body;\n\n if (isRheaAmqpSection(body)) {\n actualContent = body.content;\n }\n\n return skipParsingBodyAsJson ? actualContent : tryToJsonDecode(actualContent);\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.\n * @returns The decoded/raw body and the body type.\n */\n decodeWithType(\n body: unknown | RheaAmqpSection,\n skipParsingBodyAsJson: boolean,\n ): { body: unknown; bodyType: \"data\" | \"sequence\" | \"value\" } {\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 // typecode:\n // handle sequences\n return { body: body.content, bodyType: \"sequence\" };\n case valueSectionTypeCode:\n // value\n return { body: body.content, bodyType: \"value\" };\n }\n } else {\n // not sure - we have to try to infer the proper bodyType and content\n if (isBuffer(body)) {\n // This indicates that we are getting the AMQP described type. Let us try decoding it.\n return { body: skipParsingBodyAsJson ? body : tryToJsonDecode(body), bodyType: \"data\" };\n } else {\n return { body: body, bodyType: \"value\" };\n }\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/** @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\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 */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function tryToJsonDecode(body: any): any {\n let processedBody = 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. \" +\n \"The error is %O\",\n err,\n );\n }\n return processedBody;\n}\n"]}
|