@azure/service-bus 7.10.0-beta.1 → 7.10.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (845) 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 +11 -10
  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 +9 -8
  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 +3 -3
  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 +27 -25
  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 +7 -5
  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 +58 -54
  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 +16 -21
  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 +22 -21
  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 +5 -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 +7 -14
  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 +29 -23
  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 +10 -18
  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 +39 -66
  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 +28 -44
  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 +44 -76
  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 +16 -32
  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 +5 -13
  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 +6 -5
  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 +283 -267
  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 +34 -30
  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 +2 -2
  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 +18 -25
  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 +5 -5
  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 +18 -39
  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 +42 -32
  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 +12 -11
  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 +1 -1
  154. package/{dist-esm/src → dist/browser}/util/compat/httpHeaders.js.map +1 -1
  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 +1 -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 +1 -1
  190. package/{dist-esm/src → dist/browser}/util/semaphore.js.map +1 -1
  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 +12 -12
  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 +359 -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 +104 -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 +174 -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 +397 -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 +283 -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 +142 -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 +284 -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 +122 -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 +63 -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 +495 -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 +99 -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 +338 -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 +254 -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 +392 -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 +169 -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 +99 -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 +288 -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 +1694 -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 +212 -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 +89 -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 +415 -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 +172 -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 +129 -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 +654 -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 +387 -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 +156 -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 +48 -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 +81 -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 +526 -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 +356 -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 +97 -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 +170 -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 +391 -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 +279 -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 +138 -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 +280 -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 +118 -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 +59 -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 +491 -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 +93 -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 +334 -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 +242 -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 +388 -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 +164 -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 +91 -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 +279 -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 +1690 -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 +207 -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 +83 -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 +403 -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 +168 -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 +125 -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 +650 -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 +379 -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 +151 -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/src → dist/esm}/util/runtimeInfo.js.map +1 -1
  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 +44 -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 +77 -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 +498 -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 +356 -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 +97 -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 +170 -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 +391 -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 +279 -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 +138 -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 +280 -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 +118 -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 +59 -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 +491 -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 +93 -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 +334 -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 +242 -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 +388 -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 +164 -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 +91 -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 +279 -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 +1690 -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 +207 -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 +83 -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 +403 -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 +168 -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 +125 -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 +650 -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 +379 -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 +151 -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 +44 -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 +77 -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 +498 -0
  790. package/dist/react-native/util/utils.js.map +1 -0
  791. package/package.json +115 -96
  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/index.js +0 -5
  833. package/dist-esm/src/util/compat/index.js.map +0 -1
  834. package/dist-esm/src/util/connectionStringUtils.js.map +0 -1
  835. package/dist-esm/src/util/crypto.browser.js.map +0 -1
  836. package/dist-esm/src/util/crypto.js.map +0 -1
  837. package/dist-esm/src/util/errors.js.map +0 -1
  838. package/dist-esm/src/util/parseUrl.browser.js.map +0 -1
  839. package/dist-esm/src/util/parseUrl.js.map +0 -1
  840. package/dist-esm/src/util/runtimeInfo.browser.js.map +0 -1
  841. package/dist-esm/src/util/runtimeInfo.native.js.map +0 -1
  842. package/dist-esm/src/util/sasServiceClientCredentials.js.map +0 -1
  843. package/dist-esm/src/util/typeGuards.js.map +0 -1
  844. package/dist-esm/src/util/utils.js.map +0 -1
  845. package/types/latest/service-bus-beta.d.ts +0 -3197
