@azure/service-bus 7.10.0-beta.2 → 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.
Files changed (254) hide show
  1. package/dist/browser/connectionContext.js +1 -2
  2. package/dist/browser/connectionContext.js.map +1 -1
  3. package/dist/browser/constructorHelpers.js +3 -4
  4. package/dist/browser/constructorHelpers.js.map +1 -1
  5. package/dist/browser/core/autoLockRenewer.js +9 -5
  6. package/dist/browser/core/autoLockRenewer.js.map +1 -1
  7. package/dist/browser/core/batchingReceiver.js +26 -18
  8. package/dist/browser/core/batchingReceiver.js.map +1 -1
  9. package/dist/browser/core/linkEntity.js +74 -13
  10. package/dist/browser/core/linkEntity.js.map +1 -1
  11. package/dist/browser/core/managementClient.js +48 -48
  12. package/dist/browser/core/managementClient.js.map +1 -1
  13. package/dist/browser/core/messageReceiver.js +41 -14
  14. package/dist/browser/core/messageReceiver.js.map +1 -1
  15. package/dist/browser/core/messageSender.js +33 -10
  16. package/dist/browser/core/messageSender.js.map +1 -1
  17. package/dist/browser/core/receiverHelper.js +3 -2
  18. package/dist/browser/core/receiverHelper.js.map +1 -1
  19. package/dist/browser/core/shared.js +11 -4
  20. package/dist/browser/core/shared.js.map +1 -1
  21. package/dist/browser/core/streamingReceiver.js +74 -43
  22. package/dist/browser/core/streamingReceiver.js.map +1 -1
  23. package/dist/browser/diagnostics/instrumentServiceBusMessage.js +16 -8
  24. package/dist/browser/diagnostics/instrumentServiceBusMessage.js.map +1 -1
  25. package/dist/browser/receivers/receiver.js +68 -23
  26. package/dist/browser/receivers/receiver.js.map +1 -1
  27. package/dist/browser/receivers/receiverCommon.js +36 -21
  28. package/dist/browser/receivers/receiverCommon.js.map +1 -1
  29. package/dist/browser/receivers/sessionReceiver.js +69 -29
  30. package/dist/browser/receivers/sessionReceiver.js.map +1 -1
  31. package/dist/browser/sender.js +33 -11
  32. package/dist/browser/sender.js.map +1 -1
  33. package/dist/browser/serializers/queueResourceSerializer.js +9 -1
  34. package/dist/browser/serializers/queueResourceSerializer.js.map +1 -1
  35. package/dist/browser/serializers/ruleResourceSerializer.js +1 -2
  36. package/dist/browser/serializers/ruleResourceSerializer.js.map +1 -1
  37. package/dist/browser/serviceBusAtomManagementClient.js +181 -228
  38. package/dist/browser/serviceBusAtomManagementClient.js.map +1 -1
  39. package/dist/browser/serviceBusClient.js +31 -22
  40. package/dist/browser/serviceBusClient.js.map +1 -1
  41. package/dist/browser/serviceBusError.js +21 -1
  42. package/dist/browser/serviceBusError.js.map +1 -1
  43. package/dist/browser/serviceBusMessage.js +208 -13
  44. package/dist/browser/serviceBusMessage.js.map +1 -1
  45. package/dist/browser/serviceBusMessageBatch.js +32 -8
  46. package/dist/browser/serviceBusMessageBatch.js.map +1 -1
  47. package/dist/browser/serviceBusRuleManager.js +39 -15
  48. package/dist/browser/serviceBusRuleManager.js.map +1 -1
  49. package/dist/browser/session/messageSession.js +130 -25
  50. package/dist/browser/session/messageSession.js.map +1 -1
  51. package/dist/browser/util/atomXmlHelper.js +4 -5
  52. package/dist/browser/util/atomXmlHelper.js.map +1 -1
  53. package/dist/browser/util/compat/httpHeaders.js +1 -0
  54. package/dist/browser/util/compat/httpHeaders.js.map +1 -1
  55. package/dist/browser/util/constants.js +1 -1
  56. package/dist/browser/util/constants.js.map +1 -1
  57. package/dist/browser/util/sasServiceClientCredentials.js +8 -0
  58. package/dist/browser/util/sasServiceClientCredentials.js.map +1 -1
  59. package/dist/browser/util/semaphore.js +6 -2
  60. package/dist/browser/util/semaphore.js.map +1 -1
  61. package/dist/browser/util/utils.js +5 -7
  62. package/dist/browser/util/utils.js.map +1 -1
  63. package/dist/commonjs/connectionContext.js +1 -2
  64. package/dist/commonjs/connectionContext.js.map +1 -1
  65. package/dist/commonjs/constructorHelpers.js +3 -4
  66. package/dist/commonjs/constructorHelpers.js.map +1 -1
  67. package/dist/commonjs/core/autoLockRenewer.js +9 -5
  68. package/dist/commonjs/core/autoLockRenewer.js.map +1 -1
  69. package/dist/commonjs/core/batchingReceiver.js +26 -18
  70. package/dist/commonjs/core/batchingReceiver.js.map +1 -1
  71. package/dist/commonjs/core/linkEntity.js +74 -13
  72. package/dist/commonjs/core/linkEntity.js.map +1 -1
  73. package/dist/commonjs/core/managementClient.js +48 -48
  74. package/dist/commonjs/core/managementClient.js.map +1 -1
  75. package/dist/commonjs/core/messageReceiver.js +41 -14
  76. package/dist/commonjs/core/messageReceiver.js.map +1 -1
  77. package/dist/commonjs/core/messageSender.js +33 -10
  78. package/dist/commonjs/core/messageSender.js.map +1 -1
  79. package/dist/commonjs/core/receiverHelper.js +3 -2
  80. package/dist/commonjs/core/receiverHelper.js.map +1 -1
  81. package/dist/commonjs/core/shared.js +11 -4
  82. package/dist/commonjs/core/shared.js.map +1 -1
  83. package/dist/commonjs/core/streamingReceiver.js +74 -43
  84. package/dist/commonjs/core/streamingReceiver.js.map +1 -1
  85. package/dist/commonjs/diagnostics/instrumentServiceBusMessage.js +16 -8
  86. package/dist/commonjs/diagnostics/instrumentServiceBusMessage.js.map +1 -1
  87. package/dist/commonjs/receivers/receiver.js +68 -23
  88. package/dist/commonjs/receivers/receiver.js.map +1 -1
  89. package/dist/commonjs/receivers/receiverCommon.js +36 -21
  90. package/dist/commonjs/receivers/receiverCommon.js.map +1 -1
  91. package/dist/commonjs/receivers/sessionReceiver.js +69 -29
  92. package/dist/commonjs/receivers/sessionReceiver.js.map +1 -1
  93. package/dist/commonjs/sender.js +33 -11
  94. package/dist/commonjs/sender.js.map +1 -1
  95. package/dist/commonjs/serializers/queueResourceSerializer.js +9 -1
  96. package/dist/commonjs/serializers/queueResourceSerializer.js.map +1 -1
  97. package/dist/commonjs/serializers/ruleResourceSerializer.js +1 -2
  98. package/dist/commonjs/serializers/ruleResourceSerializer.js.map +1 -1
  99. package/dist/commonjs/serviceBusAtomManagementClient.js +181 -227
  100. package/dist/commonjs/serviceBusAtomManagementClient.js.map +1 -1
  101. package/dist/commonjs/serviceBusClient.js +31 -22
  102. package/dist/commonjs/serviceBusClient.js.map +1 -1
  103. package/dist/commonjs/serviceBusError.js +21 -1
  104. package/dist/commonjs/serviceBusError.js.map +1 -1
  105. package/dist/commonjs/serviceBusMessage.js +208 -12
  106. package/dist/commonjs/serviceBusMessage.js.map +1 -1
  107. package/dist/commonjs/serviceBusMessageBatch.js +32 -8
  108. package/dist/commonjs/serviceBusMessageBatch.js.map +1 -1
  109. package/dist/commonjs/serviceBusRuleManager.js +39 -15
  110. package/dist/commonjs/serviceBusRuleManager.js.map +1 -1
  111. package/dist/commonjs/session/messageSession.js +130 -25
  112. package/dist/commonjs/session/messageSession.js.map +1 -1
  113. package/dist/commonjs/tsdoc-metadata.json +11 -11
  114. package/dist/commonjs/util/atomXmlHelper.js +4 -5
  115. package/dist/commonjs/util/atomXmlHelper.js.map +1 -1
  116. package/dist/commonjs/util/compat/httpHeaders.js +1 -0
  117. package/dist/commonjs/util/compat/httpHeaders.js.map +1 -1
  118. package/dist/commonjs/util/constants.js +1 -1
  119. package/dist/commonjs/util/constants.js.map +1 -1
  120. package/dist/commonjs/util/runtimeInfo.js +2 -2
  121. package/dist/commonjs/util/runtimeInfo.js.map +1 -1
  122. package/dist/commonjs/util/sasServiceClientCredentials.js +8 -0
  123. package/dist/commonjs/util/sasServiceClientCredentials.js.map +1 -1
  124. package/dist/commonjs/util/semaphore.js +6 -2
  125. package/dist/commonjs/util/semaphore.js.map +1 -1
  126. package/dist/commonjs/util/utils.js +5 -7
  127. package/dist/commonjs/util/utils.js.map +1 -1
  128. package/dist/esm/connectionContext.js +1 -2
  129. package/dist/esm/connectionContext.js.map +1 -1
  130. package/dist/esm/constructorHelpers.js +3 -4
  131. package/dist/esm/constructorHelpers.js.map +1 -1
  132. package/dist/esm/core/autoLockRenewer.js +9 -5
  133. package/dist/esm/core/autoLockRenewer.js.map +1 -1
  134. package/dist/esm/core/batchingReceiver.js +26 -18
  135. package/dist/esm/core/batchingReceiver.js.map +1 -1
  136. package/dist/esm/core/linkEntity.js +74 -13
  137. package/dist/esm/core/linkEntity.js.map +1 -1
  138. package/dist/esm/core/managementClient.js +48 -48
  139. package/dist/esm/core/managementClient.js.map +1 -1
  140. package/dist/esm/core/messageReceiver.js +41 -14
  141. package/dist/esm/core/messageReceiver.js.map +1 -1
  142. package/dist/esm/core/messageSender.js +33 -10
  143. package/dist/esm/core/messageSender.js.map +1 -1
  144. package/dist/esm/core/receiverHelper.js +3 -2
  145. package/dist/esm/core/receiverHelper.js.map +1 -1
  146. package/dist/esm/core/shared.js +11 -4
  147. package/dist/esm/core/shared.js.map +1 -1
  148. package/dist/esm/core/streamingReceiver.js +74 -43
  149. package/dist/esm/core/streamingReceiver.js.map +1 -1
  150. package/dist/esm/diagnostics/instrumentServiceBusMessage.js +16 -8
  151. package/dist/esm/diagnostics/instrumentServiceBusMessage.js.map +1 -1
  152. package/dist/esm/receivers/receiver.js +68 -23
  153. package/dist/esm/receivers/receiver.js.map +1 -1
  154. package/dist/esm/receivers/receiverCommon.js +36 -21
  155. package/dist/esm/receivers/receiverCommon.js.map +1 -1
  156. package/dist/esm/receivers/sessionReceiver.js +69 -29
  157. package/dist/esm/receivers/sessionReceiver.js.map +1 -1
  158. package/dist/esm/sender.js +33 -11
  159. package/dist/esm/sender.js.map +1 -1
  160. package/dist/esm/serializers/queueResourceSerializer.js +9 -1
  161. package/dist/esm/serializers/queueResourceSerializer.js.map +1 -1
  162. package/dist/esm/serializers/ruleResourceSerializer.js +1 -2
  163. package/dist/esm/serializers/ruleResourceSerializer.js.map +1 -1
  164. package/dist/esm/serviceBusAtomManagementClient.js +181 -228
  165. package/dist/esm/serviceBusAtomManagementClient.js.map +1 -1
  166. package/dist/esm/serviceBusClient.js +31 -22
  167. package/dist/esm/serviceBusClient.js.map +1 -1
  168. package/dist/esm/serviceBusError.js +21 -1
  169. package/dist/esm/serviceBusError.js.map +1 -1
  170. package/dist/esm/serviceBusMessage.js +208 -13
  171. package/dist/esm/serviceBusMessage.js.map +1 -1
  172. package/dist/esm/serviceBusMessageBatch.js +32 -8
  173. package/dist/esm/serviceBusMessageBatch.js.map +1 -1
  174. package/dist/esm/serviceBusRuleManager.js +39 -15
  175. package/dist/esm/serviceBusRuleManager.js.map +1 -1
  176. package/dist/esm/session/messageSession.js +130 -25
  177. package/dist/esm/session/messageSession.js.map +1 -1
  178. package/dist/esm/util/atomXmlHelper.js +4 -5
  179. package/dist/esm/util/atomXmlHelper.js.map +1 -1
  180. package/dist/esm/util/compat/httpHeaders.js +1 -0
  181. package/dist/esm/util/compat/httpHeaders.js.map +1 -1
  182. package/dist/esm/util/constants.js +1 -1
  183. package/dist/esm/util/constants.js.map +1 -1
  184. package/dist/esm/util/runtimeInfo.js +1 -1
  185. package/dist/esm/util/runtimeInfo.js.map +1 -1
  186. package/dist/esm/util/sasServiceClientCredentials.js +8 -0
  187. package/dist/esm/util/sasServiceClientCredentials.js.map +1 -1
  188. package/dist/esm/util/semaphore.js +6 -2
  189. package/dist/esm/util/semaphore.js.map +1 -1
  190. package/dist/esm/util/utils.js +5 -7
  191. package/dist/esm/util/utils.js.map +1 -1
  192. package/dist/react-native/connectionContext.js +1 -2
  193. package/dist/react-native/connectionContext.js.map +1 -1
  194. package/dist/react-native/constructorHelpers.js +3 -4
  195. package/dist/react-native/constructorHelpers.js.map +1 -1
  196. package/dist/react-native/core/autoLockRenewer.js +9 -5
  197. package/dist/react-native/core/autoLockRenewer.js.map +1 -1
  198. package/dist/react-native/core/batchingReceiver.js +26 -18
  199. package/dist/react-native/core/batchingReceiver.js.map +1 -1
  200. package/dist/react-native/core/linkEntity.js +74 -13
  201. package/dist/react-native/core/linkEntity.js.map +1 -1
  202. package/dist/react-native/core/managementClient.js +48 -48
  203. package/dist/react-native/core/managementClient.js.map +1 -1
  204. package/dist/react-native/core/messageReceiver.js +41 -14
  205. package/dist/react-native/core/messageReceiver.js.map +1 -1
  206. package/dist/react-native/core/messageSender.js +33 -10
  207. package/dist/react-native/core/messageSender.js.map +1 -1
  208. package/dist/react-native/core/receiverHelper.js +3 -2
  209. package/dist/react-native/core/receiverHelper.js.map +1 -1
  210. package/dist/react-native/core/shared.js +11 -4
  211. package/dist/react-native/core/shared.js.map +1 -1
  212. package/dist/react-native/core/streamingReceiver.js +74 -43
  213. package/dist/react-native/core/streamingReceiver.js.map +1 -1
  214. package/dist/react-native/diagnostics/instrumentServiceBusMessage.js +16 -8
  215. package/dist/react-native/diagnostics/instrumentServiceBusMessage.js.map +1 -1
  216. package/dist/react-native/receivers/receiver.js +68 -23
  217. package/dist/react-native/receivers/receiver.js.map +1 -1
  218. package/dist/react-native/receivers/receiverCommon.js +36 -21
  219. package/dist/react-native/receivers/receiverCommon.js.map +1 -1
  220. package/dist/react-native/receivers/sessionReceiver.js +69 -29
  221. package/dist/react-native/receivers/sessionReceiver.js.map +1 -1
  222. package/dist/react-native/sender.js +33 -11
  223. package/dist/react-native/sender.js.map +1 -1
  224. package/dist/react-native/serializers/queueResourceSerializer.js +9 -1
  225. package/dist/react-native/serializers/queueResourceSerializer.js.map +1 -1
  226. package/dist/react-native/serializers/ruleResourceSerializer.js +1 -2
  227. package/dist/react-native/serializers/ruleResourceSerializer.js.map +1 -1
  228. package/dist/react-native/serviceBusAtomManagementClient.js +181 -228
  229. package/dist/react-native/serviceBusAtomManagementClient.js.map +1 -1
  230. package/dist/react-native/serviceBusClient.js +31 -22
  231. package/dist/react-native/serviceBusClient.js.map +1 -1
  232. package/dist/react-native/serviceBusError.js +21 -1
  233. package/dist/react-native/serviceBusError.js.map +1 -1
  234. package/dist/react-native/serviceBusMessage.js +208 -13
  235. package/dist/react-native/serviceBusMessage.js.map +1 -1
  236. package/dist/react-native/serviceBusMessageBatch.js +32 -8
  237. package/dist/react-native/serviceBusMessageBatch.js.map +1 -1
  238. package/dist/react-native/serviceBusRuleManager.js +39 -15
  239. package/dist/react-native/serviceBusRuleManager.js.map +1 -1
  240. package/dist/react-native/session/messageSession.js +130 -25
  241. package/dist/react-native/session/messageSession.js.map +1 -1
  242. package/dist/react-native/util/atomXmlHelper.js +4 -5
  243. package/dist/react-native/util/atomXmlHelper.js.map +1 -1
  244. package/dist/react-native/util/compat/httpHeaders.js +1 -0
  245. package/dist/react-native/util/compat/httpHeaders.js.map +1 -1
  246. package/dist/react-native/util/constants.js +1 -1
  247. package/dist/react-native/util/constants.js.map +1 -1
  248. package/dist/react-native/util/sasServiceClientCredentials.js +8 -0
  249. package/dist/react-native/util/sasServiceClientCredentials.js.map +1 -1
  250. package/dist/react-native/util/semaphore.js +6 -2
  251. package/dist/react-native/util/semaphore.js.map +1 -1
  252. package/dist/react-native/util/utils.js +5 -7
  253. package/dist/react-native/util/utils.js.map +1 -1
  254. package/package.json +38 -38
