@azure/storage-common 12.4.0-beta.1 → 12.4.0

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 (477) hide show
  1. package/dist/browser/BufferScheduler-browser.d.mts +7 -0
  2. package/dist/browser/BufferScheduler-browser.d.mts.map +1 -0
  3. package/dist/browser/BufferScheduler-browser.mjs +11 -0
  4. package/dist/browser/BufferScheduler-browser.mjs.map +1 -0
  5. package/dist/browser/StorageBrowserPolicyFactory.d.ts +1 -1
  6. package/dist/browser/StorageBrowserPolicyFactory.d.ts.map +1 -1
  7. package/dist/browser/StorageBrowserPolicyFactory.js +1 -1
  8. package/dist/browser/StorageBrowserPolicyFactory.js.map +1 -1
  9. package/dist/browser/StructuredMessageDecoding.d.ts +1 -1
  10. package/dist/browser/StructuredMessageDecoding.d.ts.map +1 -1
  11. package/dist/browser/StructuredMessageDecoding.js +3 -22
  12. package/dist/browser/StructuredMessageDecoding.js.map +1 -1
  13. package/dist/browser/StructuredMessageDecodingStream-browser.d.mts +11 -0
  14. package/dist/browser/StructuredMessageDecodingStream-browser.d.mts.map +1 -0
  15. package/dist/browser/{StructuredMessageDecodingStream.js → StructuredMessageDecodingStream-browser.mjs} +4 -4
  16. package/dist/browser/StructuredMessageDecodingStream-browser.mjs.map +1 -0
  17. package/dist/browser/StructuredMessageEncoding.d.ts +1 -1
  18. package/dist/browser/StructuredMessageEncoding.d.ts.map +1 -1
  19. package/dist/browser/StructuredMessageEncoding.js +8 -28
  20. package/dist/browser/StructuredMessageEncoding.js.map +1 -1
  21. package/dist/browser/{StructuredMessageEncodingStream.d.ts → StructuredMessageEncodingStream-browser.d.mts} +2 -2
  22. package/dist/browser/StructuredMessageEncodingStream-browser.d.mts.map +1 -0
  23. package/dist/browser/{StructuredMessageEncodingStream.js → StructuredMessageEncodingStream-browser.mjs} +13 -11
  24. package/dist/browser/StructuredMessageEncodingStream-browser.mjs.map +1 -0
  25. package/dist/browser/bufferHelpers-browser.d.mts +18 -0
  26. package/dist/browser/bufferHelpers-browser.d.mts.map +1 -0
  27. package/dist/browser/bufferHelpers-browser.mjs +27 -0
  28. package/dist/browser/bufferHelpers-browser.mjs.map +1 -0
  29. package/dist/browser/bufferHelpers.common.d.ts +7 -0
  30. package/dist/browser/bufferHelpers.common.d.ts.map +1 -0
  31. package/dist/browser/bufferHelpers.common.js +22 -0
  32. package/dist/browser/bufferHelpers.common.js.map +1 -0
  33. package/dist/browser/crc64.js +5 -1
  34. package/dist/{react-native/credentials/StorageSharedKeyCredential.d.ts → browser/credentials/StorageSharedKeyCredential-browser.d.mts} +1 -1
  35. package/dist/browser/credentials/StorageSharedKeyCredential-browser.d.mts.map +1 -0
  36. package/dist/browser/credentials/{StorageSharedKeyCredential.js → StorageSharedKeyCredential-browser.mjs} +1 -1
  37. package/dist/browser/credentials/StorageSharedKeyCredential-browser.mjs.map +1 -0
  38. package/dist/browser/credentials/UserDelegationKey.d.ts +38 -0
  39. package/dist/browser/credentials/UserDelegationKey.d.ts.map +1 -0
  40. package/dist/browser/{interfaces.js → credentials/UserDelegationKey.js} +1 -1
  41. package/dist/browser/credentials/UserDelegationKey.js.map +1 -0
  42. package/dist/{react-native/credentials/UserDelegationKeyCredential.d.ts → browser/credentials/UserDelegationKeyCredential-browser.d.mts} +2 -13
  43. package/dist/browser/credentials/UserDelegationKeyCredential-browser.d.mts.map +1 -0
  44. package/dist/browser/credentials/{UserDelegationKeyCredential.js → UserDelegationKeyCredential-browser.mjs} +1 -1
  45. package/dist/browser/credentials/UserDelegationKeyCredential-browser.mjs.map +1 -0
  46. package/dist/browser/index.d.ts +1 -19
  47. package/dist/browser/index.d.ts.map +1 -1
  48. package/dist/browser/index.js +1 -19
  49. package/dist/browser/index.js.map +1 -1
  50. package/dist/browser/indexPlatform-browser.d.mts +25 -0
  51. package/dist/browser/indexPlatform-browser.d.mts.map +1 -0
  52. package/dist/browser/indexPlatform-browser.mjs +24 -0
  53. package/dist/browser/indexPlatform-browser.mjs.map +1 -0
  54. package/dist/browser/interfaces-browser.d.mts +14 -0
  55. package/dist/browser/interfaces-browser.d.mts.map +1 -0
  56. package/dist/browser/interfaces-browser.mjs +4 -0
  57. package/dist/browser/interfaces-browser.mjs.map +1 -0
  58. package/dist/browser/policies/{StorageBrowserPolicy.d.ts → StorageBrowserPolicy-browser.d.mts} +1 -1
  59. package/dist/browser/policies/StorageBrowserPolicy-browser.d.mts.map +1 -0
  60. package/dist/browser/policies/{StorageBrowserPolicy.js → StorageBrowserPolicy-browser.mjs} +1 -5
  61. package/dist/browser/policies/StorageBrowserPolicy-browser.mjs.map +1 -0
  62. package/dist/browser/policies/{StorageBrowserPolicyV2.d.ts → StorageBrowserPolicyV2-browser.d.mts} +1 -1
  63. package/dist/browser/policies/StorageBrowserPolicyV2-browser.d.mts.map +1 -0
  64. package/dist/browser/policies/{StorageBrowserPolicyV2.js → StorageBrowserPolicyV2-browser.mjs} +1 -5
  65. package/dist/browser/policies/StorageBrowserPolicyV2-browser.mjs.map +1 -0
  66. package/dist/browser/policies/{StorageCorrectContentLengthPolicy.d.ts → StorageCorrectContentLengthPolicy-browser.d.mts} +1 -1
  67. package/dist/browser/policies/StorageCorrectContentLengthPolicy-browser.d.mts.map +1 -0
  68. package/dist/browser/policies/{StorageCorrectContentLengthPolicy.js → StorageCorrectContentLengthPolicy-browser.mjs} +1 -1
  69. package/dist/browser/policies/StorageCorrectContentLengthPolicy-browser.mjs.map +1 -0
  70. package/dist/browser/policies/{StorageSharedKeyCredentialPolicyV2.d.ts → StorageSharedKeyCredentialPolicyV2-browser.d.mts} +3 -3
  71. package/dist/browser/policies/StorageSharedKeyCredentialPolicyV2-browser.d.mts.map +1 -0
  72. package/dist/browser/policies/{StorageSharedKeyCredentialPolicyV2.js → StorageSharedKeyCredentialPolicyV2-browser.mjs} +1 -1
  73. package/dist/browser/policies/StorageSharedKeyCredentialPolicyV2-browser.mjs.map +1 -0
  74. package/dist/browser/streamHelpers-browser.d.mts +6 -0
  75. package/dist/browser/streamHelpers-browser.d.mts.map +1 -0
  76. package/dist/browser/streamHelpers-browser.mjs +10 -0
  77. package/dist/browser/streamHelpers-browser.mjs.map +1 -0
  78. package/dist/browser/utils/constants.d.ts.map +1 -1
  79. package/dist/browser/utils/constants.js +1 -1
  80. package/dist/browser/utils/constants.js.map +1 -1
  81. package/dist/browser/utils/utils.common.d.ts +0 -12
  82. package/dist/browser/utils/utils.common.d.ts.map +1 -1
  83. package/dist/browser/utils/utils.common.js +4 -20
  84. package/dist/browser/utils/utils.common.js.map +1 -1
  85. package/dist/commonjs/BufferScheduler.js +1 -0
  86. package/dist/commonjs/BufferScheduler.js.map +1 -1
  87. package/dist/commonjs/BuffersStream.js +3 -0
  88. package/dist/commonjs/BuffersStream.js.map +2 -2
  89. package/dist/commonjs/PooledBuffer.js +1 -0
  90. package/dist/commonjs/PooledBuffer.js.map +1 -1
  91. package/dist/commonjs/StorageBrowserPolicyFactory.d.ts.map +1 -1
  92. package/dist/commonjs/StorageBrowserPolicyFactory.js +1 -0
  93. package/dist/commonjs/StorageBrowserPolicyFactory.js.map +2 -2
  94. package/dist/commonjs/StorageCRC64Calculator.js +1 -0
  95. package/dist/commonjs/StorageCRC64Calculator.js.map +1 -1
  96. package/dist/commonjs/StorageRetryPolicyFactory.js +1 -0
  97. package/dist/commonjs/StorageRetryPolicyFactory.js.map +1 -1
  98. package/dist/commonjs/StructuredMessageDecoding.d.ts +1 -1
  99. package/dist/commonjs/StructuredMessageDecoding.d.ts.map +1 -1
  100. package/dist/commonjs/StructuredMessageDecoding.js +4 -20
  101. package/dist/commonjs/StructuredMessageDecoding.js.map +3 -3
  102. package/dist/commonjs/StructuredMessageDecodingStream.js +1 -0
  103. package/dist/commonjs/StructuredMessageDecodingStream.js.map +1 -1
  104. package/dist/commonjs/StructuredMessageEncoding.d.ts +1 -1
  105. package/dist/commonjs/StructuredMessageEncoding.d.ts.map +1 -1
  106. package/dist/commonjs/StructuredMessageEncoding.js +9 -26
  107. package/dist/commonjs/StructuredMessageEncoding.js.map +3 -3
  108. package/dist/commonjs/StructuredMessageEncodingStream.d.ts +1 -1
  109. package/dist/commonjs/StructuredMessageEncodingStream.d.ts.map +1 -1
  110. package/dist/commonjs/StructuredMessageEncodingStream.js +1 -0
  111. package/dist/commonjs/StructuredMessageEncodingStream.js.map +2 -2
  112. package/dist/commonjs/bufferHelpers.common.d.ts +7 -0
  113. package/dist/commonjs/bufferHelpers.common.d.ts.map +1 -0
  114. package/dist/commonjs/bufferHelpers.common.js +39 -0
  115. package/dist/commonjs/bufferHelpers.common.js.map +7 -0
  116. package/dist/commonjs/bufferHelpers.d.ts +18 -0
  117. package/dist/commonjs/bufferHelpers.d.ts.map +1 -0
  118. package/dist/commonjs/bufferHelpers.js +45 -0
  119. package/dist/commonjs/bufferHelpers.js.map +7 -0
  120. package/dist/commonjs/cache.js +1 -0
  121. package/dist/commonjs/cache.js.map +1 -1
  122. package/dist/commonjs/crc64.js +3 -1
  123. package/dist/commonjs/credentials/AnonymousCredential.js +1 -0
  124. package/dist/commonjs/credentials/AnonymousCredential.js.map +1 -1
  125. package/dist/commonjs/credentials/Credential.js +1 -0
  126. package/dist/commonjs/credentials/Credential.js.map +1 -1
  127. package/dist/commonjs/credentials/StorageSharedKeyCredential.js +1 -0
  128. package/dist/commonjs/credentials/StorageSharedKeyCredential.js.map +1 -1
  129. package/dist/commonjs/credentials/UserDelegationKey.d.ts +38 -0
  130. package/dist/commonjs/credentials/UserDelegationKey.d.ts.map +1 -0
  131. package/dist/commonjs/credentials/UserDelegationKey.js +16 -0
  132. package/dist/commonjs/credentials/UserDelegationKey.js.map +7 -0
  133. package/dist/commonjs/credentials/UserDelegationKeyCredential.d.ts +1 -37
  134. package/dist/commonjs/credentials/UserDelegationKeyCredential.d.ts.map +1 -1
  135. package/dist/commonjs/credentials/UserDelegationKeyCredential.js +1 -0
  136. package/dist/commonjs/credentials/UserDelegationKeyCredential.js.map +3 -3
  137. package/dist/commonjs/index.d.ts +1 -21
  138. package/dist/commonjs/index.d.ts.map +1 -1
  139. package/dist/commonjs/index.js +3 -48
  140. package/dist/commonjs/index.js.map +3 -3
  141. package/dist/commonjs/indexPlatform.d.ts +26 -0
  142. package/dist/commonjs/indexPlatform.d.ts.map +1 -0
  143. package/dist/commonjs/indexPlatform.js +73 -0
  144. package/dist/commonjs/indexPlatform.js.map +7 -0
  145. package/dist/commonjs/interfaces.js +1 -0
  146. package/dist/commonjs/interfaces.js.map +1 -1
  147. package/dist/commonjs/log.js +1 -0
  148. package/dist/commonjs/log.js.map +1 -1
  149. package/dist/commonjs/policies/AnonymousCredentialPolicy.js +1 -0
  150. package/dist/commonjs/policies/AnonymousCredentialPolicy.js.map +1 -1
  151. package/dist/commonjs/policies/CredentialPolicy.js +1 -0
  152. package/dist/commonjs/policies/CredentialPolicy.js.map +1 -1
  153. package/dist/commonjs/policies/RequestPolicy.js +3 -0
  154. package/dist/commonjs/policies/RequestPolicy.js.map +2 -2
  155. package/dist/commonjs/policies/StorageBrowserPolicy.d.ts +2 -0
  156. package/dist/commonjs/policies/StorageBrowserPolicy.d.ts.map +1 -1
  157. package/dist/commonjs/policies/StorageBrowserPolicy.js +1 -15
  158. package/dist/commonjs/policies/StorageBrowserPolicy.js.map +3 -3
  159. package/dist/commonjs/policies/StorageBrowserPolicyV2.d.ts +2 -0
  160. package/dist/commonjs/policies/StorageBrowserPolicyV2.d.ts.map +1 -1
  161. package/dist/commonjs/policies/StorageBrowserPolicyV2.js +1 -15
  162. package/dist/commonjs/policies/StorageBrowserPolicyV2.js.map +3 -3
  163. package/dist/commonjs/policies/StorageCorrectContentLengthPolicy.js +1 -0
  164. package/dist/commonjs/policies/StorageCorrectContentLengthPolicy.js.map +1 -1
  165. package/dist/commonjs/policies/StorageRequestFailureDetailsParserPolicy.js +1 -0
  166. package/dist/commonjs/policies/StorageRequestFailureDetailsParserPolicy.js.map +1 -1
  167. package/dist/commonjs/policies/StorageRetryPolicy.js +1 -0
  168. package/dist/commonjs/policies/StorageRetryPolicy.js.map +1 -1
  169. package/dist/commonjs/policies/StorageRetryPolicyType.js +1 -0
  170. package/dist/commonjs/policies/StorageRetryPolicyType.js.map +1 -1
  171. package/dist/commonjs/policies/StorageRetryPolicyV2.js +1 -0
  172. package/dist/commonjs/policies/StorageRetryPolicyV2.js.map +1 -1
  173. package/dist/commonjs/policies/StorageSharedKeyCredentialPolicy.d.ts.map +1 -1
  174. package/dist/commonjs/policies/StorageSharedKeyCredentialPolicy.js +1 -0
  175. package/dist/commonjs/policies/StorageSharedKeyCredentialPolicy.js.map +2 -2
  176. package/dist/commonjs/policies/StorageSharedKeyCredentialPolicyV2.js +1 -0
  177. package/dist/commonjs/policies/StorageSharedKeyCredentialPolicyV2.js.map +1 -1
  178. package/dist/commonjs/streamHelpers.d.ts +7 -0
  179. package/dist/commonjs/streamHelpers.d.ts.map +1 -0
  180. package/dist/commonjs/{utils/tracing.js → streamHelpers.js} +9 -12
  181. package/dist/commonjs/streamHelpers.js.map +7 -0
  182. package/dist/commonjs/tsdoc-metadata.json +1 -1
  183. package/dist/commonjs/utils/SharedKeyComparator.js +1 -0
  184. package/dist/commonjs/utils/SharedKeyComparator.js.map +1 -1
  185. package/dist/commonjs/utils/constants.d.ts.map +1 -1
  186. package/dist/commonjs/utils/constants.js +2 -1
  187. package/dist/commonjs/utils/constants.js.map +2 -2
  188. package/dist/commonjs/utils/utils.common.d.ts +0 -12
  189. package/dist/commonjs/utils/utils.common.d.ts.map +1 -1
  190. package/dist/commonjs/utils/utils.common.js +4 -13
  191. package/dist/commonjs/utils/utils.common.js.map +3 -3
  192. package/dist/esm/StorageBrowserPolicyFactory.d.ts.map +1 -1
  193. package/dist/esm/StorageBrowserPolicyFactory.js.map +1 -1
  194. package/dist/esm/StructuredMessageDecoding.d.ts +1 -1
  195. package/dist/esm/StructuredMessageDecoding.d.ts.map +1 -1
  196. package/dist/esm/StructuredMessageDecoding.js +3 -22
  197. package/dist/esm/StructuredMessageDecoding.js.map +1 -1
  198. package/dist/esm/StructuredMessageEncoding.d.ts +1 -1
  199. package/dist/esm/StructuredMessageEncoding.d.ts.map +1 -1
  200. package/dist/esm/StructuredMessageEncoding.js +8 -28
  201. package/dist/esm/StructuredMessageEncoding.js.map +1 -1
  202. package/dist/esm/StructuredMessageEncodingStream.d.ts +1 -1
  203. package/dist/esm/StructuredMessageEncodingStream.d.ts.map +1 -1
  204. package/dist/esm/StructuredMessageEncodingStream.js.map +1 -1
  205. package/dist/esm/bufferHelpers.common.d.ts +7 -0
  206. package/dist/esm/bufferHelpers.common.d.ts.map +1 -0
  207. package/dist/esm/bufferHelpers.common.js +22 -0
  208. package/dist/esm/bufferHelpers.common.js.map +1 -0
  209. package/dist/esm/bufferHelpers.d.ts +18 -0
  210. package/dist/esm/bufferHelpers.d.ts.map +1 -0
  211. package/dist/esm/bufferHelpers.js +27 -0
  212. package/dist/esm/bufferHelpers.js.map +1 -0
  213. package/dist/esm/crc64.js +27 -1
  214. package/dist/esm/credentials/UserDelegationKey.d.ts +38 -0
  215. package/dist/esm/credentials/UserDelegationKey.d.ts.map +1 -0
  216. package/dist/{react-native/interfaces.js → esm/credentials/UserDelegationKey.js} +1 -1
  217. package/dist/esm/credentials/UserDelegationKey.js.map +1 -0
  218. package/dist/esm/credentials/UserDelegationKeyCredential.d.ts +1 -37
  219. package/dist/esm/credentials/UserDelegationKeyCredential.d.ts.map +1 -1
  220. package/dist/esm/credentials/UserDelegationKeyCredential.js +0 -1
  221. package/dist/esm/credentials/UserDelegationKeyCredential.js.map +1 -1
  222. package/dist/esm/index.d.ts +1 -21
  223. package/dist/esm/index.d.ts.map +1 -1
  224. package/dist/esm/index.js +1 -20
  225. package/dist/esm/index.js.map +1 -1
  226. package/dist/esm/indexPlatform.d.ts +26 -0
  227. package/dist/esm/indexPlatform.d.ts.map +1 -0
  228. package/dist/esm/indexPlatform.js +25 -0
  229. package/dist/esm/indexPlatform.js.map +1 -0
  230. package/dist/esm/policies/StorageBrowserPolicy.d.ts +2 -0
  231. package/dist/esm/policies/StorageBrowserPolicy.d.ts.map +1 -1
  232. package/dist/esm/policies/StorageBrowserPolicy.js +2 -12
  233. package/dist/esm/policies/StorageBrowserPolicy.js.map +1 -1
  234. package/dist/esm/policies/StorageBrowserPolicyV2.d.ts +2 -0
  235. package/dist/esm/policies/StorageBrowserPolicyV2.d.ts.map +1 -1
  236. package/dist/esm/policies/StorageBrowserPolicyV2.js +2 -12
  237. package/dist/esm/policies/StorageBrowserPolicyV2.js.map +1 -1
  238. package/dist/esm/policies/StorageSharedKeyCredentialPolicy.d.ts.map +1 -1
  239. package/dist/esm/policies/StorageSharedKeyCredentialPolicy.js.map +1 -1
  240. package/dist/esm/streamHelpers.d.ts +7 -0
  241. package/dist/esm/streamHelpers.d.ts.map +1 -0
  242. package/dist/esm/streamHelpers.js +11 -0
  243. package/dist/esm/streamHelpers.js.map +1 -0
  244. package/dist/esm/utils/constants.d.ts.map +1 -1
  245. package/dist/esm/utils/constants.js +1 -1
  246. package/dist/esm/utils/constants.js.map +1 -1
  247. package/dist/esm/utils/utils.common.d.ts +0 -12
  248. package/dist/esm/utils/utils.common.d.ts.map +1 -1
  249. package/dist/esm/utils/utils.common.js +4 -20
  250. package/dist/esm/utils/utils.common.js.map +1 -1
  251. package/dist/react-native/BufferScheduler-browser.d.mts +7 -0
  252. package/dist/react-native/BufferScheduler-browser.d.mts.map +1 -0
  253. package/dist/react-native/BufferScheduler-browser.mjs +11 -0
  254. package/dist/react-native/BufferScheduler-browser.mjs.map +1 -0
  255. package/dist/react-native/BufferScheduler-react-native.d.mts +3 -0
  256. package/dist/react-native/BufferScheduler-react-native.d.mts.map +1 -0
  257. package/dist/react-native/BufferScheduler-react-native.mjs +4 -0
  258. package/dist/react-native/BufferScheduler-react-native.mjs.map +1 -0
  259. package/dist/react-native/StorageBrowserPolicyFactory.d.ts +1 -1
  260. package/dist/react-native/StorageBrowserPolicyFactory.d.ts.map +1 -1
  261. package/dist/react-native/StorageBrowserPolicyFactory.js +1 -1
  262. package/dist/react-native/StorageBrowserPolicyFactory.js.map +1 -1
  263. package/dist/react-native/StructuredMessageDecodingStream-react-native.d.mts +6 -0
  264. package/dist/react-native/StructuredMessageDecodingStream-react-native.d.mts.map +1 -0
  265. package/dist/react-native/StructuredMessageDecodingStream-react-native.mjs +7 -0
  266. package/dist/react-native/StructuredMessageDecodingStream-react-native.mjs.map +1 -0
  267. package/dist/react-native/StructuredMessageEncoding.d.ts +1 -1
  268. package/dist/react-native/StructuredMessageEncoding.d.ts.map +1 -1
  269. package/dist/react-native/StructuredMessageEncoding.js +8 -28
  270. package/dist/react-native/StructuredMessageEncoding.js.map +1 -1
  271. package/dist/react-native/StructuredMessageEncodingStream-react-native.d.mts +10 -0
  272. package/dist/react-native/StructuredMessageEncodingStream-react-native.d.mts.map +1 -0
  273. package/dist/react-native/StructuredMessageEncodingStream-react-native.mjs +56 -0
  274. package/dist/react-native/StructuredMessageEncodingStream-react-native.mjs.map +1 -0
  275. package/dist/react-native/bufferHelpers-browser.d.mts +18 -0
  276. package/dist/react-native/bufferHelpers-browser.d.mts.map +1 -0
  277. package/dist/react-native/bufferHelpers-browser.mjs +27 -0
  278. package/dist/react-native/bufferHelpers-browser.mjs.map +1 -0
  279. package/dist/react-native/bufferHelpers-react-native.d.mts +2 -0
  280. package/dist/react-native/bufferHelpers-react-native.d.mts.map +1 -0
  281. package/dist/react-native/bufferHelpers-react-native.mjs +5 -0
  282. package/dist/react-native/bufferHelpers-react-native.mjs.map +1 -0
  283. package/dist/react-native/bufferHelpers.common.d.ts +7 -0
  284. package/dist/react-native/bufferHelpers.common.d.ts.map +1 -0
  285. package/dist/react-native/bufferHelpers.common.js +22 -0
  286. package/dist/react-native/bufferHelpers.common.js.map +1 -0
  287. package/dist/react-native/crc64.js +5 -1
  288. package/dist/{browser/credentials/StorageSharedKeyCredential.d.ts → react-native/credentials/StorageSharedKeyCredential-browser.d.mts} +1 -1
  289. package/dist/react-native/credentials/StorageSharedKeyCredential-browser.d.mts.map +1 -0
  290. package/dist/react-native/credentials/{StorageSharedKeyCredential.js → StorageSharedKeyCredential-browser.mjs} +4 -4
  291. package/dist/react-native/credentials/StorageSharedKeyCredential-browser.mjs.map +1 -0
  292. package/dist/react-native/credentials/StorageSharedKeyCredential-react-native.d.mts +2 -0
  293. package/dist/react-native/credentials/StorageSharedKeyCredential-react-native.d.mts.map +1 -0
  294. package/dist/react-native/credentials/StorageSharedKeyCredential-react-native.mjs +4 -0
  295. package/dist/react-native/credentials/StorageSharedKeyCredential-react-native.mjs.map +1 -0
  296. package/dist/react-native/credentials/UserDelegationKey.d.ts +38 -0
  297. package/dist/react-native/credentials/UserDelegationKey.d.ts.map +1 -0
  298. package/dist/react-native/credentials/UserDelegationKey.js +4 -0
  299. package/dist/react-native/credentials/UserDelegationKey.js.map +1 -0
  300. package/dist/{browser/credentials/UserDelegationKeyCredential.d.ts → react-native/credentials/UserDelegationKeyCredential-browser.d.mts} +2 -13
  301. package/dist/react-native/credentials/UserDelegationKeyCredential-browser.d.mts.map +1 -0
  302. package/dist/react-native/credentials/{UserDelegationKeyCredential.js → UserDelegationKeyCredential-browser.mjs} +3 -3
  303. package/dist/react-native/credentials/UserDelegationKeyCredential-browser.mjs.map +1 -0
  304. package/dist/react-native/credentials/UserDelegationKeyCredential-react-native.d.mts +2 -0
  305. package/dist/react-native/credentials/UserDelegationKeyCredential-react-native.d.mts.map +1 -0
  306. package/dist/react-native/credentials/UserDelegationKeyCredential-react-native.mjs +4 -0
  307. package/dist/react-native/credentials/UserDelegationKeyCredential-react-native.mjs.map +1 -0
  308. package/dist/react-native/index.d.ts +1 -21
  309. package/dist/react-native/index.d.ts.map +1 -1
  310. package/dist/react-native/index.js +1 -20
  311. package/dist/react-native/index.js.map +1 -1
  312. package/dist/react-native/indexPlatform-browser.d.mts +25 -0
  313. package/dist/react-native/indexPlatform-browser.d.mts.map +1 -0
  314. package/dist/react-native/indexPlatform-browser.mjs +24 -0
  315. package/dist/react-native/indexPlatform-browser.mjs.map +1 -0
  316. package/dist/react-native/indexPlatform-react-native.d.mts +2 -0
  317. package/dist/react-native/indexPlatform-react-native.d.mts.map +1 -0
  318. package/dist/react-native/indexPlatform-react-native.mjs +4 -0
  319. package/dist/react-native/indexPlatform-react-native.mjs.map +1 -0
  320. package/dist/react-native/interfaces-browser.d.mts +14 -0
  321. package/dist/react-native/interfaces-browser.d.mts.map +1 -0
  322. package/dist/react-native/interfaces-browser.mjs +4 -0
  323. package/dist/react-native/interfaces-browser.mjs.map +1 -0
  324. package/dist/react-native/interfaces-react-native.d.mts +2 -0
  325. package/dist/react-native/interfaces-react-native.d.mts.map +1 -0
  326. package/dist/react-native/interfaces-react-native.mjs +4 -0
  327. package/dist/react-native/interfaces-react-native.mjs.map +1 -0
  328. package/dist/react-native/policies/{StorageBrowserPolicy.d.ts → StorageBrowserPolicy-browser.d.mts} +1 -1
  329. package/dist/react-native/policies/StorageBrowserPolicy-browser.d.mts.map +1 -0
  330. package/dist/react-native/policies/{StorageBrowserPolicy.js → StorageBrowserPolicy-browser.mjs} +1 -5
  331. package/dist/react-native/policies/StorageBrowserPolicy-browser.mjs.map +1 -0
  332. package/dist/react-native/policies/StorageBrowserPolicy-react-native.d.mts +2 -0
  333. package/dist/react-native/policies/StorageBrowserPolicy-react-native.d.mts.map +1 -0
  334. package/dist/react-native/policies/StorageBrowserPolicy-react-native.mjs +4 -0
  335. package/dist/react-native/policies/StorageBrowserPolicy-react-native.mjs.map +1 -0
  336. package/dist/react-native/policies/{StorageBrowserPolicyV2.d.ts → StorageBrowserPolicyV2-browser.d.mts} +1 -1
  337. package/dist/react-native/policies/StorageBrowserPolicyV2-browser.d.mts.map +1 -0
  338. package/dist/react-native/policies/{StorageBrowserPolicyV2.js → StorageBrowserPolicyV2-browser.mjs} +1 -5
  339. package/dist/react-native/policies/StorageBrowserPolicyV2-browser.mjs.map +1 -0
  340. package/dist/react-native/policies/StorageBrowserPolicyV2-react-native.d.mts +2 -0
  341. package/dist/react-native/policies/StorageBrowserPolicyV2-react-native.d.mts.map +1 -0
  342. package/dist/react-native/policies/StorageBrowserPolicyV2-react-native.mjs +4 -0
  343. package/dist/react-native/policies/StorageBrowserPolicyV2-react-native.mjs.map +1 -0
  344. package/dist/react-native/policies/{StorageCorrectContentLengthPolicy.d.ts → StorageCorrectContentLengthPolicy-browser.d.mts} +1 -1
  345. package/dist/react-native/policies/StorageCorrectContentLengthPolicy-browser.d.mts.map +1 -0
  346. package/dist/react-native/policies/{StorageCorrectContentLengthPolicy.js → StorageCorrectContentLengthPolicy-browser.mjs} +1 -10
  347. package/dist/react-native/policies/StorageCorrectContentLengthPolicy-browser.mjs.map +1 -0
  348. package/dist/react-native/policies/StorageCorrectContentLengthPolicy-react-native.d.mts +2 -0
  349. package/dist/react-native/policies/StorageCorrectContentLengthPolicy-react-native.d.mts.map +1 -0
  350. package/dist/react-native/policies/StorageCorrectContentLengthPolicy-react-native.mjs +4 -0
  351. package/dist/react-native/policies/StorageCorrectContentLengthPolicy-react-native.mjs.map +1 -0
  352. package/dist/react-native/policies/{StorageSharedKeyCredentialPolicyV2.d.ts → StorageSharedKeyCredentialPolicyV2-browser.d.mts} +8 -2
  353. package/dist/react-native/policies/StorageSharedKeyCredentialPolicyV2-browser.d.mts.map +1 -0
  354. package/dist/react-native/policies/{StorageSharedKeyCredentialPolicyV2.js → StorageSharedKeyCredentialPolicyV2-browser.mjs} +1 -1
  355. package/dist/react-native/policies/StorageSharedKeyCredentialPolicyV2-browser.mjs.map +1 -0
  356. package/dist/react-native/policies/StorageSharedKeyCredentialPolicyV2-react-native.d.mts +2 -0
  357. package/dist/react-native/policies/StorageSharedKeyCredentialPolicyV2-react-native.d.mts.map +1 -0
  358. package/dist/react-native/policies/StorageSharedKeyCredentialPolicyV2-react-native.mjs +4 -0
  359. package/dist/react-native/policies/StorageSharedKeyCredentialPolicyV2-react-native.mjs.map +1 -0
  360. package/dist/react-native/streamHelpers-browser.d.mts +6 -0
  361. package/dist/react-native/streamHelpers-browser.d.mts.map +1 -0
  362. package/dist/react-native/streamHelpers-browser.mjs +10 -0
  363. package/dist/react-native/streamHelpers-browser.mjs.map +1 -0
  364. package/dist/react-native/streamHelpers-react-native.d.mts +2 -0
  365. package/dist/react-native/streamHelpers-react-native.d.mts.map +1 -0
  366. package/dist/react-native/streamHelpers-react-native.mjs +4 -0
  367. package/dist/react-native/streamHelpers-react-native.mjs.map +1 -0
  368. package/dist/react-native/utils/constants.d.ts.map +1 -1
  369. package/dist/react-native/utils/constants.js +1 -1
  370. package/dist/react-native/utils/constants.js.map +1 -1
  371. package/dist/react-native/utils/utils.common.d.ts +0 -12
  372. package/dist/react-native/utils/utils.common.d.ts.map +1 -1
  373. package/dist/react-native/utils/utils.common.js +4 -20
  374. package/dist/react-native/utils/utils.common.js.map +1 -1
  375. package/package.json +26 -14
  376. package/dist/browser/BufferScheduler.d.ts +0 -3
  377. package/dist/browser/BufferScheduler.d.ts.map +0 -1
  378. package/dist/browser/BufferScheduler.js +0 -8
  379. package/dist/browser/BufferScheduler.js.map +0 -1
  380. package/dist/browser/BuffersStream.d.ts +0 -41
  381. package/dist/browser/BuffersStream.d.ts.map +0 -1
  382. package/dist/browser/BuffersStream.js +0 -97
  383. package/dist/browser/BuffersStream.js.map +0 -1
  384. package/dist/browser/PooledBuffer.d.ts +0 -63
  385. package/dist/browser/PooledBuffer.d.ts.map +0 -1
  386. package/dist/browser/PooledBuffer.js +0 -95
  387. package/dist/browser/PooledBuffer.js.map +0 -1
  388. package/dist/browser/StructuredMessageDecodingStream.d.ts +0 -8
  389. package/dist/browser/StructuredMessageDecodingStream.d.ts.map +0 -1
  390. package/dist/browser/StructuredMessageDecodingStream.js.map +0 -1
  391. package/dist/browser/StructuredMessageEncodingStream.d.ts.map +0 -1
  392. package/dist/browser/StructuredMessageEncodingStream.js.map +0 -1
  393. package/dist/browser/credentials/StorageSharedKeyCredential.d.ts.map +0 -1
  394. package/dist/browser/credentials/StorageSharedKeyCredential.js.map +0 -1
  395. package/dist/browser/credentials/UserDelegationKeyCredential.d.ts.map +0 -1
  396. package/dist/browser/credentials/UserDelegationKeyCredential.js.map +0 -1
  397. package/dist/browser/interfaces.d.ts +0 -12
  398. package/dist/browser/interfaces.d.ts.map +0 -1
  399. package/dist/browser/interfaces.js.map +0 -1
  400. package/dist/browser/policies/StorageBrowserPolicy.d.ts.map +0 -1
  401. package/dist/browser/policies/StorageBrowserPolicy.js.map +0 -1
  402. package/dist/browser/policies/StorageBrowserPolicyV2.d.ts.map +0 -1
  403. package/dist/browser/policies/StorageBrowserPolicyV2.js.map +0 -1
  404. package/dist/browser/policies/StorageCorrectContentLengthPolicy.d.ts.map +0 -1
  405. package/dist/browser/policies/StorageCorrectContentLengthPolicy.js.map +0 -1
  406. package/dist/browser/policies/StorageSharedKeyCredentialPolicy.d.ts +0 -54
  407. package/dist/browser/policies/StorageSharedKeyCredentialPolicy.d.ts.map +0 -1
  408. package/dist/browser/policies/StorageSharedKeyCredentialPolicy.js +0 -145
  409. package/dist/browser/policies/StorageSharedKeyCredentialPolicy.js.map +0 -1
  410. package/dist/browser/policies/StorageSharedKeyCredentialPolicyV2.d.ts.map +0 -1
  411. package/dist/browser/policies/StorageSharedKeyCredentialPolicyV2.js.map +0 -1
  412. package/dist/browser/utils/SharedKeyComparator.d.ts +0 -2
  413. package/dist/browser/utils/SharedKeyComparator.d.ts.map +0 -1
  414. package/dist/browser/utils/SharedKeyComparator.js +0 -73
  415. package/dist/browser/utils/SharedKeyComparator.js.map +0 -1
  416. package/dist/browser/utils/tracing.d.ts +0 -6
  417. package/dist/browser/utils/tracing.d.ts.map +0 -1
  418. package/dist/browser/utils/tracing.js +0 -14
  419. package/dist/browser/utils/tracing.js.map +0 -1
  420. package/dist/commonjs/utils/tracing.d.ts +0 -6
  421. package/dist/commonjs/utils/tracing.d.ts.map +0 -1
  422. package/dist/commonjs/utils/tracing.js.map +0 -7
  423. package/dist/esm/utils/tracing.d.ts +0 -6
  424. package/dist/esm/utils/tracing.d.ts.map +0 -1
  425. package/dist/esm/utils/tracing.js +0 -14
  426. package/dist/esm/utils/tracing.js.map +0 -1
  427. package/dist/react-native/BufferScheduler.d.ts +0 -3
  428. package/dist/react-native/BufferScheduler.d.ts.map +0 -1
  429. package/dist/react-native/BufferScheduler.js +0 -8
  430. package/dist/react-native/BufferScheduler.js.map +0 -1
  431. package/dist/react-native/BuffersStream.d.ts +0 -41
  432. package/dist/react-native/BuffersStream.d.ts.map +0 -1
  433. package/dist/react-native/BuffersStream.js +0 -97
  434. package/dist/react-native/BuffersStream.js.map +0 -1
  435. package/dist/react-native/PooledBuffer.d.ts +0 -63
  436. package/dist/react-native/PooledBuffer.d.ts.map +0 -1
  437. package/dist/react-native/PooledBuffer.js +0 -95
  438. package/dist/react-native/PooledBuffer.js.map +0 -1
  439. package/dist/react-native/StructuredMessageDecoding.d.ts +0 -31
  440. package/dist/react-native/StructuredMessageDecoding.d.ts.map +0 -1
  441. package/dist/react-native/StructuredMessageDecoding.js +0 -201
  442. package/dist/react-native/StructuredMessageDecoding.js.map +0 -1
  443. package/dist/react-native/StructuredMessageDecodingStream.d.ts +0 -22
  444. package/dist/react-native/StructuredMessageDecodingStream.d.ts.map +0 -1
  445. package/dist/react-native/StructuredMessageDecodingStream.js +0 -79
  446. package/dist/react-native/StructuredMessageDecodingStream.js.map +0 -1
  447. package/dist/react-native/StructuredMessageEncodingStream.d.ts +0 -22
  448. package/dist/react-native/StructuredMessageEncodingStream.d.ts.map +0 -1
  449. package/dist/react-native/StructuredMessageEncodingStream.js +0 -180
  450. package/dist/react-native/StructuredMessageEncodingStream.js.map +0 -1
  451. package/dist/react-native/credentials/StorageSharedKeyCredential.d.ts.map +0 -1
  452. package/dist/react-native/credentials/StorageSharedKeyCredential.js.map +0 -1
  453. package/dist/react-native/credentials/UserDelegationKeyCredential.d.ts.map +0 -1
  454. package/dist/react-native/credentials/UserDelegationKeyCredential.js.map +0 -1
  455. package/dist/react-native/interfaces.d.ts +0 -12
  456. package/dist/react-native/interfaces.d.ts.map +0 -1
  457. package/dist/react-native/interfaces.js.map +0 -1
  458. package/dist/react-native/policies/StorageBrowserPolicy.d.ts.map +0 -1
  459. package/dist/react-native/policies/StorageBrowserPolicy.js.map +0 -1
  460. package/dist/react-native/policies/StorageBrowserPolicyV2.d.ts.map +0 -1
  461. package/dist/react-native/policies/StorageBrowserPolicyV2.js.map +0 -1
  462. package/dist/react-native/policies/StorageCorrectContentLengthPolicy.d.ts.map +0 -1
  463. package/dist/react-native/policies/StorageCorrectContentLengthPolicy.js.map +0 -1
  464. package/dist/react-native/policies/StorageSharedKeyCredentialPolicy.d.ts +0 -54
  465. package/dist/react-native/policies/StorageSharedKeyCredentialPolicy.d.ts.map +0 -1
  466. package/dist/react-native/policies/StorageSharedKeyCredentialPolicy.js +0 -145
  467. package/dist/react-native/policies/StorageSharedKeyCredentialPolicy.js.map +0 -1
  468. package/dist/react-native/policies/StorageSharedKeyCredentialPolicyV2.d.ts.map +0 -1
  469. package/dist/react-native/policies/StorageSharedKeyCredentialPolicyV2.js.map +0 -1
  470. package/dist/react-native/utils/SharedKeyComparator.d.ts +0 -2
  471. package/dist/react-native/utils/SharedKeyComparator.d.ts.map +0 -1
  472. package/dist/react-native/utils/SharedKeyComparator.js +0 -73
  473. package/dist/react-native/utils/SharedKeyComparator.js.map +0 -1
  474. package/dist/react-native/utils/tracing.d.ts +0 -6
  475. package/dist/react-native/utils/tracing.d.ts.map +0 -1
  476. package/dist/react-native/utils/tracing.js +0 -14
  477. package/dist/react-native/utils/tracing.js.map +0 -1