@@ -0,0 +1,93 @@
1
+ import type { AwaitableSender, AwaitableSenderOptions } from "rhea-promise";
2
+ import type { RetryOptions, AmqpAnnotatedMessage } from "@azure/core-amqp";
3
+ import type { ServiceBusMessage } from "../serviceBusMessage.js";
4
+ import type { ConnectionContext } from "../connectionContext.js";
5
+ import { LinkEntity } from "./linkEntity.js";
6
+ import type { ServiceBusMessageBatch } from "../serviceBusMessageBatch.js";
7
+ import type { CreateMessageBatchOptions } from "../models.js";
8
+ import type { OperationOptionsBase } from "../modelsToBeSharedWithEventHubs.js";
9
+ import type { AbortSignalLike } from "@azure/abort-controller";
10
+ /**
11
+ * @internal
12
+ * Describes the MessageSender that will send messages to ServiceBus.
13
+ */
14
+ export declare class MessageSender extends LinkEntity<AwaitableSender> {
15
+ private identifier;
16
+ /**
17
+ * The handler function to handle errors that happen on the
18
+ * underlying sender.
19
+ * @readonly
20
+ */
21
+ private readonly _onAmqpError;
22
+ /**
23
+ * The handler function to handle "sender_close" event
24
+ * that happens on the underlying sender.
25
+ * @readonly
26
+ */
27
+ private readonly _onAmqpClose;
28
+ /**
29
+ * The message handler that will be set as the handler on
30
+ * the underlying rhea sender's session for the "session_error" event.
31
+ */
32
+ private _onSessionError;
33
+ /**
34
+ * The message handler that will be set as the handler on
35
+ * the underlying rhea sender's session for the "session_close" event.
36
+ */
37
+ private _onSessionClose;
38
+ private _retryOptions;
39
+ constructor(identifier: string, connectionContext: ConnectionContext, entityPath: string, retryOptions: RetryOptions);
40
+ private _createSenderOptions;
41
+ /**
42
+ * Tries to send the message to ServiceBus if there is enough credit to send them
43
+ * and the circular buffer has available space to settle the message after sending them.
44
+ *
45
+ * We have implemented a synchronous send over here in the sense that we shall be waiting
46
+ * for the message to be accepted or rejected and accordingly resolve or reject the promise.
47
+ *
48
+ * @param encodedMessage - The encoded message to be sent to ServiceBus.
49
+ * @param sendBatch - Boolean indicating whether the encoded message represents a batch of messages or not
50
+ */
51
+ private _trySend;
52
+ protected createRheaLink(options: AwaitableSenderOptions): Promise<AwaitableSender>;
53
+ /**
54
+ * Initializes the sender session on the connection.
55
+ */
56
+ open(options?: AwaitableSenderOptions, abortSignal?: AbortSignalLike): Promise<void>;
57
+ /**
58
+ * Closes the rhea link.
59
+ * To be called when connection is disconnected, onAmqpClose and onSessionClose events.
60
+ */
61
+ onDetached(): Promise<void>;
62
+ /**
63
+ * Determines whether the AMQP sender link is open. If open then returns true else returns false.
64
+ */
65
+ isOpen(): boolean;
66
+ /**
67
+ * Sends the given message, with the given options on this link
68
+ *
69
+ * @param data - Message to send. Will be sent as UTF8-encoded JSON string.
70
+ */
71
+ send(data: ServiceBusMessage | AmqpAnnotatedMessage, options?: OperationOptionsBase): Promise<void>;
72
+ /**
73
+ * Returns maximum message size on the AMQP sender link.
74
+ *
75
+ * Options to configure the `createBatch` method on the `Sender`.
76
+ * - `maxSizeInBytes`: The upper limit for the size of batch.
77
+ *
78
+ * Example usage:
79
+ * ```ts snippet:ignore
80
+ * {
81
+ * retryOptions: { maxRetries: 5; timeoutInMs: 10 }
82
+ * }
83
+ * ```
84
+ */
85
+ getMaxMessageSize(options?: {
86
+ retryOptions?: RetryOptions;
87
+ } & Pick<OperationOptionsBase, "abortSignal">): Promise<number>;
88
+ createBatch(options?: CreateMessageBatchOptions): Promise<ServiceBusMessageBatch>;
89
+ sendBatch(batchMessage: ServiceBusMessageBatch, options?: OperationOptionsBase): Promise<void>;
90
+ static create(identifier: string, context: ConnectionContext, entityPath: string, retryOptions: RetryOptions): MessageSender;
91
+ protected removeLinkFromContext(): void;
92
+ }
93
+ //# sourceMappingURL=messageSender.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messageSender.d.ts","sourceRoot":"","sources":["../../../src/core/messageSender.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,eAAe,EACf,sBAAsB,EAGvB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAGV,YAAY,EACZ,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAE3E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAK/D;;;GAGG;AACH,qBAAa,aAAc,SAAQ,UAAU,CAAC,eAAe,CAAC;IA0B1D,OAAO,CAAC,UAAU;IAzBpB;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAC3C;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAC3C;;;OAGG;IACH,OAAO,CAAC,eAAe,CAAc;IACrC;;;OAGG;IACH,OAAO,CAAC,eAAe,CAAc;IACrC,OAAO,CAAC,aAAa,CAAe;gBAG1B,UAAU,EAAE,MAAM,EAC1B,iBAAiB,EAAE,iBAAiB,EACpC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,YAAY;IAkE5B,OAAO,CAAC,oBAAoB;IAiB5B;;;;;;;;;OASG;IACH,OAAO,CAAC,QAAQ;IA4GhB,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC;IAInF;;OAEG;IACU,IAAI,CACf,OAAO,CAAC,EAAE,sBAAsB,EAChC,WAAW,CAAC,EAAE,eAAe,GAC5B,OAAO,CAAC,IAAI,CAAC;IAqBhB;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAMjC;;OAEG;IACH,MAAM,IAAI,OAAO;IAYjB;;;;OAIG;IACG,IAAI,CACR,IAAI,EAAE,iBAAiB,GAAG,oBAAoB,EAC9C,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,IAAI,CAAC;IAoBhB;;;;;;;;;;;;OAYG;IACG,iBAAiB,CACrB,OAAO,GAAE;QACP,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B,GAAG,IAAI,CAAC,oBAAoB,EAAE,aAAa,CAAM,GACjD,OAAO,CAAC,MAAM,CAAC;IA4BZ,WAAW,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAkBjF,SAAS,CACb,YAAY,EAAE,sBAAsB,EACpC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,IAAI,CAAC;IAsBhB,MAAM,CAAC,MAAM,CACX,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,iBAAiB,EAC1B,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,YAAY,GACzB,aAAa;IAQhB,SAAS,CAAC,qBAAqB,IAAI,IAAI;CAGxC"}
@@ -0,0 +1,280 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import { senderLogger as logger } from "../log.js";
4
+ import { message as RheaMessageUtil } from "rhea-promise";
5
+ import { Constants, ErrorNameConditionMapper, RetryOperationType, retry } from "@azure/core-amqp";
6
+ import { toRheaMessage } from "../serviceBusMessage.js";
7
+ import { LinkEntity } from "./linkEntity.js";
8
+ import { getUniqueName, waitForSendable, waitForTimeoutOrAbortOrResolve } from "../util/utils.js";
9
+ import { throwErrorIfConnectionClosed } from "../util/errors.js";
10
+ import { ServiceBusMessageBatchImpl } from "../serviceBusMessageBatch.js";
11
+ import { ServiceBusError, translateServiceBusError } from "../serviceBusError.js";
12
+ import { isDefined } from "@azure/core-util";
13
+ import { defaultDataTransformer } from "../dataTransformer.js";
14
+ /**
15
+ * @internal
16
+ * Describes the MessageSender that will send messages to ServiceBus.
17
+ */
18
+ export class MessageSender extends LinkEntity {
19
+ constructor(identifier, connectionContext, entityPath, retryOptions) {
20
+ super(entityPath, entityPath, connectionContext, "sender", logger, {
21
+ address: entityPath,
22
+ audience: `${connectionContext.config.endpoint}${entityPath}`,
23
+ });
24
+ this.identifier = identifier;
25
+ this._retryOptions = retryOptions;
26
+ this._onAmqpError = (context) => {
27
+ const senderError = context.sender && context.sender.error;
28
+ logger.logError(senderError, "%s 'sender_error' event occurred on the sender '%s' with address '%s'. " +
29
+ "The associated error", this.logPrefix, this.name, this.address);
30
+ // TODO: Consider rejecting promise in trySendBatch() or createBatch()
31
+ };
32
+ this._onSessionError = (context) => {
33
+ const sessionError = context.session && context.session.error;
34
+ logger.logError(sessionError, "%s 'session_error' event occurred on the session of sender '%s' with address '%s'. " +
35
+ "The associated error", this.logPrefix, this.name, this.address);
36
+ // TODO: Consider rejecting promise in trySendBatch() or createBatch()
37
+ };
38
+ this._onAmqpClose = async (context) => {
39
+ const senderError = context.sender && context.sender.error;
40
+ logger.logError(senderError, `${this.logPrefix} 'sender_close' event occurred. The associated error is`);
41
+ await this.onDetached().catch((err) => {
42
+ logger.logError(err, `${this.logPrefix} error when closing sender after 'sender_close' event`);
43
+ });
44
+ };
45
+ this._onSessionClose = async (context) => {
46
+ const sessionError = context.session && context.session.error;
47
+ logger.logError(sessionError, `${this.logPrefix} 'session_close' event occurred. The associated error is`);
48
+ await this.onDetached().catch((err) => {
49
+ logger.logError(err, `${this.logPrefix} error when closing sender after 'session_close' event`);
50
+ });
51
+ };
52
+ }
53
+ _createSenderOptions(newName) {
54
+ if (newName)
55
+ this.name = getUniqueName(this.baseName);
56
+ const srOptions = {
57
+ name: this.name,
58
+ target: {
59
+ address: this.address,
60
+ },
61
+ source: this.identifier,
62
+ onError: this._onAmqpError,
63
+ onClose: this._onAmqpClose,
64
+ onSessionError: this._onSessionError,
65
+ onSessionClose: this._onSessionClose,
66
+ };
67
+ logger.verbose(`${this.logPrefix} Creating sender with options: %O`, srOptions);
68
+ return srOptions;
69
+ }
70
+ /**
71
+ * Tries to send the message to ServiceBus if there is enough credit to send them
72
+ * and the circular buffer has available space to settle the message after sending them.
73
+ *
74
+ * We have implemented a synchronous send over here in the sense that we shall be waiting
75
+ * for the message to be accepted or rejected and accordingly resolve or reject the promise.
76
+ *
77
+ * @param encodedMessage - The encoded message to be sent to ServiceBus.
78
+ * @param sendBatch - Boolean indicating whether the encoded message represents a batch of messages or not
79
+ */
80
+ _trySend(encodedMessage, sendBatch, options) {
81
+ const abortSignal = options === null || options === void 0 ? void 0 : options.abortSignal;
82
+ const timeoutInMs = !isDefined(this._retryOptions.timeoutInMs)
83
+ ? Constants.defaultOperationTimeoutInMs
84
+ : this._retryOptions.timeoutInMs;
85
+ const sendEventPromise = async () => {
86
+ var _a, _b, _c, _d, _e, _f, _g;
87
+ const initStartTime = Date.now();
88
+ if (!this.isOpen()) {
89
+ try {
90
+ await waitForTimeoutOrAbortOrResolve({
91
+ actionFn: () => this.open(undefined, options === null || options === void 0 ? void 0 : options.abortSignal),
92
+ abortSignal: options === null || options === void 0 ? void 0 : options.abortSignal,
93
+ timeoutMs: timeoutInMs,
94
+ timeoutMessage: `[${this._context.connectionId}] Sender "${this.name}" ` +
95
+ `with address "${this.address}", was not able to send the message right now, due ` +
96
+ `to operation timeout.`,
97
+ });
98
+ }
99
+ catch (err) {
100
+ const translatedError = translateServiceBusError(err);
101
+ logger.logError(translatedError, "%s An error occurred while creating the sender", this.logPrefix, this.name);
102
+ throw translatedError;
103
+ }
104
+ }
105
+ const timeTakenByInit = Date.now() - initStartTime;
106
+ logger.verbose("%s Sender '%s', credit: %d available: %d", this.logPrefix, this.name, (_a = this.link) === null || _a === void 0 ? void 0 : _a.credit, (_d = (_c = (_b = this.link) === null || _b === void 0 ? void 0 : _b.session) === null || _c === void 0 ? void 0 : _c.outgoing) === null || _d === void 0 ? void 0 : _d.available());
107
+ const waitingTime = await waitForSendable(logger, this.logPrefix, this.name, timeoutInMs - timeTakenByInit, this.link, (_g = (_f = (_e = this.link) === null || _e === void 0 ? void 0 : _e.session) === null || _f === void 0 ? void 0 : _f.outgoing) === null || _g === void 0 ? void 0 : _g.available());
108
+ if (timeoutInMs <= timeTakenByInit + waitingTime) {
109
+ const desc = `${this.logPrefix} Sender "${this.name}" ` +
110
+ `with address "${this.address}", was not able to send the message right now, due ` +
111
+ `to operation timeout.`;
112
+ logger.warning(desc);
113
+ const e = {
114
+ condition: ErrorNameConditionMapper.ServiceUnavailableError,
115
+ description: desc,
116
+ };
117
+ throw translateServiceBusError(e);
118
+ }
119
+ if (!this.link) {
120
+ const msg = `[${this.logPrefix}] Cannot send the message. Link is not ready.`;
121
+ logger.warning(msg);
122
+ const amqpError = {
123
+ condition: ErrorNameConditionMapper.SenderNotReadyError,
124
+ description: msg,
125
+ };
126
+ throw translateServiceBusError(amqpError);
127
+ }
128
+ try {
129
+ const delivery = await this.link.send(encodedMessage, {
130
+ format: sendBatch ? 0x80013700 : 0,
131
+ timeoutInSeconds: (timeoutInMs - timeTakenByInit - waitingTime) / 1000,
132
+ abortSignal,
133
+ });
134
+ logger.verbose("%s Sender '%s', sent message with delivery id: %d", this.logPrefix, this.name, delivery.id);
135
+ }
136
+ catch (error) {
137
+ const translatedError = translateServiceBusError(error.innerError || error);
138
+ logger.logError(translatedError, `${this.logPrefix} An error occurred while sending the message`);
139
+ throw translatedError;
140
+ }
141
+ };
142
+ const config = {
143
+ operation: sendEventPromise,
144
+ connectionId: this._context.connectionId,
145
+ operationType: RetryOperationType.sendMessage,
146
+ retryOptions: this._retryOptions,
147
+ abortSignal: abortSignal,
148
+ };
149
+ return retry(config);
150
+ }
151
+ createRheaLink(options) {
152
+ return this._context.connection.createAwaitableSender(options);
153
+ }
154
+ /**
155
+ * Initializes the sender session on the connection.
156
+ */
157
+ async open(options, abortSignal) {
158
+ try {
159
+ if (!options) {
160
+ options = this._createSenderOptions();
161
+ }
162
+ await this.initLink(options, abortSignal);
163
+ }
164
+ catch (err) {
165
+ const translatedError = translateServiceBusError(err);
166
+ logger.logError(translatedError, `${this.logPrefix} An error occurred while creating the sender`);
167
+ // Fix the unhelpful error messages for the OperationTimeoutError that comes from `rhea-promise`.
168
+ if (translatedError.code === "OperationTimeoutError") {
169
+ translatedError.message =
170
+ "Failed to create a sender within allocated time and retry attempts.";
171
+ }
172
+ throw translatedError;
173
+ }
174
+ }
175
+ /**
176
+ * Closes the rhea link.
177
+ * To be called when connection is disconnected, onAmqpClose and onSessionClose events.
178
+ */
179
+ async onDetached() {
180
+ // Clears the token renewal timer. Closes the link and its session if they are open.
181
+ // Removes the link and its session if they are present in rhea's cache.
182
+ await this.closeLink();
183
+ }
184
+ /**
185
+ * Determines whether the AMQP sender link is open. If open then returns true else returns false.
186
+ */
187
+ isOpen() {
188
+ const result = this.link == null ? false : this.link.isOpen();
189
+ logger.verbose("%s Sender '%s' with address '%s' is open? -> %s", this.logPrefix, this.name, this.address, result);
190
+ return result;
191
+ }
192
+ /**
193
+ * Sends the given message, with the given options on this link
194
+ *
195
+ * @param data - Message to send. Will be sent as UTF8-encoded JSON string.
196
+ */
197
+ async send(data, options) {
198
+ throwErrorIfConnectionClosed(this._context);
199
+ try {
200
+ const amqpMessage = toRheaMessage(data, defaultDataTransformer);
201
+ // TODO: this body of logic is really similar to what's in sendMessages. Unify what we can.
202
+ const encodedMessage = RheaMessageUtil.encode(amqpMessage);
203
+ logger.verbose("%s Sender '%s', trying to send message: %O", this.logPrefix, this.name, data);
204
+ return await this._trySend(encodedMessage, false, options);
205
+ }
206
+ catch (err) {
207
+ logger.logError(err, "%s An error occurred while sending the message: %O\nError", this.logPrefix, data);
208
+ throw err;
209
+ }
210
+ }
211
+ /**
212
+ * Returns maximum message size on the AMQP sender link.
213
+ *
214
+ * Options to configure the `createBatch` method on the `Sender`.
215
+ * - `maxSizeInBytes`: The upper limit for the size of batch.
216
+ *
217
+ * Example usage:
218
+ * ```ts snippet:ignore
219
+ * {
220
+ * retryOptions: { maxRetries: 5; timeoutInMs: 10 }
221
+ * }
222
+ * ```
223
+ */
224
+ async getMaxMessageSize(options = {}) {
225
+ const retryOptions = options.retryOptions || {};
226
+ if (this.isOpen()) {
227
+ return this.link.maxMessageSize;
228
+ }
229
+ const config = {
230
+ operation: async () => {
231
+ await this.open(undefined, options === null || options === void 0 ? void 0 : options.abortSignal);
232
+ if (this.link) {
233
+ return this.link.maxMessageSize;
234
+ }
235
+ throw new ServiceBusError("Link failed to initialize, cannot get max message size.", "GeneralError");
236
+ },
237
+ connectionId: this._context.connectionId,
238
+ operationType: RetryOperationType.senderLink,
239
+ retryOptions: retryOptions,
240
+ abortSignal: options === null || options === void 0 ? void 0 : options.abortSignal,
241
+ };
242
+ return retry(config);
243
+ }
244
+ async createBatch(options) {
245
+ throwErrorIfConnectionClosed(this._context);
246
+ let maxMessageSize = await this.getMaxMessageSize({
247
+ retryOptions: this._retryOptions,
248
+ abortSignal: options === null || options === void 0 ? void 0 : options.abortSignal,
249
+ });
250
+ if (options === null || options === void 0 ? void 0 : options.maxSizeInBytes) {
251
+ if (options.maxSizeInBytes > maxMessageSize) {
252
+ const error = new Error(`Max message size (${options.maxSizeInBytes} bytes) is greater than maximum message size (${maxMessageSize} bytes) on the AMQP sender link.`);
253
+ throw error;
254
+ }
255
+ maxMessageSize = options.maxSizeInBytes;
256
+ }
257
+ return new ServiceBusMessageBatchImpl(this._context, maxMessageSize);
258
+ }
259
+ async sendBatch(batchMessage, options) {
260
+ throwErrorIfConnectionClosed(this._context);
261
+ try {
262
+ logger.verbose("%s Sender '%s', sending encoded batch message.", this.logPrefix, this.name, batchMessage);
263
+ return await this._trySend(batchMessage._generateMessage(), true, options);
264
+ }
265
+ catch (err) {
266
+ logger.logError(err, "%s Sender '%s': An error occurred while sending the messages: %O\nError", this.logPrefix, this.name, batchMessage);
267
+ throw err;
268
+ }
269
+ }
270
+ static create(identifier, context, entityPath, retryOptions) {
271
+ throwErrorIfConnectionClosed(context);
272
+ const sbSender = new MessageSender(identifier, context, entityPath, retryOptions);
273
+ context.senders[sbSender.name] = sbSender;
274
+ return sbSender;
275
+ }
276
+ removeLinkFromContext() {
277
+ delete this._context.senders[this.name];
278
+ }
279
+ }
280
+ //# sourceMappingURL=messageSender.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messageSender.js","sourceRoot":"","sources":["../../../src/core/messageSender.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { senderLogger as logger } from \"../log.js\";\nimport type {\n AmqpError,\n AwaitableSender,\n AwaitableSenderOptions,\n EventContext,\n OnAmqpEvent,\n} from \"rhea-promise\";\nimport { message as RheaMessageUtil } from \"rhea-promise\";\nimport type {\n MessagingError,\n RetryConfig,\n RetryOptions,\n AmqpAnnotatedMessage,\n} from \"@azure/core-amqp\";\nimport { Constants, ErrorNameConditionMapper, RetryOperationType, retry } from \"@azure/core-amqp\";\nimport type { ServiceBusMessage } from \"../serviceBusMessage.js\";\nimport { toRheaMessage } from \"../serviceBusMessage.js\";\nimport type { ConnectionContext } from \"../connectionContext.js\";\nimport { LinkEntity } from \"./linkEntity.js\";\nimport { getUniqueName, waitForSendable, waitForTimeoutOrAbortOrResolve } from \"../util/utils.js\";\nimport { throwErrorIfConnectionClosed } from \"../util/errors.js\";\nimport type { ServiceBusMessageBatch } from \"../serviceBusMessageBatch.js\";\nimport { ServiceBusMessageBatchImpl } from \"../serviceBusMessageBatch.js\";\nimport type { CreateMessageBatchOptions } from \"../models.js\";\nimport type { OperationOptionsBase } from \"../modelsToBeSharedWithEventHubs.js\";\nimport type { AbortSignalLike } from \"@azure/abort-controller\";\nimport { ServiceBusError, translateServiceBusError } from \"../serviceBusError.js\";\nimport { isDefined } from \"@azure/core-util\";\nimport { defaultDataTransformer } from \"../dataTransformer.js\";\n\n/**\n * @internal\n * Describes the MessageSender that will send messages to ServiceBus.\n */\nexport class MessageSender extends LinkEntity<AwaitableSender> {\n /**\n * The handler function to handle errors that happen on the\n * underlying sender.\n * @readonly\n */\n private readonly _onAmqpError: OnAmqpEvent;\n /**\n * The handler function to handle \"sender_close\" event\n * that happens on the underlying sender.\n * @readonly\n */\n private readonly _onAmqpClose: OnAmqpEvent;\n /**\n * The message handler that will be set as the handler on\n * the underlying rhea sender's session for the \"session_error\" event.\n */\n private _onSessionError: OnAmqpEvent;\n /**\n * The message handler that will be set as the handler on\n * the underlying rhea sender's session for the \"session_close\" event.\n */\n private _onSessionClose: OnAmqpEvent;\n private _retryOptions: RetryOptions;\n\n constructor(\n private identifier: string,\n connectionContext: ConnectionContext,\n entityPath: string,\n retryOptions: RetryOptions,\n ) {\n super(entityPath, entityPath, connectionContext, \"sender\", logger, {\n address: entityPath,\n audience: `${connectionContext.config.endpoint}${entityPath}`,\n });\n this._retryOptions = retryOptions;\n this._onAmqpError = (context: EventContext) => {\n const senderError = context.sender && context.sender.error;\n logger.logError(\n senderError,\n \"%s 'sender_error' event occurred on the sender '%s' with address '%s'. \" +\n \"The associated error\",\n this.logPrefix,\n this.name,\n this.address,\n );\n // TODO: Consider rejecting promise in trySendBatch() or createBatch()\n };\n\n this._onSessionError = (context: EventContext) => {\n const sessionError = context.session && context.session.error;\n logger.logError(\n sessionError,\n \"%s 'session_error' event occurred on the session of sender '%s' with address '%s'. \" +\n \"The associated error\",\n this.logPrefix,\n this.name,\n this.address,\n );\n // TODO: Consider rejecting promise in trySendBatch() or createBatch()\n };\n\n this._onAmqpClose = async (context: EventContext) => {\n const senderError = context.sender && context.sender.error;\n\n logger.logError(\n senderError,\n `${this.logPrefix} 'sender_close' event occurred. The associated error is`,\n );\n\n await this.onDetached().catch((err) => {\n logger.logError(\n err,\n `${this.logPrefix} error when closing sender after 'sender_close' event`,\n );\n });\n };\n\n this._onSessionClose = async (context: EventContext) => {\n const sessionError = context.session && context.session.error;\n\n logger.logError(\n sessionError,\n `${this.logPrefix} 'session_close' event occurred. The associated error is`,\n );\n\n await this.onDetached().catch((err) => {\n logger.logError(\n err,\n `${this.logPrefix} error when closing sender after 'session_close' event`,\n );\n });\n };\n }\n\n private _createSenderOptions(newName?: boolean): AwaitableSenderOptions {\n if (newName) this.name = getUniqueName(this.baseName);\n const srOptions: AwaitableSenderOptions = {\n name: this.name,\n target: {\n address: this.address,\n },\n source: this.identifier,\n onError: this._onAmqpError,\n onClose: this._onAmqpClose,\n onSessionError: this._onSessionError,\n onSessionClose: this._onSessionClose,\n };\n logger.verbose(`${this.logPrefix} Creating sender with options: %O`, srOptions);\n return srOptions;\n }\n\n /**\n * Tries to send the message to ServiceBus if there is enough credit to send them\n * and the circular buffer has available space to settle the message after sending them.\n *\n * We have implemented a synchronous send over here in the sense that we shall be waiting\n * for the message to be accepted or rejected and accordingly resolve or reject the promise.\n *\n * @param encodedMessage - The encoded message to be sent to ServiceBus.\n * @param sendBatch - Boolean indicating whether the encoded message represents a batch of messages or not\n */\n private _trySend(\n encodedMessage: Buffer,\n sendBatch: boolean,\n options: OperationOptionsBase | undefined,\n ): Promise<void> {\n const abortSignal = options?.abortSignal;\n const timeoutInMs = !isDefined(this._retryOptions.timeoutInMs)\n ? Constants.defaultOperationTimeoutInMs\n : this._retryOptions.timeoutInMs;\n\n const sendEventPromise = async (): Promise<void> => {\n const initStartTime = Date.now();\n if (!this.isOpen()) {\n try {\n await waitForTimeoutOrAbortOrResolve({\n actionFn: () => this.open(undefined, options?.abortSignal),\n abortSignal: options?.abortSignal,\n timeoutMs: timeoutInMs,\n timeoutMessage:\n `[${this._context.connectionId}] Sender \"${this.name}\" ` +\n `with address \"${this.address}\", was not able to send the message right now, due ` +\n `to operation timeout.`,\n });\n } catch (err: any) {\n const translatedError = translateServiceBusError(err);\n logger.logError(\n translatedError,\n \"%s An error occurred while creating the sender\",\n this.logPrefix,\n this.name,\n );\n throw translatedError;\n }\n }\n\n const timeTakenByInit = Date.now() - initStartTime;\n\n logger.verbose(\n \"%s Sender '%s', credit: %d available: %d\",\n this.logPrefix,\n this.name,\n this.link?.credit,\n this.link?.session?.outgoing?.available(),\n );\n\n const waitingTime = await waitForSendable(\n logger,\n this.logPrefix,\n this.name,\n timeoutInMs - timeTakenByInit,\n this.link,\n this.link?.session?.outgoing?.available(),\n );\n\n if (timeoutInMs <= timeTakenByInit + waitingTime) {\n const desc: string =\n `${this.logPrefix} Sender \"${this.name}\" ` +\n `with address \"${this.address}\", was not able to send the message right now, due ` +\n `to operation timeout.`;\n logger.warning(desc);\n const e: AmqpError = {\n condition: ErrorNameConditionMapper.ServiceUnavailableError,\n description: desc,\n };\n throw translateServiceBusError(e);\n }\n\n if (!this.link) {\n const msg = `[${this.logPrefix}] Cannot send the message. Link is not ready.`;\n logger.warning(msg);\n const amqpError: AmqpError = {\n condition: ErrorNameConditionMapper.SenderNotReadyError,\n description: msg,\n };\n throw translateServiceBusError(amqpError);\n }\n try {\n const delivery = await this.link.send(encodedMessage, {\n format: sendBatch ? 0x80013700 : 0,\n timeoutInSeconds: (timeoutInMs - timeTakenByInit - waitingTime) / 1000,\n abortSignal,\n });\n logger.verbose(\n \"%s Sender '%s', sent message with delivery id: %d\",\n this.logPrefix,\n this.name,\n delivery.id,\n );\n } catch (error: any) {\n const translatedError = translateServiceBusError(error.innerError || error);\n logger.logError(\n translatedError,\n `${this.logPrefix} An error occurred while sending the message`,\n );\n throw translatedError;\n }\n };\n const config: RetryConfig<void> = {\n operation: sendEventPromise,\n connectionId: this._context.connectionId!,\n operationType: RetryOperationType.sendMessage,\n retryOptions: this._retryOptions,\n abortSignal: abortSignal,\n };\n\n return retry<void>(config);\n }\n\n protected createRheaLink(options: AwaitableSenderOptions): Promise<AwaitableSender> {\n return this._context.connection.createAwaitableSender(options);\n }\n\n /**\n * Initializes the sender session on the connection.\n */\n public async open(\n options?: AwaitableSenderOptions,\n abortSignal?: AbortSignalLike,\n ): Promise<void> {\n try {\n if (!options) {\n options = this._createSenderOptions();\n }\n await this.initLink(options, abortSignal);\n } catch (err: any) {\n const translatedError = translateServiceBusError(err);\n logger.logError(\n translatedError,\n `${this.logPrefix} An error occurred while creating the sender`,\n );\n // Fix the unhelpful error messages for the OperationTimeoutError that comes from `rhea-promise`.\n if ((translatedError as MessagingError).code === \"OperationTimeoutError\") {\n translatedError.message =\n \"Failed to create a sender within allocated time and retry attempts.\";\n }\n throw translatedError;\n }\n }\n\n /**\n * Closes the rhea link.\n * To be called when connection is disconnected, onAmqpClose and onSessionClose events.\n */\n async onDetached(): Promise<void> {\n // Clears the token renewal timer. Closes the link and its session if they are open.\n // Removes the link and its session if they are present in rhea's cache.\n await this.closeLink();\n }\n\n /**\n * Determines whether the AMQP sender link is open. If open then returns true else returns false.\n */\n isOpen(): boolean {\n const result: boolean = this.link == null ? false : this.link.isOpen();\n logger.verbose(\n \"%s Sender '%s' with address '%s' is open? -> %s\",\n this.logPrefix,\n this.name,\n this.address,\n result,\n );\n return result;\n }\n\n /**\n * Sends the given message, with the given options on this link\n *\n * @param data - Message to send. Will be sent as UTF8-encoded JSON string.\n */\n async send(\n data: ServiceBusMessage | AmqpAnnotatedMessage,\n options?: OperationOptionsBase,\n ): Promise<void> {\n throwErrorIfConnectionClosed(this._context);\n try {\n const amqpMessage = toRheaMessage(data, defaultDataTransformer);\n\n // TODO: this body of logic is really similar to what's in sendMessages. Unify what we can.\n const encodedMessage = RheaMessageUtil.encode(amqpMessage);\n logger.verbose(\"%s Sender '%s', trying to send message: %O\", this.logPrefix, this.name, data);\n return await this._trySend(encodedMessage, false, options);\n } catch (err: any) {\n logger.logError(\n err,\n \"%s An error occurred while sending the message: %O\\nError\",\n this.logPrefix,\n data,\n );\n throw err;\n }\n }\n\n /**\n * Returns maximum message size on the AMQP sender link.\n *\n * Options to configure the `createBatch` method on the `Sender`.\n * - `maxSizeInBytes`: The upper limit for the size of batch.\n *\n * Example usage:\n * ```ts snippet:ignore\n * {\n * retryOptions: { maxRetries: 5; timeoutInMs: 10 }\n * }\n * ```\n */\n async getMaxMessageSize(\n options: {\n retryOptions?: RetryOptions;\n } & Pick<OperationOptionsBase, \"abortSignal\"> = {},\n ): Promise<number> {\n const retryOptions = options.retryOptions || {};\n if (this.isOpen()) {\n return this.link!.maxMessageSize;\n }\n\n const config: RetryConfig<number> = {\n operation: async () => {\n await this.open(undefined, options?.abortSignal);\n\n if (this.link) {\n return this.link.maxMessageSize;\n }\n\n throw new ServiceBusError(\n \"Link failed to initialize, cannot get max message size.\",\n \"GeneralError\",\n );\n },\n connectionId: this._context.connectionId,\n operationType: RetryOperationType.senderLink,\n retryOptions: retryOptions,\n abortSignal: options?.abortSignal,\n };\n\n return retry(config);\n }\n\n async createBatch(options?: CreateMessageBatchOptions): Promise<ServiceBusMessageBatch> {\n throwErrorIfConnectionClosed(this._context);\n let maxMessageSize = await this.getMaxMessageSize({\n retryOptions: this._retryOptions,\n abortSignal: options?.abortSignal,\n });\n if (options?.maxSizeInBytes) {\n if (options.maxSizeInBytes > maxMessageSize!) {\n const error = new Error(\n `Max message size (${options.maxSizeInBytes} bytes) is greater than maximum message size (${maxMessageSize} bytes) on the AMQP sender link.`,\n );\n throw error;\n }\n maxMessageSize = options.maxSizeInBytes;\n }\n return new ServiceBusMessageBatchImpl(this._context, maxMessageSize!);\n }\n\n async sendBatch(\n batchMessage: ServiceBusMessageBatch,\n options?: OperationOptionsBase,\n ): Promise<void> {\n throwErrorIfConnectionClosed(this._context);\n try {\n logger.verbose(\n \"%s Sender '%s', sending encoded batch message.\",\n this.logPrefix,\n this.name,\n batchMessage,\n );\n return await this._trySend(batchMessage._generateMessage(), true, options);\n } catch (err: any) {\n logger.logError(\n err,\n \"%s Sender '%s': An error occurred while sending the messages: %O\\nError\",\n this.logPrefix,\n this.name,\n batchMessage,\n );\n throw err;\n }\n }\n\n static create(\n identifier: string,\n context: ConnectionContext,\n entityPath: string,\n retryOptions: RetryOptions,\n ): MessageSender {\n throwErrorIfConnectionClosed(context);\n\n const sbSender = new MessageSender(identifier, context, entityPath, retryOptions);\n context.senders[sbSender.name] = sbSender;\n return sbSender;\n }\n\n protected removeLinkFromContext(): void {\n delete this._context.senders[this.name];\n }\n}\n"]}
@@ -0,0 +1,45 @@
1
+ import type { Receiver } from "rhea-promise";
2
+ /**
3
+ * Wraps the receiver with some higher level operations for managing state
4
+ * like credits, draining, etc...
5
+ *
6
+ * @internal
7
+ */
8
+ export declare class ReceiverHelper {
9
+ private _getCurrentReceiver;
10
+ private _isSuspended;
11
+ constructor(_getCurrentReceiver: () => {
12
+ receiver: Receiver | undefined;
13
+ logPrefix: string;
14
+ });
15
+ private _getCurrentReceiverOrError;
16
+ /**
17
+ * Adds credits to the receiver, respecting any state that
18
+ * indicates the receiver is closed or should not continue
19
+ * to receive more messages.
20
+ *
21
+ * @param credits - Number of credits to add.
22
+ * or `stopReceivingMessages` has been called.
23
+ */
24
+ addCredit(credits: number): void;
25
+ /**
26
+ * Drains the credits for the receiver and prevents the `receiverHelper.addCredit()` method from adding credits.
27
+ * Call `resume()` to enable the `addCredit()` method.
28
+ */
29
+ suspend(): Promise<void>;
30
+ /**
31
+ * Resets tracking so `addCredit` works again by toggling the `_isSuspended` flag.
32
+ */
33
+ resume(): void;
34
+ isSuspended(): boolean;
35
+ /**
36
+ * Initiates a drain for the current receiver and resolves when
37
+ * the drain has completed.
38
+ *
39
+ * NOTE: This method returns immediately if the receiver is not valid or if there
40
+ * are no pending credits on the receiver (ie: `receiver.credit === 0`).
41
+ */
42
+ drain(): Promise<void>;
43
+ private _isValidReceiver;
44
+ }
45
+ //# sourceMappingURL=receiverHelper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"receiverHelper.d.ts","sourceRoot":"","sources":["../../../src/core/receiverHelper.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAM7C;;;;;GAKG;AACH,qBAAa,cAAc;IAIvB,OAAO,CAAC,mBAAmB;IAH7B,OAAO,CAAC,YAAY,CAAiB;gBAG3B,mBAAmB,EAAE,MAAM;QAAE,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;IAG1F,OAAO,CAAC,0BAA0B;IAsBlC;;;;;;;OAOG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAqBhC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB9B;;OAEG;IACH,MAAM,IAAI,IAAI;IAId,WAAW,IAAI,OAAO;IAItB;;;;;;OAMG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAqC5B,OAAO,CAAC,gBAAgB;CAGzB"}
@@ -0,0 +1,118 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import { AbortError } from "@azure/abort-controller";
4
+ import { ReceiverEvents } from "rhea-promise";
5
+ import { receiverLogger as logger } from "../log.js";
6
+ import { ServiceBusError } from "../serviceBusError.js";
7
+ import { receiveDrainTimeoutInMs } from "../util/constants.js";
8
+ /**
9
+ * Wraps the receiver with some higher level operations for managing state
10
+ * like credits, draining, etc...
11
+ *
12
+ * @internal
13
+ */
14
+ export class ReceiverHelper {
15
+ constructor(_getCurrentReceiver) {
16
+ this._getCurrentReceiver = _getCurrentReceiver;
17
+ this._isSuspended = true;
18
+ }
19
+ _getCurrentReceiverOrError() {
20
+ const currentReceiverData = this._getCurrentReceiver();
21
+ if (currentReceiverData.receiver == null) {
22
+ return "is undefined";
23
+ }
24
+ if (!currentReceiverData.receiver.isOpen()) {
25
+ return "is not open";
26
+ }
27
+ if (this._isSuspended) {
28
+ return "is suspended";
29
+ }
30
+ return currentReceiverData;
31
+ }
32
+ /**
33
+ * Adds credits to the receiver, respecting any state that
34
+ * indicates the receiver is closed or should not continue
35
+ * to receive more messages.
36
+ *
37
+ * @param credits - Number of credits to add.
38
+ * or `stopReceivingMessages` has been called.
39
+ */
40
+ addCredit(credits) {
41
+ const currentReceiverOrError = this._getCurrentReceiverOrError();
42
+ if (typeof currentReceiverOrError === "string") {
43
+ const errorMessage = `Cannot request messages on the receiver since it ${currentReceiverOrError}.`;
44
+ if (currentReceiverOrError === "is suspended") {
45
+ // if a user has suspended the receiver we should consider this a non-retryable
46
+ // error since it absolutely requires user intervention.
47
+ throw new AbortError(errorMessage);
48
+ }
49
+ throw new ServiceBusError(errorMessage, "GeneralError");
50
+ }
51
+ if (currentReceiverOrError.receiver != null) {
52
+ logger.verbose(`${currentReceiverOrError.logPrefix} Adding ${credits} credits`);
53
+ currentReceiverOrError.receiver.addCredit(credits);
54
+ }
55
+ }
56
+ /**
57
+ * Drains the credits for the receiver and prevents the `receiverHelper.addCredit()` method from adding credits.
58
+ * Call `resume()` to enable the `addCredit()` method.
59
+ */
60
+ async suspend() {
61
+ const { receiver, logPrefix } = this._getCurrentReceiver();
62
+ this._isSuspended = true;
63
+ if (!this._isValidReceiver(receiver)) {
64
+ return;
65
+ }
66
+ logger.verbose(`${logPrefix} User has requested to stop receiving new messages, attempting to drain.`);
67
+ return this.drain();
68
+ }
69
+ /**
70
+ * Resets tracking so `addCredit` works again by toggling the `_isSuspended` flag.
71
+ */
72
+ resume() {
73
+ this._isSuspended = false;
74
+ }
75
+ isSuspended() {
76
+ return this._isSuspended;
77
+ }
78
+ /**
79
+ * Initiates a drain for the current receiver and resolves when
80
+ * the drain has completed.
81
+ *
82
+ * NOTE: This method returns immediately if the receiver is not valid or if there
83
+ * are no pending credits on the receiver (ie: `receiver.credit === 0`).
84
+ */
85
+ async drain() {
86
+ const { receiver, logPrefix } = this._getCurrentReceiver();
87
+ if (!this._isValidReceiver(receiver)) {
88
+ // TODO: should we throw?
89
+ return;
90
+ }
91
+ if (receiver.credit === 0) {
92
+ // nothing to drain
93
+ return;
94
+ }
95
+ logger.verbose(`${logPrefix} Receiver is starting drain. Remaining credits; ${receiver.credit}`);
96
+ const drainPromise = new Promise((resolve) => {
97
+ const timer = setTimeout(async () => {
98
+ logger.warning(`${logPrefix} Time out when draining credits in suspend().`);
99
+ // Close the receiver link since we have not received the receiver_drained event
100
+ // to prevent out-of-sync link state between local and remote
101
+ await (receiver === null || receiver === void 0 ? void 0 : receiver.close());
102
+ resolve();
103
+ }, receiveDrainTimeoutInMs);
104
+ receiver.once(ReceiverEvents.receiverDrained, () => {
105
+ logger.verbose(`${logPrefix} Receiver has been drained.`);
106
+ receiver.drain = false;
107
+ clearTimeout(timer);
108
+ resolve();
109
+ });
110
+ receiver.drainCredit();
111
+ });
112
+ return drainPromise;
113
+ }
114
+ _isValidReceiver(receiver) {
115
+ return receiver != null && receiver.isOpen();
116
+ }
117
+ }
118
+ //# sourceMappingURL=receiverHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"receiverHelper.js","sourceRoot":"","sources":["../../../src/core/receiverHelper.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { AbortError } from \"@azure/abort-controller\";\nimport type { Receiver } from \"rhea-promise\";\nimport { ReceiverEvents } from \"rhea-promise\";\nimport { receiverLogger as logger } from \"../log.js\";\nimport { ServiceBusError } from \"../serviceBusError.js\";\nimport { receiveDrainTimeoutInMs } from \"../util/constants.js\";\n\n/**\n * Wraps the receiver with some higher level operations for managing state\n * like credits, draining, etc...\n *\n * @internal\n */\nexport class ReceiverHelper {\n private _isSuspended: boolean = true;\n\n constructor(\n private _getCurrentReceiver: () => { receiver: Receiver | undefined; logPrefix: string },\n ) {}\n\n private _getCurrentReceiverOrError():\n | \"is undefined\"\n | \"is not open\"\n | \"is suspended\"\n | { receiver: Receiver | undefined; logPrefix: string } {\n const currentReceiverData = this._getCurrentReceiver();\n\n if (currentReceiverData.receiver == null) {\n return \"is undefined\";\n }\n\n if (!currentReceiverData.receiver.isOpen()) {\n return \"is not open\";\n }\n\n if (this._isSuspended) {\n return \"is suspended\";\n }\n\n return currentReceiverData;\n }\n\n /**\n * Adds credits to the receiver, respecting any state that\n * indicates the receiver is closed or should not continue\n * to receive more messages.\n *\n * @param credits - Number of credits to add.\n * or `stopReceivingMessages` has been called.\n */\n addCredit(credits: number): void {\n const currentReceiverOrError = this._getCurrentReceiverOrError();\n\n if (typeof currentReceiverOrError === \"string\") {\n const errorMessage = `Cannot request messages on the receiver since it ${currentReceiverOrError}.`;\n\n if (currentReceiverOrError === \"is suspended\") {\n // if a user has suspended the receiver we should consider this a non-retryable\n // error since it absolutely requires user intervention.\n throw new AbortError(errorMessage);\n }\n\n throw new ServiceBusError(errorMessage, \"GeneralError\");\n }\n\n if (currentReceiverOrError.receiver != null) {\n logger.verbose(`${currentReceiverOrError.logPrefix} Adding ${credits} credits`);\n currentReceiverOrError.receiver.addCredit(credits);\n }\n }\n\n /**\n * Drains the credits for the receiver and prevents the `receiverHelper.addCredit()` method from adding credits.\n * Call `resume()` to enable the `addCredit()` method.\n */\n async suspend(): Promise<void> {\n const { receiver, logPrefix } = this._getCurrentReceiver();\n\n this._isSuspended = true;\n\n if (!this._isValidReceiver(receiver)) {\n return;\n }\n\n logger.verbose(\n `${logPrefix} User has requested to stop receiving new messages, attempting to drain.`,\n );\n\n return this.drain();\n }\n\n /**\n * Resets tracking so `addCredit` works again by toggling the `_isSuspended` flag.\n */\n resume(): void {\n this._isSuspended = false;\n }\n\n isSuspended(): boolean {\n return this._isSuspended;\n }\n\n /**\n * Initiates a drain for the current receiver and resolves when\n * the drain has completed.\n *\n * NOTE: This method returns immediately if the receiver is not valid or if there\n * are no pending credits on the receiver (ie: `receiver.credit === 0`).\n */\n async drain(): Promise<void> {\n const { receiver, logPrefix } = this._getCurrentReceiver();\n\n if (!this._isValidReceiver(receiver)) {\n // TODO: should we throw?\n return;\n }\n\n if (receiver.credit === 0) {\n // nothing to drain\n return;\n }\n\n logger.verbose(\n `${logPrefix} Receiver is starting drain. Remaining credits; ${receiver.credit}`,\n );\n\n const drainPromise = new Promise<void>((resolve) => {\n const timer = setTimeout(async () => {\n logger.warning(`${logPrefix} Time out when draining credits in suspend().`);\n // Close the receiver link since we have not received the receiver_drained event\n // to prevent out-of-sync link state between local and remote\n await receiver?.close();\n resolve();\n }, receiveDrainTimeoutInMs);\n receiver.once(ReceiverEvents.receiverDrained, () => {\n logger.verbose(`${logPrefix} Receiver has been drained.`);\n receiver.drain = false;\n clearTimeout(timer);\n resolve();\n });\n receiver.drainCredit();\n });\n\n return drainPromise;\n }\n\n private _isValidReceiver(receiver: Receiver | undefined): receiver is Receiver {\n return receiver != null && receiver.isOpen();\n }\n}\n"]}