@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,403 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import { __rest } from "tslib";
4
+ import { AmqpAnnotatedMessage, Constants } from "@azure/core-amqp";
5
+ import { Buffer } from "buffer";
6
+ import Long from "long";
7
+ import { uuid_to_string } from "rhea-promise";
8
+ import { defaultDataTransformer } from "./dataTransformer.js";
9
+ import { messageLogger as logger } from "./log.js";
10
+ import { isDefined, isObjectWithProperties } from "@azure/core-util";
11
+ import { reorderLockToken } from "./util/utils.js";
12
+ /**
13
+ * @internal
14
+ */
15
+ export var DispositionType;
16
+ (function (DispositionType) {
17
+ DispositionType["complete"] = "complete";
18
+ DispositionType["deadletter"] = "deadletter";
19
+ DispositionType["abandon"] = "abandon";
20
+ DispositionType["defer"] = "defer";
21
+ })(DispositionType || (DispositionType = {}));
22
+ /**
23
+ * @internal
24
+ * Gets the error message for when a property on given message is not of expected type
25
+ */
26
+ export function getMessagePropertyTypeMismatchError(msg) {
27
+ if (msg.contentType != null && typeof msg.contentType !== "string") {
28
+ return new TypeError("The property 'contentType' on the message must be of type 'string'");
29
+ }
30
+ if (msg.subject != null && typeof msg.subject !== "string") {
31
+ return new TypeError("The property 'label' on the message must be of type 'string'");
32
+ }
33
+ if (msg.to != null && typeof msg.to !== "string") {
34
+ return new TypeError("The property 'to' on the message must be of type 'string'");
35
+ }
36
+ if (msg.replyTo != null && typeof msg.replyTo !== "string") {
37
+ return new TypeError("The property 'replyTo' on the message must be of type 'string'");
38
+ }
39
+ if (msg.replyToSessionId != null && typeof msg.replyToSessionId !== "string") {
40
+ return new TypeError("The property 'replyToSessionId' on the message must be of type 'string'");
41
+ }
42
+ if (msg.timeToLive != null && typeof msg.timeToLive !== "number") {
43
+ return new TypeError("The property 'timeToLive' on the message must be of type 'number'");
44
+ }
45
+ if (msg.sessionId != null && typeof msg.sessionId !== "string") {
46
+ return new TypeError("The property 'sessionId' on the message must be of type 'string'");
47
+ }
48
+ if (msg.messageId != null &&
49
+ typeof msg.messageId !== "string" &&
50
+ typeof msg.messageId !== "number" &&
51
+ !Buffer.isBuffer(msg.messageId)) {
52
+ return new TypeError("The property 'messageId' on the message must be of type string, number or Buffer");
53
+ }
54
+ if (msg.correlationId != null &&
55
+ typeof msg.correlationId !== "string" &&
56
+ typeof msg.correlationId !== "number" &&
57
+ !Buffer.isBuffer(msg.correlationId)) {
58
+ return new TypeError("The property 'correlationId' on the message must be of type string, number or Buffer");
59
+ }
60
+ return;
61
+ }
62
+ /**
63
+ * @internal
64
+ * Converts given ServiceBusMessage to RheaMessage
65
+ */
66
+ export function toRheaMessage(msg, encoder) {
67
+ var _a, _b;
68
+ let amqpMsg;
69
+ if (isAmqpAnnotatedMessage(msg)) {
70
+ amqpMsg = Object.assign(Object.assign({}, AmqpAnnotatedMessage.toRheaMessage(msg)), { body: encoder.encode(msg.body, (_a = msg.bodyType) !== null && _a !== void 0 ? _a : "data") });
71
+ }
72
+ else {
73
+ let bodyType = "data";
74
+ if (isServiceBusReceivedMessage(msg)) {
75
+ /*
76
+ * TODO: this is a bit complicated.
77
+ *
78
+ * It seems reasonable to expect to be able to round-trip a message (ie,
79
+ * receive a message, and then send it again, possibly to another queue / topic).
80
+ * If the user does that we need to make sure to respect their original AMQP
81
+ * type so when the message is re - encoded we don't put 'body' into the wrong spot.
82
+ *
83
+ * The complication is that we need to decide if we're okay with respecting a field
84
+ * from the rawAmqpMessage, which up until now we've treated as just vestigial
85
+ * information on send. My hope is that the use case of "alter the sb message in some
86
+ * incompatible way with the underying _rawAmqpMessage.bodyType" is not common
87
+ * enough for us to try to do anything more than what I'm doing here.
88
+ */
89
+ bodyType = (_b = msg._rawAmqpMessage.bodyType) !== null && _b !== void 0 ? _b : "data";
90
+ }
91
+ // TODO: it seems sensible that we'd also do this for AMQPAnnotated message.
92
+ const validationError = getMessagePropertyTypeMismatchError(msg);
93
+ if (validationError) {
94
+ throw validationError;
95
+ }
96
+ amqpMsg = {
97
+ body: encoder.encode(msg.body, bodyType),
98
+ message_annotations: {},
99
+ };
100
+ if (msg.timeToLive) {
101
+ amqpMsg.ttl = Math.min(msg.timeToLive, Constants.maxUint32Value);
102
+ amqpMsg.creation_time = new Date();
103
+ amqpMsg.absolute_expiry_time = new Date(Math.min(amqpMsg.creation_time.getTime() + amqpMsg.ttl, Constants.maxAbsoluteExpiryTime));
104
+ }
105
+ }
106
+ if (isAmqpAnnotatedMessage(msg)) {
107
+ return amqpMsg;
108
+ }
109
+ if (msg.applicationProperties != null) {
110
+ amqpMsg.application_properties = msg.applicationProperties;
111
+ }
112
+ if (msg.contentType != null) {
113
+ amqpMsg.content_type = msg.contentType;
114
+ }
115
+ if (msg.sessionId != null) {
116
+ if (msg.sessionId.length > Constants.maxSessionIdLength) {
117
+ throw new Error("Length of 'sessionId' property on the message cannot be greater than 128 characters.");
118
+ }
119
+ amqpMsg.group_id = msg.sessionId;
120
+ }
121
+ if (msg.replyTo != null) {
122
+ amqpMsg.reply_to = msg.replyTo;
123
+ }
124
+ if (msg.to != null) {
125
+ amqpMsg.to = msg.to;
126
+ }
127
+ if (msg.subject != null) {
128
+ amqpMsg.subject = msg.subject;
129
+ }
130
+ updateMessageId(amqpMsg, msg.messageId);
131
+ if (msg.correlationId != null) {
132
+ amqpMsg.correlation_id = msg.correlationId;
133
+ }
134
+ if (msg.replyToSessionId != null) {
135
+ amqpMsg.reply_to_group_id = msg.replyToSessionId;
136
+ }
137
+ if (msg.partitionKey != null) {
138
+ if (msg.partitionKey.length > Constants.maxPartitionKeyLength) {
139
+ throw new Error("Length of 'partitionKey' property on the message cannot be greater than 128 characters.");
140
+ }
141
+ amqpMsg.message_annotations[Constants.partitionKey] = msg.partitionKey;
142
+ }
143
+ // Will be required later for implementing Transactions
144
+ // if (msg.viaPartitionKey != null) {
145
+ // if (msg.viaPartitionKey.length > Constants.maxPartitionKeyLength) {
146
+ // throw new Error(
147
+ // "Length of 'viaPartitionKey' property on the message cannot be greater than 128 characters."
148
+ // );
149
+ // }
150
+ // amqpMsg.message_annotations![Constants.viaPartitionKey] = msg.viaPartitionKey;
151
+ // }
152
+ updateScheduledTime(amqpMsg, msg.scheduledEnqueueTimeUtc);
153
+ logger.verbose("SBMessage to RheaMessage: %O", amqpMsg);
154
+ return amqpMsg;
155
+ }
156
+ /** @internal */
157
+ export function updateMessageId(rheaMessage, messageId) {
158
+ if (messageId != null) {
159
+ if (typeof messageId === "string" && messageId.length > Constants.maxMessageIdLength) {
160
+ throw new Error(`Length of 'messageId' property on the message cannot be greater than ${Constants.maxMessageIdLength} characters.`);
161
+ }
162
+ rheaMessage.message_id = messageId;
163
+ }
164
+ }
165
+ /** @internal */
166
+ export function updateScheduledTime(rheaMessage, scheduledEnqueuedTimeUtc) {
167
+ var _a;
168
+ if (scheduledEnqueuedTimeUtc != null) {
169
+ rheaMessage.message_annotations = (_a = rheaMessage.message_annotations) !== null && _a !== void 0 ? _a : {};
170
+ rheaMessage.message_annotations[Constants.scheduledEnqueueTime] = scheduledEnqueuedTimeUtc;
171
+ }
172
+ }
173
+ /**
174
+ * @internal
175
+ * Converts given RheaMessage to ServiceBusReceivedMessage
176
+ */
177
+ export function fromRheaMessage(rheaMessage, options) {
178
+ var _a, _b, _c, _d, _e;
179
+ if (!rheaMessage) {
180
+ rheaMessage = {
181
+ body: undefined,
182
+ };
183
+ }
184
+ const { skipParsingBodyAsJson, delivery, shouldReorderLockToken, skipConvertingDate = false, } = options;
185
+ const { body, bodyType } = defaultDataTransformer.decodeWithType(rheaMessage.body, skipParsingBodyAsJson);
186
+ const sbmsg = {
187
+ body: body,
188
+ };
189
+ if (rheaMessage.application_properties != null) {
190
+ sbmsg.applicationProperties = skipConvertingDate
191
+ ? rheaMessage.application_properties
192
+ : convertDatesToNumbers(rheaMessage.application_properties);
193
+ }
194
+ if (rheaMessage.content_type != null) {
195
+ sbmsg.contentType = rheaMessage.content_type;
196
+ }
197
+ if (rheaMessage.group_id != null) {
198
+ sbmsg.sessionId = rheaMessage.group_id;
199
+ }
200
+ if (rheaMessage.reply_to != null) {
201
+ sbmsg.replyTo = rheaMessage.reply_to;
202
+ }
203
+ if (rheaMessage.to != null) {
204
+ sbmsg.to = rheaMessage.to;
205
+ }
206
+ if (rheaMessage.subject != null) {
207
+ sbmsg.subject = rheaMessage.subject;
208
+ }
209
+ if (rheaMessage.message_id != null) {
210
+ sbmsg.messageId = rheaMessage.message_id;
211
+ }
212
+ if (rheaMessage.correlation_id != null) {
213
+ sbmsg.correlationId = rheaMessage.correlation_id;
214
+ }
215
+ if (rheaMessage.reply_to_group_id != null) {
216
+ sbmsg.replyToSessionId = rheaMessage.reply_to_group_id;
217
+ }
218
+ if (rheaMessage.message_annotations != null) {
219
+ if (rheaMessage.message_annotations[Constants.partitionKey] != null) {
220
+ sbmsg.partitionKey = rheaMessage.message_annotations[Constants.partitionKey];
221
+ }
222
+ // Will be required later for implementing Transactions
223
+ // if (msg.message_annotations[Constants.viaPartitionKey] != null) {
224
+ // sbmsg.viaPartitionKey = msg.message_annotations[Constants.viaPartitionKey];
225
+ // }
226
+ if (rheaMessage.message_annotations[Constants.scheduledEnqueueTime] != null) {
227
+ sbmsg.scheduledEnqueueTimeUtc =
228
+ rheaMessage.message_annotations[Constants.scheduledEnqueueTime];
229
+ }
230
+ }
231
+ const props = { state: "active" };
232
+ if (rheaMessage.message_annotations != null) {
233
+ if (rheaMessage.message_annotations[Constants.deadLetterSource] != null) {
234
+ props.deadLetterSource = rheaMessage.message_annotations[Constants.deadLetterSource];
235
+ }
236
+ const messageState = rheaMessage.message_annotations[Constants.messageState];
237
+ if (messageState === 1) {
238
+ props.state = "deferred";
239
+ }
240
+ else if (messageState === 2) {
241
+ props.state = "scheduled";
242
+ }
243
+ if (rheaMessage.message_annotations[Constants.enqueueSequenceNumber] != null) {
244
+ props.enqueuedSequenceNumber =
245
+ rheaMessage.message_annotations[Constants.enqueueSequenceNumber];
246
+ }
247
+ if (rheaMessage.message_annotations[Constants.sequenceNumber] != null) {
248
+ if (Buffer.isBuffer(rheaMessage.message_annotations[Constants.sequenceNumber])) {
249
+ props.sequenceNumber = Long.fromBytesBE(rheaMessage.message_annotations[Constants.sequenceNumber]);
250
+ }
251
+ else {
252
+ props.sequenceNumber = Long.fromNumber(rheaMessage.message_annotations[Constants.sequenceNumber]);
253
+ }
254
+ }
255
+ if (rheaMessage.message_annotations[Constants.enqueuedTime] != null) {
256
+ props.enqueuedTimeUtc = new Date(rheaMessage.message_annotations[Constants.enqueuedTime]);
257
+ }
258
+ if (rheaMessage.message_annotations[Constants.lockedUntil] != null) {
259
+ props.lockedUntilUtc = new Date(rheaMessage.message_annotations[Constants.lockedUntil]);
260
+ }
261
+ }
262
+ const rawMessage = AmqpAnnotatedMessage.fromRheaMessage(rheaMessage);
263
+ rawMessage.bodyType = bodyType;
264
+ if (rheaMessage.ttl == null) {
265
+ rheaMessage.ttl = (_b = (_a = rawMessage.header) === null || _a === void 0 ? void 0 : _a.timeToLive) !== null && _b !== void 0 ? _b : Constants.maxDurationValue;
266
+ }
267
+ if (props.enqueuedTimeUtc) {
268
+ props.expiresAtUtc = new Date(Math.min(props.enqueuedTimeUtc.getTime() + rheaMessage.ttl, Constants.maxDurationValue));
269
+ }
270
+ if (rawMessage.applicationProperties) {
271
+ rawMessage.applicationProperties = skipConvertingDate
272
+ ? rawMessage.applicationProperties
273
+ : convertDatesToNumbers(rawMessage.applicationProperties);
274
+ }
275
+ if (rawMessage.deliveryAnnotations) {
276
+ rawMessage.deliveryAnnotations = skipConvertingDate
277
+ ? rawMessage.deliveryAnnotations
278
+ : convertDatesToNumbers(rawMessage.deliveryAnnotations);
279
+ }
280
+ if (rawMessage.messageAnnotations) {
281
+ rawMessage.messageAnnotations = skipConvertingDate
282
+ ? rawMessage.messageAnnotations
283
+ : convertDatesToNumbers(rawMessage.messageAnnotations);
284
+ }
285
+ if ((_c = rawMessage.header) === null || _c === void 0 ? void 0 : _c.timeToLive) {
286
+ sbmsg.timeToLive = rawMessage.header.timeToLive;
287
+ }
288
+ const rcvdsbmsg = Object.assign(Object.assign(Object.assign({ _rawAmqpMessage: rawMessage, deliveryCount: rheaMessage.delivery_count, lockToken: delivery && delivery.tag && delivery.tag.length !== 0
289
+ ? uuid_to_string(shouldReorderLockToken === true
290
+ ? reorderLockToken(typeof delivery.tag === "string" ? Buffer.from(delivery.tag) : delivery.tag)
291
+ : typeof delivery.tag === "string"
292
+ ? Buffer.from(delivery.tag)
293
+ : delivery.tag)
294
+ : undefined }, sbmsg), props), { deadLetterReason: (_d = sbmsg.applicationProperties) === null || _d === void 0 ? void 0 : _d.DeadLetterReason, deadLetterErrorDescription: (_e = sbmsg.applicationProperties) === null || _e === void 0 ? void 0 : _e.DeadLetterErrorDescription });
295
+ logger.verbose("AmqpMessage to ServiceBusReceivedMessage: %O", rcvdsbmsg);
296
+ return rcvdsbmsg;
297
+ }
298
+ /**
299
+ * @internal
300
+ */
301
+ export function isServiceBusMessage(possible) {
302
+ return isObjectWithProperties(possible, ["body"]);
303
+ }
304
+ /**
305
+ * @internal
306
+ */
307
+ export function isAmqpAnnotatedMessage(possible) {
308
+ return (isObjectWithProperties(possible, ["body", "bodyType"]) &&
309
+ possible.constructor.name !== ServiceBusMessageImpl.name);
310
+ }
311
+ /**
312
+ * @internal
313
+ */
314
+ export function isServiceBusReceivedMessage(possible) {
315
+ return isServiceBusMessage(possible) && "_rawAmqpMessage" in possible;
316
+ }
317
+ /**
318
+ * Describes the message received from Service Bus.
319
+ *
320
+ * @internal
321
+ */
322
+ export class ServiceBusMessageImpl {
323
+ /**
324
+ * @internal
325
+ */
326
+ constructor(msg, delivery, shouldReorderLockToken, receiveMode, skipParsingBodyAsJson, skipConvertingDate) {
327
+ const _a = fromRheaMessage(msg, { skipParsingBodyAsJson, delivery, shouldReorderLockToken, skipConvertingDate }), { _rawAmqpMessage } = _a, restOfMessageProps = __rest(_a, ["_rawAmqpMessage"]);
328
+ this._rawAmqpMessage = _rawAmqpMessage; // need to initialize _rawAmqpMessage property to make compiler happy
329
+ Object.assign(this, restOfMessageProps);
330
+ this.state = restOfMessageProps.state; // to suppress error TS2564: Property 'state' has no initializer and is not definitely assigned in the constructor.
331
+ // Lock on a message is applicable only in peekLock mode, but the service sets
332
+ // the lock token even in receiveAndDelete mode if the entity in question is partitioned.
333
+ if (receiveMode === "receiveAndDelete") {
334
+ this.lockToken = undefined;
335
+ }
336
+ this.delivery = delivery;
337
+ }
338
+ /**
339
+ * Creates a clone of the current message to allow it to be re-sent to the queue
340
+ * @returns ServiceBusMessage
341
+ */
342
+ clone() {
343
+ // We are returning a ServiceBusMessage object because that object can then be sent to Service Bus
344
+ const clone = {
345
+ body: this.body,
346
+ contentType: this.contentType,
347
+ correlationId: this.correlationId,
348
+ subject: this.subject,
349
+ messageId: this.messageId,
350
+ partitionKey: this.partitionKey,
351
+ replyTo: this.replyTo,
352
+ replyToSessionId: this.replyToSessionId,
353
+ scheduledEnqueueTimeUtc: this.scheduledEnqueueTimeUtc,
354
+ sessionId: this.sessionId,
355
+ timeToLive: this.timeToLive,
356
+ to: this.to,
357
+ applicationProperties: this.applicationProperties,
358
+ // Will be required later for implementing Transactions
359
+ // viaPartitionKey: this.viaPartitionKey
360
+ };
361
+ return clone;
362
+ }
363
+ }
364
+ /**
365
+ * Converts any Date objects into a number representing date.getTime().
366
+ * Recursively checks for any Date objects in arrays and objects.
367
+ * @internal
368
+ */
369
+ function convertDatesToNumbers(thing) {
370
+ // fast exit
371
+ if (!isDefined(thing))
372
+ return thing;
373
+ // When 'thing' is a Date, return the number representation
374
+ if (typeof thing === "object" &&
375
+ isObjectWithProperties(thing, ["getTime"]) &&
376
+ typeof thing.getTime === "function") {
377
+ return thing.getTime();
378
+ }
379
+ /*
380
+ Examples:
381
+ [0, 'foo', new Date(), { nested: new Date()}]
382
+ */
383
+ if (Array.isArray(thing)) {
384
+ const result = [];
385
+ for (const element of thing) {
386
+ result.push(convertDatesToNumbers(element));
387
+ }
388
+ return result;
389
+ }
390
+ /*
391
+ Examples:
392
+ { foo: new Date(), children: { nested: new Date() }}
393
+ */
394
+ if (typeof thing === "object" && isDefined(thing)) {
395
+ const thingShallowCopy = Object.assign({}, thing);
396
+ for (const key of Object.keys(thingShallowCopy)) {
397
+ thingShallowCopy[key] = convertDatesToNumbers(thingShallowCopy[key]);
398
+ }
399
+ return thingShallowCopy;
400
+ }
401
+ return thing;
402
+ }
403
+ //# sourceMappingURL=serviceBusMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serviceBusMessage.js","sourceRoot":"","sources":["../../src/serviceBusMessage.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { AmqpAnnotatedMessage, Constants } from \"@azure/core-amqp\";\nimport { Buffer } from \"buffer\";\nimport Long from \"long\";\nimport type {\n Delivery,\n DeliveryAnnotations,\n MessageAnnotations,\n Message as RheaMessage,\n} from \"rhea-promise\";\nimport { uuid_to_string } from \"rhea-promise\";\nimport { defaultDataTransformer } from \"./dataTransformer.js\";\nimport { messageLogger as logger } from \"./log.js\";\nimport type { ReceiveMode } from \"./models.js\";\nimport { isDefined, isObjectWithProperties } from \"@azure/core-util\";\nimport { reorderLockToken } from \"./util/utils.js\";\n\n/**\n * @internal\n */\nexport enum DispositionType {\n complete = \"complete\",\n deadletter = \"deadletter\",\n abandon = \"abandon\",\n defer = \"defer\",\n}\n\n/**\n * @internal\n * Describes the delivery annotations for Service Bus.\n */\nexport interface ServiceBusDeliveryAnnotations extends DeliveryAnnotations {\n /**\n * The offset of the last event.\n */\n last_enqueued_offset?: string;\n /**\n * The sequence number of the last event.\n */\n last_enqueued_sequence_number?: number;\n /**\n * The enqueued time of the last event.\n */\n last_enqueued_time_utc?: number;\n /**\n * The retrieval time of the last event.\n */\n runtime_info_retrieval_time_utc?: number;\n /**\n * Any unknown delivery annotations.\n */\n [x: string]: any;\n}\n\n/**\n * @internal\n * Describes the message annotations for Service Bus.\n */\nexport interface ServiceBusMessageAnnotations extends MessageAnnotations {\n /**\n * Annotation for the partition key set for the event.\n */\n \"x-opt-partition-key\"?: string | null;\n /**\n * Annontation for the sequence number of the event.\n */\n \"x-opt-sequence-number\"?: number;\n /**\n * Annotation for the enqueued time of the event.\n */\n \"x-opt-enqueued-time\"?: number;\n /**\n * Annotation for the offset of the event.\n */\n \"x-opt-offset\"?: string;\n /**\n * Annotation for the message being locked until.\n */\n \"x-opt-locked-until\"?: Date | number;\n /**\n * Annotation for the message state.\n */\n \"x-opt-message-state\"?: number;\n}\n\n/**\n * Describes the reason and error description for dead lettering a message using the `deadLetter()`\n * method on the message received from Service Bus.\n */\nexport interface DeadLetterOptions {\n /**\n * The reason for deadlettering the message.\n */\n deadLetterReason: string;\n /**\n * The error description for deadlettering the message.\n */\n deadLetterErrorDescription: string;\n}\n\n/**\n * Describes the message to be sent to Service Bus.\n */\nexport interface ServiceBusMessage {\n /**\n * The message body that needs to be sent or is received.\n * If the application receiving the message is not using this SDK,\n * convert your body payload to a byte array or Buffer for better\n * cross-language compatibility.\n */\n body: any;\n /**\n * The message identifier is an\n * application-defined value that uniquely identifies the message and its payload.\n *\n * Note: Numbers that are not whole integers are not allowed.\n */\n messageId?: string | number | Buffer;\n /**\n * The content type of the message. Optionally describes\n * the payload of the message, with a descriptor following the format of RFC2045, Section 5, for\n * example \"application/json\".\n */\n contentType?: string;\n /**\n * The correlation identifier that allows an\n * application to specify a context for the message for the purposes of correlation, for example\n * reflecting the MessageId of a message that is being replied to.\n * See {@link https://learn.microsoft.com/azure/service-bus-messaging/service-bus-messages-payloads?#message-routing-and-correlation | Message Routing and Correlation}.\n */\n correlationId?: string | number | Buffer;\n /**\n * The partition key for sending a message to a partitioned entity.\n * Maximum length is 128 characters. For {@link https://learn.microsoft.com/azure/service-bus-messaging/service-bus-partitioning | partitioned entities},\n * setting this value enables assigning related messages to the same internal partition,\n * so that submission sequence order is correctly recorded. The partition is chosen by a hash\n * function over this value and cannot be chosen directly.\n * - For session-aware entities, the `sessionId` property overrides this value.\n * - For non partitioned entities, partition key will be ignored\n *\n */\n partitionKey?: string;\n /**\n * The partition key for sending a message into an entity\n * via a partitioned transfer queue. Maximum length is 128 characters. If a message is sent via a\n * transfer queue in the scope of a transaction, this value selects the transfer queue partition:\n * This is functionally equivalent to `partitionKey` property and ensures that messages are kept\n * together and in order as they are transferred.\n * See {@link https://learn.microsoft.com/azure/service-bus-messaging/service-bus-transactions#transfers-and-send-via | Transfers and Send Via}.\n */\n\n // Will be required later for implementing Transactions\n // viaPartitionKey?: string;\n\n /**\n * The session identifier for a session-aware entity. Maximum\n * length is 128 characters. For session-aware entities, this application-defined value specifies\n * the session affiliation of the message. Messages with the same session identifier are subject\n * to summary locking and enable exact in-order processing and demultiplexing. For\n * session-unaware entities, this value is ignored.\n * {@link https://learn.microsoft.com/azure/service-bus-messaging/message-sessions | Message Sessions}.\n */\n sessionId?: string;\n /**\n * The session identifier augmenting the `replyTo` address.\n * Maximum length is 128 characters. This value augments the ReplyTo information and specifies\n * which SessionId should be set for the reply when sent to the reply entity.\n * See {@link https://learn.microsoft.com/azure/service-bus-messaging/service-bus-messages-payloads?#message-routing-and-correlation | Message Routing and Correlation}.\n */\n replyToSessionId?: string;\n /**\n * The message’s time to live value. This value is the relative\n * duration after which the message expires, starting from the instant the message has been\n * accepted and stored by the broker, as captured in `enqueuedTimeUtc`. When not set explicitly,\n * the assumed value is the DefaultTimeToLive for the respective queue or topic. A message-level\n * `timeToLive` value cannot be longer than the entity's DefaultTimeToLive setting and it is\n * silently adjusted if it does. See\n * {@link https://learn.microsoft.com/azure/service-bus-messaging/message-expiration | Expiration}.\n */\n timeToLive?: number;\n /**\n * The application specific label. This property enables the\n * application to indicate the purpose of the message to the receiver in a standardized. fashion,\n * similar to an email subject line. The mapped AMQP property is \"subject\".\n */\n subject?: string;\n /**\n * The \"to\" address. This property is reserved for future use in routing\n * scenarios and presently ignored by the broker itself. Applications can use this value in\n * rule-driven {@link https://learn.microsoft.com/azure/service-bus-messaging/service-bus-auto-forwarding | auto-forward chaining}\n * scenarios to indicate the intended logical destination of the message.\n */\n to?: string;\n /**\n * The address of an entity to send replies to. This optional and\n * application-defined value is a standard way to express a reply path to the receiver of the\n * message. When a sender expects a reply, it sets the value to the absolute or relative path of\n * the queue or topic it expects the reply to be sent to. See\n * {@link https://learn.microsoft.com/azure/service-bus-messaging/service-bus-messages-payloads?#message-routing-and-correlation | Message Routing and Correlation}.\n */\n replyTo?: string;\n /**\n * The date and time in UTC at which the message will\n * be enqueued. This property returns the time in UTC; when setting the property, the\n * supplied DateTime value must also be in UTC. This value is for delayed message sending.\n * It is utilized to delay messages sending to a specific time in the future. Message enqueuing\n * time does not mean that the message will be sent at the same time. It will get enqueued,\n * but the actual sending time depends on the queue's workload and its state.\n */\n scheduledEnqueueTimeUtc?: Date;\n /**\n * The application specific properties which can be\n * used for custom message metadata.\n */\n applicationProperties?: { [key: string]: number | boolean | string | Date | null };\n}\n\n/**\n * @internal\n * Gets the error message for when a property on given message is not of expected type\n */\nexport function getMessagePropertyTypeMismatchError(msg: ServiceBusMessage): Error | undefined {\n if (msg.contentType != null && typeof msg.contentType !== \"string\") {\n return new TypeError(\"The property 'contentType' on the message must be of type 'string'\");\n }\n\n if (msg.subject != null && typeof msg.subject !== \"string\") {\n return new TypeError(\"The property 'label' on the message must be of type 'string'\");\n }\n\n if (msg.to != null && typeof msg.to !== \"string\") {\n return new TypeError(\"The property 'to' on the message must be of type 'string'\");\n }\n\n if (msg.replyTo != null && typeof msg.replyTo !== \"string\") {\n return new TypeError(\"The property 'replyTo' on the message must be of type 'string'\");\n }\n\n if (msg.replyToSessionId != null && typeof msg.replyToSessionId !== \"string\") {\n return new TypeError(\"The property 'replyToSessionId' on the message must be of type 'string'\");\n }\n\n if (msg.timeToLive != null && typeof msg.timeToLive !== \"number\") {\n return new TypeError(\"The property 'timeToLive' on the message must be of type 'number'\");\n }\n\n if (msg.sessionId != null && typeof msg.sessionId !== \"string\") {\n return new TypeError(\"The property 'sessionId' on the message must be of type 'string'\");\n }\n\n if (\n msg.messageId != null &&\n typeof msg.messageId !== \"string\" &&\n typeof msg.messageId !== \"number\" &&\n !Buffer.isBuffer(msg.messageId)\n ) {\n return new TypeError(\n \"The property 'messageId' on the message must be of type string, number or Buffer\",\n );\n }\n\n if (\n msg.correlationId != null &&\n typeof msg.correlationId !== \"string\" &&\n typeof msg.correlationId !== \"number\" &&\n !Buffer.isBuffer(msg.correlationId)\n ) {\n return new TypeError(\n \"The property 'correlationId' on the message must be of type string, number or Buffer\",\n );\n }\n return;\n}\n\n/**\n * @internal\n * Converts given ServiceBusMessage to RheaMessage\n */\nexport function toRheaMessage(\n msg: ServiceBusMessage | ServiceBusReceivedMessage | AmqpAnnotatedMessage,\n encoder: Pick<typeof defaultDataTransformer, \"encode\">,\n): RheaMessage {\n let amqpMsg: RheaMessage;\n if (isAmqpAnnotatedMessage(msg)) {\n amqpMsg = {\n ...AmqpAnnotatedMessage.toRheaMessage(msg),\n body: encoder.encode(msg.body, msg.bodyType ?? \"data\"),\n };\n } else {\n let bodyType: \"data\" | \"sequence\" | \"value\" = \"data\";\n\n if (isServiceBusReceivedMessage(msg)) {\n /*\n * TODO: this is a bit complicated.\n *\n * It seems reasonable to expect to be able to round-trip a message (ie,\n * receive a message, and then send it again, possibly to another queue / topic).\n * If the user does that we need to make sure to respect their original AMQP\n * type so when the message is re - encoded we don't put 'body' into the wrong spot.\n *\n * The complication is that we need to decide if we're okay with respecting a field\n * from the rawAmqpMessage, which up until now we've treated as just vestigial\n * information on send. My hope is that the use case of \"alter the sb message in some\n * incompatible way with the underying _rawAmqpMessage.bodyType\" is not common\n * enough for us to try to do anything more than what I'm doing here.\n */\n bodyType = msg._rawAmqpMessage.bodyType ?? \"data\";\n }\n\n // TODO: it seems sensible that we'd also do this for AMQPAnnotated message.\n const validationError = getMessagePropertyTypeMismatchError(msg);\n\n if (validationError) {\n throw validationError;\n }\n\n amqpMsg = {\n body: encoder.encode(msg.body, bodyType),\n message_annotations: {},\n };\n\n if (msg.timeToLive) {\n amqpMsg.ttl = Math.min(msg.timeToLive, Constants.maxUint32Value);\n amqpMsg.creation_time = new Date();\n amqpMsg.absolute_expiry_time = new Date(\n Math.min(amqpMsg.creation_time.getTime() + amqpMsg.ttl, Constants.maxAbsoluteExpiryTime),\n );\n }\n }\n\n if (isAmqpAnnotatedMessage(msg)) {\n return amqpMsg;\n }\n\n if (msg.applicationProperties != null) {\n amqpMsg.application_properties = msg.applicationProperties;\n }\n if (msg.contentType != null) {\n amqpMsg.content_type = msg.contentType;\n }\n if (msg.sessionId != null) {\n if (msg.sessionId.length > Constants.maxSessionIdLength) {\n throw new Error(\n \"Length of 'sessionId' property on the message cannot be greater than 128 characters.\",\n );\n }\n\n amqpMsg.group_id = msg.sessionId;\n }\n if (msg.replyTo != null) {\n amqpMsg.reply_to = msg.replyTo;\n }\n if (msg.to != null) {\n amqpMsg.to = msg.to;\n }\n if (msg.subject != null) {\n amqpMsg.subject = msg.subject;\n }\n\n updateMessageId(amqpMsg, msg.messageId);\n\n if (msg.correlationId != null) {\n amqpMsg.correlation_id = msg.correlationId;\n }\n if (msg.replyToSessionId != null) {\n amqpMsg.reply_to_group_id = msg.replyToSessionId;\n }\n if (msg.partitionKey != null) {\n if (msg.partitionKey.length > Constants.maxPartitionKeyLength) {\n throw new Error(\n \"Length of 'partitionKey' property on the message cannot be greater than 128 characters.\",\n );\n }\n amqpMsg.message_annotations![Constants.partitionKey] = msg.partitionKey;\n }\n\n // Will be required later for implementing Transactions\n // if (msg.viaPartitionKey != null) {\n // if (msg.viaPartitionKey.length > Constants.maxPartitionKeyLength) {\n // throw new Error(\n // \"Length of 'viaPartitionKey' property on the message cannot be greater than 128 characters.\"\n // );\n // }\n // amqpMsg.message_annotations![Constants.viaPartitionKey] = msg.viaPartitionKey;\n // }\n\n updateScheduledTime(amqpMsg, msg.scheduledEnqueueTimeUtc);\n\n logger.verbose(\"SBMessage to RheaMessage: %O\", amqpMsg);\n return amqpMsg;\n}\n\n/** @internal */\nexport function updateMessageId(\n rheaMessage: RheaMessage,\n messageId: RheaMessage[\"message_id\"],\n): void {\n if (messageId != null) {\n if (typeof messageId === \"string\" && messageId.length > Constants.maxMessageIdLength) {\n throw new Error(\n `Length of 'messageId' property on the message cannot be greater than ${Constants.maxMessageIdLength} characters.`,\n );\n }\n\n rheaMessage.message_id = messageId;\n }\n}\n\n/** @internal */\nexport function updateScheduledTime(\n rheaMessage: RheaMessage,\n scheduledEnqueuedTimeUtc: Date | undefined,\n): void {\n if (scheduledEnqueuedTimeUtc != null) {\n rheaMessage.message_annotations = rheaMessage.message_annotations ?? {};\n rheaMessage.message_annotations[Constants.scheduledEnqueueTime] = scheduledEnqueuedTimeUtc;\n }\n}\n\n/**\n * Describes the message received from Service Bus during peek operations and so cannot be settled.\n */\nexport interface ServiceBusReceivedMessage extends ServiceBusMessage {\n /**\n * The reason for deadlettering the message.\n * @readonly\n */\n readonly deadLetterReason?: string;\n /**\n * The error description for deadlettering the message.\n * @readonly\n */\n readonly deadLetterErrorDescription?: string;\n /**\n * The lock token is a reference to the lock that is being held by the broker in\n * `peekLock` receive mode. Locks are used internally settle messages as explained in the\n * {@link https://learn.microsoft.com/azure/service-bus-messaging/message-transfers-locks-settlement | product documentation in more detail}\n * - Not applicable when the message is received in `receiveAndDelete` receive mode.\n * mode.\n * @readonly\n */\n readonly lockToken?: string;\n /**\n * Number of deliveries that have been attempted for this message. The count is\n * incremented when a message lock expires, or the message is explicitly abandoned using the\n * `abandon()` method on the message.\n * @readonly\n */\n readonly deliveryCount?: number;\n /**\n * The UTC instant at which the message has been accepted and stored in Service Bus.\n * @readonly\n */\n readonly enqueuedTimeUtc?: Date;\n /**\n * The UTC instant at which the message is marked for removal and no longer available for\n * retrieval from the entity due to expiration. This property is computed from 2 other properties\n * on the message: `enqueuedTimeUtc` + `timeToLive`.\n */\n readonly expiresAtUtc?: Date;\n /**\n * The UTC instant until which the message is held locked in the queue/subscription.\n * When the lock expires, the `deliveryCount` is incremented and the message is again available\n * for retrieval.\n * - Not applicable when the message is received in `receiveAndDelete` receive mode.\n * mode.\n */\n lockedUntilUtc?: Date;\n /**\n * The original sequence number of the message. For\n * messages that have been auto-forwarded, this property reflects the sequence number that had\n * first been assigned to the message at its original point of submission.\n * @readonly\n */\n readonly enqueuedSequenceNumber?: number;\n /**\n * The unique number assigned to a message by Service Bus.\n * The sequence number is a unique 64-bit integer assigned to a message as it is accepted\n * and stored by the broker and functions as its true identifier. For partitioned entities,\n * the topmost 16 bits reflect the partition identifier. Sequence numbers monotonically increase.\n * They roll over to 0 when the 48-64 bit range is exhausted.\n *\n * **Max safe integer** that Javascript currently supports is `2^53 - 1`. The sequence number\n * is an AMQP `Long` type which can be upto 64 bits long. To represent that we are using a\n * library named {@link https://github.com/dcodeIO/long.js | long.js}. We expect customers\n * to use the **`Long`** type exported by this library.\n * @readonly\n */\n readonly sequenceNumber?: Long;\n /**\n * The name of the queue or subscription that this message\n * was enqueued on, before it was deadlettered. Only set in messages that have been dead-lettered\n * and subsequently auto-forwarded from the dead-letter sub-queue to another entity. Indicates the\n * entity in which the message was dead-lettered.\n * @readonly\n */\n readonly deadLetterSource?: string;\n /**\n * State of the message can be active, deferred or scheduled. Deferred messages have deferred state,\n * scheduled messages have scheduled state, all other messages have active state.\n */\n readonly state: \"active\" | \"deferred\" | \"scheduled\";\n /**\n * The underlying raw amqp message.\n * @readonly\n */\n readonly _rawAmqpMessage: AmqpAnnotatedMessage;\n}\n\n/**\n * @internal\n * Converts given RheaMessage to ServiceBusReceivedMessage\n */\nexport function fromRheaMessage(\n rheaMessage: RheaMessage,\n options: {\n skipParsingBodyAsJson: boolean;\n skipConvertingDate?: boolean;\n delivery?: Delivery;\n shouldReorderLockToken?: boolean;\n },\n): ServiceBusReceivedMessage {\n if (!rheaMessage) {\n rheaMessage = {\n body: undefined,\n };\n }\n const {\n skipParsingBodyAsJson,\n delivery,\n shouldReorderLockToken,\n skipConvertingDate = false,\n } = options;\n const { body, bodyType } = defaultDataTransformer.decodeWithType(\n rheaMessage.body,\n skipParsingBodyAsJson,\n );\n\n const sbmsg: ServiceBusMessage = {\n body: body,\n };\n\n if (rheaMessage.application_properties != null) {\n sbmsg.applicationProperties = skipConvertingDate\n ? rheaMessage.application_properties\n : convertDatesToNumbers(rheaMessage.application_properties);\n }\n if (rheaMessage.content_type != null) {\n sbmsg.contentType = rheaMessage.content_type;\n }\n if (rheaMessage.group_id != null) {\n sbmsg.sessionId = rheaMessage.group_id;\n }\n if (rheaMessage.reply_to != null) {\n sbmsg.replyTo = rheaMessage.reply_to;\n }\n if (rheaMessage.to != null) {\n sbmsg.to = rheaMessage.to;\n }\n if (rheaMessage.subject != null) {\n sbmsg.subject = rheaMessage.subject;\n }\n if (rheaMessage.message_id != null) {\n sbmsg.messageId = rheaMessage.message_id;\n }\n if (rheaMessage.correlation_id != null) {\n sbmsg.correlationId = rheaMessage.correlation_id;\n }\n if (rheaMessage.reply_to_group_id != null) {\n sbmsg.replyToSessionId = rheaMessage.reply_to_group_id;\n }\n\n if (rheaMessage.message_annotations != null) {\n if (rheaMessage.message_annotations[Constants.partitionKey] != null) {\n sbmsg.partitionKey = rheaMessage.message_annotations[Constants.partitionKey];\n }\n\n // Will be required later for implementing Transactions\n // if (msg.message_annotations[Constants.viaPartitionKey] != null) {\n // sbmsg.viaPartitionKey = msg.message_annotations[Constants.viaPartitionKey];\n // }\n\n if (rheaMessage.message_annotations[Constants.scheduledEnqueueTime] != null) {\n sbmsg.scheduledEnqueueTimeUtc =\n rheaMessage.message_annotations[Constants.scheduledEnqueueTime];\n }\n }\n\n type PartialWritable<T> = Partial<{\n -readonly [P in keyof T]: T[P];\n }>;\n const props: PartialWritable<ServiceBusReceivedMessage> & {\n state: \"active\" | \"deferred\" | \"scheduled\";\n } = { state: \"active\" };\n if (rheaMessage.message_annotations != null) {\n if (rheaMessage.message_annotations[Constants.deadLetterSource] != null) {\n props.deadLetterSource = rheaMessage.message_annotations[Constants.deadLetterSource];\n }\n const messageState = rheaMessage.message_annotations[Constants.messageState];\n if (messageState === 1) {\n props.state = \"deferred\";\n } else if (messageState === 2) {\n props.state = \"scheduled\";\n }\n if (rheaMessage.message_annotations[Constants.enqueueSequenceNumber] != null) {\n props.enqueuedSequenceNumber =\n rheaMessage.message_annotations[Constants.enqueueSequenceNumber];\n }\n if (rheaMessage.message_annotations[Constants.sequenceNumber] != null) {\n if (Buffer.isBuffer(rheaMessage.message_annotations[Constants.sequenceNumber])) {\n props.sequenceNumber = Long.fromBytesBE(\n rheaMessage.message_annotations[Constants.sequenceNumber],\n );\n } else {\n props.sequenceNumber = Long.fromNumber(\n rheaMessage.message_annotations[Constants.sequenceNumber],\n );\n }\n }\n if (rheaMessage.message_annotations[Constants.enqueuedTime] != null) {\n props.enqueuedTimeUtc = new Date(\n rheaMessage.message_annotations[Constants.enqueuedTime] as number,\n );\n }\n if (rheaMessage.message_annotations[Constants.lockedUntil] != null) {\n props.lockedUntilUtc = new Date(\n rheaMessage.message_annotations[Constants.lockedUntil] as number,\n );\n }\n }\n\n const rawMessage = AmqpAnnotatedMessage.fromRheaMessage(rheaMessage);\n rawMessage.bodyType = bodyType;\n if (rheaMessage.ttl == null) {\n rheaMessage.ttl = rawMessage.header?.timeToLive ?? Constants.maxDurationValue;\n }\n if (props.enqueuedTimeUtc) {\n props.expiresAtUtc = new Date(\n Math.min(props.enqueuedTimeUtc.getTime() + rheaMessage.ttl, Constants.maxDurationValue),\n );\n }\n\n if (rawMessage.applicationProperties) {\n rawMessage.applicationProperties = skipConvertingDate\n ? rawMessage.applicationProperties\n : convertDatesToNumbers(rawMessage.applicationProperties);\n }\n if (rawMessage.deliveryAnnotations) {\n rawMessage.deliveryAnnotations = skipConvertingDate\n ? rawMessage.deliveryAnnotations\n : convertDatesToNumbers(rawMessage.deliveryAnnotations);\n }\n if (rawMessage.messageAnnotations) {\n rawMessage.messageAnnotations = skipConvertingDate\n ? rawMessage.messageAnnotations\n : convertDatesToNumbers(rawMessage.messageAnnotations);\n }\n\n if (rawMessage.header?.timeToLive) {\n sbmsg.timeToLive = rawMessage.header.timeToLive;\n }\n\n const rcvdsbmsg: ServiceBusReceivedMessage = {\n _rawAmqpMessage: rawMessage,\n deliveryCount: rheaMessage.delivery_count,\n lockToken:\n delivery && delivery.tag && delivery.tag.length !== 0\n ? uuid_to_string(\n shouldReorderLockToken === true\n ? reorderLockToken(\n typeof delivery.tag === \"string\" ? Buffer.from(delivery.tag) : delivery.tag,\n )\n : typeof delivery.tag === \"string\"\n ? Buffer.from(delivery.tag)\n : delivery.tag,\n )\n : undefined,\n ...sbmsg,\n ...props,\n deadLetterReason: sbmsg.applicationProperties?.DeadLetterReason as string | undefined,\n deadLetterErrorDescription: sbmsg.applicationProperties?.DeadLetterErrorDescription as\n | string\n | undefined,\n };\n\n logger.verbose(\"AmqpMessage to ServiceBusReceivedMessage: %O\", rcvdsbmsg);\n return rcvdsbmsg;\n}\n\n/**\n * @internal\n */\nexport function isServiceBusMessage(possible: unknown): possible is ServiceBusMessage {\n return isObjectWithProperties(possible, [\"body\"]);\n}\n\n/**\n * @internal\n */\nexport function isAmqpAnnotatedMessage(possible: unknown): possible is AmqpAnnotatedMessage {\n return (\n isObjectWithProperties(possible, [\"body\", \"bodyType\"]) &&\n possible.constructor.name !== ServiceBusMessageImpl.name\n );\n}\n\n/**\n * @internal\n */\nexport function isServiceBusReceivedMessage(\n possible: unknown,\n): possible is ServiceBusReceivedMessage {\n return isServiceBusMessage(possible) && \"_rawAmqpMessage\" in possible;\n}\n\n/**\n * Describes the message received from Service Bus.\n *\n * @internal\n */\nexport class ServiceBusMessageImpl implements ServiceBusReceivedMessage {\n /**\n * The message body that needs to be sent or is received.\n */\n body: any;\n /**\n * The application specific properties.\n */\n applicationProperties?: { [key: string]: any };\n /**\n * The message identifier is an\n * application-defined value that uniquely identifies the message and its payload. The identifier\n * is a free-form string and can reflect a GUID or an identifier derived from the application\n * context. If enabled, the\n * {@link https://learn.microsoft.com/azure/service-bus-messaging/duplicate-detection | duplicate detection}\n * identifies and removes second and further submissions of messages with the same MessageId.\n */\n messageId?: string | number | Buffer;\n /**\n * The content type of the message. Optionally describes\n * the payload of the message, with a descriptor following the format of RFC2045, Section 5, for\n * example \"application/json\".\n */\n contentType?: string;\n /**\n * The correlation identifier that allows an\n * application to specify a context for the message for the purposes of correlation, for example\n * reflecting the MessageId of a message that is being replied to.\n * See {@link https://learn.microsoft.com/azure/service-bus-messaging/service-bus-messages-payloads?#message-routing-and-correlation | Message Routing and Correlation}.\n */\n correlationId?: string | number | Buffer;\n /**\n * The partition key for sending a message to a\n * partitioned entity. Maximum length is 128 characters. For {@link https://learn.microsoft.com/azure/service-bus-messaging/service-bus-partitioning | partitioned entities},\n * setting this value enables assigning related messages to the same internal partition,\n * so that submission sequence order is correctly recorded. The partition is chosen by a hash\n * function over this value and cannot be chosen directly. For session-aware entities,\n * the `sessionId` property overrides this value.\n */\n partitionKey?: string;\n /**\n * The partition key for sending a message into an entity\n * via a partitioned transfer queue. Maximum length is 128 characters. If a message is sent via a\n * transfer queue in the scope of a transaction, this value selects the transfer queue partition:\n * This is functionally equivalent to `partitionKey` property and ensures that messages are kept\n * together and in order as they are transferred.\n * See {@link https://learn.microsoft.com/azure/service-bus-messaging/service-bus-transactions#transfers-and-send-via | Transfers and Send Via}.\n */\n // Will be required later for implementing Transactions\n // viaPartitionKey?: string;\n /**\n * The session identifier for a session-aware entity. Maximum\n * length is 128 characters. For session-aware entities, this application-defined value specifies\n * the session affiliation of the message. Messages with the same session identifier are subject\n * to summary locking and enable exact in-order processing and demultiplexing. For\n * session-unaware entities, this value is ignored.\n * {@link https://learn.microsoft.com/azure/service-bus-messaging/message-sessions | Message Sessions}.\n */\n sessionId?: string;\n /**\n * The session identifier augmenting the `replyTo` address.\n * Maximum length is 128 characters. This value augments the ReplyTo information and specifies\n * which SessionId should be set for the reply when sent to the reply entity.\n * See {@link https://learn.microsoft.com/azure/service-bus-messaging/service-bus-messages-payloads?#message-routing-and-correlation | Message Routing and Correlation}.\n */\n replyToSessionId?: string;\n /**\n * The message’s time to live value. This value is the relative\n * duration after which the message expires, starting from the instant the message has been\n * accepted and stored by the broker, as captured in `enqueuedTimeUtc`. When not set explicitly,\n * the assumed value is the DefaultTimeToLive for the respective queue or topic. A message-level\n * `timeToLive` value cannot be longer than the entity's DefaultTimeToLive setting and it is\n * silently adjusted if it does. See\n * {@link https://learn.microsoft.com/azure/service-bus-messaging/message-expiration | Expiration}.\n */\n timeToLive?: number;\n /**\n * The application specific label. This property enables the\n * application to indicate the purpose of the message to the receiver in a standardized. fashion,\n * similar to an email subject line. The mapped AMQP property is \"subject\".\n */\n subject?: string;\n /**\n * The \"to\" address. This property is reserved for future use in routing\n * scenarios and presently ignored by the broker itself. Applications can use this value in\n * rule-driven {@link https://learn.microsoft.com/azure/service-bus-messaging/service-bus-auto-forwarding | auto-forward chaining}\n * scenarios to indicate the intended logical destination of the message.\n */\n to?: string;\n /**\n * The address of an entity to send replies to. This optional and\n * application-defined value is a standard way to express a reply path to the receiver of the\n * message. When a sender expects a reply, it sets the value to the absolute or relative path of\n * the queue or topic it expects the reply to be sent to. See\n * {@link https://learn.microsoft.com/azure/service-bus-messaging/service-bus-messages-payloads?#message-routing-and-correlation | Message Routing and Correlation}.\n */\n replyTo?: string;\n /**\n * The date and time in UTC at which the message will\n * be enqueued. This property returns the time in UTC; when setting the property, the\n * supplied DateTime value must also be in UTC. This value is for delayed message sending.\n * It is utilized to delay messages sending to a specific time in the future. Message enqueuing\n * time does not mean that the message will be sent at the same time. It will get enqueued,\n * but the actual sending time depends on the queue's workload and its state.\n */\n scheduledEnqueueTimeUtc?: Date;\n /**\n * The lock token is a reference to the lock that is being held by the broker in\n * `peekLock` receive mode. Locks are used internally settle messages as explained in the\n * {@link https://learn.microsoft.com/azure/service-bus-messaging/message-transfers-locks-settlement | product documentation in more detail}\n * - Not applicable when the message is received in `receiveAndDelete` receive mode.\n * mode.\n * @readonly\n */\n readonly lockToken?: string;\n /**\n * Number of deliveries that have been attempted for this message. The count is\n * incremented when a message lock expires, or the message is explicitly abandoned using the\n * `abandon()` method on the message.\n * @readonly\n */\n readonly deliveryCount?: number;\n /**\n * The UTC instant at which the message has been accepted and stored in Service Bus.\n * @readonly\n */\n readonly enqueuedTimeUtc?: Date;\n /**\n * The UTC instant at which the message is marked for removal and no longer available for\n * retrieval from the entity due to expiration. This property is computed from 2 other properties\n * on the message: `enqueuedTimeUtc` + `timeToLive`.\n */\n readonly expiresAtUtc?: Date;\n /**\n * The UTC instant until which the message is held locked in the queue/subscription.\n * When the lock expires, the `deliveryCount` is incremented and the message is again available\n * for retrieval.\n * - Not applicable when the message is received in `receiveAndDelete` receive mode.\n * mode.\n */\n lockedUntilUtc?: Date;\n /**\n * The original sequence number of the message. For\n * messages that have been auto-forwarded, this property reflects the sequence number that had\n * first been assigned to the message at its original point of submission.\n * @readonly\n */\n readonly enqueuedSequenceNumber?: number;\n /**\n * The unique number assigned to a message by Service Bus.\n * The sequence number is a unique 64-bit integer assigned to a message as it is accepted\n * and stored by the broker and functions as its true identifier. For partitioned entities,\n * the topmost 16 bits reflect the partition identifier. Sequence numbers monotonically increase.\n * They roll over to 0 when the 48-64 bit range is exhausted.\n * @readonly\n */\n readonly sequenceNumber?: Long;\n /**\n * The name of the queue or subscription that this message\n * was enqueued on, before it was deadlettered. Only set in messages that have been dead-lettered\n * and subsequently auto-forwarded from the dead-letter sub-queue to another entity. Indicates the\n * entity in which the message was dead-lettered.\n * @readonly\n */\n readonly deadLetterSource?: string;\n /**\n * State of the message can be active, deferred or scheduled. Deferred messages have deferred state,\n * scheduled messages have scheduled state, all other messages have active state.\n */\n readonly state: \"active\" | \"deferred\" | \"scheduled\";\n /**\n * The associated delivery of the received message.\n */\n readonly delivery: Delivery;\n /**\n * The underlying raw amqp annotated message.\n * @readonly\n */\n readonly _rawAmqpMessage: AmqpAnnotatedMessage;\n /**\n * The reason for deadlettering the message.\n * @readonly\n */\n readonly deadLetterReason?: string;\n /**\n * The error description for deadlettering the message.\n * @readonly\n */\n readonly deadLetterErrorDescription?: string;\n /**\n * @internal\n */\n constructor(\n msg: RheaMessage,\n delivery: Delivery,\n shouldReorderLockToken: boolean,\n receiveMode: ReceiveMode,\n skipParsingBodyAsJson: boolean,\n skipConvertingDate: boolean,\n ) {\n const { _rawAmqpMessage, ...restOfMessageProps } = fromRheaMessage(\n msg,\n\n { skipParsingBodyAsJson, delivery, shouldReorderLockToken, skipConvertingDate },\n );\n this._rawAmqpMessage = _rawAmqpMessage; // need to initialize _rawAmqpMessage property to make compiler happy\n Object.assign(this, restOfMessageProps);\n this.state = restOfMessageProps.state; // to suppress error TS2564: Property 'state' has no initializer and is not definitely assigned in the constructor.\n\n // Lock on a message is applicable only in peekLock mode, but the service sets\n // the lock token even in receiveAndDelete mode if the entity in question is partitioned.\n if (receiveMode === \"receiveAndDelete\") {\n this.lockToken = undefined;\n }\n this.delivery = delivery;\n }\n\n /**\n * Creates a clone of the current message to allow it to be re-sent to the queue\n * @returns ServiceBusMessage\n */\n clone(): ServiceBusMessage {\n // We are returning a ServiceBusMessage object because that object can then be sent to Service Bus\n const clone: ServiceBusMessage = {\n body: this.body,\n contentType: this.contentType,\n correlationId: this.correlationId,\n subject: this.subject,\n messageId: this.messageId,\n partitionKey: this.partitionKey,\n replyTo: this.replyTo,\n replyToSessionId: this.replyToSessionId,\n scheduledEnqueueTimeUtc: this.scheduledEnqueueTimeUtc,\n sessionId: this.sessionId,\n timeToLive: this.timeToLive,\n to: this.to,\n applicationProperties: this.applicationProperties,\n // Will be required later for implementing Transactions\n // viaPartitionKey: this.viaPartitionKey\n };\n\n return clone;\n }\n}\n\n/**\n * Converts any Date objects into a number representing date.getTime().\n * Recursively checks for any Date objects in arrays and objects.\n * @internal\n */\nfunction convertDatesToNumbers<T = unknown>(thing: T): T {\n // fast exit\n if (!isDefined(thing)) return thing;\n\n // When 'thing' is a Date, return the number representation\n if (\n typeof thing === \"object\" &&\n isObjectWithProperties(thing, [\"getTime\"]) &&\n typeof thing.getTime === \"function\"\n ) {\n return thing.getTime();\n }\n\n /*\n Examples:\n [0, 'foo', new Date(), { nested: new Date()}]\n */\n if (Array.isArray(thing)) {\n const result = [];\n for (const element of thing) {\n result.push(convertDatesToNumbers(element));\n }\n return result as unknown as T;\n }\n\n /*\n Examples:\n { foo: new Date(), children: { nested: new Date() }}\n */\n if (typeof thing === \"object\" && isDefined<object>(thing)) {\n const thingShallowCopy = { ...thing };\n for (const key of Object.keys(thingShallowCopy)) {\n (thingShallowCopy as any)[key] = convertDatesToNumbers((thingShallowCopy as any)[key]);\n }\n return thingShallowCopy;\n }\n\n return thing;\n}\n"]}