@azure/service-bus 7.10.0-beta.1 → 7.10.0-beta.3
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 +9 -9
- 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 +5 -5
- 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 +12 -8
- 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 +23 -13
- 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 +77 -14
- 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 +37 -33
- 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 +36 -14
- 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 +36 -12
- 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 +6 -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 +3 -3
- 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 +73 -36
- 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 +2 -2
- 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 +40 -22
- 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 +7 -8
- 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 +32 -24
- 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 +19 -13
- 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 +4 -4
- 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 +4 -4
- 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 +78 -109
- 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 +24 -11
- 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 +21 -1
- 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 +193 -5
- 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 +37 -13
- 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 +16 -13
- 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 +145 -30
- 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 +7 -7
- 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 +2 -1
- package/dist/browser/util/compat/httpHeaders.js.map +1 -0
- 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 +9 -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 +7 -3
- package/dist/browser/util/semaphore.js.map +1 -0
- 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 +5 -7
- 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 +358 -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 +103 -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 +178 -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 +405 -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 +344 -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 +169 -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 +307 -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 +123 -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 +70 -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 +526 -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 +107 -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 +383 -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 +269 -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 +432 -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 +191 -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 +107 -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 +287 -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 +1648 -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 +221 -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 +109 -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 +611 -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 +196 -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 +153 -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 +759 -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 +386 -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 +157 -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 +56 -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 +85 -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 +524 -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 +355 -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 +96 -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 +174 -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 +399 -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 +340 -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 +165 -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 +303 -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 +119 -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 +66 -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 +522 -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 +101 -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 +379 -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 +257 -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 +428 -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 +186 -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 +99 -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 +278 -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 +1643 -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 +216 -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 +103 -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 +598 -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 +192 -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 +149 -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 +755 -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 +378 -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 +152 -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/util/runtimeInfo.js.map +1 -0
- 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 +52 -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 +81 -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 +496 -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 +355 -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 +96 -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 +174 -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 +399 -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 +340 -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 +165 -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 +303 -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 +119 -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 +66 -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 +522 -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 +101 -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 +379 -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 +257 -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 +428 -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 +186 -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 +99 -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 +278 -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 +1643 -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 +216 -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 +103 -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 +598 -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 +192 -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 +149 -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 +755 -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 +378 -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 +152 -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 +52 -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 +81 -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 +496 -0
- package/dist/react-native/util/utils.js.map +1 -0
- package/package.json +123 -104
- 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/httpHeaders.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.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/semaphore.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,192 @@
|
|
|
1
|
+
import type { RequestResponseLink } from "@azure/core-amqp";
|
|
2
|
+
import type { ConnectionContext } from "../connectionContext.js";
|
|
3
|
+
import type { AwaitableSender, AwaitableSenderOptions, Receiver, ReceiverOptions, SenderOptions } from "rhea-promise";
|
|
4
|
+
import type { AbortSignalLike } from "@azure/abort-controller";
|
|
5
|
+
import type { ServiceBusLogger } from "../log.js";
|
|
6
|
+
/**
|
|
7
|
+
* @internal
|
|
8
|
+
* Options passed to the constructor of LinkEntity
|
|
9
|
+
*/
|
|
10
|
+
export interface LinkEntityOptions {
|
|
11
|
+
/**
|
|
12
|
+
* The client entity address in one of the following forms:
|
|
13
|
+
*/
|
|
14
|
+
address?: string;
|
|
15
|
+
/**
|
|
16
|
+
* The client entity token audience in one of the following forms:
|
|
17
|
+
*/
|
|
18
|
+
audience?: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* A simple grouping of the sender and receiver options. Only used
|
|
22
|
+
* with the ManagementClient today.
|
|
23
|
+
*
|
|
24
|
+
* @internal
|
|
25
|
+
*/
|
|
26
|
+
export interface RequestResponseLinkOptions {
|
|
27
|
+
senderOptions: SenderOptions;
|
|
28
|
+
receiverOptions: ReceiverOptions;
|
|
29
|
+
name?: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* @internal
|
|
33
|
+
*/
|
|
34
|
+
export type NonSessionReceiverType = "batching" | "streaming";
|
|
35
|
+
/**
|
|
36
|
+
* @internal
|
|
37
|
+
*/
|
|
38
|
+
export type ReceiverType = NonSessionReceiverType | "session";
|
|
39
|
+
/**
|
|
40
|
+
* @internal
|
|
41
|
+
*/
|
|
42
|
+
type LinkOptionsT<LinkT extends Receiver | AwaitableSender | RequestResponseLink> = LinkT extends Receiver ? ReceiverOptions : LinkT extends AwaitableSender ? AwaitableSenderOptions : LinkT extends RequestResponseLink ? RequestResponseLinkOptions : never;
|
|
43
|
+
/**
|
|
44
|
+
* @internal
|
|
45
|
+
*/
|
|
46
|
+
type LinkTypeT<LinkT extends Receiver | AwaitableSender | RequestResponseLink> = LinkT extends Receiver ? ReceiverType : LinkT extends AwaitableSender ? "sender" : LinkT extends RequestResponseLink ? "mgmt" : never;
|
|
47
|
+
/**
|
|
48
|
+
* @internal
|
|
49
|
+
* Describes the base class for entities like MessageSender, MessageReceiver and Management client.
|
|
50
|
+
*/
|
|
51
|
+
export declare abstract class LinkEntity<LinkT extends Receiver | AwaitableSender | RequestResponseLink> {
|
|
52
|
+
readonly baseName: string;
|
|
53
|
+
readonly entityPath: string;
|
|
54
|
+
private _linkType;
|
|
55
|
+
private _logger;
|
|
56
|
+
/**
|
|
57
|
+
* The unique name for the entity in the format:
|
|
58
|
+
* `${name of the entity}-${guid}`.
|
|
59
|
+
*/
|
|
60
|
+
name: string;
|
|
61
|
+
/**
|
|
62
|
+
* The client entity address in one of the following forms:
|
|
63
|
+
*
|
|
64
|
+
* **Sender**
|
|
65
|
+
* - `"<queue-name>"`.
|
|
66
|
+
* - `"<topic-name>"`.
|
|
67
|
+
*
|
|
68
|
+
* **Receiver**
|
|
69
|
+
* - `"<queue-name>"`.
|
|
70
|
+
* - `"<topic-name>"`.
|
|
71
|
+
*
|
|
72
|
+
* **ManagementClient**
|
|
73
|
+
* -`"$management"`.
|
|
74
|
+
*/
|
|
75
|
+
address: string;
|
|
76
|
+
/**
|
|
77
|
+
* The client entity token audience in one of the following forms:
|
|
78
|
+
*
|
|
79
|
+
* **Sender**
|
|
80
|
+
* - `"sb://<yournamespace>.servicebus.windows.net/<queue-name>"`
|
|
81
|
+
* - `"sb://<yournamespace>.servicebus.windows.net/<topic-name>"`
|
|
82
|
+
*
|
|
83
|
+
* **Receiver**
|
|
84
|
+
* - `"sb://<yournamespace>.servicebus.windows.net/<queue-name>"`
|
|
85
|
+
* - `"sb://<yournamespace>.servicebus.windows.net/<topic-name>"`
|
|
86
|
+
*
|
|
87
|
+
* **ManagementClient**
|
|
88
|
+
* - `"sb://<your-namespace>.servicebus.windows.net/<queue-name>/$management"`.
|
|
89
|
+
* - `"sb://<your-namespace>.servicebus.windows.net/<topic-name>/$management"`.
|
|
90
|
+
*/
|
|
91
|
+
audience: string;
|
|
92
|
+
/**
|
|
93
|
+
* Provides relevant information about the amqp connection,
|
|
94
|
+
* cbs and $management sessions, token provider, sender and receivers.
|
|
95
|
+
*/
|
|
96
|
+
protected _context: ConnectionContext;
|
|
97
|
+
/**
|
|
98
|
+
* The token renewal timer that keeps track of when
|
|
99
|
+
* the Client Entity is due for token renewal.
|
|
100
|
+
*/
|
|
101
|
+
private _tokenRenewalTimer?;
|
|
102
|
+
/**
|
|
103
|
+
* Indicates token timeout
|
|
104
|
+
*/
|
|
105
|
+
protected _tokenTimeout?: number;
|
|
106
|
+
/**
|
|
107
|
+
* The actual rhea link (of type Receiver or AwaitableSender) or RequestResponseLink
|
|
108
|
+
*/
|
|
109
|
+
private _link?;
|
|
110
|
+
/**
|
|
111
|
+
* The log prefix for any log messages.
|
|
112
|
+
*/
|
|
113
|
+
private _logPrefix;
|
|
114
|
+
get logPrefix(): string;
|
|
115
|
+
/**
|
|
116
|
+
* Indicates that close() has been called on this link and
|
|
117
|
+
* that it should not be allowed to reopen.
|
|
118
|
+
*/
|
|
119
|
+
private _wasClosedPermanently;
|
|
120
|
+
/**
|
|
121
|
+
* A lock that ensures that opening and closing this
|
|
122
|
+
* link properly cooperate.
|
|
123
|
+
*/
|
|
124
|
+
private _openLock;
|
|
125
|
+
/**
|
|
126
|
+
* Creates a new ClientEntity instance.
|
|
127
|
+
* @param baseName - The base name to use for the link. A unique ID will be appended to this.
|
|
128
|
+
* @param entityPath - The entity path (ex: 'your-queue')
|
|
129
|
+
* @param context - The connection context.
|
|
130
|
+
* @param options - Options that can be provided while creating the LinkEntity.
|
|
131
|
+
*/
|
|
132
|
+
constructor(baseName: string, entityPath: string, context: ConnectionContext, _linkType: LinkTypeT<LinkT>, _logger: ServiceBusLogger, options?: LinkEntityOptions);
|
|
133
|
+
/**
|
|
134
|
+
* Determines whether the AMQP link is open. If open then returns true else returns false.
|
|
135
|
+
*/
|
|
136
|
+
isOpen(): boolean;
|
|
137
|
+
/**
|
|
138
|
+
* Initializes this LinkEntity, setting this._link with the result of `createRheaLink`, which
|
|
139
|
+
* is implemented by child classes.
|
|
140
|
+
*
|
|
141
|
+
* @returns A Promise that resolves when the link has been properly initialized
|
|
142
|
+
* @throws `AbortError` if the link has been closed via 'close'
|
|
143
|
+
*/
|
|
144
|
+
initLink(options: LinkOptionsT<LinkT>, abortSignal?: AbortSignalLike): Promise<void>;
|
|
145
|
+
private _initLinkImpl;
|
|
146
|
+
/**
|
|
147
|
+
* Clears token renewal for current link, removes current LinkEntity instance from cache,
|
|
148
|
+
* and closes the underlying AMQP link.
|
|
149
|
+
* Once closed, this instance of LinkEntity is not meant to be re-used.
|
|
150
|
+
*/
|
|
151
|
+
close(): Promise<void>;
|
|
152
|
+
/**
|
|
153
|
+
* NOTE: This method should be implemented by any child classes to actually create the underlying
|
|
154
|
+
* Rhea link (AwaitableSender or Receiver or RequestResponseLink)
|
|
155
|
+
*
|
|
156
|
+
*/
|
|
157
|
+
protected abstract createRheaLink(_options: LinkOptionsT<LinkT>): Promise<LinkT>;
|
|
158
|
+
/**
|
|
159
|
+
* Clears this link from context's link cache.
|
|
160
|
+
*/
|
|
161
|
+
protected abstract removeLinkFromContext(): void;
|
|
162
|
+
/**
|
|
163
|
+
* Closes the internally held rhea link, stops the token renewal timer and sets
|
|
164
|
+
* the this._link field to undefined.
|
|
165
|
+
*/
|
|
166
|
+
protected closeLink(): Promise<void>;
|
|
167
|
+
private closeLinkImpl;
|
|
168
|
+
/**
|
|
169
|
+
* Provides the current type of the ClientEntity.
|
|
170
|
+
* @returns The entity type.
|
|
171
|
+
*/
|
|
172
|
+
private get _type();
|
|
173
|
+
protected get wasClosedPermanently(): boolean;
|
|
174
|
+
protected get link(): LinkT | undefined;
|
|
175
|
+
/**
|
|
176
|
+
* Negotiates the cbs claim for the ClientEntity.
|
|
177
|
+
* @param setTokenRenewal - Set the token renewal timer. Default false.
|
|
178
|
+
*/
|
|
179
|
+
private _negotiateClaim;
|
|
180
|
+
/**
|
|
181
|
+
* Checks to see if the connection is in a "reopening" state. If it is
|
|
182
|
+
* we need to _not_ use it otherwise we'll trigger some race conditions
|
|
183
|
+
* within rhea (for instance, errors about _process not being defined).
|
|
184
|
+
*/
|
|
185
|
+
private checkIfConnectionReady;
|
|
186
|
+
/**
|
|
187
|
+
* Ensures that the token is renewed within the predefined renewal margin.
|
|
188
|
+
*/
|
|
189
|
+
private _ensureTokenRenewal;
|
|
190
|
+
}
|
|
191
|
+
export {};
|
|
192
|
+
//# sourceMappingURL=linkEntity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linkEntity.d.ts","sourceRoot":"","sources":["../../../src/core/linkEntity.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,344 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.LinkEntity = void 0;
|
|
6
|
+
const core_amqp_1 = require("@azure/core-amqp");
|
|
7
|
+
const rhea_promise_1 = require("rhea-promise");
|
|
8
|
+
const utils_js_1 = require("../util/utils.js");
|
|
9
|
+
const abort_controller_1 = require("@azure/abort-controller");
|
|
10
|
+
const serviceBusError_js_1 = require("../serviceBusError.js");
|
|
11
|
+
/**
|
|
12
|
+
* @internal
|
|
13
|
+
* Describes the base class for entities like MessageSender, MessageReceiver and Management client.
|
|
14
|
+
*/
|
|
15
|
+
class LinkEntity {
|
|
16
|
+
baseName;
|
|
17
|
+
entityPath;
|
|
18
|
+
_linkType;
|
|
19
|
+
_logger;
|
|
20
|
+
/**
|
|
21
|
+
* The unique name for the entity in the format:
|
|
22
|
+
* `${name of the entity}-${guid}`.
|
|
23
|
+
*/
|
|
24
|
+
name;
|
|
25
|
+
/**
|
|
26
|
+
* The client entity address in one of the following forms:
|
|
27
|
+
*
|
|
28
|
+
* **Sender**
|
|
29
|
+
* - `"<queue-name>"`.
|
|
30
|
+
* - `"<topic-name>"`.
|
|
31
|
+
*
|
|
32
|
+
* **Receiver**
|
|
33
|
+
* - `"<queue-name>"`.
|
|
34
|
+
* - `"<topic-name>"`.
|
|
35
|
+
*
|
|
36
|
+
* **ManagementClient**
|
|
37
|
+
* -`"$management"`.
|
|
38
|
+
*/
|
|
39
|
+
address;
|
|
40
|
+
/**
|
|
41
|
+
* The client entity token audience in one of the following forms:
|
|
42
|
+
*
|
|
43
|
+
* **Sender**
|
|
44
|
+
* - `"sb://<yournamespace>.servicebus.windows.net/<queue-name>"`
|
|
45
|
+
* - `"sb://<yournamespace>.servicebus.windows.net/<topic-name>"`
|
|
46
|
+
*
|
|
47
|
+
* **Receiver**
|
|
48
|
+
* - `"sb://<yournamespace>.servicebus.windows.net/<queue-name>"`
|
|
49
|
+
* - `"sb://<yournamespace>.servicebus.windows.net/<topic-name>"`
|
|
50
|
+
*
|
|
51
|
+
* **ManagementClient**
|
|
52
|
+
* - `"sb://<your-namespace>.servicebus.windows.net/<queue-name>/$management"`.
|
|
53
|
+
* - `"sb://<your-namespace>.servicebus.windows.net/<topic-name>/$management"`.
|
|
54
|
+
*/
|
|
55
|
+
audience;
|
|
56
|
+
/**
|
|
57
|
+
* Provides relevant information about the amqp connection,
|
|
58
|
+
* cbs and $management sessions, token provider, sender and receivers.
|
|
59
|
+
*/
|
|
60
|
+
_context;
|
|
61
|
+
/**
|
|
62
|
+
* The token renewal timer that keeps track of when
|
|
63
|
+
* the Client Entity is due for token renewal.
|
|
64
|
+
*/
|
|
65
|
+
_tokenRenewalTimer;
|
|
66
|
+
/**
|
|
67
|
+
* Indicates token timeout
|
|
68
|
+
*/
|
|
69
|
+
_tokenTimeout;
|
|
70
|
+
/**
|
|
71
|
+
* The actual rhea link (of type Receiver or AwaitableSender) or RequestResponseLink
|
|
72
|
+
*/
|
|
73
|
+
_link;
|
|
74
|
+
/**
|
|
75
|
+
* The log prefix for any log messages.
|
|
76
|
+
*/
|
|
77
|
+
_logPrefix;
|
|
78
|
+
get logPrefix() {
|
|
79
|
+
return this._logPrefix;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Indicates that close() has been called on this link and
|
|
83
|
+
* that it should not be allowed to reopen.
|
|
84
|
+
*/
|
|
85
|
+
_wasClosedPermanently = false;
|
|
86
|
+
/**
|
|
87
|
+
* A lock that ensures that opening and closing this
|
|
88
|
+
* link properly cooperate.
|
|
89
|
+
*/
|
|
90
|
+
_openLock = `linkEntity-${(0, rhea_promise_1.generate_uuid)()}`;
|
|
91
|
+
/**
|
|
92
|
+
* Creates a new ClientEntity instance.
|
|
93
|
+
* @param baseName - The base name to use for the link. A unique ID will be appended to this.
|
|
94
|
+
* @param entityPath - The entity path (ex: 'your-queue')
|
|
95
|
+
* @param context - The connection context.
|
|
96
|
+
* @param options - Options that can be provided while creating the LinkEntity.
|
|
97
|
+
*/
|
|
98
|
+
constructor(baseName, entityPath, context, _linkType, _logger, options) {
|
|
99
|
+
this.baseName = baseName;
|
|
100
|
+
this.entityPath = entityPath;
|
|
101
|
+
this._linkType = _linkType;
|
|
102
|
+
this._logger = _logger;
|
|
103
|
+
if (!options)
|
|
104
|
+
options = {};
|
|
105
|
+
this._context = context;
|
|
106
|
+
this.address = options.address || "";
|
|
107
|
+
this.audience = options.audience || "";
|
|
108
|
+
this.name = (0, utils_js_1.getUniqueName)(baseName);
|
|
109
|
+
this._logPrefix = `[${context.connectionId}|${this._linkType}:${this.name}]`;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Determines whether the AMQP link is open. If open then returns true else returns false.
|
|
113
|
+
*/
|
|
114
|
+
isOpen() {
|
|
115
|
+
const result = this._link ? this._link.isOpen() : false;
|
|
116
|
+
this._logger.verbose(`${this._logPrefix} is open? ${result}`);
|
|
117
|
+
return result;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Initializes this LinkEntity, setting this._link with the result of `createRheaLink`, which
|
|
121
|
+
* is implemented by child classes.
|
|
122
|
+
*
|
|
123
|
+
* @returns A Promise that resolves when the link has been properly initialized
|
|
124
|
+
* @throws `AbortError` if the link has been closed via 'close'
|
|
125
|
+
*/
|
|
126
|
+
async initLink(options, abortSignal) {
|
|
127
|
+
// we'll check that the connection isn't in the process of recycling (and if so, wait for it to complete)
|
|
128
|
+
await this._context.readyToOpenLink();
|
|
129
|
+
this._logger.verbose(`${this._logPrefix} Attempting to acquire lock token ${this._openLock} for initializing link`);
|
|
130
|
+
return core_amqp_1.defaultCancellableLock.acquire(this._openLock, () => {
|
|
131
|
+
this._logger.verbose(`${this._logPrefix} Lock ${this._openLock} acquired for initializing link`);
|
|
132
|
+
return this._initLinkImpl(options, abortSignal);
|
|
133
|
+
}, {
|
|
134
|
+
abortSignal: abortSignal,
|
|
135
|
+
timeoutInMs: core_amqp_1.Constants.defaultOperationTimeoutInMs,
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
async _initLinkImpl(options, abortSignal) {
|
|
139
|
+
const checkAborted = () => {
|
|
140
|
+
if (abortSignal?.aborted) {
|
|
141
|
+
this._link?.close();
|
|
142
|
+
throw new abort_controller_1.AbortError(core_amqp_1.StandardAbortMessage);
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
const connectionId = this._context.connectionId;
|
|
146
|
+
checkAborted();
|
|
147
|
+
if (options.name) {
|
|
148
|
+
this.name = options.name;
|
|
149
|
+
this._logPrefix = `[${connectionId}|${this._linkType}:${this.name}]`;
|
|
150
|
+
}
|
|
151
|
+
if (this._wasClosedPermanently) {
|
|
152
|
+
this._logger.verbose(`${this._logPrefix} Link has been permanently closed. Not reopening.`);
|
|
153
|
+
throw new abort_controller_1.AbortError(`Link has been permanently closed. Not reopening.`);
|
|
154
|
+
}
|
|
155
|
+
if (this.isOpen()) {
|
|
156
|
+
this._logger.verbose(`${this._logPrefix} Link is already open. Returning.`);
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
this._logger.verbose(`${this._logPrefix} Is not open and is not currently connecting. Opening.`);
|
|
160
|
+
try {
|
|
161
|
+
await this._negotiateClaim({
|
|
162
|
+
abortSignal,
|
|
163
|
+
setTokenRenewal: false,
|
|
164
|
+
timeoutInMs: core_amqp_1.Constants.defaultOperationTimeoutInMs,
|
|
165
|
+
});
|
|
166
|
+
checkAborted();
|
|
167
|
+
this.checkIfConnectionReady();
|
|
168
|
+
this._logger.verbose(`${this._logPrefix} Creating with options %O`, options);
|
|
169
|
+
this._link = await this.createRheaLink(options);
|
|
170
|
+
checkAborted();
|
|
171
|
+
this._ensureTokenRenewal();
|
|
172
|
+
this._logger.verbose(`${this._logPrefix} Link has been created.`);
|
|
173
|
+
}
|
|
174
|
+
catch (err) {
|
|
175
|
+
this._logger.logError(err, `${this._logPrefix} Error thrown when creating the link`);
|
|
176
|
+
await this.closeLinkImpl();
|
|
177
|
+
throw err;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Clears token renewal for current link, removes current LinkEntity instance from cache,
|
|
182
|
+
* and closes the underlying AMQP link.
|
|
183
|
+
* Once closed, this instance of LinkEntity is not meant to be re-used.
|
|
184
|
+
*/
|
|
185
|
+
async close() {
|
|
186
|
+
// Set the flag to indicate that this instance of LinkEntity is not meant to be re-used.
|
|
187
|
+
this._wasClosedPermanently = true;
|
|
188
|
+
this._logger.verbose(`${this.logPrefix} permanently closing this link.`);
|
|
189
|
+
this.removeLinkFromContext();
|
|
190
|
+
await this.closeLink();
|
|
191
|
+
this._logger.verbose(`${this.logPrefix} permanently closed this link.`);
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Closes the internally held rhea link, stops the token renewal timer and sets
|
|
195
|
+
* the this._link field to undefined.
|
|
196
|
+
*/
|
|
197
|
+
closeLink() {
|
|
198
|
+
this._logger.verbose(`${this._logPrefix} Attempting to acquire lock token ${this._openLock} for closing link`);
|
|
199
|
+
return core_amqp_1.defaultCancellableLock.acquire(this._openLock, () => {
|
|
200
|
+
this._logger.verbose(`${this._logPrefix} Lock ${this._openLock} acquired for closing link`);
|
|
201
|
+
return this.closeLinkImpl();
|
|
202
|
+
}, { abortSignal: undefined, timeoutInMs: undefined });
|
|
203
|
+
}
|
|
204
|
+
async closeLinkImpl() {
|
|
205
|
+
this._logger.verbose(`${this._logPrefix} closeLinkImpl() called`);
|
|
206
|
+
clearTimeout(this._tokenRenewalTimer);
|
|
207
|
+
this._tokenRenewalTimer = undefined;
|
|
208
|
+
if (this._link) {
|
|
209
|
+
try {
|
|
210
|
+
const link = this._link;
|
|
211
|
+
this._link = undefined;
|
|
212
|
+
// This should take care of closing the link and it's underlying session. This should also
|
|
213
|
+
// remove them from the internal map.
|
|
214
|
+
await link.close();
|
|
215
|
+
this._logger.verbose(`${this._logPrefix} closed.`);
|
|
216
|
+
}
|
|
217
|
+
catch (err) {
|
|
218
|
+
this._logger.logError(err, `${this._logPrefix} An error occurred while closing the link`);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Provides the current type of the ClientEntity.
|
|
224
|
+
* @returns The entity type.
|
|
225
|
+
*/
|
|
226
|
+
get _type() {
|
|
227
|
+
let result = "LinkEntity";
|
|
228
|
+
if (this.constructor && this.constructor.name) {
|
|
229
|
+
result = this.constructor.name;
|
|
230
|
+
}
|
|
231
|
+
return result;
|
|
232
|
+
}
|
|
233
|
+
get wasClosedPermanently() {
|
|
234
|
+
return this._wasClosedPermanently;
|
|
235
|
+
}
|
|
236
|
+
get link() {
|
|
237
|
+
return this._link;
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Negotiates the cbs claim for the ClientEntity.
|
|
241
|
+
* @param setTokenRenewal - Set the token renewal timer. Default false.
|
|
242
|
+
*/
|
|
243
|
+
async _negotiateClaim({ abortSignal, setTokenRenewal, timeoutInMs, }) {
|
|
244
|
+
this._logger.verbose(`${this._logPrefix} negotiateclaim() has been called`);
|
|
245
|
+
// Wait for the connectionContext to be ready to open the link.
|
|
246
|
+
this.checkIfConnectionReady();
|
|
247
|
+
// Acquire the lock and establish a cbs session if it does not exist on the connection.
|
|
248
|
+
// Although node.js is single threaded, we need a locking mechanism to ensure that a
|
|
249
|
+
// race condition does not happen while creating a shared resource (in this case the
|
|
250
|
+
// cbs session, since we want to have exactly 1 cbs session per connection).
|
|
251
|
+
this._logger.verbose("%s Acquiring cbs lock: '%s' for creating the cbs session while creating the %s: " +
|
|
252
|
+
"'%s' with address: '%s'.", this.logPrefix, this._context.cbsSession.cbsLock, this._type, this.name, this.address);
|
|
253
|
+
const startTime = Date.now();
|
|
254
|
+
if (!this._context.cbsSession.isOpen()) {
|
|
255
|
+
await core_amqp_1.defaultCancellableLock.acquire(this._context.cbsSession.cbsLock, () => {
|
|
256
|
+
this.checkIfConnectionReady();
|
|
257
|
+
return this._context.cbsSession.init({ abortSignal, timeoutInMs });
|
|
258
|
+
}, {
|
|
259
|
+
abortSignal,
|
|
260
|
+
timeoutInMs: timeoutInMs - (Date.now() - startTime),
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
let tokenObject;
|
|
264
|
+
let tokenType;
|
|
265
|
+
if ((0, core_amqp_1.isSasTokenProvider)(this._context.tokenCredential)) {
|
|
266
|
+
tokenObject = await this._context.tokenCredential.getToken(this.audience);
|
|
267
|
+
tokenType = core_amqp_1.TokenType.CbsTokenTypeSas;
|
|
268
|
+
// renew sas token in every 45 minutes
|
|
269
|
+
this._tokenTimeout = (3600 - 900) * 1000;
|
|
270
|
+
}
|
|
271
|
+
else {
|
|
272
|
+
const aadToken = await this._context.tokenCredential.getToken(core_amqp_1.Constants.aadServiceBusScope);
|
|
273
|
+
if (!aadToken) {
|
|
274
|
+
throw new Error(`Failed to get token from the provided "TokenCredential" object`);
|
|
275
|
+
}
|
|
276
|
+
tokenObject = aadToken;
|
|
277
|
+
tokenType = core_amqp_1.TokenType.CbsTokenTypeJwt;
|
|
278
|
+
this._tokenTimeout = tokenObject.expiresOnTimestamp - Date.now() - 2 * 60 * 1000;
|
|
279
|
+
}
|
|
280
|
+
this._logger.verbose("%s %s: calling negotiateClaim for audience '%s'.", this.logPrefix, this._type, this.audience);
|
|
281
|
+
// Acquire the lock to negotiate the CBS claim.
|
|
282
|
+
this._logger.verbose("%s Acquiring cbs lock: '%s' for cbs auth for %s: '%s' with address '%s'.", this.logPrefix, this._context.negotiateClaimLock, this._type, this.name, this.address);
|
|
283
|
+
if (!tokenObject) {
|
|
284
|
+
throw new Error("Token cannot be null");
|
|
285
|
+
}
|
|
286
|
+
await core_amqp_1.defaultCancellableLock.acquire(this._context.negotiateClaimLock, () => {
|
|
287
|
+
this.checkIfConnectionReady();
|
|
288
|
+
return this._context.cbsSession.negotiateClaim(this.audience, tokenObject.token, tokenType, {
|
|
289
|
+
abortSignal,
|
|
290
|
+
timeoutInMs: timeoutInMs - (Date.now() - startTime),
|
|
291
|
+
});
|
|
292
|
+
}, {
|
|
293
|
+
abortSignal,
|
|
294
|
+
timeoutInMs: timeoutInMs - (Date.now() - startTime),
|
|
295
|
+
});
|
|
296
|
+
this._logger.verbose("%s Negotiated claim for %s '%s' with with address: %s", this.logPrefix, this._type, this.name, this.address);
|
|
297
|
+
if (setTokenRenewal) {
|
|
298
|
+
this._ensureTokenRenewal();
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Checks to see if the connection is in a "reopening" state. If it is
|
|
303
|
+
* we need to _not_ use it otherwise we'll trigger some race conditions
|
|
304
|
+
* within rhea (for instance, errors about _process not being defined).
|
|
305
|
+
*/
|
|
306
|
+
checkIfConnectionReady() {
|
|
307
|
+
if (!this._context.isConnectionClosing()) {
|
|
308
|
+
return;
|
|
309
|
+
}
|
|
310
|
+
this._logger.verbose(`${this._logPrefix} Connection is reopening, aborting link initialization.`);
|
|
311
|
+
const err = new serviceBusError_js_1.ServiceBusError("Connection is reopening, aborting link initialization.", "GeneralError");
|
|
312
|
+
err.retryable = true;
|
|
313
|
+
throw err;
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* Ensures that the token is renewed within the predefined renewal margin.
|
|
317
|
+
*/
|
|
318
|
+
_ensureTokenRenewal() {
|
|
319
|
+
if (!this._tokenTimeout) {
|
|
320
|
+
return;
|
|
321
|
+
}
|
|
322
|
+
// Clear the existing token renewal timer.
|
|
323
|
+
// This scenario can happen if the connection goes down and is brought back up
|
|
324
|
+
// before the `nextRenewalTimeout` was reached.
|
|
325
|
+
if (this._tokenRenewalTimer) {
|
|
326
|
+
clearTimeout(this._tokenRenewalTimer);
|
|
327
|
+
}
|
|
328
|
+
this._tokenRenewalTimer = setTimeout(async () => {
|
|
329
|
+
try {
|
|
330
|
+
await this._negotiateClaim({
|
|
331
|
+
setTokenRenewal: true,
|
|
332
|
+
abortSignal: undefined,
|
|
333
|
+
timeoutInMs: core_amqp_1.Constants.defaultOperationTimeoutInMs,
|
|
334
|
+
});
|
|
335
|
+
}
|
|
336
|
+
catch (err) {
|
|
337
|
+
this._logger.logError(err, "%s %s '%s' with address %s, an error occurred while renewing the token", this.logPrefix, this._type, this.name, this.address);
|
|
338
|
+
}
|
|
339
|
+
}, this._tokenTimeout);
|
|
340
|
+
this._logger.verbose("%s %s '%s' with address %s, has next token renewal in %d milliseconds @(%s).", this.logPrefix, this._type, this.name, this.address, this._tokenTimeout, new Date(Date.now() + this._tokenTimeout).toString());
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
exports.LinkEntity = LinkEntity;
|
|
344
|
+
//# sourceMappingURL=linkEntity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linkEntity.js","sourceRoot":"","sources":["../../../src/core/linkEntity.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { RequestResponseLink } from \"@azure/core-amqp\";\nimport {\n Constants,\n TokenType,\n defaultCancellableLock,\n StandardAbortMessage,\n isSasTokenProvider,\n} from \"@azure/core-amqp\";\nimport type { AccessToken } from \"@azure/core-auth\";\nimport type { ConnectionContext } from \"../connectionContext.js\";\nimport type {\n AwaitableSender,\n AwaitableSenderOptions,\n Receiver,\n ReceiverOptions,\n SenderOptions,\n} from \"rhea-promise\";\nimport { generate_uuid } from \"rhea-promise\";\nimport { getUniqueName } from \"../util/utils.js\";\nimport type { AbortSignalLike } from \"@azure/abort-controller\";\nimport { AbortError } from \"@azure/abort-controller\";\nimport type { ServiceBusLogger } from \"../log.js\";\nimport { ServiceBusError } from \"../serviceBusError.js\";\n\n/**\n * @internal\n * Options passed to the constructor of LinkEntity\n */\nexport interface LinkEntityOptions {\n /**\n * The client entity address in one of the following forms:\n */\n address?: string;\n /**\n * The client entity token audience in one of the following forms:\n */\n audience?: string;\n}\n\n/**\n * A simple grouping of the sender and receiver options. Only used\n * with the ManagementClient today.\n *\n * @internal\n */\nexport interface RequestResponseLinkOptions {\n senderOptions: SenderOptions;\n receiverOptions: ReceiverOptions;\n name?: string;\n}\n\n/**\n * @internal\n */\nexport type NonSessionReceiverType =\n | \"batching\" // batching receiver\n | \"streaming\"; // streaming receiver\n\n/**\n * @internal\n */\nexport type ReceiverType = NonSessionReceiverType | \"session\"; // message session\n\n/**\n * @internal\n */\ntype LinkOptionsT<LinkT extends Receiver | AwaitableSender | RequestResponseLink> =\n LinkT extends Receiver\n ? ReceiverOptions\n : LinkT extends AwaitableSender\n ? AwaitableSenderOptions\n : LinkT extends RequestResponseLink\n ? RequestResponseLinkOptions\n : never;\n\n/**\n * @internal\n */\ntype LinkTypeT<LinkT extends Receiver | AwaitableSender | RequestResponseLink> =\n LinkT extends Receiver\n ? ReceiverType\n : LinkT extends AwaitableSender\n ? \"sender\" // sender\n : LinkT extends RequestResponseLink\n ? \"mgmt\" // management link\n : never;\n\n/**\n * @internal\n * Describes the base class for entities like MessageSender, MessageReceiver and Management client.\n */\nexport abstract class LinkEntity<LinkT extends Receiver | AwaitableSender | RequestResponseLink> {\n /**\n * The unique name for the entity in the format:\n * `${name of the entity}-${guid}`.\n */\n name: string;\n /**\n * The client entity address in one of the following forms:\n *\n * **Sender**\n * - `\"<queue-name>\"`.\n * - `\"<topic-name>\"`.\n *\n * **Receiver**\n * - `\"<queue-name>\"`.\n * - `\"<topic-name>\"`.\n *\n * **ManagementClient**\n * -`\"$management\"`.\n */\n address: string;\n /**\n * The client entity token audience in one of the following forms:\n *\n * **Sender**\n * - `\"sb://<yournamespace>.servicebus.windows.net/<queue-name>\"`\n * - `\"sb://<yournamespace>.servicebus.windows.net/<topic-name>\"`\n *\n * **Receiver**\n * - `\"sb://<yournamespace>.servicebus.windows.net/<queue-name>\"`\n * - `\"sb://<yournamespace>.servicebus.windows.net/<topic-name>\"`\n *\n * **ManagementClient**\n * - `\"sb://<your-namespace>.servicebus.windows.net/<queue-name>/$management\"`.\n * - `\"sb://<your-namespace>.servicebus.windows.net/<topic-name>/$management\"`.\n */\n audience: string;\n /**\n * Provides relevant information about the amqp connection,\n * cbs and $management sessions, token provider, sender and receivers.\n */\n protected _context: ConnectionContext;\n /**\n * The token renewal timer that keeps track of when\n * the Client Entity is due for token renewal.\n */\n private _tokenRenewalTimer?: NodeJS.Timeout;\n /**\n * Indicates token timeout\n */\n protected _tokenTimeout?: number;\n\n /**\n * The actual rhea link (of type Receiver or AwaitableSender) or RequestResponseLink\n */\n private _link?: LinkT;\n\n /**\n * The log prefix for any log messages.\n */\n private _logPrefix: string;\n\n public get logPrefix(): string {\n return this._logPrefix;\n }\n\n /**\n * Indicates that close() has been called on this link and\n * that it should not be allowed to reopen.\n */\n private _wasClosedPermanently: boolean = false;\n\n /**\n * A lock that ensures that opening and closing this\n * link properly cooperate.\n */\n private _openLock: string = `linkEntity-${generate_uuid()}`;\n\n /**\n * Creates a new ClientEntity instance.\n * @param baseName - The base name to use for the link. A unique ID will be appended to this.\n * @param entityPath - The entity path (ex: 'your-queue')\n * @param context - The connection context.\n * @param options - Options that can be provided while creating the LinkEntity.\n */\n constructor(\n public readonly baseName: string,\n public readonly entityPath: string,\n context: ConnectionContext,\n private _linkType: LinkTypeT<LinkT>,\n private _logger: ServiceBusLogger,\n options?: LinkEntityOptions,\n ) {\n if (!options) options = {};\n this._context = context;\n this.address = options.address || \"\";\n this.audience = options.audience || \"\";\n this.name = getUniqueName(baseName);\n this._logPrefix = `[${context.connectionId}|${this._linkType}:${this.name}]`;\n }\n\n /**\n * Determines whether the AMQP link is open. If open then returns true else returns false.\n */\n isOpen(): boolean {\n const result: boolean = this._link ? this._link.isOpen() : false;\n this._logger.verbose(`${this._logPrefix} is open? ${result}`);\n return result;\n }\n\n /**\n * Initializes this LinkEntity, setting this._link with the result of `createRheaLink`, which\n * is implemented by child classes.\n *\n * @returns A Promise that resolves when the link has been properly initialized\n * @throws `AbortError` if the link has been closed via 'close'\n */\n async initLink(options: LinkOptionsT<LinkT>, abortSignal?: AbortSignalLike): Promise<void> {\n // we'll check that the connection isn't in the process of recycling (and if so, wait for it to complete)\n await this._context.readyToOpenLink();\n\n this._logger.verbose(\n `${this._logPrefix} Attempting to acquire lock token ${this._openLock} for initializing link`,\n );\n return defaultCancellableLock.acquire(\n this._openLock,\n () => {\n this._logger.verbose(\n `${this._logPrefix} Lock ${this._openLock} acquired for initializing link`,\n );\n return this._initLinkImpl(options, abortSignal);\n },\n {\n abortSignal: abortSignal,\n timeoutInMs: Constants.defaultOperationTimeoutInMs,\n },\n );\n }\n\n private async _initLinkImpl(\n options: LinkOptionsT<LinkT>,\n abortSignal?: AbortSignalLike,\n ): Promise<void> {\n const checkAborted = (): void => {\n if (abortSignal?.aborted) {\n this._link?.close();\n throw new AbortError(StandardAbortMessage);\n }\n };\n\n const connectionId = this._context.connectionId;\n checkAborted();\n\n if (options.name) {\n this.name = options.name;\n this._logPrefix = `[${connectionId}|${this._linkType}:${this.name}]`;\n }\n\n if (this._wasClosedPermanently) {\n this._logger.verbose(`${this._logPrefix} Link has been permanently closed. Not reopening.`);\n throw new AbortError(`Link has been permanently closed. Not reopening.`);\n }\n\n if (this.isOpen()) {\n this._logger.verbose(`${this._logPrefix} Link is already open. Returning.`);\n return;\n }\n\n this._logger.verbose(\n `${this._logPrefix} Is not open and is not currently connecting. Opening.`,\n );\n\n try {\n await this._negotiateClaim({\n abortSignal,\n setTokenRenewal: false,\n timeoutInMs: Constants.defaultOperationTimeoutInMs,\n });\n\n checkAborted();\n this.checkIfConnectionReady();\n\n this._logger.verbose(`${this._logPrefix} Creating with options %O`, options);\n this._link = await this.createRheaLink(options);\n checkAborted();\n\n this._ensureTokenRenewal();\n\n this._logger.verbose(`${this._logPrefix} Link has been created.`);\n } catch (err: any) {\n this._logger.logError(err, `${this._logPrefix} Error thrown when creating the link`);\n await this.closeLinkImpl();\n throw err;\n }\n }\n\n /**\n * Clears token renewal for current link, removes current LinkEntity instance from cache,\n * and closes the underlying AMQP link.\n * Once closed, this instance of LinkEntity is not meant to be re-used.\n */\n async close(): Promise<void> {\n // Set the flag to indicate that this instance of LinkEntity is not meant to be re-used.\n this._wasClosedPermanently = true;\n\n this._logger.verbose(`${this.logPrefix} permanently closing this link.`);\n\n this.removeLinkFromContext();\n\n await this.closeLink();\n this._logger.verbose(`${this.logPrefix} permanently closed this link.`);\n }\n\n /**\n * NOTE: This method should be implemented by any child classes to actually create the underlying\n * Rhea link (AwaitableSender or Receiver or RequestResponseLink)\n *\n */\n protected abstract createRheaLink(_options: LinkOptionsT<LinkT>): Promise<LinkT>;\n\n /**\n * Clears this link from context's link cache.\n */\n protected abstract removeLinkFromContext(): void;\n\n /**\n * Closes the internally held rhea link, stops the token renewal timer and sets\n * the this._link field to undefined.\n */\n protected closeLink(): Promise<void> {\n this._logger.verbose(\n `${this._logPrefix} Attempting to acquire lock token ${this._openLock} for closing link`,\n );\n return defaultCancellableLock.acquire(\n this._openLock,\n () => {\n this._logger.verbose(`${this._logPrefix} Lock ${this._openLock} acquired for closing link`);\n return this.closeLinkImpl();\n },\n { abortSignal: undefined, timeoutInMs: undefined },\n );\n }\n\n private async closeLinkImpl(): Promise<void> {\n this._logger.verbose(`${this._logPrefix} closeLinkImpl() called`);\n\n clearTimeout(this._tokenRenewalTimer as NodeJS.Timeout);\n this._tokenRenewalTimer = undefined;\n\n if (this._link) {\n try {\n const link = this._link;\n this._link = undefined;\n\n // This should take care of closing the link and it's underlying session. This should also\n // remove them from the internal map.\n await link.close();\n this._logger.verbose(`${this._logPrefix} closed.`);\n } catch (err: any) {\n this._logger.logError(err, `${this._logPrefix} An error occurred while closing the link`);\n }\n }\n }\n\n /**\n * Provides the current type of the ClientEntity.\n * @returns The entity type.\n */\n private get _type(): string {\n let result = \"LinkEntity\";\n if ((this as any).constructor && (this as any).constructor.name) {\n result = (this as any).constructor.name;\n }\n return result;\n }\n\n protected get wasClosedPermanently(): boolean {\n return this._wasClosedPermanently;\n }\n\n protected get link(): LinkT | undefined {\n return this._link;\n }\n\n /**\n * Negotiates the cbs claim for the ClientEntity.\n * @param setTokenRenewal - Set the token renewal timer. Default false.\n */\n private async _negotiateClaim({\n abortSignal,\n setTokenRenewal,\n timeoutInMs,\n }: {\n setTokenRenewal: boolean;\n abortSignal: AbortSignalLike | undefined;\n timeoutInMs: number;\n }): Promise<void> {\n this._logger.verbose(`${this._logPrefix} negotiateclaim() has been called`);\n\n // Wait for the connectionContext to be ready to open the link.\n this.checkIfConnectionReady();\n\n // Acquire the lock and establish a cbs session if it does not exist on the connection.\n // Although node.js is single threaded, we need a locking mechanism to ensure that a\n // race condition does not happen while creating a shared resource (in this case the\n // cbs session, since we want to have exactly 1 cbs session per connection).\n this._logger.verbose(\n \"%s Acquiring cbs lock: '%s' for creating the cbs session while creating the %s: \" +\n \"'%s' with address: '%s'.\",\n this.logPrefix,\n this._context.cbsSession.cbsLock,\n this._type,\n this.name,\n this.address,\n );\n\n const startTime = Date.now();\n if (!this._context.cbsSession.isOpen()) {\n await defaultCancellableLock.acquire(\n this._context.cbsSession.cbsLock,\n () => {\n this.checkIfConnectionReady();\n return this._context.cbsSession.init({ abortSignal, timeoutInMs });\n },\n {\n abortSignal,\n timeoutInMs: timeoutInMs - (Date.now() - startTime),\n },\n );\n }\n\n let tokenObject: AccessToken;\n let tokenType: TokenType;\n if (isSasTokenProvider(this._context.tokenCredential)) {\n tokenObject = await this._context.tokenCredential.getToken(this.audience);\n tokenType = TokenType.CbsTokenTypeSas;\n\n // renew sas token in every 45 minutes\n this._tokenTimeout = (3600 - 900) * 1000;\n } else {\n const aadToken = await this._context.tokenCredential.getToken(Constants.aadServiceBusScope);\n if (!aadToken) {\n throw new Error(`Failed to get token from the provided \"TokenCredential\" object`);\n }\n tokenObject = aadToken;\n tokenType = TokenType.CbsTokenTypeJwt;\n this._tokenTimeout = tokenObject.expiresOnTimestamp - Date.now() - 2 * 60 * 1000;\n }\n this._logger.verbose(\n \"%s %s: calling negotiateClaim for audience '%s'.\",\n this.logPrefix,\n this._type,\n this.audience,\n );\n // Acquire the lock to negotiate the CBS claim.\n this._logger.verbose(\n \"%s Acquiring cbs lock: '%s' for cbs auth for %s: '%s' with address '%s'.\",\n this.logPrefix,\n this._context.negotiateClaimLock,\n this._type,\n this.name,\n this.address,\n );\n if (!tokenObject) {\n throw new Error(\"Token cannot be null\");\n }\n await defaultCancellableLock.acquire(\n this._context.negotiateClaimLock,\n () => {\n this.checkIfConnectionReady();\n return this._context.cbsSession.negotiateClaim(\n this.audience,\n tokenObject.token,\n tokenType,\n {\n abortSignal,\n timeoutInMs: timeoutInMs - (Date.now() - startTime),\n },\n );\n },\n {\n abortSignal,\n timeoutInMs: timeoutInMs - (Date.now() - startTime),\n },\n );\n this._logger.verbose(\n \"%s Negotiated claim for %s '%s' with with address: %s\",\n this.logPrefix,\n this._type,\n this.name,\n this.address,\n );\n if (setTokenRenewal) {\n this._ensureTokenRenewal();\n }\n }\n\n /**\n * Checks to see if the connection is in a \"reopening\" state. If it is\n * we need to _not_ use it otherwise we'll trigger some race conditions\n * within rhea (for instance, errors about _process not being defined).\n */\n private checkIfConnectionReady(): void {\n if (!this._context.isConnectionClosing()) {\n return;\n }\n\n this._logger.verbose(\n `${this._logPrefix} Connection is reopening, aborting link initialization.`,\n );\n const err = new ServiceBusError(\n \"Connection is reopening, aborting link initialization.\",\n \"GeneralError\",\n );\n err.retryable = true;\n throw err;\n }\n\n /**\n * Ensures that the token is renewed within the predefined renewal margin.\n */\n private _ensureTokenRenewal(): void {\n if (!this._tokenTimeout) {\n return;\n }\n // Clear the existing token renewal timer.\n // This scenario can happen if the connection goes down and is brought back up\n // before the `nextRenewalTimeout` was reached.\n if (this._tokenRenewalTimer) {\n clearTimeout(this._tokenRenewalTimer);\n }\n this._tokenRenewalTimer = setTimeout(async () => {\n try {\n await this._negotiateClaim({\n setTokenRenewal: true,\n abortSignal: undefined,\n timeoutInMs: Constants.defaultOperationTimeoutInMs,\n });\n } catch (err: any) {\n this._logger.logError(\n err,\n \"%s %s '%s' with address %s, an error occurred while renewing the token\",\n this.logPrefix,\n this._type,\n this.name,\n this.address,\n );\n }\n }, this._tokenTimeout);\n this._logger.verbose(\n \"%s %s '%s' with address %s, has next token renewal in %d milliseconds @(%s).\",\n this.logPrefix,\n this._type,\n this.name,\n this.address,\n this._tokenTimeout,\n new Date(Date.now() + this._tokenTimeout).toString(),\n );\n }\n}\n"]}
|