@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.
Files changed (848) hide show
  1. package/README.md +114 -57
  2. package/dist/browser/connectionContext.d.ts +109 -0
  3. package/dist/browser/connectionContext.d.ts.map +1 -0
  4. package/{dist-esm/src → dist/browser}/connectionContext.js +9 -9
  5. package/dist/browser/connectionContext.js.map +1 -0
  6. package/dist/browser/constructorHelpers.d.ts +79 -0
  7. package/dist/browser/constructorHelpers.d.ts.map +1 -0
  8. package/{dist-esm/src → dist/browser}/constructorHelpers.js +5 -5
  9. package/dist/browser/constructorHelpers.js.map +1 -0
  10. package/dist/browser/core/autoLockRenewer.d.ts +58 -0
  11. package/dist/browser/core/autoLockRenewer.d.ts.map +1 -0
  12. package/{dist-esm/src → dist/browser}/core/autoLockRenewer.js +12 -8
  13. package/dist/browser/core/autoLockRenewer.js.map +1 -0
  14. package/dist/browser/core/batchingReceiver.d.ts +120 -0
  15. package/dist/browser/core/batchingReceiver.d.ts.map +1 -0
  16. package/{dist-esm/src → dist/browser}/core/batchingReceiver.js +23 -13
  17. package/dist/browser/core/batchingReceiver.js.map +1 -0
  18. package/dist/browser/core/linkEntity.d.ts +192 -0
  19. package/dist/browser/core/linkEntity.d.ts.map +1 -0
  20. package/{dist-esm/src → dist/browser}/core/linkEntity.js +77 -14
  21. package/dist/browser/core/linkEntity.js.map +1 -0
  22. package/dist/browser/core/managementClient.d.ts +312 -0
  23. package/dist/browser/core/managementClient.d.ts.map +1 -0
  24. package/{dist-esm/src → dist/browser}/core/managementClient.js +37 -33
  25. package/dist/browser/core/managementClient.js.map +1 -0
  26. package/dist/browser/core/messageReceiver.d.ts +147 -0
  27. package/dist/browser/core/messageReceiver.d.ts.map +1 -0
  28. package/{dist-esm/src → dist/browser}/core/messageReceiver.js +36 -14
  29. package/dist/browser/core/messageReceiver.js.map +1 -0
  30. package/dist/browser/core/messageSender.d.ts +93 -0
  31. package/dist/browser/core/messageSender.d.ts.map +1 -0
  32. package/{dist-esm/src → dist/browser}/core/messageSender.js +36 -12
  33. package/dist/browser/core/messageSender.js.map +1 -0
  34. package/dist/browser/core/receiverHelper.d.ts +45 -0
  35. package/dist/browser/core/receiverHelper.d.ts.map +1 -0
  36. package/{dist-esm/src → dist/browser}/core/receiverHelper.js +6 -5
  37. package/dist/browser/core/receiverHelper.js.map +1 -0
  38. package/dist/browser/core/shared.d.ts +34 -0
  39. package/dist/browser/core/shared.d.ts.map +1 -0
  40. package/{dist-esm/src → dist/browser}/core/shared.js +3 -3
  41. package/dist/browser/core/shared.js.map +1 -0
  42. package/dist/browser/core/streamingReceiver.d.ts +142 -0
  43. package/dist/browser/core/streamingReceiver.d.ts.map +1 -0
  44. package/{dist-esm/src → dist/browser}/core/streamingReceiver.js +73 -36
  45. package/dist/browser/core/streamingReceiver.js.map +1 -0
  46. package/dist/browser/dataTransformer.d.ts +77 -0
  47. package/dist/browser/dataTransformer.d.ts.map +1 -0
  48. package/{dist-esm/src → dist/browser}/dataTransformer.js +2 -2
  49. package/dist/browser/dataTransformer.js.map +1 -0
  50. package/dist/browser/diagnostics/instrumentServiceBusMessage.d.ts +50 -0
  51. package/dist/browser/diagnostics/instrumentServiceBusMessage.d.ts.map +1 -0
  52. package/{dist-esm/src → dist/browser}/diagnostics/instrumentServiceBusMessage.js +2 -2
  53. package/dist/browser/diagnostics/instrumentServiceBusMessage.js.map +1 -0
  54. package/dist/browser/diagnostics/tracing.d.ts +21 -0
  55. package/dist/browser/diagnostics/tracing.d.ts.map +1 -0
  56. package/{dist-esm/src → dist/browser}/diagnostics/tracing.js +2 -2
  57. package/dist/browser/diagnostics/tracing.js.map +1 -0
  58. package/dist/browser/experimental/index.d.ts +10 -0
  59. package/dist/browser/experimental/index.d.ts.map +1 -0
  60. package/dist/browser/experimental/index.js +4 -0
  61. package/dist/browser/experimental/index.js.map +1 -0
  62. package/dist/browser/index.d.ts +26 -0
  63. package/dist/browser/index.d.ts.map +1 -0
  64. package/{dist-esm/src → dist/browser}/index.js +5 -5
  65. package/dist/browser/index.js.map +1 -0
  66. package/dist/browser/log.d.ts +70 -0
  67. package/dist/browser/log.d.ts.map +1 -0
  68. package/{dist-esm/src → dist/browser}/log.js +1 -1
  69. package/dist/browser/log.js.map +1 -0
  70. package/dist/browser/models.d.ts +328 -0
  71. package/dist/browser/models.d.ts.map +1 -0
  72. package/dist/browser/models.js +4 -0
  73. package/dist/browser/models.js.map +1 -0
  74. package/dist/browser/modelsToBeSharedWithEventHubs.d.ts +18 -0
  75. package/dist/browser/modelsToBeSharedWithEventHubs.d.ts.map +1 -0
  76. package/dist/browser/modelsToBeSharedWithEventHubs.js +4 -0
  77. package/dist/browser/modelsToBeSharedWithEventHubs.js.map +1 -0
  78. package/dist/browser/package.json +3 -0
  79. package/dist/browser/receivers/receiver.d.ts +299 -0
  80. package/dist/browser/receivers/receiver.d.ts.map +1 -0
  81. package/{dist-esm/src → dist/browser}/receivers/receiver.js +40 -22
  82. package/dist/browser/receivers/receiver.js.map +1 -0
  83. package/dist/browser/receivers/receiverCommon.d.ts +81 -0
  84. package/dist/browser/receivers/receiverCommon.d.ts.map +1 -0
  85. package/{dist-esm/src → dist/browser}/receivers/receiverCommon.js +7 -8
  86. package/dist/browser/receivers/receiverCommon.js.map +1 -0
  87. package/dist/browser/receivers/sessionReceiver.d.ts +189 -0
  88. package/dist/browser/receivers/sessionReceiver.d.ts.map +1 -0
  89. package/{dist-esm/src → dist/browser}/receivers/sessionReceiver.js +32 -24
  90. package/dist/browser/receivers/sessionReceiver.js.map +1 -0
  91. package/dist/browser/sender.d.ts +125 -0
  92. package/dist/browser/sender.d.ts.map +1 -0
  93. package/{dist-esm/src → dist/browser}/sender.js +19 -13
  94. package/dist/browser/sender.js.map +1 -0
  95. package/dist/browser/serializers/namespaceResourceSerializer.d.ts +46 -0
  96. package/dist/browser/serializers/namespaceResourceSerializer.d.ts.map +1 -0
  97. package/{dist-esm/src → dist/browser}/serializers/namespaceResourceSerializer.js +3 -3
  98. package/dist/browser/serializers/namespaceResourceSerializer.js.map +1 -0
  99. package/dist/browser/serializers/queueResourceSerializer.d.ts +461 -0
  100. package/dist/browser/serializers/queueResourceSerializer.d.ts.map +1 -0
  101. package/{dist-esm/src → dist/browser}/serializers/queueResourceSerializer.js +4 -4
  102. package/dist/browser/serializers/queueResourceSerializer.js.map +1 -0
  103. package/dist/browser/serializers/ruleResourceSerializer.d.ts +135 -0
  104. package/dist/browser/serializers/ruleResourceSerializer.d.ts.map +1 -0
  105. package/{dist-esm/src → dist/browser}/serializers/ruleResourceSerializer.js +4 -4
  106. package/dist/browser/serializers/ruleResourceSerializer.js.map +1 -0
  107. package/dist/browser/serializers/subscriptionResourceSerializer.d.ts +396 -0
  108. package/dist/browser/serializers/subscriptionResourceSerializer.d.ts.map +1 -0
  109. package/{dist-esm/src → dist/browser}/serializers/subscriptionResourceSerializer.js +5 -5
  110. package/dist/browser/serializers/subscriptionResourceSerializer.js.map +1 -0
  111. package/dist/browser/serializers/topicResourceSerializer.d.ts +335 -0
  112. package/dist/browser/serializers/topicResourceSerializer.d.ts.map +1 -0
  113. package/{dist-esm/src → dist/browser}/serializers/topicResourceSerializer.js +4 -4
  114. package/dist/browser/serializers/topicResourceSerializer.js.map +1 -0
  115. package/dist/browser/serviceBusAtomManagementClient.d.ts +652 -0
  116. package/dist/browser/serviceBusAtomManagementClient.d.ts.map +1 -0
  117. package/{dist-esm/src → dist/browser}/serviceBusAtomManagementClient.js +78 -109
  118. package/dist/browser/serviceBusAtomManagementClient.js.map +1 -0
  119. package/dist/browser/serviceBusClient.d.ts +231 -0
  120. package/dist/browser/serviceBusClient.d.ts.map +1 -0
  121. package/{dist-esm/src → dist/browser}/serviceBusClient.js +24 -11
  122. package/dist/browser/serviceBusClient.js.map +1 -0
  123. package/dist/browser/serviceBusError.d.ts +119 -0
  124. package/dist/browser/serviceBusError.d.ts.map +1 -0
  125. package/{dist-esm/src → dist/browser}/serviceBusError.js +21 -1
  126. package/dist/browser/serviceBusError.js.map +1 -0
  127. package/dist/browser/serviceBusMessage.d.ts +529 -0
  128. package/dist/browser/serviceBusMessage.d.ts.map +1 -0
  129. package/{dist-esm/src → dist/browser}/serviceBusMessage.js +193 -5
  130. package/dist/browser/serviceBusMessage.js.map +1 -0
  131. package/dist/browser/serviceBusMessageBatch.d.ts +153 -0
  132. package/dist/browser/serviceBusMessageBatch.d.ts.map +1 -0
  133. package/{dist-esm/src → dist/browser}/serviceBusMessageBatch.js +37 -13
  134. package/dist/browser/serviceBusMessageBatch.js.map +1 -0
  135. package/dist/browser/serviceBusRuleManager.d.ts +103 -0
  136. package/dist/browser/serviceBusRuleManager.d.ts.map +1 -0
  137. package/{dist-esm/src → dist/browser}/serviceBusRuleManager.js +16 -13
  138. package/dist/browser/serviceBusRuleManager.js.map +1 -0
  139. package/dist/browser/session/messageSession.d.ts +236 -0
  140. package/dist/browser/session/messageSession.d.ts.map +1 -0
  141. package/{dist-esm/src → dist/browser}/session/messageSession.js +145 -30
  142. package/dist/browser/session/messageSession.js.map +1 -0
  143. package/dist/browser/util/atomXmlHelper.d.ts +56 -0
  144. package/dist/browser/util/atomXmlHelper.d.ts.map +1 -0
  145. package/{dist-esm/src → dist/browser}/util/atomXmlHelper.js +7 -7
  146. package/dist/browser/util/atomXmlHelper.js.map +1 -0
  147. package/dist/browser/util/compat/compatibility.d.ts +109 -0
  148. package/dist/browser/util/compat/compatibility.d.ts.map +1 -0
  149. package/{dist-esm/src → dist/browser}/util/compat/compatibility.js +2 -2
  150. package/dist/browser/util/compat/compatibility.js.map +1 -0
  151. package/dist/browser/util/compat/httpHeaders.d.ts +136 -0
  152. package/dist/browser/util/compat/httpHeaders.d.ts.map +1 -0
  153. package/{dist-esm/src → dist/browser}/util/compat/httpHeaders.js +2 -1
  154. package/dist/browser/util/compat/httpHeaders.js.map +1 -0
  155. package/dist/browser/util/compat/index.d.ts +3 -0
  156. package/dist/browser/util/compat/index.d.ts.map +1 -0
  157. package/dist/browser/util/compat/index.js +5 -0
  158. package/dist/browser/util/compat/index.js.map +1 -0
  159. package/dist/browser/util/connectionStringUtils.d.ts +53 -0
  160. package/dist/browser/util/connectionStringUtils.d.ts.map +1 -0
  161. package/{dist-esm/src → dist/browser}/util/connectionStringUtils.js +8 -2
  162. package/dist/browser/util/connectionStringUtils.js.map +1 -0
  163. package/dist/browser/util/constants.d.ts +322 -0
  164. package/dist/browser/util/constants.d.ts.map +1 -0
  165. package/{dist-esm/src → dist/browser}/util/constants.js +3 -3
  166. package/{dist-esm/src → dist/browser}/util/constants.js.map +1 -1
  167. package/dist/browser/util/crypto-browser.d.mts.map +1 -0
  168. package/dist/browser/util/crypto-browser.mjs.map +1 -0
  169. package/dist/browser/util/crypto.d.ts +5 -0
  170. package/{dist-esm/src/util/crypto.browser.js → dist/browser/util/crypto.js} +2 -4
  171. package/dist/browser/util/errors.d.ts +130 -0
  172. package/dist/browser/util/errors.d.ts.map +1 -0
  173. package/{dist-esm/src → dist/browser}/util/errors.js +4 -4
  174. package/dist/browser/util/errors.js.map +1 -0
  175. package/dist/browser/util/parseUrl-browser.d.mts.map +1 -0
  176. package/dist/browser/util/parseUrl-browser.mjs.map +1 -0
  177. package/dist/browser/util/parseUrl.d.ts +5 -0
  178. package/{dist-esm/src/util/parseUrl.browser.js → dist/browser/util/parseUrl.js} +1 -3
  179. package/dist/browser/util/runtimeInfo-browser.d.mts.map +1 -0
  180. package/dist/browser/util/runtimeInfo-browser.mjs.map +1 -0
  181. package/dist/browser/util/runtimeInfo.d.ts +7 -0
  182. package/{dist-esm/src/util/runtimeInfo.browser.js → dist/browser/util/runtimeInfo.js} +2 -2
  183. package/dist/browser/util/sasServiceClientCredentials.d.ts +31 -0
  184. package/dist/browser/util/sasServiceClientCredentials.d.ts.map +1 -0
  185. package/{dist-esm/src → dist/browser}/util/sasServiceClientCredentials.js +9 -3
  186. package/dist/browser/util/sasServiceClientCredentials.js.map +1 -0
  187. package/dist/browser/util/semaphore.d.ts +38 -0
  188. package/dist/browser/util/semaphore.d.ts.map +1 -0
  189. package/{dist-esm/src → dist/browser}/util/semaphore.js +7 -3
  190. package/dist/browser/util/semaphore.js.map +1 -0
  191. package/dist/browser/util/typeGuards.d.ts +8 -0
  192. package/dist/browser/util/typeGuards.d.ts.map +1 -0
  193. package/{dist-esm/src → dist/browser}/util/typeGuards.js +2 -2
  194. package/dist/browser/util/typeGuards.js.map +1 -0
  195. package/dist/browser/util/utils.d.ts +247 -0
  196. package/dist/browser/util/utils.d.ts.map +1 -0
  197. package/{dist-esm/src → dist/browser}/util/utils.js +5 -7
  198. package/dist/browser/util/utils.js.map +1 -0
  199. package/dist/commonjs/connectionContext.d.ts +109 -0
  200. package/dist/commonjs/connectionContext.d.ts.map +1 -0
  201. package/dist/commonjs/connectionContext.js +358 -0
  202. package/dist/commonjs/connectionContext.js.map +1 -0
  203. package/dist/commonjs/constructorHelpers.d.ts +79 -0
  204. package/dist/commonjs/constructorHelpers.d.ts.map +1 -0
  205. package/dist/commonjs/constructorHelpers.js +103 -0
  206. package/dist/commonjs/constructorHelpers.js.map +1 -0
  207. package/dist/commonjs/core/autoLockRenewer.d.ts +58 -0
  208. package/dist/commonjs/core/autoLockRenewer.d.ts.map +1 -0
  209. package/dist/commonjs/core/autoLockRenewer.js +178 -0
  210. package/dist/commonjs/core/autoLockRenewer.js.map +1 -0
  211. package/dist/commonjs/core/batchingReceiver.d.ts +120 -0
  212. package/dist/commonjs/core/batchingReceiver.d.ts.map +1 -0
  213. package/dist/commonjs/core/batchingReceiver.js +405 -0
  214. package/dist/commonjs/core/batchingReceiver.js.map +1 -0
  215. package/dist/commonjs/core/linkEntity.d.ts +192 -0
  216. package/dist/commonjs/core/linkEntity.d.ts.map +1 -0
  217. package/dist/commonjs/core/linkEntity.js +344 -0
  218. package/dist/commonjs/core/linkEntity.js.map +1 -0
  219. package/dist/commonjs/core/managementClient.d.ts +312 -0
  220. package/dist/commonjs/core/managementClient.d.ts.map +1 -0
  221. package/dist/commonjs/core/managementClient.js +1078 -0
  222. package/dist/commonjs/core/managementClient.js.map +1 -0
  223. package/dist/commonjs/core/messageReceiver.d.ts +147 -0
  224. package/dist/commonjs/core/messageReceiver.d.ts.map +1 -0
  225. package/dist/commonjs/core/messageReceiver.js +169 -0
  226. package/dist/commonjs/core/messageReceiver.js.map +1 -0
  227. package/dist/commonjs/core/messageSender.d.ts +93 -0
  228. package/dist/commonjs/core/messageSender.d.ts.map +1 -0
  229. package/dist/commonjs/core/messageSender.js +307 -0
  230. package/dist/commonjs/core/messageSender.js.map +1 -0
  231. package/dist/commonjs/core/receiverHelper.d.ts +45 -0
  232. package/dist/commonjs/core/receiverHelper.d.ts.map +1 -0
  233. package/dist/commonjs/core/receiverHelper.js +123 -0
  234. package/dist/commonjs/core/receiverHelper.js.map +1 -0
  235. package/dist/commonjs/core/shared.d.ts +34 -0
  236. package/dist/commonjs/core/shared.d.ts.map +1 -0
  237. package/dist/commonjs/core/shared.js +70 -0
  238. package/dist/commonjs/core/shared.js.map +1 -0
  239. package/dist/commonjs/core/streamingReceiver.d.ts +142 -0
  240. package/dist/commonjs/core/streamingReceiver.d.ts.map +1 -0
  241. package/dist/commonjs/core/streamingReceiver.js +526 -0
  242. package/dist/commonjs/core/streamingReceiver.js.map +1 -0
  243. package/dist/commonjs/dataTransformer.d.ts +77 -0
  244. package/dist/commonjs/dataTransformer.d.ts.map +1 -0
  245. package/dist/commonjs/dataTransformer.js +169 -0
  246. package/dist/commonjs/dataTransformer.js.map +1 -0
  247. package/dist/commonjs/diagnostics/instrumentServiceBusMessage.d.ts +50 -0
  248. package/dist/commonjs/diagnostics/instrumentServiceBusMessage.d.ts.map +1 -0
  249. package/dist/commonjs/diagnostics/instrumentServiceBusMessage.js +107 -0
  250. package/dist/commonjs/diagnostics/instrumentServiceBusMessage.js.map +1 -0
  251. package/dist/commonjs/diagnostics/tracing.d.ts +21 -0
  252. package/dist/commonjs/diagnostics/tracing.d.ts.map +1 -0
  253. package/dist/commonjs/diagnostics/tracing.js +41 -0
  254. package/dist/commonjs/diagnostics/tracing.js.map +1 -0
  255. package/dist/commonjs/experimental/index.d.ts +10 -0
  256. package/dist/commonjs/experimental/index.d.ts.map +1 -0
  257. package/dist/commonjs/experimental/index.js +5 -0
  258. package/dist/commonjs/experimental/index.js.map +1 -0
  259. package/dist/commonjs/index.d.ts +26 -0
  260. package/dist/commonjs/index.d.ts.map +1 -0
  261. package/dist/commonjs/index.js +22 -0
  262. package/dist/commonjs/index.js.map +1 -0
  263. package/dist/commonjs/log.d.ts +70 -0
  264. package/dist/commonjs/log.d.ts.map +1 -0
  265. package/dist/commonjs/log.js +94 -0
  266. package/dist/commonjs/log.js.map +1 -0
  267. package/dist/commonjs/models.d.ts +328 -0
  268. package/dist/commonjs/models.d.ts.map +1 -0
  269. package/dist/commonjs/models.js +5 -0
  270. package/dist/commonjs/models.js.map +1 -0
  271. package/dist/commonjs/modelsToBeSharedWithEventHubs.d.ts +18 -0
  272. package/dist/commonjs/modelsToBeSharedWithEventHubs.d.ts.map +1 -0
  273. package/dist/commonjs/modelsToBeSharedWithEventHubs.js +5 -0
  274. package/dist/commonjs/modelsToBeSharedWithEventHubs.js.map +1 -0
  275. package/dist/commonjs/package.json +3 -0
  276. package/dist/commonjs/receivers/receiver.d.ts +299 -0
  277. package/dist/commonjs/receivers/receiver.d.ts.map +1 -0
  278. package/dist/commonjs/receivers/receiver.js +383 -0
  279. package/dist/commonjs/receivers/receiver.js.map +1 -0
  280. package/dist/commonjs/receivers/receiverCommon.d.ts +81 -0
  281. package/dist/commonjs/receivers/receiverCommon.d.ts.map +1 -0
  282. package/dist/commonjs/receivers/receiverCommon.js +269 -0
  283. package/dist/commonjs/receivers/receiverCommon.js.map +1 -0
  284. package/dist/commonjs/receivers/sessionReceiver.d.ts +189 -0
  285. package/dist/commonjs/receivers/sessionReceiver.d.ts.map +1 -0
  286. package/dist/commonjs/receivers/sessionReceiver.js +432 -0
  287. package/dist/commonjs/receivers/sessionReceiver.js.map +1 -0
  288. package/dist/commonjs/sender.d.ts +125 -0
  289. package/dist/commonjs/sender.d.ts.map +1 -0
  290. package/dist/commonjs/sender.js +191 -0
  291. package/dist/commonjs/sender.js.map +1 -0
  292. package/dist/commonjs/serializers/namespaceResourceSerializer.d.ts +46 -0
  293. package/dist/commonjs/serializers/namespaceResourceSerializer.d.ts.map +1 -0
  294. package/dist/commonjs/serializers/namespaceResourceSerializer.js +39 -0
  295. package/dist/commonjs/serializers/namespaceResourceSerializer.js.map +1 -0
  296. package/dist/commonjs/serializers/queueResourceSerializer.d.ts +461 -0
  297. package/dist/commonjs/serializers/queueResourceSerializer.d.ts.map +1 -0
  298. package/dist/commonjs/serializers/queueResourceSerializer.js +107 -0
  299. package/dist/commonjs/serializers/queueResourceSerializer.js.map +1 -0
  300. package/dist/commonjs/serializers/ruleResourceSerializer.d.ts +135 -0
  301. package/dist/commonjs/serializers/ruleResourceSerializer.d.ts.map +1 -0
  302. package/dist/commonjs/serializers/ruleResourceSerializer.js +287 -0
  303. package/dist/commonjs/serializers/ruleResourceSerializer.js.map +1 -0
  304. package/dist/commonjs/serializers/subscriptionResourceSerializer.d.ts +396 -0
  305. package/dist/commonjs/serializers/subscriptionResourceSerializer.d.ts.map +1 -0
  306. package/dist/commonjs/serializers/subscriptionResourceSerializer.js +103 -0
  307. package/dist/commonjs/serializers/subscriptionResourceSerializer.js.map +1 -0
  308. package/dist/commonjs/serializers/topicResourceSerializer.d.ts +335 -0
  309. package/dist/commonjs/serializers/topicResourceSerializer.d.ts.map +1 -0
  310. package/dist/commonjs/serializers/topicResourceSerializer.js +97 -0
  311. package/dist/commonjs/serializers/topicResourceSerializer.js.map +1 -0
  312. package/dist/commonjs/serviceBusAtomManagementClient.d.ts +652 -0
  313. package/dist/commonjs/serviceBusAtomManagementClient.d.ts.map +1 -0
  314. package/dist/commonjs/serviceBusAtomManagementClient.js +1648 -0
  315. package/dist/commonjs/serviceBusAtomManagementClient.js.map +1 -0
  316. package/dist/commonjs/serviceBusClient.d.ts +231 -0
  317. package/dist/commonjs/serviceBusClient.d.ts.map +1 -0
  318. package/dist/commonjs/serviceBusClient.js +221 -0
  319. package/dist/commonjs/serviceBusClient.js.map +1 -0
  320. package/dist/commonjs/serviceBusError.d.ts +119 -0
  321. package/dist/commonjs/serviceBusError.d.ts.map +1 -0
  322. package/dist/commonjs/serviceBusError.js +109 -0
  323. package/dist/commonjs/serviceBusError.js.map +1 -0
  324. package/dist/commonjs/serviceBusMessage.d.ts +529 -0
  325. package/dist/commonjs/serviceBusMessage.d.ts.map +1 -0
  326. package/dist/commonjs/serviceBusMessage.js +611 -0
  327. package/dist/commonjs/serviceBusMessage.js.map +1 -0
  328. package/dist/commonjs/serviceBusMessageBatch.d.ts +153 -0
  329. package/dist/commonjs/serviceBusMessageBatch.d.ts.map +1 -0
  330. package/dist/commonjs/serviceBusMessageBatch.js +196 -0
  331. package/dist/commonjs/serviceBusMessageBatch.js.map +1 -0
  332. package/dist/commonjs/serviceBusRuleManager.d.ts +103 -0
  333. package/dist/commonjs/serviceBusRuleManager.d.ts.map +1 -0
  334. package/dist/commonjs/serviceBusRuleManager.js +153 -0
  335. package/dist/commonjs/serviceBusRuleManager.js.map +1 -0
  336. package/dist/commonjs/session/messageSession.d.ts +236 -0
  337. package/dist/commonjs/session/messageSession.d.ts.map +1 -0
  338. package/dist/commonjs/session/messageSession.js +759 -0
  339. package/dist/commonjs/session/messageSession.js.map +1 -0
  340. package/dist/commonjs/tsdoc-metadata.json +11 -0
  341. package/dist/commonjs/util/atomXmlHelper.d.ts +56 -0
  342. package/dist/commonjs/util/atomXmlHelper.d.ts.map +1 -0
  343. package/dist/commonjs/util/atomXmlHelper.js +386 -0
  344. package/dist/commonjs/util/atomXmlHelper.js.map +1 -0
  345. package/dist/commonjs/util/compat/compatibility.d.ts +109 -0
  346. package/dist/commonjs/util/compat/compatibility.d.ts.map +1 -0
  347. package/dist/commonjs/util/compat/compatibility.js +30 -0
  348. package/dist/commonjs/util/compat/compatibility.js.map +1 -0
  349. package/dist/commonjs/util/compat/httpHeaders.d.ts +136 -0
  350. package/dist/commonjs/util/compat/httpHeaders.d.ts.map +1 -0
  351. package/dist/commonjs/util/compat/httpHeaders.js +157 -0
  352. package/dist/commonjs/util/compat/httpHeaders.js.map +1 -0
  353. package/dist/commonjs/util/compat/index.d.ts +3 -0
  354. package/dist/commonjs/util/compat/index.d.ts.map +1 -0
  355. package/dist/commonjs/util/compat/index.js +8 -0
  356. package/dist/commonjs/util/compat/index.js.map +1 -0
  357. package/dist/commonjs/util/connectionStringUtils.d.ts +53 -0
  358. package/dist/commonjs/util/connectionStringUtils.d.ts.map +1 -0
  359. package/dist/commonjs/util/connectionStringUtils.js +51 -0
  360. package/dist/commonjs/util/connectionStringUtils.js.map +1 -0
  361. package/dist/commonjs/util/constants.d.ts +322 -0
  362. package/dist/commonjs/util/constants.d.ts.map +1 -0
  363. package/dist/commonjs/util/constants.js +327 -0
  364. package/dist/commonjs/util/constants.js.map +1 -0
  365. package/dist/commonjs/util/crypto.d.ts +5 -0
  366. package/dist/commonjs/util/crypto.d.ts.map +1 -0
  367. package/dist/commonjs/util/crypto.js +15 -0
  368. package/dist/commonjs/util/crypto.js.map +1 -0
  369. package/dist/commonjs/util/errors.d.ts +130 -0
  370. package/dist/commonjs/util/errors.d.ts.map +1 -0
  371. package/dist/commonjs/util/errors.js +236 -0
  372. package/dist/commonjs/util/errors.js.map +1 -0
  373. package/dist/commonjs/util/parseUrl.d.ts +5 -0
  374. package/dist/commonjs/util/parseUrl.d.ts.map +1 -0
  375. package/dist/commonjs/util/parseUrl.js +13 -0
  376. package/dist/commonjs/util/parseUrl.js.map +1 -0
  377. package/dist/commonjs/util/runtimeInfo.d.ts +7 -0
  378. package/dist/commonjs/util/runtimeInfo.d.ts.map +1 -0
  379. package/dist/commonjs/util/runtimeInfo.js +24 -0
  380. package/dist/commonjs/util/runtimeInfo.js.map +1 -0
  381. package/dist/commonjs/util/sasServiceClientCredentials.d.ts +31 -0
  382. package/dist/commonjs/util/sasServiceClientCredentials.d.ts.map +1 -0
  383. package/dist/commonjs/util/sasServiceClientCredentials.js +56 -0
  384. package/dist/commonjs/util/sasServiceClientCredentials.js.map +1 -0
  385. package/dist/commonjs/util/semaphore.d.ts +38 -0
  386. package/dist/commonjs/util/semaphore.d.ts.map +1 -0
  387. package/dist/commonjs/util/semaphore.js +85 -0
  388. package/dist/commonjs/util/semaphore.js.map +1 -0
  389. package/dist/commonjs/util/typeGuards.d.ts +8 -0
  390. package/dist/commonjs/util/typeGuards.d.ts.map +1 -0
  391. package/dist/commonjs/util/typeGuards.js +15 -0
  392. package/dist/commonjs/util/typeGuards.js.map +1 -0
  393. package/dist/commonjs/util/utils.d.ts +247 -0
  394. package/dist/commonjs/util/utils.d.ts.map +1 -0
  395. package/dist/commonjs/util/utils.js +524 -0
  396. package/dist/commonjs/util/utils.js.map +1 -0
  397. package/dist/esm/connectionContext.d.ts +109 -0
  398. package/dist/esm/connectionContext.d.ts.map +1 -0
  399. package/dist/esm/connectionContext.js +355 -0
  400. package/dist/esm/connectionContext.js.map +1 -0
  401. package/dist/esm/constructorHelpers.d.ts +79 -0
  402. package/dist/esm/constructorHelpers.d.ts.map +1 -0
  403. package/dist/esm/constructorHelpers.js +96 -0
  404. package/dist/esm/constructorHelpers.js.map +1 -0
  405. package/dist/esm/core/autoLockRenewer.d.ts +58 -0
  406. package/dist/esm/core/autoLockRenewer.d.ts.map +1 -0
  407. package/dist/esm/core/autoLockRenewer.js +174 -0
  408. package/dist/esm/core/autoLockRenewer.js.map +1 -0
  409. package/dist/esm/core/batchingReceiver.d.ts +120 -0
  410. package/dist/esm/core/batchingReceiver.d.ts.map +1 -0
  411. package/dist/esm/core/batchingReceiver.js +399 -0
  412. package/dist/esm/core/batchingReceiver.js.map +1 -0
  413. package/dist/esm/core/linkEntity.d.ts +192 -0
  414. package/dist/esm/core/linkEntity.d.ts.map +1 -0
  415. package/dist/esm/core/linkEntity.js +340 -0
  416. package/dist/esm/core/linkEntity.js.map +1 -0
  417. package/dist/esm/core/managementClient.d.ts +312 -0
  418. package/dist/esm/core/managementClient.d.ts.map +1 -0
  419. package/dist/esm/core/managementClient.js +1072 -0
  420. package/dist/esm/core/managementClient.js.map +1 -0
  421. package/dist/esm/core/messageReceiver.d.ts +147 -0
  422. package/dist/esm/core/messageReceiver.d.ts.map +1 -0
  423. package/dist/esm/core/messageReceiver.js +165 -0
  424. package/dist/esm/core/messageReceiver.js.map +1 -0
  425. package/dist/esm/core/messageSender.d.ts +93 -0
  426. package/dist/esm/core/messageSender.d.ts.map +1 -0
  427. package/dist/esm/core/messageSender.js +303 -0
  428. package/dist/esm/core/messageSender.js.map +1 -0
  429. package/dist/esm/core/receiverHelper.d.ts +45 -0
  430. package/dist/esm/core/receiverHelper.d.ts.map +1 -0
  431. package/dist/esm/core/receiverHelper.js +119 -0
  432. package/dist/esm/core/receiverHelper.js.map +1 -0
  433. package/dist/esm/core/shared.d.ts +34 -0
  434. package/dist/esm/core/shared.d.ts.map +1 -0
  435. package/dist/esm/core/shared.js +66 -0
  436. package/dist/esm/core/shared.js.map +1 -0
  437. package/dist/esm/core/streamingReceiver.d.ts +142 -0
  438. package/dist/esm/core/streamingReceiver.d.ts.map +1 -0
  439. package/dist/esm/core/streamingReceiver.js +522 -0
  440. package/dist/esm/core/streamingReceiver.js.map +1 -0
  441. package/dist/esm/dataTransformer.d.ts +77 -0
  442. package/dist/esm/dataTransformer.d.ts.map +1 -0
  443. package/dist/esm/dataTransformer.js +163 -0
  444. package/dist/esm/dataTransformer.js.map +1 -0
  445. package/dist/esm/diagnostics/instrumentServiceBusMessage.d.ts +50 -0
  446. package/dist/esm/diagnostics/instrumentServiceBusMessage.d.ts.map +1 -0
  447. package/dist/esm/diagnostics/instrumentServiceBusMessage.js +101 -0
  448. package/dist/esm/diagnostics/instrumentServiceBusMessage.js.map +1 -0
  449. package/dist/esm/diagnostics/tracing.d.ts +21 -0
  450. package/dist/esm/diagnostics/tracing.d.ts.map +1 -0
  451. package/dist/esm/diagnostics/tracing.js +37 -0
  452. package/dist/esm/diagnostics/tracing.js.map +1 -0
  453. package/dist/esm/experimental/index.d.ts +10 -0
  454. package/dist/esm/experimental/index.d.ts.map +1 -0
  455. package/dist/esm/experimental/index.js +4 -0
  456. package/dist/esm/experimental/index.js.map +1 -0
  457. package/dist/esm/index.d.ts +26 -0
  458. package/dist/esm/index.d.ts.map +1 -0
  459. package/dist/esm/index.js +10 -0
  460. package/dist/esm/index.js.map +1 -0
  461. package/dist/esm/log.d.ts +70 -0
  462. package/dist/esm/log.d.ts.map +1 -0
  463. package/dist/esm/log.js +89 -0
  464. package/dist/esm/log.js.map +1 -0
  465. package/dist/esm/models.d.ts +328 -0
  466. package/dist/esm/models.d.ts.map +1 -0
  467. package/dist/esm/models.js +4 -0
  468. package/dist/esm/models.js.map +1 -0
  469. package/dist/esm/modelsToBeSharedWithEventHubs.d.ts +18 -0
  470. package/dist/esm/modelsToBeSharedWithEventHubs.d.ts.map +1 -0
  471. package/dist/esm/modelsToBeSharedWithEventHubs.js +4 -0
  472. package/dist/esm/modelsToBeSharedWithEventHubs.js.map +1 -0
  473. package/dist/esm/package.json +3 -0
  474. package/dist/esm/receivers/receiver.d.ts +299 -0
  475. package/dist/esm/receivers/receiver.d.ts.map +1 -0
  476. package/dist/esm/receivers/receiver.js +379 -0
  477. package/dist/esm/receivers/receiver.js.map +1 -0
  478. package/dist/esm/receivers/receiverCommon.d.ts +81 -0
  479. package/dist/esm/receivers/receiverCommon.d.ts.map +1 -0
  480. package/dist/esm/receivers/receiverCommon.js +257 -0
  481. package/dist/esm/receivers/receiverCommon.js.map +1 -0
  482. package/dist/esm/receivers/sessionReceiver.d.ts +189 -0
  483. package/dist/esm/receivers/sessionReceiver.d.ts.map +1 -0
  484. package/dist/esm/receivers/sessionReceiver.js +428 -0
  485. package/dist/esm/receivers/sessionReceiver.js.map +1 -0
  486. package/dist/esm/sender.d.ts +125 -0
  487. package/dist/esm/sender.d.ts.map +1 -0
  488. package/dist/esm/sender.js +186 -0
  489. package/dist/esm/sender.js.map +1 -0
  490. package/dist/esm/serializers/namespaceResourceSerializer.d.ts +46 -0
  491. package/dist/esm/serializers/namespaceResourceSerializer.d.ts.map +1 -0
  492. package/dist/esm/serializers/namespaceResourceSerializer.js +34 -0
  493. package/dist/esm/serializers/namespaceResourceSerializer.js.map +1 -0
  494. package/dist/esm/serializers/queueResourceSerializer.d.ts +461 -0
  495. package/dist/esm/serializers/queueResourceSerializer.d.ts.map +1 -0
  496. package/dist/esm/serializers/queueResourceSerializer.js +99 -0
  497. package/dist/esm/serializers/queueResourceSerializer.js.map +1 -0
  498. package/dist/esm/serializers/ruleResourceSerializer.d.ts +135 -0
  499. package/dist/esm/serializers/ruleResourceSerializer.d.ts.map +1 -0
  500. package/dist/esm/serializers/ruleResourceSerializer.js +278 -0
  501. package/dist/esm/serializers/ruleResourceSerializer.js.map +1 -0
  502. package/dist/esm/serializers/subscriptionResourceSerializer.d.ts +396 -0
  503. package/dist/esm/serializers/subscriptionResourceSerializer.d.ts.map +1 -0
  504. package/dist/esm/serializers/subscriptionResourceSerializer.js +95 -0
  505. package/dist/esm/serializers/subscriptionResourceSerializer.js.map +1 -0
  506. package/dist/esm/serializers/topicResourceSerializer.d.ts +335 -0
  507. package/dist/esm/serializers/topicResourceSerializer.d.ts.map +1 -0
  508. package/dist/esm/serializers/topicResourceSerializer.js +89 -0
  509. package/dist/esm/serializers/topicResourceSerializer.js.map +1 -0
  510. package/dist/esm/serviceBusAtomManagementClient.d.ts +652 -0
  511. package/dist/esm/serviceBusAtomManagementClient.d.ts.map +1 -0
  512. package/dist/esm/serviceBusAtomManagementClient.js +1643 -0
  513. package/dist/esm/serviceBusAtomManagementClient.js.map +1 -0
  514. package/dist/esm/serviceBusClient.d.ts +231 -0
  515. package/dist/esm/serviceBusClient.d.ts.map +1 -0
  516. package/dist/esm/serviceBusClient.js +216 -0
  517. package/dist/esm/serviceBusClient.js.map +1 -0
  518. package/dist/esm/serviceBusError.d.ts +119 -0
  519. package/dist/esm/serviceBusError.d.ts.map +1 -0
  520. package/dist/esm/serviceBusError.js +103 -0
  521. package/dist/esm/serviceBusError.js.map +1 -0
  522. package/dist/esm/serviceBusMessage.d.ts +529 -0
  523. package/dist/esm/serviceBusMessage.d.ts.map +1 -0
  524. package/dist/esm/serviceBusMessage.js +598 -0
  525. package/dist/esm/serviceBusMessage.js.map +1 -0
  526. package/dist/esm/serviceBusMessageBatch.d.ts +153 -0
  527. package/dist/esm/serviceBusMessageBatch.d.ts.map +1 -0
  528. package/dist/esm/serviceBusMessageBatch.js +192 -0
  529. package/dist/esm/serviceBusMessageBatch.js.map +1 -0
  530. package/dist/esm/serviceBusRuleManager.d.ts +103 -0
  531. package/dist/esm/serviceBusRuleManager.d.ts.map +1 -0
  532. package/dist/esm/serviceBusRuleManager.js +149 -0
  533. package/dist/esm/serviceBusRuleManager.js.map +1 -0
  534. package/dist/esm/session/messageSession.d.ts +236 -0
  535. package/dist/esm/session/messageSession.d.ts.map +1 -0
  536. package/dist/esm/session/messageSession.js +755 -0
  537. package/dist/esm/session/messageSession.js.map +1 -0
  538. package/dist/esm/util/atomXmlHelper.d.ts +56 -0
  539. package/dist/esm/util/atomXmlHelper.d.ts.map +1 -0
  540. package/dist/esm/util/atomXmlHelper.js +378 -0
  541. package/dist/esm/util/atomXmlHelper.js.map +1 -0
  542. package/dist/esm/util/compat/compatibility.d.ts +109 -0
  543. package/dist/esm/util/compat/compatibility.d.ts.map +1 -0
  544. package/dist/esm/util/compat/compatibility.js +27 -0
  545. package/dist/esm/util/compat/compatibility.js.map +1 -0
  546. package/dist/esm/util/compat/httpHeaders.d.ts +136 -0
  547. package/dist/esm/util/compat/httpHeaders.d.ts.map +1 -0
  548. package/dist/esm/util/compat/httpHeaders.js +152 -0
  549. package/dist/esm/util/compat/httpHeaders.js.map +1 -0
  550. package/dist/esm/util/compat/index.d.ts +3 -0
  551. package/dist/esm/util/compat/index.d.ts.map +1 -0
  552. package/dist/esm/util/compat/index.js +5 -0
  553. package/dist/esm/util/compat/index.js.map +1 -0
  554. package/dist/esm/util/connectionStringUtils.d.ts +53 -0
  555. package/dist/esm/util/connectionStringUtils.d.ts.map +1 -0
  556. package/dist/esm/util/connectionStringUtils.js +48 -0
  557. package/dist/esm/util/connectionStringUtils.js.map +1 -0
  558. package/dist/esm/util/constants.d.ts +322 -0
  559. package/dist/esm/util/constants.d.ts.map +1 -0
  560. package/dist/esm/util/constants.js +324 -0
  561. package/dist/esm/util/constants.js.map +1 -0
  562. package/dist/esm/util/crypto.d.ts +5 -0
  563. package/dist/esm/util/crypto.d.ts.map +1 -0
  564. package/{dist-esm/src → dist/esm}/util/crypto.js +1 -3
  565. package/dist/esm/util/crypto.js.map +1 -0
  566. package/dist/esm/util/errors.d.ts +130 -0
  567. package/dist/esm/util/errors.d.ts.map +1 -0
  568. package/dist/esm/util/errors.js +220 -0
  569. package/dist/esm/util/errors.js.map +1 -0
  570. package/dist/esm/util/parseUrl.d.ts +5 -0
  571. package/dist/esm/util/parseUrl.d.ts.map +1 -0
  572. package/{dist-esm/src → dist/esm}/util/parseUrl.js +0 -6
  573. package/dist/esm/util/parseUrl.js.map +1 -0
  574. package/dist/esm/util/runtimeInfo.d.ts +7 -0
  575. package/dist/esm/util/runtimeInfo.d.ts.map +1 -0
  576. package/{dist-esm/src → dist/esm}/util/runtimeInfo.js +2 -2
  577. package/dist/esm/util/runtimeInfo.js.map +1 -0
  578. package/dist/esm/util/sasServiceClientCredentials.d.ts +31 -0
  579. package/dist/esm/util/sasServiceClientCredentials.d.ts.map +1 -0
  580. package/dist/esm/util/sasServiceClientCredentials.js +52 -0
  581. package/dist/esm/util/sasServiceClientCredentials.js.map +1 -0
  582. package/dist/esm/util/semaphore.d.ts +38 -0
  583. package/dist/esm/util/semaphore.d.ts.map +1 -0
  584. package/dist/esm/util/semaphore.js +81 -0
  585. package/dist/esm/util/semaphore.js.map +1 -0
  586. package/dist/esm/util/typeGuards.d.ts +8 -0
  587. package/dist/esm/util/typeGuards.d.ts.map +1 -0
  588. package/dist/esm/util/typeGuards.js +12 -0
  589. package/dist/esm/util/typeGuards.js.map +1 -0
  590. package/dist/esm/util/utils.d.ts +247 -0
  591. package/dist/esm/util/utils.d.ts.map +1 -0
  592. package/dist/esm/util/utils.js +496 -0
  593. package/dist/esm/util/utils.js.map +1 -0
  594. package/dist/react-native/connectionContext.d.ts +109 -0
  595. package/dist/react-native/connectionContext.d.ts.map +1 -0
  596. package/dist/react-native/connectionContext.js +355 -0
  597. package/dist/react-native/connectionContext.js.map +1 -0
  598. package/dist/react-native/constructorHelpers.d.ts +79 -0
  599. package/dist/react-native/constructorHelpers.d.ts.map +1 -0
  600. package/dist/react-native/constructorHelpers.js +96 -0
  601. package/dist/react-native/constructorHelpers.js.map +1 -0
  602. package/dist/react-native/core/autoLockRenewer.d.ts +58 -0
  603. package/dist/react-native/core/autoLockRenewer.d.ts.map +1 -0
  604. package/dist/react-native/core/autoLockRenewer.js +174 -0
  605. package/dist/react-native/core/autoLockRenewer.js.map +1 -0
  606. package/dist/react-native/core/batchingReceiver.d.ts +120 -0
  607. package/dist/react-native/core/batchingReceiver.d.ts.map +1 -0
  608. package/dist/react-native/core/batchingReceiver.js +399 -0
  609. package/dist/react-native/core/batchingReceiver.js.map +1 -0
  610. package/dist/react-native/core/linkEntity.d.ts +192 -0
  611. package/dist/react-native/core/linkEntity.d.ts.map +1 -0
  612. package/dist/react-native/core/linkEntity.js +340 -0
  613. package/dist/react-native/core/linkEntity.js.map +1 -0
  614. package/dist/react-native/core/managementClient.d.ts +312 -0
  615. package/dist/react-native/core/managementClient.d.ts.map +1 -0
  616. package/dist/react-native/core/managementClient.js +1072 -0
  617. package/dist/react-native/core/managementClient.js.map +1 -0
  618. package/dist/react-native/core/messageReceiver.d.ts +147 -0
  619. package/dist/react-native/core/messageReceiver.d.ts.map +1 -0
  620. package/dist/react-native/core/messageReceiver.js +165 -0
  621. package/dist/react-native/core/messageReceiver.js.map +1 -0
  622. package/dist/react-native/core/messageSender.d.ts +93 -0
  623. package/dist/react-native/core/messageSender.d.ts.map +1 -0
  624. package/dist/react-native/core/messageSender.js +303 -0
  625. package/dist/react-native/core/messageSender.js.map +1 -0
  626. package/dist/react-native/core/receiverHelper.d.ts +45 -0
  627. package/dist/react-native/core/receiverHelper.d.ts.map +1 -0
  628. package/dist/react-native/core/receiverHelper.js +119 -0
  629. package/dist/react-native/core/receiverHelper.js.map +1 -0
  630. package/dist/react-native/core/shared.d.ts +34 -0
  631. package/dist/react-native/core/shared.d.ts.map +1 -0
  632. package/dist/react-native/core/shared.js +66 -0
  633. package/dist/react-native/core/shared.js.map +1 -0
  634. package/dist/react-native/core/streamingReceiver.d.ts +142 -0
  635. package/dist/react-native/core/streamingReceiver.d.ts.map +1 -0
  636. package/dist/react-native/core/streamingReceiver.js +522 -0
  637. package/dist/react-native/core/streamingReceiver.js.map +1 -0
  638. package/dist/react-native/dataTransformer.d.ts +77 -0
  639. package/dist/react-native/dataTransformer.d.ts.map +1 -0
  640. package/dist/react-native/dataTransformer.js +163 -0
  641. package/dist/react-native/dataTransformer.js.map +1 -0
  642. package/dist/react-native/diagnostics/instrumentServiceBusMessage.d.ts +50 -0
  643. package/dist/react-native/diagnostics/instrumentServiceBusMessage.d.ts.map +1 -0
  644. package/dist/react-native/diagnostics/instrumentServiceBusMessage.js +101 -0
  645. package/dist/react-native/diagnostics/instrumentServiceBusMessage.js.map +1 -0
  646. package/dist/react-native/diagnostics/tracing.d.ts +21 -0
  647. package/dist/react-native/diagnostics/tracing.d.ts.map +1 -0
  648. package/dist/react-native/diagnostics/tracing.js +37 -0
  649. package/dist/react-native/diagnostics/tracing.js.map +1 -0
  650. package/dist/react-native/experimental/index.d.ts +10 -0
  651. package/dist/react-native/experimental/index.d.ts.map +1 -0
  652. package/dist/react-native/experimental/index.js +4 -0
  653. package/dist/react-native/experimental/index.js.map +1 -0
  654. package/dist/react-native/index.d.ts +26 -0
  655. package/dist/react-native/index.d.ts.map +1 -0
  656. package/dist/react-native/index.js +10 -0
  657. package/dist/react-native/index.js.map +1 -0
  658. package/dist/react-native/log.d.ts +70 -0
  659. package/dist/react-native/log.d.ts.map +1 -0
  660. package/dist/react-native/log.js +89 -0
  661. package/dist/react-native/log.js.map +1 -0
  662. package/dist/react-native/models.d.ts +328 -0
  663. package/dist/react-native/models.d.ts.map +1 -0
  664. package/dist/react-native/models.js +4 -0
  665. package/dist/react-native/models.js.map +1 -0
  666. package/dist/react-native/modelsToBeSharedWithEventHubs.d.ts +18 -0
  667. package/dist/react-native/modelsToBeSharedWithEventHubs.d.ts.map +1 -0
  668. package/dist/react-native/modelsToBeSharedWithEventHubs.js +4 -0
  669. package/dist/react-native/modelsToBeSharedWithEventHubs.js.map +1 -0
  670. package/dist/react-native/package.json +3 -0
  671. package/dist/react-native/receivers/receiver.d.ts +299 -0
  672. package/dist/react-native/receivers/receiver.d.ts.map +1 -0
  673. package/dist/react-native/receivers/receiver.js +379 -0
  674. package/dist/react-native/receivers/receiver.js.map +1 -0
  675. package/dist/react-native/receivers/receiverCommon.d.ts +81 -0
  676. package/dist/react-native/receivers/receiverCommon.d.ts.map +1 -0
  677. package/dist/react-native/receivers/receiverCommon.js +257 -0
  678. package/dist/react-native/receivers/receiverCommon.js.map +1 -0
  679. package/dist/react-native/receivers/sessionReceiver.d.ts +189 -0
  680. package/dist/react-native/receivers/sessionReceiver.d.ts.map +1 -0
  681. package/dist/react-native/receivers/sessionReceiver.js +428 -0
  682. package/dist/react-native/receivers/sessionReceiver.js.map +1 -0
  683. package/dist/react-native/sender.d.ts +125 -0
  684. package/dist/react-native/sender.d.ts.map +1 -0
  685. package/dist/react-native/sender.js +186 -0
  686. package/dist/react-native/sender.js.map +1 -0
  687. package/dist/react-native/serializers/namespaceResourceSerializer.d.ts +46 -0
  688. package/dist/react-native/serializers/namespaceResourceSerializer.d.ts.map +1 -0
  689. package/dist/react-native/serializers/namespaceResourceSerializer.js +34 -0
  690. package/dist/react-native/serializers/namespaceResourceSerializer.js.map +1 -0
  691. package/dist/react-native/serializers/queueResourceSerializer.d.ts +461 -0
  692. package/dist/react-native/serializers/queueResourceSerializer.d.ts.map +1 -0
  693. package/dist/react-native/serializers/queueResourceSerializer.js +99 -0
  694. package/dist/react-native/serializers/queueResourceSerializer.js.map +1 -0
  695. package/dist/react-native/serializers/ruleResourceSerializer.d.ts +135 -0
  696. package/dist/react-native/serializers/ruleResourceSerializer.d.ts.map +1 -0
  697. package/dist/react-native/serializers/ruleResourceSerializer.js +278 -0
  698. package/dist/react-native/serializers/ruleResourceSerializer.js.map +1 -0
  699. package/dist/react-native/serializers/subscriptionResourceSerializer.d.ts +396 -0
  700. package/dist/react-native/serializers/subscriptionResourceSerializer.d.ts.map +1 -0
  701. package/dist/react-native/serializers/subscriptionResourceSerializer.js +95 -0
  702. package/dist/react-native/serializers/subscriptionResourceSerializer.js.map +1 -0
  703. package/dist/react-native/serializers/topicResourceSerializer.d.ts +335 -0
  704. package/dist/react-native/serializers/topicResourceSerializer.d.ts.map +1 -0
  705. package/dist/react-native/serializers/topicResourceSerializer.js +89 -0
  706. package/dist/react-native/serializers/topicResourceSerializer.js.map +1 -0
  707. package/dist/react-native/serviceBusAtomManagementClient.d.ts +652 -0
  708. package/dist/react-native/serviceBusAtomManagementClient.d.ts.map +1 -0
  709. package/dist/react-native/serviceBusAtomManagementClient.js +1643 -0
  710. package/dist/react-native/serviceBusAtomManagementClient.js.map +1 -0
  711. package/dist/react-native/serviceBusClient.d.ts +231 -0
  712. package/dist/react-native/serviceBusClient.d.ts.map +1 -0
  713. package/dist/react-native/serviceBusClient.js +216 -0
  714. package/dist/react-native/serviceBusClient.js.map +1 -0
  715. package/dist/react-native/serviceBusError.d.ts +119 -0
  716. package/dist/react-native/serviceBusError.d.ts.map +1 -0
  717. package/dist/react-native/serviceBusError.js +103 -0
  718. package/dist/react-native/serviceBusError.js.map +1 -0
  719. package/dist/react-native/serviceBusMessage.d.ts +529 -0
  720. package/dist/react-native/serviceBusMessage.d.ts.map +1 -0
  721. package/dist/react-native/serviceBusMessage.js +598 -0
  722. package/dist/react-native/serviceBusMessage.js.map +1 -0
  723. package/dist/react-native/serviceBusMessageBatch.d.ts +153 -0
  724. package/dist/react-native/serviceBusMessageBatch.d.ts.map +1 -0
  725. package/dist/react-native/serviceBusMessageBatch.js +192 -0
  726. package/dist/react-native/serviceBusMessageBatch.js.map +1 -0
  727. package/dist/react-native/serviceBusRuleManager.d.ts +103 -0
  728. package/dist/react-native/serviceBusRuleManager.d.ts.map +1 -0
  729. package/dist/react-native/serviceBusRuleManager.js +149 -0
  730. package/dist/react-native/serviceBusRuleManager.js.map +1 -0
  731. package/dist/react-native/session/messageSession.d.ts +236 -0
  732. package/dist/react-native/session/messageSession.d.ts.map +1 -0
  733. package/dist/react-native/session/messageSession.js +755 -0
  734. package/dist/react-native/session/messageSession.js.map +1 -0
  735. package/dist/react-native/util/atomXmlHelper.d.ts +56 -0
  736. package/dist/react-native/util/atomXmlHelper.d.ts.map +1 -0
  737. package/dist/react-native/util/atomXmlHelper.js +378 -0
  738. package/dist/react-native/util/atomXmlHelper.js.map +1 -0
  739. package/dist/react-native/util/compat/compatibility.d.ts +109 -0
  740. package/dist/react-native/util/compat/compatibility.d.ts.map +1 -0
  741. package/dist/react-native/util/compat/compatibility.js +27 -0
  742. package/dist/react-native/util/compat/compatibility.js.map +1 -0
  743. package/dist/react-native/util/compat/httpHeaders.d.ts +136 -0
  744. package/dist/react-native/util/compat/httpHeaders.d.ts.map +1 -0
  745. package/dist/react-native/util/compat/httpHeaders.js +152 -0
  746. package/dist/react-native/util/compat/httpHeaders.js.map +1 -0
  747. package/dist/react-native/util/compat/index.d.ts +3 -0
  748. package/dist/react-native/util/compat/index.d.ts.map +1 -0
  749. package/dist/react-native/util/compat/index.js +5 -0
  750. package/dist/react-native/util/compat/index.js.map +1 -0
  751. package/dist/react-native/util/connectionStringUtils.d.ts +53 -0
  752. package/dist/react-native/util/connectionStringUtils.d.ts.map +1 -0
  753. package/dist/react-native/util/connectionStringUtils.js +48 -0
  754. package/dist/react-native/util/connectionStringUtils.js.map +1 -0
  755. package/dist/react-native/util/constants.d.ts +322 -0
  756. package/dist/react-native/util/constants.d.ts.map +1 -0
  757. package/dist/react-native/util/constants.js +324 -0
  758. package/dist/react-native/util/constants.js.map +1 -0
  759. package/dist/react-native/util/crypto.d.ts +5 -0
  760. package/dist/react-native/util/crypto.d.ts.map +1 -0
  761. package/dist/react-native/util/crypto.js +11 -0
  762. package/dist/react-native/util/crypto.js.map +1 -0
  763. package/dist/react-native/util/errors.d.ts +130 -0
  764. package/dist/react-native/util/errors.d.ts.map +1 -0
  765. package/dist/react-native/util/errors.js +220 -0
  766. package/dist/react-native/util/errors.js.map +1 -0
  767. package/dist/react-native/util/parseUrl.d.ts +5 -0
  768. package/dist/react-native/util/parseUrl.d.ts.map +1 -0
  769. package/dist/react-native/util/parseUrl.js +9 -0
  770. package/dist/react-native/util/parseUrl.js.map +1 -0
  771. package/dist/react-native/util/runtimeInfo-react-native.d.mts.map +1 -0
  772. package/dist/react-native/util/runtimeInfo-react-native.mjs.map +1 -0
  773. package/dist/react-native/util/runtimeInfo.d.ts +7 -0
  774. package/{dist-esm/src/util/runtimeInfo.native.js → dist/react-native/util/runtimeInfo.js} +3 -3
  775. package/dist/react-native/util/sasServiceClientCredentials.d.ts +31 -0
  776. package/dist/react-native/util/sasServiceClientCredentials.d.ts.map +1 -0
  777. package/dist/react-native/util/sasServiceClientCredentials.js +52 -0
  778. package/dist/react-native/util/sasServiceClientCredentials.js.map +1 -0
  779. package/dist/react-native/util/semaphore.d.ts +38 -0
  780. package/dist/react-native/util/semaphore.d.ts.map +1 -0
  781. package/dist/react-native/util/semaphore.js +81 -0
  782. package/dist/react-native/util/semaphore.js.map +1 -0
  783. package/dist/react-native/util/typeGuards.d.ts +8 -0
  784. package/dist/react-native/util/typeGuards.d.ts.map +1 -0
  785. package/dist/react-native/util/typeGuards.js +12 -0
  786. package/dist/react-native/util/typeGuards.js.map +1 -0
  787. package/dist/react-native/util/utils.d.ts +247 -0
  788. package/dist/react-native/util/utils.d.ts.map +1 -0
  789. package/dist/react-native/util/utils.js +496 -0
  790. package/dist/react-native/util/utils.js.map +1 -0
  791. package/package.json +123 -104
  792. package/dist/index.js +0 -10438
  793. package/dist/index.js.map +0 -1
  794. package/dist-esm/src/connectionContext.js.map +0 -1
  795. package/dist-esm/src/constructorHelpers.js.map +0 -1
  796. package/dist-esm/src/core/autoLockRenewer.js.map +0 -1
  797. package/dist-esm/src/core/batchingReceiver.js.map +0 -1
  798. package/dist-esm/src/core/linkEntity.js.map +0 -1
  799. package/dist-esm/src/core/managementClient.js.map +0 -1
  800. package/dist-esm/src/core/messageReceiver.js.map +0 -1
  801. package/dist-esm/src/core/messageSender.js.map +0 -1
  802. package/dist-esm/src/core/receiverHelper.js.map +0 -1
  803. package/dist-esm/src/core/shared.js.map +0 -1
  804. package/dist-esm/src/core/streamingReceiver.js.map +0 -1
  805. package/dist-esm/src/dataTransformer.js.map +0 -1
  806. package/dist-esm/src/diagnostics/instrumentServiceBusMessage.js.map +0 -1
  807. package/dist-esm/src/diagnostics/tracing.js.map +0 -1
  808. package/dist-esm/src/index.js.map +0 -1
  809. package/dist-esm/src/log.js.map +0 -1
  810. package/dist-esm/src/models.js +0 -4
  811. package/dist-esm/src/models.js.map +0 -1
  812. package/dist-esm/src/modelsToBeSharedWithEventHubs.js +0 -4
  813. package/dist-esm/src/modelsToBeSharedWithEventHubs.js.map +0 -1
  814. package/dist-esm/src/receivers/receiver.js.map +0 -1
  815. package/dist-esm/src/receivers/receiverCommon.js.map +0 -1
  816. package/dist-esm/src/receivers/sessionReceiver.js.map +0 -1
  817. package/dist-esm/src/sender.js.map +0 -1
  818. package/dist-esm/src/serializers/namespaceResourceSerializer.js.map +0 -1
  819. package/dist-esm/src/serializers/queueResourceSerializer.js.map +0 -1
  820. package/dist-esm/src/serializers/ruleResourceSerializer.js.map +0 -1
  821. package/dist-esm/src/serializers/subscriptionResourceSerializer.js.map +0 -1
  822. package/dist-esm/src/serializers/topicResourceSerializer.js.map +0 -1
  823. package/dist-esm/src/serviceBusAtomManagementClient.js.map +0 -1
  824. package/dist-esm/src/serviceBusClient.js.map +0 -1
  825. package/dist-esm/src/serviceBusError.js.map +0 -1
  826. package/dist-esm/src/serviceBusMessage.js.map +0 -1
  827. package/dist-esm/src/serviceBusMessageBatch.js.map +0 -1
  828. package/dist-esm/src/serviceBusRuleManager.js.map +0 -1
  829. package/dist-esm/src/session/messageSession.js.map +0 -1
  830. package/dist-esm/src/util/atomXmlHelper.js.map +0 -1
  831. package/dist-esm/src/util/compat/compatibility.js.map +0 -1
  832. package/dist-esm/src/util/compat/httpHeaders.js.map +0 -1
  833. package/dist-esm/src/util/compat/index.js +0 -5
  834. package/dist-esm/src/util/compat/index.js.map +0 -1
  835. package/dist-esm/src/util/connectionStringUtils.js.map +0 -1
  836. package/dist-esm/src/util/crypto.browser.js.map +0 -1
  837. package/dist-esm/src/util/crypto.js.map +0 -1
  838. package/dist-esm/src/util/errors.js.map +0 -1
  839. package/dist-esm/src/util/parseUrl.browser.js.map +0 -1
  840. package/dist-esm/src/util/parseUrl.js.map +0 -1
  841. package/dist-esm/src/util/runtimeInfo.browser.js.map +0 -1
  842. package/dist-esm/src/util/runtimeInfo.js.map +0 -1
  843. package/dist-esm/src/util/runtimeInfo.native.js.map +0 -1
  844. package/dist-esm/src/util/sasServiceClientCredentials.js.map +0 -1
  845. package/dist-esm/src/util/semaphore.js.map +0 -1
  846. package/dist-esm/src/util/typeGuards.js.map +0 -1
  847. package/dist-esm/src/util/utils.js.map +0 -1
  848. package/types/latest/service-bus-beta.d.ts +0 -3197