@@ -1,95 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
- import { BuffersStream } from "./BuffersStream.js";
4
- import buffer from "node:buffer";
5
- /**
6
- * maxBufferLength is max size of each buffer in the pooled buffers.
7
- */
8
- const maxBufferLength = buffer.constants.MAX_LENGTH;
9
- /**
10
- * This class provides a buffer container which conceptually has no hard size limit.
11
- * It accepts a capacity, an array of input buffers and the total length of input data.
12
- * It will allocate an internal "buffer" of the capacity and fill the data in the input buffers
13
- * into the internal "buffer" serially with respect to the total length.
14
- * Then by calling PooledBuffer.getReadableStream(), you can get a readable stream
15
- * assembled from all the data in the internal "buffer".
16
- */
17
- export class PooledBuffer {
18
- /**
19
- * Internal buffers used to keep the data.
20
- * Each buffer has a length of the maxBufferLength except last one.
21
- */
22
- buffers = [];
23
- /**
24
- * The total size of internal buffers.
25
- */
26
- capacity;
27
- /**
28
- * The total size of data contained in internal buffers.
29
- */
30
- _size;
31
- /**
32
- * The size of the data contained in the pooled buffers.
33
- */
34
- get size() {
35
- return this._size;
36
- }
37
- constructor(capacity, buffers, totalLength) {
38
- this.capacity = capacity;
39
- this._size = 0;
40
- // allocate
41
- const bufferNum = Math.ceil(capacity / maxBufferLength);
42
- for (let i = 0; i < bufferNum; i++) {
43
- let len = i === bufferNum - 1 ? capacity % maxBufferLength : maxBufferLength;
44
- if (len === 0) {
45
- len = maxBufferLength;
46
- }
47
- this.buffers.push(Buffer.allocUnsafe(len));
48
- }
49
- if (buffers) {
50
- this.fill(buffers, totalLength);
51
- }
52
- }
53
- /**
54
- * Fill the internal buffers with data in the input buffers serially
55
- * with respect to the total length and the total capacity of the internal buffers.
56
- * Data copied will be shift out of the input buffers.
57
- *
58
- * @param buffers - Input buffers containing the data to be filled in the pooled buffer
59
- * @param totalLength - Total length of the data to be filled in.
60
- *
61
- */
62
- fill(buffers, totalLength) {
63
- this._size = Math.min(this.capacity, totalLength);
64
- let i = 0, j = 0, targetOffset = 0, sourceOffset = 0, totalCopiedNum = 0;
65
- while (totalCopiedNum < this._size) {
66
- const source = buffers[i];
67
- const target = this.buffers[j];
68
- const copiedNum = source.copy(target, targetOffset, sourceOffset);
69
- totalCopiedNum += copiedNum;
70
- sourceOffset += copiedNum;
71
- targetOffset += copiedNum;
72
- if (sourceOffset === source.length) {
73
- i++;
74
- sourceOffset = 0;
75
- }
76
- if (targetOffset === target.length) {
77
- j++;
78
- targetOffset = 0;
79
- }
80
- }
81
- // clear copied from source buffers
82
- buffers.splice(0, i);
83
- if (buffers.length > 0) {
84
- buffers[0] = buffers[0].slice(sourceOffset);
85
- }
86
- }
87
- /**
88
- * Get the readable stream assembled from all the data in the internal buffers.
89
- *
90
- */
91
- getReadableStream() {
92
- return new BuffersStream(this.buffers, this.size);
93
- }
94
- }
95
- //# sourceMappingURL=PooledBuffer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PooledBuffer.js","sourceRoot":"","sources":["../../src/PooledBuffer.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { BuffersStream } from \"./BuffersStream.js\";\nimport type { Readable } from \"node:stream\";\nimport buffer from \"node:buffer\";\n\n/**\n * maxBufferLength is max size of each buffer in the pooled buffers.\n */\n\nconst maxBufferLength = buffer.constants.MAX_LENGTH;\n\n/**\n * This class provides a buffer container which conceptually has no hard size limit.\n * It accepts a capacity, an array of input buffers and the total length of input data.\n * It will allocate an internal \"buffer\" of the capacity and fill the data in the input buffers\n * into the internal \"buffer\" serially with respect to the total length.\n * Then by calling PooledBuffer.getReadableStream(), you can get a readable stream\n * assembled from all the data in the internal \"buffer\".\n */\nexport class PooledBuffer {\n /**\n * Internal buffers used to keep the data.\n * Each buffer has a length of the maxBufferLength except last one.\n */\n private buffers: Buffer[] = [];\n\n /**\n * The total size of internal buffers.\n */\n private readonly capacity: number;\n\n /**\n * The total size of data contained in internal buffers.\n */\n private _size: number;\n\n /**\n * The size of the data contained in the pooled buffers.\n */\n public get size(): number {\n return this._size;\n }\n\n /**\n * Creates an instance of PooledBuffer with given capacity.\n * Internal buffers are allocated but contains no data.\n * Users may call the {@link PooledBuffer.fill} method to fill this\n * pooled buffer with data.\n *\n * @param capacity - Total capacity of the internal buffers\n */\n constructor(capacity: number);\n\n /**\n * Creates an instance of PooledBuffer with given capacity.\n * Internal buffers are allocated and filled with data in the input buffers serially\n * with respect to the total length.\n *\n * @param capacity - Total capacity of the internal buffers\n * @param buffers - Input buffers containing the data to be filled in the pooled buffer\n * @param totalLength - Total length of the data to be filled in.\n */\n constructor(capacity: number, buffers: Buffer[], totalLength: number);\n constructor(capacity: number, buffers?: Buffer[], totalLength?: number) {\n this.capacity = capacity;\n this._size = 0;\n\n // allocate\n const bufferNum = Math.ceil(capacity / maxBufferLength);\n for (let i = 0; i < bufferNum; i++) {\n let len = i === bufferNum - 1 ? capacity % maxBufferLength : maxBufferLength;\n if (len === 0) {\n len = maxBufferLength;\n }\n this.buffers.push(Buffer.allocUnsafe(len));\n }\n\n if (buffers) {\n this.fill(buffers, totalLength!);\n }\n }\n\n /**\n * Fill the internal buffers with data in the input buffers serially\n * with respect to the total length and the total capacity of the internal buffers.\n * Data copied will be shift out of the input buffers.\n *\n * @param buffers - Input buffers containing the data to be filled in the pooled buffer\n * @param totalLength - Total length of the data to be filled in.\n *\n */\n public fill(buffers: Buffer[], totalLength: number): void {\n this._size = Math.min(this.capacity, totalLength);\n\n let i = 0,\n j = 0,\n targetOffset = 0,\n sourceOffset = 0,\n totalCopiedNum = 0;\n while (totalCopiedNum < this._size) {\n const source = buffers[i];\n const target = this.buffers[j];\n const copiedNum = source.copy(target, targetOffset, sourceOffset);\n\n totalCopiedNum += copiedNum;\n sourceOffset += copiedNum;\n targetOffset += copiedNum;\n if (sourceOffset === source.length) {\n i++;\n sourceOffset = 0;\n }\n if (targetOffset === target.length) {\n j++;\n targetOffset = 0;\n }\n }\n\n // clear copied from source buffers\n buffers.splice(0, i);\n if (buffers.length > 0) {\n buffers[0] = buffers[0].slice(sourceOffset);\n }\n }\n\n /**\n * Get the readable stream assembled from all the data in the internal buffers.\n *\n */\n public getReadableStream(): Readable {\n return new BuffersStream(this.buffers, this.size);\n }\n}\n"]}
@@ -1,31 +0,0 @@
1
- export declare class StructuredMessageDecoding {
2
- private pushData;
3
- private segmentsCount;
4
- private currentOffset;
5
- private currentDataOffset;
6
- private messageHeaderBuffer;
7
- private messageHeaderOffset;
8
- private segmentNumber;
9
- private segmentHeaderOffset;
10
- private segmentHeaderBuffer;
11
- private segmentContentOffset;
12
- private segmentContentLength;
13
- private segmentFooterOffset;
14
- private segmentFooterBuffer;
15
- private messageFooterOffset;
16
- private messageFooterBuffer;
17
- private segmentCrc64;
18
- private messageCrc64;
19
- private state;
20
- constructor(pushData: (data: any) => any);
21
- sourceDataHandler: (data: Buffer) => void;
22
- private parseMessageHeader;
23
- private parseSegmentHeader;
24
- private parseSegmentContent;
25
- private parseSegmentFooter;
26
- private parseMessageFooter;
27
- private toInt64;
28
- private toInt16;
29
- private checkCrc64CheckSum;
30
- }
31
- //# sourceMappingURL=StructuredMessageDecoding.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StructuredMessageDecoding.d.ts","sourceRoot":"","sources":["../../src/StructuredMessageDecoding.ts"],"names":[],"mappings":"AAmBA,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,aAAa,CAAS;IAE9B,OAAO,CAAC,aAAa,CAAS;IAE9B,OAAO,CAAC,iBAAiB,CAAS;IAElC,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,mBAAmB,CAAS;IAEpC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,mBAAmB,CAAa;IAExC,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,oBAAoB,CAAS;IAErC,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,mBAAmB,CAAa;IAExC,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,mBAAmB,CAAa;IAExC,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,YAAY,CAAyB;IAE7C,OAAO,CAAC,KAAK,CAAW;gBAEL,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG;IA6BxC,iBAAiB,GAAI,MAAM,MAAM,KAAG,IAAI,CAuB7C;IAEF,OAAO,CAAC,kBAAkB;IA+B1B,OAAO,CAAC,kBAAkB;IAiC1B,OAAO,CAAC,mBAAmB;IAwB3B,OAAO,CAAC,kBAAkB;IAqC1B,OAAO,CAAC,kBAAkB;IA2B1B,OAAO,CAAC,OAAO;IAkBf,OAAO,CAAC,OAAO;IAiBf,OAAO,CAAC,kBAAkB;CAa3B"}
@@ -1,201 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
- import { StorageCRC64Calculator } from "./StorageCRC64Calculator.js";
4
- import { isNodeLike } from "@azure/core-util";
5
- const MESSAGE_VERSION = 1;
6
- const MESSAGE_HEADER_LENGTH = 13;
7
- const SEGMENT_HEADER_LENGTH = 10;
8
- const FOOTER_LENGTH = 8;
9
- var SMRegion;
10
- (function (SMRegion) {
11
- SMRegion[SMRegion["StreamHeader"] = 0] = "StreamHeader";
12
- SMRegion[SMRegion["StreamFooter"] = 1] = "StreamFooter";
13
- SMRegion[SMRegion["SegmentHeader"] = 2] = "SegmentHeader";
14
- SMRegion[SMRegion["SegmentFooter"] = 3] = "SegmentFooter";
15
- SMRegion[SMRegion["SegmentContent"] = 4] = "SegmentContent";
16
- })(SMRegion || (SMRegion = {}));
17
- export class StructuredMessageDecoding {
18
- pushData;
19
- segmentsCount;
20
- // private currentState: SMRegion;
21
- currentOffset;
22
- currentDataOffset;
23
- messageHeaderBuffer;
24
- messageHeaderOffset;
25
- segmentNumber;
26
- segmentHeaderOffset;
27
- segmentHeaderBuffer;
28
- segmentContentOffset;
29
- segmentContentLength;
30
- segmentFooterOffset;
31
- segmentFooterBuffer;
32
- messageFooterOffset;
33
- messageFooterBuffer;
34
- segmentCrc64;
35
- messageCrc64;
36
- state;
37
- constructor(pushData) {
38
- this.pushData = pushData;
39
- this.currentOffset = 0;
40
- this.segmentsCount = 0;
41
- this.messageHeaderOffset = 0;
42
- this.messageHeaderBuffer = new Uint8Array(MESSAGE_HEADER_LENGTH);
43
- this.currentDataOffset = 0;
44
- this.segmentNumber = 0;
45
- this.segmentHeaderOffset = 0;
46
- this.segmentHeaderBuffer = new Uint8Array(SEGMENT_HEADER_LENGTH);
47
- this.segmentContentOffset = 0;
48
- this.segmentContentLength = 0;
49
- this.state = SMRegion.StreamHeader;
50
- this.segmentFooterOffset = 0;
51
- this.segmentFooterBuffer = new Uint8Array(FOOTER_LENGTH);
52
- this.messageFooterOffset = 0;
53
- this.messageFooterBuffer = new Uint8Array(FOOTER_LENGTH);
54
- this.segmentCrc64 = new StorageCRC64Calculator();
55
- this.messageCrc64 = new StorageCRC64Calculator();
56
- }
57
- sourceDataHandler = (data) => {
58
- this.currentDataOffset = 0;
59
- if (this.state === SMRegion.StreamHeader) {
60
- this.parseMessageHeader(data);
61
- }
62
- while (this.segmentNumber < this.segmentsCount && this.currentDataOffset < data.length) {
63
- if (this.state === SMRegion.SegmentHeader) {
64
- this.parseSegmentHeader(data);
65
- }
66
- if (this.state === SMRegion.SegmentContent) {
67
- this.parseSegmentContent(data);
68
- }
69
- if (this.state === SMRegion.SegmentFooter) {
70
- this.parseSegmentFooter(data);
71
- }
72
- }
73
- if (this.state === SMRegion.StreamFooter) {
74
- this.parseMessageFooter(data);
75
- }
76
- };
77
- parseMessageHeader(data) {
78
- const length = Math.min(MESSAGE_HEADER_LENGTH - this.messageHeaderOffset, data.length - this.currentDataOffset);
79
- this.messageHeaderBuffer.set(Uint8Array.prototype.slice.call(data, this.currentDataOffset, this.currentDataOffset + length), this.messageHeaderOffset);
80
- this.currentDataOffset += length;
81
- this.messageHeaderOffset += length;
82
- this.currentOffset += length;
83
- if (this.messageHeaderOffset === MESSAGE_HEADER_LENGTH) {
84
- const currentVersion = this.messageHeaderBuffer[0];
85
- if (currentVersion !== MESSAGE_VERSION) {
86
- throw new Error("Unexpected message version");
87
- }
88
- this.segmentsCount = this.toInt16(Uint8Array.prototype.slice.call(this.messageHeaderBuffer, 11, 13));
89
- this.state = SMRegion.SegmentHeader;
90
- }
91
- }
92
- parseSegmentHeader(data) {
93
- const length = Math.min(SEGMENT_HEADER_LENGTH - this.segmentHeaderOffset, data.length - this.currentDataOffset);
94
- this.segmentHeaderBuffer.set(Uint8Array.prototype.slice.call(data, this.currentDataOffset, this.currentDataOffset + length), this.segmentHeaderOffset);
95
- this.currentDataOffset += length;
96
- this.segmentHeaderOffset += length;
97
- this.currentOffset += length;
98
- if (this.segmentHeaderOffset === SEGMENT_HEADER_LENGTH) {
99
- const currentSegmentNumber = this.toInt16(Uint8Array.prototype.slice.call(this.segmentHeaderBuffer, 0, 2));
100
- if (currentSegmentNumber !== this.segmentNumber + 1) {
101
- throw new Error("Segment number is unexpected.");
102
- }
103
- this.segmentContentLength = this.toInt64(this.segmentHeaderBuffer, 2);
104
- this.segmentContentOffset = 0;
105
- this.state = SMRegion.SegmentContent;
106
- }
107
- }
108
- parseSegmentContent(data) {
109
- const length = Math.min(this.segmentContentLength - this.segmentContentOffset, data.length - this.currentDataOffset);
110
- const dataToHandle = Uint8Array.prototype.slice.call(data, this.currentDataOffset, this.currentDataOffset + length);
111
- this.segmentCrc64.append(dataToHandle, length);
112
- this.messageCrc64.append(dataToHandle, length);
113
- this.pushData(dataToHandle);
114
- this.currentDataOffset += length;
115
- this.segmentContentOffset += length;
116
- this.currentOffset += length;
117
- if (this.segmentContentOffset === this.segmentContentLength) {
118
- this.state = SMRegion.SegmentFooter;
119
- }
120
- }
121
- parseSegmentFooter(data) {
122
- const length = Math.min(FOOTER_LENGTH - this.segmentFooterOffset, data.length - this.currentDataOffset);
123
- this.segmentFooterBuffer.set(Uint8Array.prototype.slice.call(data, this.currentDataOffset, this.currentDataOffset + length), this.segmentFooterOffset);
124
- this.currentDataOffset += length;
125
- this.segmentFooterOffset += length;
126
- this.currentOffset += length;
127
- if (this.segmentFooterOffset === FOOTER_LENGTH) {
128
- const crc64Result = this.segmentCrc64.final(new Uint8Array([]), 0);
129
- if (!this.checkCrc64CheckSum(crc64Result, this.segmentFooterBuffer)) {
130
- throw new Error(`Segment check sum mismatch, segmentNumber: ${this.segmentNumber}`);
131
- }
132
- ++this.segmentNumber;
133
- if (this.segmentNumber === this.segmentsCount) {
134
- this.state = SMRegion.StreamFooter;
135
- }
136
- else {
137
- this.segmentHeaderOffset = 0;
138
- this.segmentFooterOffset = 0;
139
- this.segmentCrc64 = new StorageCRC64Calculator();
140
- this.state = SMRegion.SegmentHeader;
141
- }
142
- }
143
- }
144
- parseMessageFooter(data) {
145
- const length = Math.min(FOOTER_LENGTH - this.messageFooterOffset, data.length - this.currentDataOffset);
146
- this.messageFooterBuffer.set(Uint8Array.prototype.slice.call(data, this.currentDataOffset, this.currentDataOffset + length), this.messageFooterOffset);
147
- this.currentDataOffset += length;
148
- this.messageFooterOffset += length;
149
- this.currentOffset += length;
150
- if (this.messageFooterOffset === FOOTER_LENGTH) {
151
- const crc64Result = this.messageCrc64.final(new Uint8Array([]), 0);
152
- if (!this.checkCrc64CheckSum(crc64Result, this.messageFooterBuffer)) {
153
- throw new Error("Check sum mismatch");
154
- }
155
- this.pushData(null);
156
- }
157
- }
158
- toInt64(input, offset) {
159
- if (input.length < offset + 8) {
160
- throw new Error("CRC64 buffer error, something wrong with crc64 calculator");
161
- }
162
- if (isNodeLike) {
163
- const internalBuffer = Buffer.alloc(8);
164
- for (let index = 0; index < 6; ++index) {
165
- internalBuffer[index] = input[offset + index];
166
- }
167
- return Number(internalBuffer.readBigInt64LE());
168
- }
169
- else {
170
- const view = new DataView(input.buffer, offset, 8);
171
- return Number(view.getBigUint64(0, true));
172
- }
173
- }
174
- toInt16(input) {
175
- if (input.length !== 2) {
176
- throw new Error("CRC64 buffer error, something wrong with crc64 calculator");
177
- }
178
- if (isNodeLike) {
179
- const internalBuffer = Buffer.alloc(2);
180
- for (let index = 0; index < 2; ++index) {
181
- internalBuffer[index] = input[index];
182
- }
183
- return Number(internalBuffer.readInt16LE());
184
- }
185
- else {
186
- return input[0] + input[1] * 256;
187
- }
188
- }
189
- checkCrc64CheckSum(first, second) {
190
- if (first.length !== 8 || second.length !== 8) {
191
- throw new Error("CRC64 buffer error, something wrong with crc64 calculator");
192
- }
193
- for (let index = 0; index < 8; ++index) {
194
- if (first[index] !== second[index]) {
195
- return false;
196
- }
197
- }
198
- return true;
199
- }
200
- }
201
- //# sourceMappingURL=StructuredMessageDecoding.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StructuredMessageDecoding.js","sourceRoot":"","sources":["../../src/StructuredMessageDecoding.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { StorageCRC64Calculator } from \"./StorageCRC64Calculator.js\";\nimport { isNodeLike } from \"@azure/core-util\";\n\nconst MESSAGE_VERSION: number = 1;\nconst MESSAGE_HEADER_LENGTH: number = 13;\nconst SEGMENT_HEADER_LENGTH: number = 10;\nconst FOOTER_LENGTH: number = 8;\n\nenum SMRegion {\n StreamHeader,\n StreamFooter,\n SegmentHeader,\n SegmentFooter,\n SegmentContent,\n}\n\nexport class StructuredMessageDecoding {\n private pushData: (data: any) => any;\n private segmentsCount: number;\n // private currentState: SMRegion;\n private currentOffset: number;\n\n private currentDataOffset: number;\n\n private messageHeaderBuffer: Uint8Array;\n private messageHeaderOffset: number;\n\n private segmentNumber: number;\n private segmentHeaderOffset: number;\n private segmentHeaderBuffer: Uint8Array;\n\n private segmentContentOffset: number;\n private segmentContentLength: number;\n\n private segmentFooterOffset: number;\n private segmentFooterBuffer: Uint8Array;\n\n private messageFooterOffset: number;\n private messageFooterBuffer: Uint8Array;\n\n private segmentCrc64: StorageCRC64Calculator;\n private messageCrc64: StorageCRC64Calculator;\n\n private state: SMRegion;\n\n public constructor(pushData: (data: any) => any) {\n this.pushData = pushData;\n this.currentOffset = 0;\n this.segmentsCount = 0;\n\n this.messageHeaderOffset = 0;\n this.messageHeaderBuffer = new Uint8Array(MESSAGE_HEADER_LENGTH);\n\n this.currentDataOffset = 0;\n\n this.segmentNumber = 0;\n this.segmentHeaderOffset = 0;\n this.segmentHeaderBuffer = new Uint8Array(SEGMENT_HEADER_LENGTH);\n\n this.segmentContentOffset = 0;\n this.segmentContentLength = 0;\n\n this.state = SMRegion.StreamHeader;\n\n this.segmentFooterOffset = 0;\n this.segmentFooterBuffer = new Uint8Array(FOOTER_LENGTH);\n\n this.messageFooterOffset = 0;\n this.messageFooterBuffer = new Uint8Array(FOOTER_LENGTH);\n\n this.segmentCrc64 = new StorageCRC64Calculator();\n this.messageCrc64 = new StorageCRC64Calculator();\n }\n\n public sourceDataHandler = (data: Buffer): void => {\n this.currentDataOffset = 0;\n\n if (this.state === SMRegion.StreamHeader) {\n this.parseMessageHeader(data);\n }\n\n while (this.segmentNumber < this.segmentsCount && this.currentDataOffset < data.length) {\n if (this.state === SMRegion.SegmentHeader) {\n this.parseSegmentHeader(data);\n }\n\n if (this.state === SMRegion.SegmentContent) {\n this.parseSegmentContent(data);\n }\n if (this.state === SMRegion.SegmentFooter) {\n this.parseSegmentFooter(data);\n }\n }\n\n if (this.state === SMRegion.StreamFooter) {\n this.parseMessageFooter(data);\n }\n };\n\n private parseMessageHeader(data: Buffer) {\n const length = Math.min(\n MESSAGE_HEADER_LENGTH - this.messageHeaderOffset,\n data.length - this.currentDataOffset,\n );\n this.messageHeaderBuffer.set(\n Uint8Array.prototype.slice.call(\n data,\n this.currentDataOffset,\n this.currentDataOffset + length,\n ),\n this.messageHeaderOffset,\n );\n\n this.currentDataOffset += length;\n this.messageHeaderOffset += length;\n this.currentOffset += length;\n\n if (this.messageHeaderOffset === MESSAGE_HEADER_LENGTH) {\n const currentVersion = this.messageHeaderBuffer[0];\n if (currentVersion !== MESSAGE_VERSION) {\n throw new Error(\"Unexpected message version\");\n }\n\n this.segmentsCount = this.toInt16(\n Uint8Array.prototype.slice.call(this.messageHeaderBuffer, 11, 13),\n );\n this.state = SMRegion.SegmentHeader;\n }\n }\n\n private parseSegmentHeader(data: Buffer) {\n const length = Math.min(\n SEGMENT_HEADER_LENGTH - this.segmentHeaderOffset,\n data.length - this.currentDataOffset,\n );\n this.segmentHeaderBuffer.set(\n Uint8Array.prototype.slice.call(\n data,\n this.currentDataOffset,\n this.currentDataOffset + length,\n ),\n this.segmentHeaderOffset,\n );\n\n this.currentDataOffset += length;\n this.segmentHeaderOffset += length;\n this.currentOffset += length;\n\n if (this.segmentHeaderOffset === SEGMENT_HEADER_LENGTH) {\n const currentSegmentNumber = this.toInt16(\n Uint8Array.prototype.slice.call(this.segmentHeaderBuffer, 0, 2),\n );\n if (currentSegmentNumber !== this.segmentNumber + 1) {\n throw new Error(\"Segment number is unexpected.\");\n }\n\n this.segmentContentLength = this.toInt64(this.segmentHeaderBuffer, 2);\n this.segmentContentOffset = 0;\n\n this.state = SMRegion.SegmentContent;\n }\n }\n\n private parseSegmentContent(data: Buffer) {\n const length = Math.min(\n this.segmentContentLength - this.segmentContentOffset,\n data.length - this.currentDataOffset,\n );\n const dataToHandle = Uint8Array.prototype.slice.call(\n data,\n this.currentDataOffset,\n this.currentDataOffset + length,\n );\n this.segmentCrc64.append(dataToHandle, length);\n this.messageCrc64.append(dataToHandle, length);\n\n this.pushData(dataToHandle);\n\n this.currentDataOffset += length;\n this.segmentContentOffset += length;\n this.currentOffset += length;\n\n if (this.segmentContentOffset === this.segmentContentLength) {\n this.state = SMRegion.SegmentFooter;\n }\n }\n\n private parseSegmentFooter(data: Buffer) {\n const length = Math.min(\n FOOTER_LENGTH - this.segmentFooterOffset,\n data.length - this.currentDataOffset,\n );\n\n this.segmentFooterBuffer.set(\n Uint8Array.prototype.slice.call(\n data,\n this.currentDataOffset,\n this.currentDataOffset + length,\n ),\n this.segmentFooterOffset,\n );\n\n this.currentDataOffset += length;\n this.segmentFooterOffset += length;\n this.currentOffset += length;\n\n if (this.segmentFooterOffset === FOOTER_LENGTH) {\n const crc64Result = this.segmentCrc64.final(new Uint8Array([]), 0);\n if (!this.checkCrc64CheckSum(crc64Result, this.segmentFooterBuffer)) {\n throw new Error(`Segment check sum mismatch, segmentNumber: ${this.segmentNumber}`);\n }\n\n ++this.segmentNumber;\n if (this.segmentNumber === this.segmentsCount) {\n this.state = SMRegion.StreamFooter;\n } else {\n this.segmentHeaderOffset = 0;\n this.segmentFooterOffset = 0;\n this.segmentCrc64 = new StorageCRC64Calculator();\n this.state = SMRegion.SegmentHeader;\n }\n }\n }\n\n private parseMessageFooter(data: Buffer) {\n const length = Math.min(\n FOOTER_LENGTH - this.messageFooterOffset,\n data.length - this.currentDataOffset,\n );\n this.messageFooterBuffer.set(\n Uint8Array.prototype.slice.call(\n data,\n this.currentDataOffset,\n this.currentDataOffset + length,\n ),\n this.messageFooterOffset,\n );\n\n this.currentDataOffset += length;\n this.messageFooterOffset += length;\n this.currentOffset += length;\n\n if (this.messageFooterOffset === FOOTER_LENGTH) {\n const crc64Result = this.messageCrc64.final(new Uint8Array([]), 0);\n if (!this.checkCrc64CheckSum(crc64Result, this.messageFooterBuffer)) {\n throw new Error(\"Check sum mismatch\");\n }\n this.pushData(null);\n }\n }\n\n private toInt64(input: Uint8Array, offset: number): number {\n if (input.length < offset + 8) {\n throw new Error(\"CRC64 buffer error, something wrong with crc64 calculator\");\n }\n\n if (isNodeLike) {\n const internalBuffer = Buffer.alloc(8);\n for (let index = 0; index < 6; ++index) {\n internalBuffer[index] = input[offset + index];\n }\n\n return Number(internalBuffer.readBigInt64LE());\n } else {\n const view = new DataView(input.buffer, offset, 8);\n return Number(view.getBigUint64(0, true));\n }\n }\n\n private toInt16(input: Uint8Array): number {\n if (input.length !== 2) {\n throw new Error(\"CRC64 buffer error, something wrong with crc64 calculator\");\n }\n\n if (isNodeLike) {\n const internalBuffer = Buffer.alloc(2);\n for (let index = 0; index < 2; ++index) {\n internalBuffer[index] = input[index];\n }\n\n return Number(internalBuffer.readInt16LE());\n } else {\n return input[0] + input[1] * 256;\n }\n }\n\n private checkCrc64CheckSum(first: Uint8Array, second: Uint8Array): boolean {\n if (first.length !== 8 || second.length !== 8) {\n throw new Error(\"CRC64 buffer error, something wrong with crc64 calculator\");\n }\n\n for (let index = 0; index < 8; ++index) {\n if (first[index] !== second[index]) {\n return false;\n }\n }\n\n return true;\n }\n}\n"]}
@@ -1,22 +0,0 @@
1
- /**
2
- * To decode structured body for CRC64 content validtion in storage downloading.
3
- * @param source -
4
- */
5
- export declare function structuredMessageDecodingBrowser(source: Blob | ReadableStream<Uint8Array>): Promise<Blob>;
6
- /**
7
- * Options used when creating StructuredMessageDecodingStream
8
- */
9
- export interface StructuredMessageDecodingStreamOptions {
10
- /**
11
- * A threshold, not a limit. Dictates the amount of data that a stream buffers before it stops asking for more data.
12
- */
13
- highWaterMark?: number;
14
- }
15
- /**
16
- * To decode structured body for CRC64 content validtion in storage downloading.
17
- * @param source -
18
- * @param options -
19
- * @returns
20
- */
21
- export declare function structuredMessageDecodingStream(source: NodeJS.ReadableStream, options: StructuredMessageDecodingStreamOptions): NodeJS.ReadableStream;
22
- //# sourceMappingURL=StructuredMessageDecodingStream.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StructuredMessageDecodingStream.d.ts","sourceRoot":"","sources":["../../src/StructuredMessageDecodingStream.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,wBAAsB,gCAAgC,CACpD,MAAM,EAAE,IAAI,GAAG,cAAc,CAAC,UAAU,CAAC,GACxC,OAAO,CAAC,IAAI,CAAC,CAIf;AAED;;GAEG;AACH,MAAM,WAAW,sCAAsC;IACrD;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,MAAM,CAAC,cAAc,EAC7B,OAAO,EAAE,sCAAsC,GAC9C,MAAM,CAAC,cAAc,CAEvB"}
@@ -1,79 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
- import { AbortError } from "@azure/abort-controller";
4
- import { Readable } from "node:stream";
5
- import { StructuredMessageDecoding } from "./StructuredMessageDecoding.js";
6
- /**
7
- * To decode structured body for CRC64 content validtion in storage downloading.
8
- * @param source -
9
- */
10
- export async function structuredMessageDecodingBrowser(source) {
11
- /* eslint-disable no-unused-expressions */
12
- source;
13
- throw new Error("structuredMessageDecodingBrowser is only for Browser");
14
- }
15
- /**
16
- * To decode structured body for CRC64 content validtion in storage downloading.
17
- * @param source -
18
- * @param options -
19
- * @returns
20
- */
21
- export function structuredMessageDecodingStream(source, options) {
22
- return new StructuredMessageDecodingStream(source, options);
23
- }
24
- class StructuredMessageDecodingStream extends Readable {
25
- source;
26
- decodingMethods;
27
- constructor(source, options) {
28
- super({ highWaterMark: options.highWaterMark });
29
- this.source = source;
30
- this.decodingMethods = new StructuredMessageDecoding((dataToHandle) => {
31
- if (!this.push(dataToHandle)) {
32
- source.pause();
33
- }
34
- });
35
- this.setSourceEventHandlers();
36
- }
37
- _read() {
38
- this.source.resume();
39
- }
40
- setSourceEventHandlers() {
41
- this.source.on("data", this.sourceDataHandler);
42
- this.source.on("end", this.sourceErrorOrEndHandler);
43
- this.source.on("error", this.sourceErrorOrEndHandler);
44
- // needed for Node14
45
- this.source.on("aborted", this.sourceAbortedHandler);
46
- }
47
- removeSourceEventHandlers() {
48
- this.source.removeListener("data", this.sourceDataHandler);
49
- this.source.removeListener("end", this.sourceErrorOrEndHandler);
50
- this.source.removeListener("error", this.sourceErrorOrEndHandler);
51
- this.source.removeListener("aborted", this.sourceAbortedHandler);
52
- }
53
- sourceDataHandler = (data) => {
54
- try {
55
- this.decodingMethods.sourceDataHandler(data);
56
- }
57
- catch (err) {
58
- this.destroy(err);
59
- }
60
- };
61
- sourceAbortedHandler = () => {
62
- const abortError = new AbortError("The operation was aborted.");
63
- this.destroy(abortError);
64
- };
65
- sourceErrorOrEndHandler = (err) => {
66
- if (err) {
67
- this.destroy(err);
68
- return;
69
- }
70
- this.removeSourceEventHandlers();
71
- };
72
- _destroy(error, callback) {
73
- // remove listener from source and release source
74
- this.removeSourceEventHandlers();
75
- this.source.destroy();
76
- callback(error === null ? undefined : error);
77
- }
78
- }
79
- //# sourceMappingURL=StructuredMessageDecodingStream.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StructuredMessageDecodingStream.js","sourceRoot":"","sources":["../../src/StructuredMessageDecodingStream.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,MAAyC;IAEzC,0CAA0C;IAC1C,MAAM,CAAC;IACP,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;AAC1E,CAAC;AAYD;;;;;GAKG;AACH,MAAM,UAAU,+BAA+B,CAC7C,MAA6B,EAC7B,OAA+C;IAE/C,OAAO,IAAI,+BAA+B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,+BAAgC,SAAQ,QAAQ;IAC5C,MAAM,CAAwB;IAC9B,eAAe,CAA4B;IACnD,YACE,MAA6B,EAC7B,OAA+C;QAE/C,KAAK,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,eAAe,GAAG,IAAI,yBAAyB,CAAC,CAAC,YAAY,EAAE,EAAE;YACpE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC7B,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAChC,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IAEO,sBAAsB;QAC5B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACtD,oBAAoB;QACpB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACvD,CAAC;IAEO,yBAAyB;QAC/B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACnE,CAAC;IACO,iBAAiB,GAAG,CAAC,IAAY,EAAE,EAAE;QAC3C,IAAI,CAAC;YACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,CAAC,GAAY,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC;IAEM,oBAAoB,GAAG,GAAG,EAAE;QAClC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,4BAA4B,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3B,CAAC,CAAC;IAEM,uBAAuB,GAAG,CAAC,GAAW,EAAE,EAAE;QAChD,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACnC,CAAC,CAAC;IAEF,QAAQ,CAAC,KAAmB,EAAE,QAAiC;QAC7D,iDAAiD;QACjD,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAChC,IAAI,CAAC,MAAmB,CAAC,OAAO,EAAE,CAAC;QAEpC,QAAQ,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { AbortError } from \"@azure/abort-controller\";\nimport { Readable } from \"node:stream\";\nimport { StructuredMessageDecoding } from \"./StructuredMessageDecoding.js\";\n\n/**\n * To decode structured body for CRC64 content validtion in storage downloading.\n * @param source -\n */\nexport async function structuredMessageDecodingBrowser(\n source: Blob | ReadableStream<Uint8Array>,\n): Promise<Blob> {\n /* eslint-disable no-unused-expressions */\n source;\n throw new Error(\"structuredMessageDecodingBrowser is only for Browser\");\n}\n\n/**\n * Options used when creating StructuredMessageDecodingStream\n */\nexport interface StructuredMessageDecodingStreamOptions {\n /**\n * A threshold, not a limit. Dictates the amount of data that a stream buffers before it stops asking for more data.\n */\n highWaterMark?: number;\n}\n\n/**\n * To decode structured body for CRC64 content validtion in storage downloading.\n * @param source -\n * @param options -\n * @returns\n */\nexport function structuredMessageDecodingStream(\n source: NodeJS.ReadableStream,\n options: StructuredMessageDecodingStreamOptions,\n): NodeJS.ReadableStream {\n return new StructuredMessageDecodingStream(source, options);\n}\n\nclass StructuredMessageDecodingStream extends Readable {\n private source: NodeJS.ReadableStream;\n private decodingMethods: StructuredMessageDecoding;\n public constructor(\n source: NodeJS.ReadableStream,\n options: StructuredMessageDecodingStreamOptions,\n ) {\n super({ highWaterMark: options.highWaterMark });\n this.source = source;\n this.decodingMethods = new StructuredMessageDecoding((dataToHandle) => {\n if (!this.push(dataToHandle)) {\n source.pause();\n }\n });\n this.setSourceEventHandlers();\n }\n\n public _read(): void {\n this.source.resume();\n }\n\n private setSourceEventHandlers() {\n this.source.on(\"data\", this.sourceDataHandler);\n this.source.on(\"end\", this.sourceErrorOrEndHandler);\n this.source.on(\"error\", this.sourceErrorOrEndHandler);\n // needed for Node14\n this.source.on(\"aborted\", this.sourceAbortedHandler);\n }\n\n private removeSourceEventHandlers() {\n this.source.removeListener(\"data\", this.sourceDataHandler);\n this.source.removeListener(\"end\", this.sourceErrorOrEndHandler);\n this.source.removeListener(\"error\", this.sourceErrorOrEndHandler);\n this.source.removeListener(\"aborted\", this.sourceAbortedHandler);\n }\n private sourceDataHandler = (data: Buffer) => {\n try {\n this.decodingMethods.sourceDataHandler(data);\n } catch (err) {\n this.destroy(err as Error);\n }\n };\n\n private sourceAbortedHandler = () => {\n const abortError = new AbortError(\"The operation was aborted.\");\n this.destroy(abortError);\n };\n\n private sourceErrorOrEndHandler = (err?: Error) => {\n if (err) {\n this.destroy(err);\n return;\n }\n\n this.removeSourceEventHandlers();\n };\n\n _destroy(error: Error | null, callback: (error?: Error) => void): void {\n // remove listener from source and release source\n this.removeSourceEventHandlers();\n (this.source as Readable).destroy();\n\n callback(error === null ? undefined : error);\n }\n}\n"]}
@@ -1,22 +0,0 @@
1
- import { RequestBodyType as HttpRequestBody } from "@azure/core-rest-pipeline";
2
- /**
3
- * Options used when creating StructuredMessageEncodingStream
4
- */
5
- export interface StructuredMessageEncodingStreamOptions {
6
- /**
7
- * A threshold, not a limit. Dictates the amount of data that a stream buffers before it stops asking for more data.
8
- */
9
- highWaterMark?: number;
10
- }
11
- /**
12
- *
13
- * To encode structured body for CRC64 content validtion in storage uploading.
14
- * @param source -
15
- * @param contentLength -
16
- * @returns
17
- */
18
- export declare function structuredMessageEncoding(source: HttpRequestBody, contentLength: number): Promise<{
19
- body: HttpRequestBody;
20
- encodedContentLength: number;
21
- }>;
22
- //# sourceMappingURL=StructuredMessageEncodingStream.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StructuredMessageEncodingStream.d.ts","sourceRoot":"","sources":["../../src/StructuredMessageEncodingStream.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,IAAI,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAc/E;;GAEG;AACH,MAAM,WAAW,sCAAsC;IACrD;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;GAMG;AACH,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,eAAe,EACvB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAA;CAAE,CAAC,CA6ElE"}