@@ -1 +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"]}
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"]}
@@ -54,6 +54,18 @@ function isCorrelationRuleFilter(obj) {
54
54
  * to the $management endpoint over AMQP connection.
55
55
  */
56
56
  class ManagementClient extends linkEntity_js_1.LinkEntity {
57
+ /**
58
+ * The reply to Guid for the management client.
59
+ */
60
+ replyTo = (0, rhea_promise_1.generate_uuid)();
61
+ /**
62
+ * Provides the sequence number of the last peeked message.
63
+ */
64
+ _lastPeekedSequenceNumber = long_1.default.ZERO;
65
+ /**
66
+ * lock token for init operation
67
+ */
68
+ _initLock = `initMgmtLink-${(0, rhea_promise_1.generate_uuid)()}`;
57
69
  /**
58
70
  * Instantiates the management client.
59
71
  * @param context - The connection context
@@ -69,18 +81,6 @@ class ManagementClient extends linkEntity_js_1.LinkEntity {
69
81
  ? options.audience
70
82
  : `${context.config.endpoint}${entityPath}/$management`,
71
83
  });
72
- /**
73
- * The reply to Guid for the management client.
74
- */
75
- this.replyTo = (0, rhea_promise_1.generate_uuid)();
76
- /**
77
- * Provides the sequence number of the last peeked message.
78
- */
79
- this._lastPeekedSequenceNumber = long_1.default.ZERO;
80
- /**
81
- * lock token for init operation
82
- */
83
- this._initLock = `initMgmtLink-${(0, rhea_promise_1.generate_uuid)()}`;
84
84
  this._context = context;
85
85
  }
86
86
  /**
@@ -89,8 +89,7 @@ class ManagementClient extends linkEntity_js_1.LinkEntity {
89
89
  * @returns updated options bag that has adjusted `timeoutInMs` to account for init time
90
90
  */
91
91
  async initWithUniqueReplyTo(options = {}) {
92
- var _a;
93
- const retryTimeoutInMs = (_a = options.timeoutInMs) !== null && _a !== void 0 ? _a : core_amqp_1.Constants.defaultOperationTimeoutInMs;
92
+ const retryTimeoutInMs = options.timeoutInMs ?? core_amqp_1.Constants.defaultOperationTimeoutInMs;
94
93
  const initOperationStartTime = Date.now();
95
94
  return core_amqp_1.defaultCancellableLock.acquire(this._initLock, async () => {
96
95
  log_js_1.managementClientLogger.verbose(`${this.logPrefix} lock acquired for initializing replyTo address and link`);
@@ -103,7 +102,7 @@ class ManagementClient extends linkEntity_js_1.LinkEntity {
103
102
  const abortListener = () => {
104
103
  aborter.abort();
105
104
  };
106
- abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.addEventListener("abort", abortListener);
105
+ abortSignal?.addEventListener("abort", abortListener);
107
106
  if (!this.isOpen()) {
108
107
  await Promise.race([
109
108
  this._init(aborter.signal),
@@ -117,14 +116,16 @@ class ManagementClient extends linkEntity_js_1.LinkEntity {
117
116
  }),
118
117
  ]).finally(() => {
119
118
  aborter.abort();
120
- abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.removeEventListener("abort", abortListener);
119
+ abortSignal?.removeEventListener("abort", abortListener);
121
120
  });
122
121
  }
123
122
  // time taken by the init operation
124
123
  const timeTakenByInit = Date.now() - initOperationStartTime;
125
- return Object.assign(Object.assign({}, options), {
124
+ return {
125
+ ...options,
126
126
  // Left over time
127
- timeoutInMs: retryTimeoutInMs - timeTakenByInit });
127
+ timeoutInMs: retryTimeoutInMs - timeTakenByInit,
128
+ };
128
129
  }, {
129
130
  abortSignal: options.abortSignal,
130
131
  timeoutInMs: retryTimeoutInMs,
@@ -197,13 +198,12 @@ class ManagementClient extends linkEntity_js_1.LinkEntity {
197
198
  return result;
198
199
  }
199
200
  async _makeManagementRequest(request, internalLogger, sendRequestOptions = {}) {
200
- var _a, _b, _c, _d;
201
201
  if (request.message_id === undefined) {
202
202
  request.message_id = (0, rhea_promise_1.generate_uuid)();
203
203
  }
204
204
  try {
205
205
  const { timeoutInMs } = sendRequestOptions;
206
- await (0, utils_js_1.waitForSendable)(internalLogger, this.logPrefix, this.name, timeoutInMs !== null && timeoutInMs !== void 0 ? timeoutInMs : core_amqp_1.Constants.defaultOperationTimeoutInMs, (_a = this.link) === null || _a === void 0 ? void 0 : _a.sender, (_d = (_c = (_b = this.link) === null || _b === void 0 ? void 0 : _b.session) === null || _c === void 0 ? void 0 : _c.outgoing) === null || _d === void 0 ? void 0 : _d.available());
206
+ await (0, utils_js_1.waitForSendable)(internalLogger, this.logPrefix, this.name, timeoutInMs ?? core_amqp_1.Constants.defaultOperationTimeoutInMs, this.link?.sender, this.link?.session?.outgoing?.available());
207
207
  return await this.link.sendRequest(request, sendRequestOptions);
208
208
  }
209
209
  catch (err) {
@@ -273,7 +273,6 @@ class ManagementClient extends linkEntity_js_1.LinkEntity {
273
273
  * @param omitMessageBody - Whether to omit message body when peeking. Default value `false`.
274
274
  */
275
275
  async peekBySequenceNumber(fromSequenceNumber, maxMessageCount, sessionId, omitMessageBody, options) {
276
- var _a, _b;
277
276
  (0, errors_js_1.throwErrorIfConnectionClosed)(this._context);
278
277
  const connId = this._context.connectionId;
279
278
  // Checks for fromSequenceNumber
@@ -305,9 +304,9 @@ class ManagementClient extends linkEntity_js_1.LinkEntity {
305
304
  operation: core_amqp_1.Constants.operations.peekMessage,
306
305
  },
307
306
  };
308
- if (updatedOptions === null || updatedOptions === void 0 ? void 0 : updatedOptions.associatedLinkName) {
307
+ if (updatedOptions?.associatedLinkName) {
309
308
  request.application_properties[core_amqp_1.Constants.associatedLinkName] =
310
- updatedOptions === null || updatedOptions === void 0 ? void 0 : updatedOptions.associatedLinkName;
309
+ updatedOptions?.associatedLinkName;
311
310
  }
312
311
  request.application_properties[core_amqp_1.Constants.trackingId] = (0, rhea_promise_1.generate_uuid)();
313
312
  // TODO: it'd be nice to attribute this peek request to the actual receiver that made it. So have them pass in a
@@ -319,8 +318,8 @@ class ManagementClient extends linkEntity_js_1.LinkEntity {
319
318
  for (const msg of messages) {
320
319
  const decodedMessage = rhea_promise_1.message.decode(msg.message);
321
320
  const message = (0, serviceBusMessage_js_1.fromRheaMessage)(decodedMessage, {
322
- skipParsingBodyAsJson: (_a = updatedOptions === null || updatedOptions === void 0 ? void 0 : updatedOptions.skipParsingBodyAsJson) !== null && _a !== void 0 ? _a : false,
323
- skipConvertingDate: (_b = updatedOptions === null || updatedOptions === void 0 ? void 0 : updatedOptions.skipConvertingDate) !== null && _b !== void 0 ? _b : false,
321
+ skipParsingBodyAsJson: updatedOptions?.skipParsingBodyAsJson ?? false,
322
+ skipConvertingDate: updatedOptions?.skipConvertingDate ?? false,
324
323
  });
325
324
  messageList.push(message);
326
325
  this._lastPeekedSequenceNumber = message.sequenceNumber;
@@ -376,7 +375,7 @@ class ManagementClient extends linkEntity_js_1.LinkEntity {
376
375
  }
377
376
  log_js_1.receiverLogger.verbose("[%s] Renew message Lock request: %O.", this._context.connectionId, request);
378
377
  const result = await this._makeManagementRequest(request, log_js_1.receiverLogger, {
379
- abortSignal: updatedOptions === null || updatedOptions === void 0 ? void 0 : updatedOptions.abortSignal,
378
+ abortSignal: updatedOptions?.abortSignal,
380
379
  requestName: "renewLock",
381
380
  });
382
381
  const lockedUntilUtc = new Date(result.body.expirations[0]);
@@ -396,7 +395,6 @@ class ManagementClient extends linkEntity_js_1.LinkEntity {
396
395
  * @returns The sequence numbers of messages that were scheduled.
397
396
  */
398
397
  async scheduleMessages(scheduledEnqueueTimeUtc, messages, options) {
399
- var _a;
400
398
  (0, errors_js_1.throwErrorIfConnectionClosed)(this._context);
401
399
  if (!messages.length) {
402
400
  return [];
@@ -415,7 +413,7 @@ class ManagementClient extends linkEntity_js_1.LinkEntity {
415
413
  if (rheaMessage.group_id) {
416
414
  entry[core_amqp_1.Constants.sessionIdMapKey] = rheaMessage.group_id;
417
415
  }
418
- if ((_a = rheaMessage.message_annotations) === null || _a === void 0 ? void 0 : _a[core_amqp_1.Constants.partitionKey]) {
416
+ if (rheaMessage.message_annotations?.[core_amqp_1.Constants.partitionKey]) {
419
417
  entry["partition-key"] = rheaMessage.message_annotations[core_amqp_1.Constants.partitionKey];
420
418
  }
421
419
  // Will be required later for implementing Transactions
@@ -440,9 +438,9 @@ class ManagementClient extends linkEntity_js_1.LinkEntity {
440
438
  operation: core_amqp_1.Constants.operations.scheduleMessage,
441
439
  },
442
440
  };
443
- if (updatedOptions === null || updatedOptions === void 0 ? void 0 : updatedOptions.associatedLinkName) {
441
+ if (updatedOptions?.associatedLinkName) {
444
442
  request.application_properties[core_amqp_1.Constants.associatedLinkName] =
445
- updatedOptions === null || updatedOptions === void 0 ? void 0 : updatedOptions.associatedLinkName;
443
+ updatedOptions?.associatedLinkName;
446
444
  }
447
445
  request.application_properties[core_amqp_1.Constants.trackingId] = (0, rhea_promise_1.generate_uuid)();
448
446
  log_js_1.senderLogger.verbose("%s Schedule messages request body: %O.", this.logPrefix, request.body);
@@ -497,9 +495,9 @@ class ManagementClient extends linkEntity_js_1.LinkEntity {
497
495
  operation: core_amqp_1.Constants.operations.cancelScheduledMessage,
498
496
  },
499
497
  };
500
- if (updatedOptions === null || updatedOptions === void 0 ? void 0 : updatedOptions.associatedLinkName) {
498
+ if (updatedOptions?.associatedLinkName) {
501
499
  request.application_properties[core_amqp_1.Constants.associatedLinkName] =
502
- updatedOptions === null || updatedOptions === void 0 ? void 0 : updatedOptions.associatedLinkName;
500
+ updatedOptions?.associatedLinkName;
503
501
  }
504
502
  request.application_properties[core_amqp_1.Constants.trackingId] = (0, rhea_promise_1.generate_uuid)();
505
503
  log_js_1.senderLogger.verbose("%s Cancel scheduled messages request body: %O.", this.logPrefix, request.body);
@@ -521,7 +519,6 @@ class ManagementClient extends linkEntity_js_1.LinkEntity {
521
519
  * - Throws an error if the messages have not been deferred.
522
520
  */
523
521
  async receiveDeferredMessages(sequenceNumbers, receiveMode, sessionId, options) {
524
- var _a;
525
522
  (0, errors_js_1.throwErrorIfConnectionClosed)(this._context);
526
523
  if (!sequenceNumbers.length) {
527
524
  return [];
@@ -555,9 +552,9 @@ class ManagementClient extends linkEntity_js_1.LinkEntity {
555
552
  operation: core_amqp_1.Constants.operations.receiveBySequenceNumber,
556
553
  },
557
554
  };
558
- if (updatedOptions === null || updatedOptions === void 0 ? void 0 : updatedOptions.associatedLinkName) {
555
+ if (updatedOptions?.associatedLinkName) {
559
556
  request.application_properties[core_amqp_1.Constants.associatedLinkName] =
560
- updatedOptions === null || updatedOptions === void 0 ? void 0 : updatedOptions.associatedLinkName;
557
+ updatedOptions?.associatedLinkName;
561
558
  }
562
559
  request.application_properties[core_amqp_1.Constants.trackingId] = (0, rhea_promise_1.generate_uuid)();
563
560
  log_js_1.receiverLogger.verbose("%s Receive deferred messages request body: %O.", this.logPrefix, request.body);
@@ -565,7 +562,7 @@ class ManagementClient extends linkEntity_js_1.LinkEntity {
565
562
  const messages = result.body.messages;
566
563
  for (const msg of messages) {
567
564
  const decodedMessage = rhea_promise_1.message.decode(msg.message);
568
- const message = new serviceBusMessage_js_1.ServiceBusMessageImpl(decodedMessage, { tag: msg["lock-token"] }, false, receiveMode, (_a = updatedOptions === null || updatedOptions === void 0 ? void 0 : updatedOptions.skipParsingBodyAsJson) !== null && _a !== void 0 ? _a : false, false);
565
+ const message = new serviceBusMessage_js_1.ServiceBusMessageImpl(decodedMessage, { tag: msg["lock-token"] }, false, receiveMode, updatedOptions?.skipParsingBodyAsJson ?? false, false);
569
566
  messageList.push(message);
570
567
  }
571
568
  return messageList;
@@ -592,9 +589,9 @@ class ManagementClient extends linkEntity_js_1.LinkEntity {
592
589
  operation: core_amqp_1.Constants.operations.deleteMessages,
593
590
  },
594
591
  };
595
- if (updatedOptions === null || updatedOptions === void 0 ? void 0 : updatedOptions.associatedLinkName) {
592
+ if (updatedOptions?.associatedLinkName) {
596
593
  request.application_properties[core_amqp_1.Constants.associatedLinkName] =
597
- updatedOptions === null || updatedOptions === void 0 ? void 0 : updatedOptions.associatedLinkName;
594
+ updatedOptions?.associatedLinkName;
598
595
  }
599
596
  request.application_properties[core_amqp_1.Constants.trackingId] = (0, rhea_promise_1.generate_uuid)();
600
597
  log_js_1.receiverLogger.verbose("%s delete messages request body: %O.", this.logPrefix, request.body);
@@ -629,7 +626,7 @@ class ManagementClient extends linkEntity_js_1.LinkEntity {
629
626
  if (isNaN(messageCount) || messageCount < 1) {
630
627
  throw new TypeError("'messageCount' must be a number greater than 0.");
631
628
  }
632
- enqueueTimeUtcOlderThan !== null && enqueueTimeUtcOlderThan !== void 0 ? enqueueTimeUtcOlderThan : (enqueueTimeUtcOlderThan = new Date());
629
+ enqueueTimeUtcOlderThan ??= new Date();
633
630
  return this._deleteMessages(messageCount, enqueueTimeUtcOlderThan, sessionId, options);
634
631
  }
635
632
  /**
@@ -717,9 +714,9 @@ class ManagementClient extends linkEntity_js_1.LinkEntity {
717
714
  },
718
715
  };
719
716
  request.application_properties[core_amqp_1.Constants.trackingId] = (0, rhea_promise_1.generate_uuid)();
720
- if (updatedOptions === null || updatedOptions === void 0 ? void 0 : updatedOptions.associatedLinkName) {
717
+ if (updatedOptions?.associatedLinkName) {
721
718
  request.application_properties[core_amqp_1.Constants.associatedLinkName] =
722
- updatedOptions === null || updatedOptions === void 0 ? void 0 : updatedOptions.associatedLinkName;
719
+ updatedOptions?.associatedLinkName;
723
720
  }
724
721
  log_js_1.receiverLogger.verbose("%s Renew Session Lock request body: %O.", this.logPrefix, request.body);
725
722
  const result = await this._makeManagementRequest(request, log_js_1.receiverLogger, updatedOptions);
@@ -753,9 +750,9 @@ class ManagementClient extends linkEntity_js_1.LinkEntity {
753
750
  operation: core_amqp_1.Constants.operations.setSessionState,
754
751
  },
755
752
  };
756
- if (updatedOptions === null || updatedOptions === void 0 ? void 0 : updatedOptions.associatedLinkName) {
753
+ if (updatedOptions?.associatedLinkName) {
757
754
  request.application_properties[core_amqp_1.Constants.associatedLinkName] =
758
- updatedOptions === null || updatedOptions === void 0 ? void 0 : updatedOptions.associatedLinkName;
755
+ updatedOptions?.associatedLinkName;
759
756
  }
760
757
  request.application_properties[core_amqp_1.Constants.trackingId] = (0, rhea_promise_1.generate_uuid)();
761
758
  log_js_1.receiverLogger.verbose("%s Set Session state request body: %O.", this.logPrefix, request.body);
@@ -786,9 +783,9 @@ class ManagementClient extends linkEntity_js_1.LinkEntity {
786
783
  operation: core_amqp_1.Constants.operations.getSessionState,
787
784
  },
788
785
  };
789
- if (updatedOptions === null || updatedOptions === void 0 ? void 0 : updatedOptions.associatedLinkName) {
786
+ if (updatedOptions?.associatedLinkName) {
790
787
  request.application_properties[core_amqp_1.Constants.associatedLinkName] =
791
- updatedOptions === null || updatedOptions === void 0 ? void 0 : updatedOptions.associatedLinkName;
788
+ updatedOptions?.associatedLinkName;
792
789
  }
793
790
  request.application_properties[core_amqp_1.Constants.trackingId] = (0, rhea_promise_1.generate_uuid)();
794
791
  log_js_1.receiverLogger.verbose("%s Get session state request body: %O.", this.logPrefix, request.body);
@@ -859,10 +856,10 @@ class ManagementClient extends linkEntity_js_1.LinkEntity {
859
856
  const updatedOptions = (await this.initWithUniqueReplyTo(options));
860
857
  const request = {
861
858
  body: {
862
- top: (updatedOptions === null || updatedOptions === void 0 ? void 0 : updatedOptions.maxCount)
859
+ top: updatedOptions?.maxCount
863
860
  ? rhea_promise_1.types.wrap_int(updatedOptions.maxCount)
864
861
  : rhea_promise_1.types.wrap_int(constants_js_1.max32BitNumber),
865
- skip: (updatedOptions === null || updatedOptions === void 0 ? void 0 : updatedOptions.skip) ? rhea_promise_1.types.wrap_int(updatedOptions.skip) : rhea_promise_1.types.wrap_int(0),
862
+ skip: updatedOptions?.skip ? rhea_promise_1.types.wrap_int(updatedOptions.skip) : rhea_promise_1.types.wrap_int(0),
866
863
  },
867
864
  reply_to: this.replyTo,
868
865
  application_properties: {
@@ -1065,7 +1062,10 @@ function toScheduleableMessage(item, scheduledEnqueueTimeUtc) {
1065
1062
  message: rhea_promise_1.message.encode(rheaMessage),
1066
1063
  "message-id": rheaMessage.message_id,
1067
1064
  };
1068
- rheaMessage.message_annotations = Object.assign(Object.assign({}, rheaMessage.message_annotations), { [core_amqp_1.Constants.scheduledEnqueueTime]: scheduledEnqueueTimeUtc });
1065
+ rheaMessage.message_annotations = {
1066
+ ...rheaMessage.message_annotations,
1067
+ [core_amqp_1.Constants.scheduledEnqueueTime]: scheduledEnqueueTimeUtc,
1068
+ };
1069
1069
  if (rheaMessage.group_id) {
1070
1070
  entry[core_amqp_1.Constants.sessionIdMapKey] = rheaMessage.group_id;
1071
1071
  }