package/README.md CHANGED
@@ -11,6 +11,7 @@ Use the client library `@azure/service-bus` in your application to
11
11
  Resources for `@azure/service-bus` version 7:
12
12
 
13
13
  Key links:
14
+
14
15
  - [Source code](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/servicebus/service-bus)
15
16
  - [Package (npm)](https://www.npmjs.com/package/@azure/service-bus)
16
17
  - [API Reference Documentation][apiref]
@@ -36,7 +37,7 @@ Install the latest version for the Azure Service Bus client library using npm.
36
37
  ### Prerequisites
37
38
 
38
39
  - An [Azure subscription](https://azure.microsoft.com/free/)
39
- - A [Service Bus Namespace](https://docs.microsoft.com/azure/service-bus-messaging/)
40
+ - A [Service Bus Namespace](https://learn.microsoft.com/azure/service-bus-messaging/)
40
41
 
41
42
  ### Configure TypeScript
42
43
 
@@ -139,7 +140,7 @@ Please consult the documentation of your favorite bundler for more information o
139
140
 
140
141
  ### React Native Support
141
142
 
142
- Similar to browsers, React Native does not support some JavaScript api used by this SDK library so you need to provide polyfills for them. Please see the [Messaging React Native sample with Expo](https://github.com/Azure/azure-sdk-for-js/blob/main/samples/frameworks/react-native-expo/ts/messaging/README.md) for more details.
143
+ Similar to browsers, React Native does not support some JavaScript api used by this SDK library so you need to provide polyfills for them. Please see the [Messaging React Native sample with Expo](https://github.com/Azure/azure-sdk-for-js/blob/main/samples/frameworks/react-native-expo/ts/messaging/README.md) for more details.
143
144
 
144
145
  ### Authenticate the client
145
146
 
@@ -151,8 +152,8 @@ authenticate to Service Bus using a connection string or using an Azure Active D
151
152
  This method takes the connection string to your Service Bus instance. You can get
152
153
  the connection string from the Azure portal.
153
154
 
154
- ```javascript
155
- const { ServiceBusClient } = require("@azure/service-bus");
155
+ ```ts snippet:ReadmeSampleCreateClient_ConnectionString
156
+ import { ServiceBusClient } from "@azure/service-bus";
156
157
 
157
158
  const serviceBusClient = new ServiceBusClient("<connectionString>");
158
159
  ```
@@ -166,9 +167,9 @@ Authentication with Azure Active Directory uses the [Azure Identity library][azu
166
167
  The example below uses the [DefaultAzureCredential][defaultazurecredential], one of many
167
168
  available credential providers from the `@azure/identity` library.
168
169
 
169
- ```javascript
170
- const { ServiceBusClient } = require("@azure/service-bus");
171
- const { DefaultAzureCredential } = require("@azure/identity");
170
+ ```ts snippet:ReadmeSampleCreateClient_AAD
171
+ import { DefaultAzureCredential } from "@azure/identity";
172
+ import { ServiceBusClient } from "@azure/service-bus";
172
173
 
173
174
  const fullyQualifiedNamespace = "<name-of-service-bus-namespace>.servicebus.windows.net";
174
175
  const credential = new DefaultAzureCredential();
@@ -179,7 +180,7 @@ const serviceBusClient = new ServiceBusClient(fullyQualifiedNamespace, credentia
179
180
  > against AAD, then set the "scopes" for service-bus to the following to get
180
181
  > the appropriate token:
181
182
 
182
- > ```typescript
183
+ > ```
183
184
  > ["https://servicebus.azure.net//user_impersonation"];
184
185
  > ```
185
186
 
@@ -222,7 +223,14 @@ The following sections provide code snippets that cover some of the common tasks
222
223
  Once you have created an instance of a `ServiceBusClient` class, you can get a `ServiceBusSender`
223
224
  using the [createSender][sbclient_createsender] method which you can use to [send][sender_sendmessages] messages.
224
225
 
225
- ```javascript
226
+ ```ts snippet:ReadmeSampleSendMessage
227
+ import { DefaultAzureCredential } from "@azure/identity";
228
+ import { ServiceBusClient } from "@azure/service-bus";
229
+
230
+ const fullyQualifiedNamespace = "<name-of-service-bus-namespace>.servicebus.windows.net";
231
+ const credential = new DefaultAzureCredential();
232
+ const serviceBusClient = new ServiceBusClient(fullyQualifiedNamespace, credential);
233
+
226
234
  const sender = serviceBusClient.createSender("my-queue");
227
235
 
228
236
  const messages = [
@@ -235,7 +243,7 @@ const messages = [
235
243
  { body: "Michael Faraday" },
236
244
  { body: "Galileo Galilei" },
237
245
  { body: "Johannes Kepler" },
238
- { body: "Nikolaus Kopernikus" }
246
+ { body: "Nikolaus Kopernikus" },
239
247
  ];
240
248
 
241
249
  // sending a single message
@@ -269,7 +277,14 @@ await sender.sendMessages(batch);
269
277
  Once you have created an instance of a `ServiceBusClient` class, you can get a `ServiceBusReceiver`
270
278
  using the [createReceiver][sbclient_createreceiver] method.
271
279
 
272
- ```javascript
280
+ ```ts snippet:ReadmeSampleReceiveMessage
281
+ import { DefaultAzureCredential } from "@azure/identity";
282
+ import { ServiceBusClient } from "@azure/service-bus";
283
+
284
+ const fullyQualifiedNamespace = "<name-of-service-bus-namespace>.servicebus.windows.net";
285
+ const credential = new DefaultAzureCredential();
286
+ const serviceBusClient = new ServiceBusClient(fullyQualifiedNamespace, credential);
287
+
273
288
  const receiver = serviceBusClient.createReceiver("my-queue");
274
289
  ```
275
290
 
@@ -288,7 +303,16 @@ You can use this receiver in one of 3 ways to receive messages:
288
303
  Use the [receiveMessages][receiver_receivemessages] function which returns a promise that
289
304
  resolves to an array of messages.
290
305
 
291
- ```javascript
306
+ ```ts snippet:ReadmeSampleReceiveMessage_ReceiveMessages
307
+ import { DefaultAzureCredential } from "@azure/identity";
308
+ import { ServiceBusClient } from "@azure/service-bus";
309
+
310
+ const fullyQualifiedNamespace = "<name-of-service-bus-namespace>.servicebus.windows.net";
311
+ const credential = new DefaultAzureCredential();
312
+ const serviceBusClient = new ServiceBusClient(fullyQualifiedNamespace, credential);
313
+
314
+ const receiver = serviceBusClient.createReceiver("my-queue");
315
+
292
316
  const myMessages = await receiver.receiveMessages(10);
293
317
  ```
294
318
 
@@ -299,7 +323,16 @@ it running as long as you need.
299
323
 
300
324
  When you are done, call `receiver.close()` to stop receiving any more messages.
301
325
 
302
- ```javascript
326
+ ```ts snippet:ReadmeSampleReceiveMessage_Subscribe
327
+ import { DefaultAzureCredential } from "@azure/identity";
328
+ import { ServiceBusClient } from "@azure/service-bus";
329
+
330
+ const fullyQualifiedNamespace = "<name-of-service-bus-namespace>.servicebus.windows.net";
331
+ const credential = new DefaultAzureCredential();
332
+ const serviceBusClient = new ServiceBusClient(fullyQualifiedNamespace, credential);
333
+
334
+ const receiver = serviceBusClient.createReceiver("my-queue");
335
+
303
336
  const myMessageHandler = async (message) => {
304
337
  // your code here
305
338
  console.log(`message.body: ${message.body}`);
@@ -307,12 +340,12 @@ const myMessageHandler = async (message) => {
307
340
  const myErrorHandler = async (args) => {
308
341
  console.log(
309
342
  `Error occurred with ${args.entityPath} within ${args.fullyQualifiedNamespace}: `,
310
- args.error
343
+ args.error,
311
344
  );
312
345
  };
313
346
  receiver.subscribe({
314
347
  processMessage: myMessageHandler,
315
- processError: myErrorHandler
348
+ processError: myErrorHandler,
316
349
  });
317
350
  ```
318
351
 
@@ -320,8 +353,17 @@ receiver.subscribe({
320
353
 
321
354
  Use the [getMessageIterator][receiver_getmessageiterator] to get an async iterator over messages
322
355
 
323
- ```javascript
324
- for await (let message of receiver.getMessageIterator()) {
356
+ ```ts snippet:ReadmeSampleReceiveMessage_AsyncIterator
357
+ import { DefaultAzureCredential } from "@azure/identity";
358
+ import { ServiceBusClient } from "@azure/service-bus";
359
+
360
+ const fullyQualifiedNamespace = "<name-of-service-bus-namespace>.servicebus.windows.net";
361
+ const credential = new DefaultAzureCredential();
362
+ const serviceBusClient = new ServiceBusClient(fullyQualifiedNamespace, credential);
363
+
364
+ const receiver = serviceBusClient.createReceiver("my-queue");
365
+
366
+ for await (const message of receiver.getMessageIterator()) {
325
367
  // your code here
326
368
  }
327
369
  ```
@@ -330,7 +372,7 @@ for await (let message of receiver.getMessageIterator()) {
330
372
 
331
373
  Once you receive a message you can call [`completeMessage()`][receiver_complete], [`abandonMessage()`][receiver_abandon], [`deferMessage()`][receiver_defer] or [`deadLetterMessage()`][receiver_deadletter] on the receiver based on how you want to settle the message.
332
374
 
333
- To learn more, please read [Settling Received Messages](https://docs.microsoft.com/azure/service-bus-messaging/message-transfers-locks-settlement#settling-receive-operations)
375
+ To learn more, please read [Settling Received Messages](https://learn.microsoft.com/azure/service-bus-messaging/message-transfers-locks-settlement#settling-receive-operations)
334
376
 
335
377
  ## Dead letter queues
336
378
 
@@ -340,15 +382,22 @@ their maximum delivery count.
340
382
 
341
383
  Creating a receiver for a dead letter sub-queue is similar to creating a receiver for a subscription or queue:
342
384
 
343
- ```javascript
385
+ ```ts snippet:ReadmeSampleDeadLetterQueue
386
+ import { DefaultAzureCredential } from "@azure/identity";
387
+ import { ServiceBusClient } from "@azure/service-bus";
388
+
389
+ const fullyQualifiedNamespace = "<name-of-service-bus-namespace>.servicebus.windows.net";
390
+ const credential = new DefaultAzureCredential();
391
+ const serviceBusClient = new ServiceBusClient(fullyQualifiedNamespace, credential);
392
+
344
393
  // To receive from a queue's dead letter sub-queue
345
394
  const deadLetterReceiverForQueue = serviceBusClient.createReceiver("queue", {
346
- subQueueType: "deadLetter"
395
+ subQueueType: "deadLetter",
347
396
  });
348
397
 
349
398
  // To receive from a subscription's dead letter sub-queue
350
399
  const deadLetterReceiverForSubscription = serviceBusClient.createReceiver("topic", "subscription", {
351
- subQueueType: "deadLetter"
400
+ subQueueType: "deadLetter",
352
401
  });
353
402
 
354
403
  // Dead letter receivers work like any other receiver connected to a queue
@@ -376,11 +425,18 @@ In order to send messages to a session, use the `ServiceBusClient` to create a s
376
425
  When sending the message, set the `sessionId` property in the message to ensure
377
426
  your message lands in the right session.
378
427
 
379
- ```javascript
428
+ ```ts snippet:ReadmeSampleSendMessage_Session
429
+ import { DefaultAzureCredential } from "@azure/identity";
430
+ import { ServiceBusClient } from "@azure/service-bus";
431
+
432
+ const fullyQualifiedNamespace = "<name-of-service-bus-namespace>.servicebus.windows.net";
433
+ const credential = new DefaultAzureCredential();
434
+ const serviceBusClient = new ServiceBusClient(fullyQualifiedNamespace, credential);
435
+
380
436
  const sender = serviceBusClient.createSender("my-session-queue");
381
437
  await sender.sendMessages({
382
438
  body: "my-message-body",
383
- sessionId: "my-session"
439
+ sessionId: "my-session",
384
440
  });
385
441
  ```
386
442
 
@@ -403,14 +459,14 @@ There are two ways of choosing which session to open:
403
459
 
404
460
  1. Specify a `sessionId`, which locks a named session.
405
461
 
406
- ```javascript
462
+ ```ts snippet:ignore
407
463
  const receiver = await serviceBusClient.acceptSession("my-session-queue", "my-session");
408
464
  ```
409
465
 
410
466
  2. Do not specify a session id. In this case Service Bus will find the next available session
411
467
  that is not already locked.
412
468
 
413
- ```javascript
469
+ ```ts snippet:ignore
414
470
  const receiver = await serviceBusClient.acceptNextSession("my-session-queue");
415
471
  ```
416
472
 
@@ -434,7 +490,11 @@ You can read more about how sessions work [here][docsms_messagesessions].
434
490
 
435
491
  Note: Service Bus doesn't support setting CORS rules for namespaces yet, hence `ServiceBusAdministrationClient` won't work in the browser without disabling web-security. For more info, refer [here](https://github.com/Azure/azure-sdk-for-js/issues/4983).
436
492
 
437
- ```js
493
+ ```ts snippet:ReadmeSampleAdministrationClient
494
+ import { ServiceBusAdministrationClient } from "@azure/service-bus";
495
+
496
+ const queueName = "my-session-queue";
497
+
438
498
  // Get the connection string from the portal
439
499
  // OR
440
500
  // use the token credential overload, provide the host name of your Service Bus instance and the AAD credentials from the @azure/identity library
@@ -444,10 +504,9 @@ const serviceBusAdministrationClient = new ServiceBusAdministrationClient("<conn
444
504
  const createQueueResponse = await serviceBusAdministrationClient.createQueue(queueName);
445
505
  console.log("Created queue with name - ", createQueueResponse.name);
446
506
 
447
- const queueRuntimeProperties = await serviceBusAdministrationClient.getQueueRuntimeProperties(
448
- queueName
449
- );
450
- console.log("Number of messages in the queue = ", queueRuntimeProperties.totalMessageCount);
507
+ const queueRuntimeProperties =
508
+ await serviceBusAdministrationClient.getQueueRuntimeProperties(queueName);
509
+ console.log(`Number of messages in the queue = ${queueRuntimeProperties.totalMessageCount}`);
451
510
 
452
511
  await serviceBusAdministrationClient.deleteQueue(queueName);
453
512
  ```
@@ -512,38 +571,36 @@ export DEBUG=azure:service-bus:error,azure:core-amqp:error,rhea-promise:error,rh
512
571
 
513
572
  Please take a look at the [samples](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/servicebus/service-bus/samples)
514
573
  directory for detailed examples on how to use this library to send and receive messages to/from
515
- [Service Bus Queues, Topics and Subscriptions](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-messaging-overview).
574
+ [Service Bus Queues, Topics and Subscriptions](https://learn.microsoft.com/azure/service-bus-messaging/service-bus-messaging-overview).
516
575
 
517
576
  ## Contributing
518
577
 
519
578
  If you'd like to contribute to this library, please read the [contributing guide](https://github.com/Azure/azure-sdk-for-js/blob/main/CONTRIBUTING.md) to learn more about how to build and test the code.
520
579
 
521
- ![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js%2Fsdk%2Fservicebus%2Fservice-bus%2FREADME.png)
522
-
523
- [apiref]: https://docs.microsoft.com/javascript/api/@azure/service-bus/
580
+ [apiref]: https://learn.microsoft.com/javascript/api/@azure/service-bus/
524
581
  [azure_identity]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/README.md
525
582
  [defaultazurecredential]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/identity/identity#defaultazurecredential
526
- [sbclient]: https://docs.microsoft.com/javascript/api/@azure/service-bus/servicebusclient
527
- [sbclient_constructor]: https://docs.microsoft.com/javascript/api/@azure/service-bus/servicebusclient#ServiceBusClient_string__ServiceBusClientOptions_
528
- [sbclient_tokencred_overload]: https://docs.microsoft.com/javascript/api/@azure/service-bus/servicebusclient#ServiceBusClient_string__TokenCredential__ServiceBusClientOptions_
529
- [sbclient_createsender]: https://docs.microsoft.com/javascript/api/@azure/service-bus/servicebusclient#createSender_string_
530
- [sbclient_createreceiver]: https://docs.microsoft.com/javascript/api/@azure/service-bus/servicebusclient#createReceiver_string__CreateReceiverOptions__peekLock___
531
- [sbclient_acceptsession]: https://docs.microsoft.com/javascript/api/@azure/service-bus/servicebusclient#acceptSession_string__string__AcceptSessionOptions__peekLock___
532
- [sender]: https://docs.microsoft.com/javascript/api/@azure/service-bus/servicebussender
533
- [sender_sendmessages]: https://docs.microsoft.com/javascript/api/@azure/service-bus/servicebussender#sendMessages_ServiceBusMessage___ServiceBusMessage_____ServiceBusMessageBatch__OperationOptionsBase_
534
- [receiver]: https://docs.microsoft.com/javascript/api/@azure/service-bus/servicebusreceiver
535
- [receiver_receivemessages]: https://docs.microsoft.com/javascript/api/@azure/service-bus/servicebusreceiver#receiveMessages_number__ReceiveMessagesOptions_
536
- [receiver_subscribe]: https://docs.microsoft.com/javascript/api/@azure/service-bus/servicebusreceiver#subscribe_MessageHandlers_ReceivedMessageT___SubscribeOptions_
537
- [receiver_getmessageiterator]: https://docs.microsoft.com/javascript/api/@azure/service-bus/servicebusreceiver#getMessageIterator_GetMessageIteratorOptions_
538
- [receiver_abandon]: https://docs.microsoft.com/javascript/api/@azure/service-bus/servicebusreceiver#abandonMessage_ServiceBusReceivedMessage___key__string___any_
539
- [receiver_complete]: https://docs.microsoft.com/javascript/api/@azure/service-bus/servicebusreceiver#completeMessage_ServiceBusReceivedMessage_
540
- [receiver_deadletter]: https://docs.microsoft.com/javascript/api/@azure/service-bus/servicebusreceiver#deadLetterMessage_ServiceBusReceivedMessage__DeadLetterOptions____key__string___any_
541
- [receiver_defer]: https://docs.microsoft.com/javascript/api/@azure/service-bus/servicebusreceiver#deferMessage_ServiceBusReceivedMessage___key__string___any_
542
- [sessionreceiver]: https://docs.microsoft.com/javascript/api/@azure/service-bus/servicebussessionreceiver
583
+ [sbclient]: https://learn.microsoft.com/javascript/api/@azure/service-bus/servicebusclient
584
+ [sbclient_constructor]: https://learn.microsoft.com/javascript/api/@azure/service-bus/servicebusclient#ServiceBusClient_string__ServiceBusClientOptions_
585
+ [sbclient_tokencred_overload]: https://learn.microsoft.com/javascript/api/@azure/service-bus/servicebusclient#ServiceBusClient_string__TokenCredential__ServiceBusClientOptions_
586
+ [sbclient_createsender]: https://learn.microsoft.com/javascript/api/@azure/service-bus/servicebusclient#createSender_string_
587
+ [sbclient_createreceiver]: https://learn.microsoft.com/javascript/api/@azure/service-bus/servicebusclient#createReceiver_string__CreateReceiverOptions__peekLock___
588
+ [sbclient_acceptsession]: https://learn.microsoft.com/javascript/api/@azure/service-bus/servicebusclient#acceptSession_string__string__AcceptSessionOptions__peekLock___
589
+ [sender]: https://learn.microsoft.com/javascript/api/@azure/service-bus/servicebussender
590
+ [sender_sendmessages]: https://learn.microsoft.com/javascript/api/@azure/service-bus/servicebussender#sendMessages_ServiceBusMessage___ServiceBusMessage_____ServiceBusMessageBatch__OperationOptionsBase_
591
+ [receiver]: https://learn.microsoft.com/javascript/api/@azure/service-bus/servicebusreceiver
592
+ [receiver_receivemessages]: https://learn.microsoft.com/javascript/api/@azure/service-bus/servicebusreceiver#receiveMessages_number__ReceiveMessagesOptions_
593
+ [receiver_subscribe]: https://learn.microsoft.com/javascript/api/@azure/service-bus/servicebusreceiver#subscribe_MessageHandlers_ReceivedMessageT___SubscribeOptions_
594
+ [receiver_getmessageiterator]: https://learn.microsoft.com/javascript/api/@azure/service-bus/servicebusreceiver#getMessageIterator_GetMessageIteratorOptions_
595
+ [receiver_abandon]: https://learn.microsoft.com/javascript/api/@azure/service-bus/servicebusreceiver#abandonMessage_ServiceBusReceivedMessage___key__string___any_
596
+ [receiver_complete]: https://learn.microsoft.com/javascript/api/@azure/service-bus/servicebusreceiver#completeMessage_ServiceBusReceivedMessage_
597
+ [receiver_deadletter]: https://learn.microsoft.com/javascript/api/@azure/service-bus/servicebusreceiver#deadLetterMessage_ServiceBusReceivedMessage__DeadLetterOptions____key__string___any_
598
+ [receiver_defer]: https://learn.microsoft.com/javascript/api/@azure/service-bus/servicebusreceiver#deferMessage_ServiceBusReceivedMessage___key__string___any_
599
+ [sessionreceiver]: https://learn.microsoft.com/javascript/api/@azure/service-bus/servicebussessionreceiver
543
600
  [migrationguide]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/servicebus/service-bus/migrationguide.md
544
- [docsms_messagesessions]: https://docs.microsoft.com/azure/service-bus-messaging/message-sessions
545
- [docsms_messagesessions_fifo]: https://docs.microsoft.com/azure/service-bus-messaging/message-sessions#first-in-first-out-fifo-pattern
546
- [queue_concept]: https://docs.microsoft.com/azure/service-bus-messaging/service-bus-messaging-overview#queues
547
- [topic_concept]: https://docs.microsoft.com/azure/service-bus-messaging/service-bus-messaging-overview#topics
548
- [subscription_concept]: https://docs.microsoft.com/azure/service-bus-messaging/service-bus-queues-topics-subscriptions#topics-and-subscriptions
549
- [service_bus_overview]: https://docs.microsoft.com/azure/service-bus-messaging/service-bus-messaging-overview
601
+ [docsms_messagesessions]: https://learn.microsoft.com/azure/service-bus-messaging/message-sessions
602
+ [docsms_messagesessions_fifo]: https://learn.microsoft.com/azure/service-bus-messaging/message-sessions#first-in-first-out-fifo-pattern
603
+ [queue_concept]: https://learn.microsoft.com/azure/service-bus-messaging/service-bus-messaging-overview#queues
604
+ [topic_concept]: https://learn.microsoft.com/azure/service-bus-messaging/service-bus-messaging-overview#topics
605
+ [subscription_concept]: https://learn.microsoft.com/azure/service-bus-messaging/service-bus-queues-topics-subscriptions#topics-and-subscriptions
606
+ [service_bus_overview]: https://learn.microsoft.com/azure/service-bus-messaging/service-bus-messaging-overview
@@ -0,0 +1,109 @@
1
+ import type { ConnectionConfig, SasTokenProvider } from "@azure/core-amqp";
2
+ import { ConnectionContextBase } from "@azure/core-amqp";
3
+ import type { TokenCredential } from "@azure/core-auth";
4
+ import type { ServiceBusClientOptions } from "./constructorHelpers.js";
5
+ import type { MessageSender } from "./core/messageSender.js";
6
+ import type { MessageSession } from "./session/messageSession.js";
7
+ import type { MessageReceiver } from "./core/messageReceiver.js";
8
+ import { ManagementClient } from "./core/managementClient.js";
9
+ /**
10
+ * @internal
11
+ * Provides contextual information like the underlying amqp connection, cbs session, management session,
12
+ * tokenCredential, senders, receivers, etc. about the ServiceBus client.
13
+ */
14
+ export interface ConnectionContext extends ConnectionContextBase {
15
+ /**
16
+ * The credential to be used for Authentication.
17
+ * Default value: SasTokenProvider.
18
+ */
19
+ tokenCredential: SasTokenProvider | TokenCredential;
20
+ /**
21
+ * A map of active Service Bus Senders with sender name as key.
22
+ */
23
+ senders: {
24
+ [name: string]: MessageSender;
25
+ };
26
+ /**
27
+ * A map of active Service Bus receivers for non session enabled queues/subscriptions
28
+ * with receiver name as key.
29
+ */
30
+ messageReceivers: {
31
+ [name: string]: MessageReceiver;
32
+ };
33
+ /**
34
+ * A map of active Service Bus receivers for session enabled queues/subscriptions
35
+ * with receiver name as key.
36
+ */
37
+ messageSessions: {
38
+ [name: string]: MessageSession;
39
+ };
40
+ /**
41
+ * A map of ManagementClient instances for operations over the $management link
42
+ * with key as the entity path.
43
+ */
44
+ managementClients: {
45
+ [name: string]: ManagementClient;
46
+ };
47
+ /**
48
+ * Function returning a promise that resolves once the connectionContext is ready to open an AMQP link.
49
+ * ConnectionContext will be ready to open an AMQP link when:
50
+ * - The AMQP connection is already open on both sides.
51
+ * - The AMQP connection has been closed or disconnected. In this case, a new AMQP connection is expected
52
+ * to be created first.
53
+ * An AMQP link cannot be opened if the AMQP connection
54
+ * is in the process of closing or disconnecting.
55
+ */
56
+ readyToOpenLink(): Promise<void>;
57
+ /**
58
+ * Fetches the receiver from the cache in ConnectionContext based on the receiverName given.
59
+ * Useful for when a message needs to be settled or have its lock renewed.
60
+ *
61
+ * TODO: Track the right receiver on the message instead of the ConnectionContext to remove
62
+ * the need for this helper.
63
+ */
64
+ getReceiverFromCache(receiverName: string, sessionId?: string): MessageReceiver | MessageSession | undefined;
65
+ /**
66
+ * Gets the management client for given entity path from the cache
67
+ * Creates one if none exists in the cache
68
+ */
69
+ getManagementClient(entityPath: string): ManagementClient;
70
+ /**
71
+ * Indicates whether the connection is in the process of closing.
72
+ * When this returns `true`, a `disconnected` event will be received
73
+ * after the connection is closed.
74
+ */
75
+ isConnectionClosing(): boolean;
76
+ }
77
+ /**
78
+ * Describes the members on the ConnectionContext that are only
79
+ * used by it internally.
80
+ * @hidden
81
+ * @internal
82
+ */
83
+ export interface ConnectionContextInternalMembers extends ConnectionContext {
84
+ /**
85
+ * Resolves once the context's connection emits a `disconnected` event.
86
+ */
87
+ waitForDisconnectedEvent(): Promise<void>;
88
+ /**
89
+ * Resolves once the connection has finished being reset.
90
+ * Connections are reset as part of reacting to a `disconnected` event.
91
+ */
92
+ waitForConnectionReset(): Promise<void>;
93
+ }
94
+ /**
95
+ * @internal
96
+ */
97
+ export declare namespace ConnectionContext {
98
+ function create(config: ConnectionConfig, tokenCredential: SasTokenProvider | TokenCredential, options?: ServiceBusClientOptions): ConnectionContext;
99
+ /**
100
+ * Closes the AMQP connection created by this ServiceBusClient along with AMQP links for
101
+ * sender/receivers created by the queue/topic/subscription clients created by this
102
+ * ServiceBusClient.
103
+ * Once closed,
104
+ * - the clients created by this ServiceBusClient cannot be used to send/receive messages anymore.
105
+ * - this ServiceBusClient cannot be used to create any new queues/topics/subscriptions clients.
106
+ */
107
+ function close(context: ConnectionContext): Promise<void>;
108
+ }
109
+ //# sourceMappingURL=connectionContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectionContext.d.ts","sourceRoot":"","sources":["../../src/connectionContext.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,gBAAgB,EAEhB,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AASvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAM9D;;;;GAIG;AACH,MAAM,WAAW,iBAAkB,SAAQ,qBAAqB;IAC9D;;;OAGG;IACH,eAAe,EAAE,gBAAgB,GAAG,eAAe,CAAC;IACpD;;OAEG;IACH,OAAO,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAA;KAAE,CAAC;IAC3C;;;OAGG;IACH,gBAAgB,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAAA;KAAE,CAAC;IACtD;;;OAGG;IACH,eAAe,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAAA;KAAE,CAAC;IACpD;;;OAGG;IACH,iBAAiB,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAAA;KAAE,CAAC;IACxD;;;;;;;;OAQG;IACH,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC;;;;;;OAMG;IACH,oBAAoB,CAClB,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,MAAM,GACjB,eAAe,GAAG,cAAc,GAAG,SAAS,CAAC;IAChD;;;OAGG;IACH,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,CAAC;IAC1D;;;;OAIG;IACH,mBAAmB,IAAI,OAAO,CAAC;CAChC;AAED;;;;;GAKG;AACH,MAAM,WAAW,gCAAiC,SAAQ,iBAAiB;IACzE;;OAEG;IACH,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C;;;OAGG;IACH,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC;AAqID;;GAEG;AAEH,yBAAiB,iBAAiB,CAAC;IACjC,SAAgB,MAAM,CACpB,MAAM,EAAE,gBAAgB,EACxB,eAAe,EAAE,gBAAgB,GAAG,eAAe,EACnD,OAAO,CAAC,EAAE,uBAAuB,GAChC,iBAAiB,CAiWnB;IAED;;;;;;;OAOG;IACH,SAAsB,KAAK,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgCrE;CACF"}
@@ -1,13 +1,13 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT license.
3
- import { connectionLogger as logger } from "./log";
4
- import { packageJsonInfo } from "./util/constants";
5
- import { ConnectionContextBase, } from "@azure/core-amqp";
6
- import { ConnectionEvents, } from "rhea-promise";
7
- import { ManagementClient } from "./core/managementClient";
8
- import { formatUserAgentPrefix } from "./util/utils";
9
- import { getRuntimeInfo } from "./util/runtimeInfo";
10
- import { ServiceBusError } from "./serviceBusError";
2
+ // Licensed under the MIT License.
3
+ import { connectionLogger as logger } from "./log.js";
4
+ import { packageJsonInfo } from "./util/constants.js";
5
+ import { ConnectionContextBase } from "@azure/core-amqp";
6
+ import { ConnectionEvents } from "rhea-promise";
7
+ import { ManagementClient } from "./core/managementClient.js";
8
+ import { formatUserAgentPrefix } from "./util/utils.js";
9
+ import { getRuntimeInfo } from "./util/runtimeInfo.js";
10
+ import { ServiceBusError } from "./serviceBusError.js";
11
11
  /**
12
12
  * @internal
13
13
  * Helper method to call onDetached on the non-sessions batching and streaming receivers from the connection context upon seeing an error.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectionContext.js","sourceRoot":"","sources":["../../src/connectionContext.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { connectionLogger as logger } from \"./log.js\";\nimport { packageJsonInfo } from \"./util/constants.js\";\nimport type {\n ConnectionConfig,\n CreateConnectionContextBaseParameters,\n SasTokenProvider,\n} from \"@azure/core-amqp\";\nimport { ConnectionContextBase } from \"@azure/core-amqp\";\nimport type { TokenCredential } from \"@azure/core-auth\";\nimport type { ServiceBusClientOptions } from \"./constructorHelpers.js\";\nimport type {\n AmqpError,\n Connection,\n ConnectionError,\n EventContext,\n OnAmqpEvent,\n} from \"rhea-promise\";\nimport { ConnectionEvents } from \"rhea-promise\";\nimport type { MessageSender } from \"./core/messageSender.js\";\nimport type { MessageSession } from \"./session/messageSession.js\";\nimport type { MessageReceiver } from \"./core/messageReceiver.js\";\nimport { ManagementClient } from \"./core/managementClient.js\";\nimport { formatUserAgentPrefix } from \"./util/utils.js\";\nimport { getRuntimeInfo } from \"./util/runtimeInfo.js\";\nimport type { NonSessionReceiverType, ReceiverType } from \"./core/linkEntity.js\";\nimport { ServiceBusError } from \"./serviceBusError.js\";\n\n/**\n * @internal\n * Provides contextual information like the underlying amqp connection, cbs session, management session,\n * tokenCredential, senders, receivers, etc. about the ServiceBus client.\n */\nexport interface ConnectionContext extends ConnectionContextBase {\n /**\n * The credential to be used for Authentication.\n * Default value: SasTokenProvider.\n */\n tokenCredential: SasTokenProvider | TokenCredential;\n /**\n * A map of active Service Bus Senders with sender name as key.\n */\n senders: { [name: string]: MessageSender };\n /**\n * A map of active Service Bus receivers for non session enabled queues/subscriptions\n * with receiver name as key.\n */\n messageReceivers: { [name: string]: MessageReceiver };\n /**\n * A map of active Service Bus receivers for session enabled queues/subscriptions\n * with receiver name as key.\n */\n messageSessions: { [name: string]: MessageSession };\n /**\n * A map of ManagementClient instances for operations over the $management link\n * with key as the entity path.\n */\n managementClients: { [name: string]: ManagementClient };\n /**\n * Function returning a promise that resolves once the connectionContext is ready to open an AMQP link.\n * ConnectionContext will be ready to open an AMQP link when:\n * - The AMQP connection is already open on both sides.\n * - The AMQP connection has been closed or disconnected. In this case, a new AMQP connection is expected\n * to be created first.\n * An AMQP link cannot be opened if the AMQP connection\n * is in the process of closing or disconnecting.\n */\n readyToOpenLink(): Promise<void>;\n /**\n * Fetches the receiver from the cache in ConnectionContext based on the receiverName given.\n * Useful for when a message needs to be settled or have its lock renewed.\n *\n * TODO: Track the right receiver on the message instead of the ConnectionContext to remove\n * the need for this helper.\n */\n getReceiverFromCache(\n receiverName: string,\n sessionId?: string,\n ): MessageReceiver | MessageSession | undefined;\n /**\n * Gets the management client for given entity path from the cache\n * Creates one if none exists in the cache\n */\n getManagementClient(entityPath: string): ManagementClient;\n /**\n * Indicates whether the connection is in the process of closing.\n * When this returns `true`, a `disconnected` event will be received\n * after the connection is closed.\n */\n isConnectionClosing(): boolean;\n}\n\n/**\n * Describes the members on the ConnectionContext that are only\n * used by it internally.\n * @hidden\n * @internal\n */\nexport interface ConnectionContextInternalMembers extends ConnectionContext {\n /**\n * Resolves once the context's connection emits a `disconnected` event.\n */\n waitForDisconnectedEvent(): Promise<void>;\n /**\n * Resolves once the connection has finished being reset.\n * Connections are reset as part of reacting to a `disconnected` event.\n */\n waitForConnectionReset(): Promise<void>;\n}\n\n/**\n * @internal\n * Helper type to get the names of all the functions on an object.\n */\n// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\ntype FunctionPropertyNames<T> = { [K in keyof T]: T[K] extends Function ? K : never }[keyof T];\n/**\n * @internal\n * Helper type to get the types of all the functions on an object.\n */\ntype FunctionProperties<T> = Pick<T, FunctionPropertyNames<T>>;\n/**\n * @internal\n * Helper type to get the types of all the functions on ConnectionContext\n * and the internal methods from ConnectionContextInternalMembers.\n * Note that this excludes the functions that ConnectionContext inherits.\n * Each function also has its `this` type set as `ConnectionContext`.\n */\ntype ConnectionContextMethods = Omit<\n FunctionProperties<ConnectionContextInternalMembers>,\n FunctionPropertyNames<ConnectionContextBase>\n> &\n ThisType<ConnectionContextInternalMembers>;\n\n/**\n * @internal\n * Helper method to call onDetached on the non-sessions batching and streaming receivers from the connection context upon seeing an error.\n */\nasync function callOnDetachedOnReceivers(\n connectionContext: ConnectionContext,\n contextOrConnectionError: Error | ConnectionError | AmqpError | undefined,\n receiverType: NonSessionReceiverType,\n): Promise<void[]> {\n const detachCalls: Promise<void>[] = [];\n\n // Iterating over non-sessions batching and streaming receivers\n for (const receiverName of Object.keys(connectionContext.messageReceivers)) {\n const receiver = connectionContext.messageReceivers[receiverName];\n if (receiver && receiver.receiverType === receiverType) {\n logger.verbose(\n \"[%s] calling detached on %s receiver '%s'.\",\n connectionContext.connection.id,\n receiver.receiverType,\n receiver.name,\n );\n detachCalls.push(\n receiver.onDetached(contextOrConnectionError).catch((err) => {\n logger.logError(\n err,\n \"[%s] An error occurred while calling onDetached() on the %s receiver '%s'\",\n connectionContext.connection.id,\n receiver.receiverType,\n receiver.name,\n );\n }),\n );\n }\n }\n return Promise.all(detachCalls);\n}\n\n/**\n * @internal\n * Helper method to call onDetached on the session receivers from the connection context upon seeing an error.\n */\nasync function callOnDetachedOnSessionReceivers(\n connectionContext: ConnectionContext,\n contextOrConnectionError: Error | ConnectionError | AmqpError | undefined,\n): Promise<void[]> {\n const getSessionError = (sessionId: string, entityPath: string): ServiceBusError => {\n const sessionInfo =\n `The receiver for session \"${sessionId}\" in \"${entityPath}\" has been closed and can no longer be used. ` +\n `Please create a new receiver using the \"acceptSession\" or \"acceptNextSession\" method on the ServiceBusClient.`;\n\n const errorMessage =\n contextOrConnectionError == null\n ? `Unknown error occurred on the AMQP connection while receiving messages. ` + sessionInfo\n : `Error occurred on the AMQP connection while receiving messages. ` +\n sessionInfo +\n `\\nMore info - \\n${contextOrConnectionError}`;\n\n const error = new ServiceBusError(errorMessage, \"SessionLockLost\");\n error.retryable = false;\n return error;\n };\n\n const detachCalls: Promise<void>[] = [];\n\n for (const receiverName of Object.keys(connectionContext.messageSessions)) {\n const receiver = connectionContext.messageSessions[receiverName];\n logger.verbose(\n \"[%s] calling detached on %s receiver(sessions).\",\n connectionContext.connection.id,\n receiver.name,\n );\n detachCalls.push(\n receiver.onDetached(getSessionError(receiver.sessionId, receiver.entityPath)).catch((err) => {\n logger.logError(\n err,\n \"[%s] An error occurred while calling onDetached() on the session receiver(sessions) '%s'\",\n connectionContext.connection.id,\n receiver.name,\n );\n }),\n );\n }\n\n return Promise.all(detachCalls);\n}\n\n/**\n * @internal\n * Helper method to get the number of receivers of specified type from the connectionContext.\n */\nfunction getNumberOfReceivers(\n connectionContext: Pick<ConnectionContext, \"messageReceivers\" | \"messageSessions\">,\n receiverType: ReceiverType,\n): number {\n if (receiverType === \"session\") {\n const receivers = connectionContext.messageSessions;\n return Object.keys(receivers).length;\n }\n const receivers = connectionContext.messageReceivers;\n const receiverNames = Object.keys(receivers);\n const count = receiverNames.reduce(\n (acc, name) => (receivers[name].receiverType === receiverType ? ++acc : acc),\n 0,\n );\n return count;\n}\n\n/**\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace ConnectionContext {\n export function create(\n config: ConnectionConfig,\n tokenCredential: SasTokenProvider | TokenCredential,\n options?: ServiceBusClientOptions,\n ): ConnectionContext {\n if (!options) options = {};\n const userAgent = `${formatUserAgentPrefix(\n options.userAgentOptions?.userAgentPrefix,\n )} ${getRuntimeInfo()}`;\n const parameters: CreateConnectionContextBaseParameters = {\n config: config,\n // re-enabling this will be a post-GA discussion similar to event-hubs.\n // dataTransformer: options.dataTransformer,\n isEntityPathRequired: false,\n connectionProperties: {\n product: \"MSJSClient\",\n userAgent,\n version: packageJsonInfo.version,\n },\n };\n // Let us create the base context and then add ServiceBus specific ConnectionContext properties.\n const connectionContext = ConnectionContextBase.create(parameters) as ConnectionContext;\n connectionContext.tokenCredential = tokenCredential;\n connectionContext.senders = {};\n connectionContext.messageReceivers = {};\n connectionContext.messageSessions = {};\n connectionContext.managementClients = {};\n\n let waitForConnectionRefreshResolve: () => void;\n let waitForConnectionRefreshPromise: Promise<void> | undefined;\n Object.assign<ConnectionContext, ConnectionContextMethods>(connectionContext, {\n isConnectionClosing() {\n // When the connection is not open, but the remote end is open,\n // then the rhea connection is in the process of terminating.\n return Boolean(!this.connection.isOpen() && this.connection.isRemoteOpen());\n },\n async readyToOpenLink() {\n logger.verbose(\n `[${this.connectionId}] Waiting until the connection is ready to open link.`,\n );\n // Check that the connection isn't in the process of closing.\n // This can happen when the idle timeout has been reached but\n // the underlying socket is waiting to be destroyed.\n if (this.isConnectionClosing()) {\n logger.verbose(\n `[${this.connectionId}] Connection is closing, waiting for disconnected event`,\n );\n // Wait for the disconnected event that indicates the underlying socket has closed.\n await this.waitForDisconnectedEvent();\n }\n\n // Wait for the connection to be reset.\n await this.waitForConnectionReset();\n logger.verbose(`[${this.connectionId}] Connection is ready to open link.`);\n },\n waitForDisconnectedEvent() {\n return new Promise((resolve) => {\n logger.verbose(\n `[${this.connectionId}] Attempting to reinitialize connection` +\n ` but the connection is in the process of closing.` +\n ` Waiting for the disconnect event before continuing.`,\n );\n this.connection.once(ConnectionEvents.disconnected, resolve);\n });\n },\n waitForConnectionReset() {\n // Check if the connection is currently in the process of disconnecting.\n if (waitForConnectionRefreshPromise) {\n logger.verbose(`[${this.connectionId}] Waiting for connection reset`);\n return waitForConnectionRefreshPromise;\n }\n\n logger.verbose(\n `[${this.connectionId}] Connection not waiting to be reset. Resolving immediately.`,\n );\n return Promise.resolve();\n },\n getReceiverFromCache(\n receiverName: string,\n sessionId?: string,\n ): MessageReceiver | MessageSession | undefined {\n if (sessionId != null && this.messageSessions[receiverName]) {\n return this.messageSessions[receiverName];\n }\n\n if (this.messageReceivers[receiverName]) {\n return this.messageReceivers[receiverName];\n }\n\n let existingReceivers = \"\";\n if (sessionId != null) {\n for (const messageSessionName of Object.keys(this.messageSessions)) {\n if (this.messageSessions[messageSessionName].sessionId === sessionId) {\n existingReceivers = this.messageSessions[messageSessionName].name;\n break;\n }\n }\n } else {\n existingReceivers +=\n (existingReceivers ? \", \" : \"\") + Object.keys(this.messageReceivers).join(\",\");\n }\n\n logger.verbose(\n \"[%s] Failed to find receiver '%s' among existing receivers: %s\",\n this.connectionId,\n receiverName,\n existingReceivers,\n );\n return;\n },\n getManagementClient(entityPath: string): ManagementClient {\n if (!this.managementClients[entityPath]) {\n this.managementClients[entityPath] = new ManagementClient(this, entityPath, {\n address: `${entityPath}/$management`,\n });\n }\n return this.managementClients[entityPath];\n },\n });\n\n // Define listeners to be added to the connection object for\n // \"connection_open\" and \"connection_error\" events.\n const onConnectionOpen: OnAmqpEvent = () => {\n connectionContext.wasConnectionCloseCalled = false;\n logger.verbose(\n \"[%s] setting 'wasConnectionCloseCalled' property of connection context to %s.\",\n connectionContext.connection.id,\n connectionContext.wasConnectionCloseCalled,\n );\n };\n\n const disconnected: OnAmqpEvent = async (context: EventContext) => {\n if (waitForConnectionRefreshPromise) {\n return;\n }\n\n waitForConnectionRefreshPromise = new Promise((resolve) => {\n waitForConnectionRefreshResolve = resolve;\n });\n\n const connectionError =\n context.connection && context.connection.error ? context.connection.error : undefined;\n if (connectionError) {\n logger.logError(\n connectionError,\n \"[%s] Error (context.connection.error) occurred on the amqp connection\",\n connectionContext.connection.id,\n );\n }\n const contextError = context.error;\n if (contextError) {\n logger.logError(\n contextError,\n \"[%s] Error (context.error) occurred on the amqp connection\",\n connectionContext.connection.id,\n );\n }\n const state: Readonly<{\n wasConnectionCloseCalled: boolean;\n numSenders: number;\n numReceivers: number;\n }> = {\n wasConnectionCloseCalled: connectionContext.wasConnectionCloseCalled,\n numSenders: Object.keys(connectionContext.senders).length,\n numReceivers:\n Object.keys(connectionContext.messageReceivers).length +\n Object.keys(connectionContext.messageSessions).length,\n };\n\n // Clear internal map maintained by rhea to avoid reconnecting of old links once the\n // connection is back up.\n connectionContext.connection.removeAllSessions();\n\n // Close the cbs session to ensure all the event handlers are released.\n await connectionContext.cbsSession.close();\n\n // Close the management sessions to ensure all the event handlers are released.\n for (const entityPath of Object.keys(connectionContext.managementClients)) {\n await connectionContext.managementClients[entityPath].close();\n }\n\n if (state.wasConnectionCloseCalled) {\n // Do Nothing\n } else {\n // Calling onDetached on sender\n if (state.numSenders) {\n // We don't do recovery for the sender:\n // Because we don't want to keep the sender active all the time\n // and the \"next\" send call would bear the burden of creating the link.\n // Call onDetached() on sender so that it can gracefully shutdown\n // by cleaning up the timers and closing the links.\n // We don't call onDetached for sender after `refreshConnection()`\n // because any new send calls that potentially initialize links would also get affected if called later.\n logger.verbose(\n `[${connectionContext.connection.id}] connection.close() was not called from the sdk and there were ${state.numSenders} ` +\n `senders. We should not reconnect.`,\n );\n const detachCalls: Promise<void>[] = [];\n for (const senderName of Object.keys(connectionContext.senders)) {\n const sender = connectionContext.senders[senderName];\n if (sender) {\n logger.verbose(\n \"[%s] calling detached on sender '%s'.\",\n connectionContext.connection.id,\n sender.name,\n );\n detachCalls.push(\n sender.onDetached().catch((err) => {\n logger.logError(\n err,\n \"[%s] An error occurred while calling onDetached() the sender '%s'\",\n connectionContext.connection.id,\n sender.name,\n );\n }),\n );\n }\n }\n await Promise.all(detachCalls);\n }\n\n // Calling onDetached on batching receivers for the same reasons as sender\n const numBatchingReceivers = getNumberOfReceivers(connectionContext, \"batching\");\n if (numBatchingReceivers) {\n logger.verbose(\n `[${connectionContext.connection.id}] connection.close() was not called from the sdk and there were ${numBatchingReceivers} ` +\n `batching receivers. We should not reconnect.`,\n );\n\n // Call onDetached() on receivers so that batching receivers it can gracefully close any ongoing batch operation\n await callOnDetachedOnReceivers(\n connectionContext,\n connectionError || contextError,\n \"batching\",\n );\n }\n\n // Calling onDetached on session receivers\n const numSessionReceivers = getNumberOfReceivers(connectionContext, \"session\");\n if (numSessionReceivers) {\n logger.verbose(\n `[${connectionContext.connection.id}] connection.close() was not called from the sdk and there were ${numSessionReceivers} ` +\n `session receivers. We should close them.`,\n );\n\n await callOnDetachedOnSessionReceivers(\n connectionContext,\n connectionError || contextError,\n );\n }\n }\n await refreshConnection();\n waitForConnectionRefreshResolve();\n waitForConnectionRefreshPromise = undefined;\n // The connection should always be brought back up if the sdk did not call connection.close()\n // and there was at least one receiver link on the connection before it went down.\n logger.verbose(\"[%s] state: %O\", connectionContext.connectionId, state);\n\n // Calling onDetached on streaming receivers\n const numStreamingReceivers = getNumberOfReceivers(connectionContext, \"streaming\");\n if (!state.wasConnectionCloseCalled && numStreamingReceivers) {\n logger.verbose(\n `[${connectionContext.connection.id}] connection.close() was not called from the sdk and there were ${numStreamingReceivers} ` +\n `streaming receivers. We should reconnect.`,\n );\n\n // Calling `onDetached()` on streaming receivers after the refreshConnection() since `onDetached()` would\n // recover the streaming receivers and that would only be possible after the connection is refreshed.\n //\n // This is different from the batching receiver since `onDetached()` for the batching receiver would\n // return the outstanding messages and close the receive link.\n await callOnDetachedOnReceivers(\n connectionContext,\n connectionError || contextError,\n \"streaming\",\n );\n }\n };\n\n const protocolError: OnAmqpEvent = async (context: EventContext) => {\n if (context.connection && context.connection.error) {\n logger.logError(\n context.connection.error,\n \"[%s] Error (context.connection.error) occurred on the amqp connection\",\n connectionContext.connection.id,\n );\n }\n if (context.error) {\n logger.logError(\n context.error,\n \"[%s] Error (context.error) occurred on the amqp connection\",\n connectionContext.connection.id,\n );\n }\n };\n\n const error: OnAmqpEvent = async (context: EventContext) => {\n if (context.connection && context.connection.error) {\n logger.logError(\n context.connection.error,\n \"[%s] Error (context.connection.error) occurred on the amqp connection\",\n connectionContext.connection.id,\n );\n }\n if (context.error) {\n logger.logError(\n context.error,\n \"[%s] Error (context.error) occurred on the amqp connection\",\n connectionContext.connection.id,\n );\n }\n };\n\n async function refreshConnection(): Promise<void> {\n const originalConnectionId = connectionContext.connectionId;\n try {\n await cleanConnectionContext();\n } catch (err: any) {\n logger.logError(\n err,\n `[${connectionContext.connectionId}] There was an error closing the connection before reconnecting`,\n );\n }\n // Create a new connection, id, locks, and cbs client.\n connectionContext.refreshConnection();\n addConnectionListeners(connectionContext.connection);\n logger.verbose(\n `The connection \"${originalConnectionId}\" has been updated to \"${connectionContext.connectionId}\".`,\n );\n }\n\n function addConnectionListeners(connection: Connection): void {\n // Add listeners on the connection object.\n connection.on(ConnectionEvents.connectionOpen, onConnectionOpen);\n connection.on(ConnectionEvents.disconnected, disconnected);\n connection.on(ConnectionEvents.protocolError, protocolError);\n connection.on(ConnectionEvents.error, error);\n }\n\n async function cleanConnectionContext(): Promise<void> {\n // Remove listeners from the connection object.\n connectionContext.connection.removeListener(\n ConnectionEvents.connectionOpen,\n onConnectionOpen,\n );\n connectionContext.connection.removeListener(ConnectionEvents.disconnected, disconnected);\n connectionContext.connection.removeListener(ConnectionEvents.protocolError, protocolError);\n connectionContext.connection.removeListener(ConnectionEvents.error, error);\n // Close the connection\n await connectionContext.connection.close();\n }\n\n addConnectionListeners(connectionContext.connection);\n\n logger.verbose(\"[%s] Created connection context successfully.\", connectionContext.connectionId);\n\n return connectionContext;\n }\n\n /**\n * Closes the AMQP connection created by this ServiceBusClient along with AMQP links for\n * sender/receivers created by the queue/topic/subscription clients created by this\n * ServiceBusClient.\n * Once closed,\n * - the clients created by this ServiceBusClient cannot be used to send/receive messages anymore.\n * - this ServiceBusClient cannot be used to create any new queues/topics/subscriptions clients.\n */\n export async function close(context: ConnectionContext): Promise<void> {\n const logPrefix = `[${context.connectionId}]`;\n\n try {\n logger.verbose(`${logPrefix} Permanently closing the amqp connection on the client.`);\n\n const senderNames = Object.keys(context.senders);\n const messageReceiverNames = Object.keys(context.messageReceivers);\n const messageSessionNames = Object.keys(context.messageSessions);\n const managementClientsEntityPaths = Object.keys(context.managementClients);\n logger.verbose(\n `${logPrefix} Permanently closing all the senders(${senderNames.length}), MessageReceivers(${messageReceiverNames.length}), MessageSessions(${messageSessionNames.length}), and ManagementClients(${managementClientsEntityPaths.length}).`,\n );\n await Promise.all([\n ...senderNames.map((n) => context.senders[n].close()),\n ...messageReceiverNames.map((n) => context.messageReceivers[n].close()),\n ...messageSessionNames.map((n) => context.messageSessions[n].close()),\n ...managementClientsEntityPaths.map((p) => context.managementClients[p].close()),\n ]);\n\n logger.verbose(`${logPrefix} Permanently closing cbsSession`);\n await context.cbsSession.close();\n\n logger.verbose(`${logPrefix} Permanently closing internal connection`);\n await context.connection.close();\n context.wasConnectionCloseCalled = true;\n logger.verbose(`[${logPrefix} Permanently closed the amqp connection on the client.`);\n } catch (err: any) {\n const errObj = err instanceof Error ? err : new Error(JSON.stringify(err));\n logger.logError(err, `${logPrefix} An error occurred while closing the connection`);\n throw errObj;\n }\n }\n}\n"]}