@azure/storage-file-share 12.27.0 → 12.28.0-beta.1

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 (998) hide show
  1. package/README.md +105 -155
  2. package/dist/browser/AccountSASPermissions.d.ts +61 -0
  3. package/dist/browser/AccountSASPermissions.d.ts.map +1 -0
  4. package/dist/browser/AccountSASPermissions.js.map +1 -0
  5. package/dist/browser/AccountSASResourceTypes.d.ts +38 -0
  6. package/dist/browser/AccountSASResourceTypes.d.ts.map +1 -0
  7. package/dist/browser/AccountSASResourceTypes.js.map +1 -0
  8. package/dist/browser/AccountSASServices.d.ts +40 -0
  9. package/dist/browser/AccountSASServices.d.ts.map +1 -0
  10. package/dist/browser/AccountSASServices.js.map +1 -0
  11. package/dist/browser/AccountSASSignatureValues.d.ts +73 -0
  12. package/dist/browser/AccountSASSignatureValues.d.ts.map +1 -0
  13. package/dist/browser/AccountSASSignatureValues.js +71 -0
  14. package/dist/browser/AccountSASSignatureValues.js.map +1 -0
  15. package/dist/browser/Clients.d.ts +3114 -0
  16. package/dist/browser/Clients.d.ts.map +1 -0
  17. package/dist/browser/Clients.js +2882 -0
  18. package/dist/browser/Clients.js.map +1 -0
  19. package/dist/browser/FileDownloadResponse-browser.d.mts.map +1 -0
  20. package/dist/browser/FileDownloadResponse-browser.mjs.map +1 -0
  21. package/dist/browser/FileDownloadResponse.d.ts +2 -0
  22. package/dist/browser/FileDownloadResponse.js +7 -0
  23. package/dist/browser/FileSASPermissions.d.ts +42 -0
  24. package/dist/browser/FileSASPermissions.d.ts.map +1 -0
  25. package/dist/browser/FileSASPermissions.js.map +1 -0
  26. package/dist/browser/FileSASSignatureValues.d.ts +95 -0
  27. package/dist/browser/FileSASSignatureValues.d.ts.map +1 -0
  28. package/dist/browser/FileSASSignatureValues.js +84 -0
  29. package/dist/browser/FileSASSignatureValues.js.map +1 -0
  30. package/dist/browser/FileSystemAttributes.d.ts +63 -0
  31. package/dist/browser/FileSystemAttributes.d.ts.map +1 -0
  32. package/dist/browser/FileSystemAttributes.js.map +1 -0
  33. package/dist/browser/Pipeline.d.ts +142 -0
  34. package/dist/browser/Pipeline.d.ts.map +1 -0
  35. package/dist/browser/Pipeline.js +261 -0
  36. package/dist/browser/Pipeline.js.map +1 -0
  37. package/dist/browser/Range.d.ts +25 -0
  38. package/dist/browser/Range.d.ts.map +1 -0
  39. package/dist/browser/Range.js.map +1 -0
  40. package/dist/browser/SASQueryParameters.d.ts +136 -0
  41. package/dist/browser/SASQueryParameters.d.ts.map +1 -0
  42. package/dist/browser/SASQueryParameters.js +177 -0
  43. package/dist/browser/SASQueryParameters.js.map +1 -0
  44. package/dist/browser/SasIPRange.d.ts +25 -0
  45. package/dist/browser/SasIPRange.d.ts.map +1 -0
  46. package/dist/browser/SasIPRange.js.map +1 -0
  47. package/dist/browser/ShareClientInternal.d.ts +12 -0
  48. package/dist/browser/ShareClientInternal.d.ts.map +1 -0
  49. package/dist/browser/ShareClientInternal.js +16 -0
  50. package/dist/browser/ShareClientInternal.js.map +1 -0
  51. package/dist/browser/ShareSASPermissions.d.ts +46 -0
  52. package/dist/browser/ShareSASPermissions.d.ts.map +1 -0
  53. package/dist/browser/ShareSASPermissions.js.map +1 -0
  54. package/dist/browser/ShareServiceClient.d.ts +427 -0
  55. package/dist/browser/ShareServiceClient.d.ts.map +1 -0
  56. package/dist/browser/ShareServiceClient.js +475 -0
  57. package/dist/browser/ShareServiceClient.js.map +1 -0
  58. package/dist/browser/StorageClient.d.ts +47 -0
  59. package/dist/browser/StorageClient.d.ts.map +1 -0
  60. package/dist/browser/StorageClient.js +30 -0
  61. package/dist/browser/StorageClient.js.map +1 -0
  62. package/dist/browser/StorageContextClient.d.ts +9 -0
  63. package/dist/browser/StorageContextClient.d.ts.map +1 -0
  64. package/dist/browser/StorageContextClient.js +18 -0
  65. package/dist/browser/StorageContextClient.js.map +1 -0
  66. package/dist/browser/StorageRetryPolicyFactory.d.ts +56 -0
  67. package/dist/browser/StorageRetryPolicyFactory.d.ts.map +1 -0
  68. package/dist/browser/StorageRetryPolicyFactory.js +26 -0
  69. package/dist/browser/StorageRetryPolicyFactory.js.map +1 -0
  70. package/dist/browser/generated/src/index.d.ts +4 -0
  71. package/dist/browser/generated/src/index.d.ts.map +1 -0
  72. package/dist/browser/generated/src/index.js +11 -0
  73. package/dist/browser/generated/src/index.js.map +1 -0
  74. package/dist/browser/generated/src/models/index.d.ts +2881 -0
  75. package/dist/browser/generated/src/models/index.d.ts.map +1 -0
  76. package/dist/browser/generated/src/models/index.js.map +1 -0
  77. package/dist/browser/generated/src/models/mappers.d.ts +128 -0
  78. package/dist/browser/generated/src/models/mappers.d.ts.map +1 -0
  79. package/dist/browser/generated/src/models/mappers.js.map +1 -0
  80. package/dist/browser/generated/src/models/parameters.d.ts +128 -0
  81. package/dist/browser/generated/src/models/parameters.d.ts.map +1 -0
  82. package/dist/browser/generated/src/models/parameters.js +1364 -0
  83. package/dist/browser/generated/src/models/parameters.js.map +1 -0
  84. package/dist/browser/generated/src/operations/directory.d.ts +65 -0
  85. package/dist/browser/generated/src/operations/directory.d.ts.map +1 -0
  86. package/dist/browser/generated/src/operations/directory.js +378 -0
  87. package/dist/browser/generated/src/operations/directory.js.map +1 -0
  88. package/dist/browser/generated/src/operations/file.d.ts +162 -0
  89. package/dist/browser/generated/src/operations/file.d.ts.map +1 -0
  90. package/dist/browser/generated/src/operations/file.js +866 -0
  91. package/dist/browser/generated/src/operations/file.js.map +1 -0
  92. package/dist/browser/generated/src/operations/index.d.ts +5 -0
  93. package/dist/browser/generated/src/operations/index.d.ts.map +1 -0
  94. package/dist/browser/generated/src/operations/index.js +12 -0
  95. package/dist/browser/generated/src/operations/index.js.map +1 -0
  96. package/dist/browser/generated/src/operations/service.d.ts +32 -0
  97. package/dist/browser/generated/src/operations/service.d.ts.map +1 -0
  98. package/dist/browser/generated/src/operations/service.js +135 -0
  99. package/dist/browser/generated/src/operations/service.js.map +1 -0
  100. package/dist/browser/generated/src/operations/share.d.ts +111 -0
  101. package/dist/browser/generated/src/operations/share.d.ts.map +1 -0
  102. package/dist/browser/generated/src/operations/share.js +671 -0
  103. package/dist/browser/generated/src/operations/share.js.map +1 -0
  104. package/dist/browser/generated/src/operationsInterfaces/directory.d.ts +57 -0
  105. package/dist/browser/generated/src/operationsInterfaces/directory.d.ts.map +1 -0
  106. package/dist/browser/generated/src/operationsInterfaces/directory.js.map +1 -0
  107. package/dist/browser/generated/src/operationsInterfaces/file.d.ts +154 -0
  108. package/dist/browser/generated/src/operationsInterfaces/file.d.ts.map +1 -0
  109. package/dist/browser/generated/src/operationsInterfaces/file.js.map +1 -0
  110. package/dist/browser/generated/src/operationsInterfaces/index.d.ts +5 -0
  111. package/dist/browser/generated/src/operationsInterfaces/index.d.ts.map +1 -0
  112. package/dist/browser/generated/src/operationsInterfaces/index.js +12 -0
  113. package/dist/browser/generated/src/operationsInterfaces/index.js.map +1 -0
  114. package/dist/browser/generated/src/operationsInterfaces/service.d.ts +24 -0
  115. package/dist/browser/generated/src/operationsInterfaces/service.d.ts.map +1 -0
  116. package/dist/browser/generated/src/operationsInterfaces/service.js.map +1 -0
  117. package/dist/browser/generated/src/operationsInterfaces/share.d.ts +103 -0
  118. package/dist/browser/generated/src/operationsInterfaces/share.d.ts.map +1 -0
  119. package/dist/browser/generated/src/operationsInterfaces/share.js.map +1 -0
  120. package/dist/browser/generated/src/storageClient.d.ts +20 -0
  121. package/dist/browser/generated/src/storageClient.d.ts.map +1 -0
  122. package/dist/browser/generated/src/storageClient.js +48 -0
  123. package/dist/browser/generated/src/storageClient.js.map +1 -0
  124. package/dist/browser/generatedModels.d.ts +492 -0
  125. package/dist/browser/generatedModels.d.ts.map +1 -0
  126. package/dist/browser/generatedModels.js.map +1 -0
  127. package/dist/browser/index-browser.d.mts.map +1 -0
  128. package/dist/browser/index-browser.mjs.map +1 -0
  129. package/dist/browser/index.d.ts +22 -0
  130. package/dist/browser/index.js +19 -0
  131. package/dist/browser/log.d.ts +5 -0
  132. package/dist/browser/log.d.ts.map +1 -0
  133. package/dist/browser/log.js.map +1 -0
  134. package/dist/browser/models.d.ts +373 -0
  135. package/dist/browser/models.d.ts.map +1 -0
  136. package/dist/browser/models.js +94 -0
  137. package/dist/browser/models.js.map +1 -0
  138. package/dist/browser/package.json +3 -0
  139. package/dist/browser/policies/StorageRetryPolicy.d.ts +75 -0
  140. package/dist/browser/policies/StorageRetryPolicy.d.ts.map +1 -0
  141. package/dist/browser/policies/StorageRetryPolicy.js +220 -0
  142. package/dist/browser/policies/StorageRetryPolicy.js.map +1 -0
  143. package/dist/browser/policies/StorageRetryPolicyV2.d.ts +24 -0
  144. package/dist/browser/policies/StorageRetryPolicyV2.d.ts.map +1 -0
  145. package/dist/browser/policies/StorageRetryPolicyV2.js +176 -0
  146. package/dist/browser/policies/StorageRetryPolicyV2.js.map +1 -0
  147. package/dist/browser/utils/Batch.d.ts +68 -0
  148. package/dist/browser/utils/Batch.d.ts.map +1 -0
  149. package/dist/browser/utils/Batch.js.map +1 -0
  150. package/dist/browser/utils/BufferScheduler.d.ts +157 -0
  151. package/dist/browser/utils/BufferScheduler.d.ts.map +1 -0
  152. package/dist/browser/utils/BufferScheduler.js.map +1 -0
  153. package/dist/browser/utils/RetriableReadableStream.d.ts +58 -0
  154. package/dist/browser/utils/RetriableReadableStream.d.ts.map +1 -0
  155. package/dist/browser/utils/RetriableReadableStream.js +119 -0
  156. package/dist/browser/utils/RetriableReadableStream.js.map +1 -0
  157. package/dist/browser/utils/constants.d.ts +55 -0
  158. package/dist/browser/utils/constants.d.ts.map +1 -0
  159. package/dist/browser/utils/constants.js +162 -0
  160. package/dist/browser/utils/constants.js.map +1 -0
  161. package/dist/browser/utils/tracing.d.ts +6 -0
  162. package/dist/browser/utils/tracing.d.ts.map +1 -0
  163. package/dist/browser/utils/tracing.js +14 -0
  164. package/dist/browser/utils/tracing.js.map +1 -0
  165. package/dist/browser/utils/utils-browser.d.mts.map +1 -0
  166. package/dist/browser/utils/utils-browser.mjs.map +1 -0
  167. package/dist/browser/utils/utils.common.d.ts +304 -0
  168. package/dist/browser/utils/utils.common.d.ts.map +1 -0
  169. package/dist/browser/utils/utils.common.js +778 -0
  170. package/dist/browser/utils/utils.common.js.map +1 -0
  171. package/dist/browser/utils/utils.d.ts +5 -0
  172. package/dist/browser/utils/utils.js +15 -0
  173. package/dist/commonjs/AccountSASPermissions.d.ts +61 -0
  174. package/dist/commonjs/AccountSASPermissions.d.ts.map +1 -0
  175. package/dist/commonjs/AccountSASPermissions.js +132 -0
  176. package/dist/commonjs/AccountSASPermissions.js.map +1 -0
  177. package/dist/commonjs/AccountSASResourceTypes.d.ts +38 -0
  178. package/dist/commonjs/AccountSASResourceTypes.d.ts.map +1 -0
  179. package/dist/commonjs/AccountSASResourceTypes.js +76 -0
  180. package/dist/commonjs/AccountSASResourceTypes.js.map +1 -0
  181. package/dist/commonjs/AccountSASServices.d.ts +40 -0
  182. package/dist/commonjs/AccountSASServices.d.ts.map +1 -0
  183. package/dist/commonjs/AccountSASServices.js +84 -0
  184. package/dist/commonjs/AccountSASServices.js.map +1 -0
  185. package/dist/commonjs/AccountSASSignatureValues.d.ts +73 -0
  186. package/dist/commonjs/AccountSASSignatureValues.d.ts.map +1 -0
  187. package/dist/commonjs/AccountSASSignatureValues.js +75 -0
  188. package/dist/commonjs/AccountSASSignatureValues.js.map +1 -0
  189. package/dist/commonjs/Clients.d.ts +3114 -0
  190. package/dist/commonjs/Clients.d.ts.map +1 -0
  191. package/dist/commonjs/Clients.js +2889 -0
  192. package/dist/commonjs/Clients.js.map +1 -0
  193. package/dist/commonjs/FileDownloadResponse.d.ts +291 -0
  194. package/dist/commonjs/FileDownloadResponse.d.ts.map +1 -0
  195. package/dist/commonjs/FileDownloadResponse.js +371 -0
  196. package/dist/commonjs/FileDownloadResponse.js.map +1 -0
  197. package/dist/commonjs/FileSASPermissions.d.ts +42 -0
  198. package/dist/commonjs/FileSASPermissions.d.ts.map +1 -0
  199. package/dist/commonjs/FileSASPermissions.js +86 -0
  200. package/dist/commonjs/FileSASPermissions.js.map +1 -0
  201. package/dist/commonjs/FileSASSignatureValues.d.ts +95 -0
  202. package/dist/commonjs/FileSASSignatureValues.d.ts.map +1 -0
  203. package/dist/commonjs/FileSASSignatureValues.js +88 -0
  204. package/dist/commonjs/FileSASSignatureValues.js.map +1 -0
  205. package/dist/commonjs/FileSystemAttributes.d.ts +63 -0
  206. package/dist/commonjs/FileSystemAttributes.d.ts.map +1 -0
  207. package/dist/commonjs/FileSystemAttributes.js +148 -0
  208. package/dist/commonjs/FileSystemAttributes.js.map +1 -0
  209. package/dist/commonjs/Pipeline.d.ts +142 -0
  210. package/dist/commonjs/Pipeline.d.ts.map +1 -0
  211. package/dist/commonjs/Pipeline.js +267 -0
  212. package/dist/commonjs/Pipeline.js.map +1 -0
  213. package/dist/commonjs/Range.d.ts +25 -0
  214. package/dist/commonjs/Range.d.ts.map +1 -0
  215. package/dist/commonjs/Range.js +25 -0
  216. package/dist/commonjs/Range.js.map +1 -0
  217. package/dist/commonjs/SASQueryParameters.d.ts +136 -0
  218. package/dist/commonjs/SASQueryParameters.d.ts.map +1 -0
  219. package/dist/commonjs/SASQueryParameters.js +181 -0
  220. package/dist/commonjs/SASQueryParameters.js.map +1 -0
  221. package/dist/commonjs/SasIPRange.d.ts +25 -0
  222. package/dist/commonjs/SasIPRange.d.ts.map +1 -0
  223. package/dist/commonjs/SasIPRange.js +17 -0
  224. package/dist/commonjs/SasIPRange.js.map +1 -0
  225. package/dist/commonjs/ShareClientInternal.d.ts +12 -0
  226. package/dist/commonjs/ShareClientInternal.d.ts.map +1 -0
  227. package/dist/commonjs/ShareClientInternal.js +20 -0
  228. package/dist/commonjs/ShareClientInternal.js.map +1 -0
  229. package/dist/commonjs/ShareSASPermissions.d.ts +46 -0
  230. package/dist/commonjs/ShareSASPermissions.d.ts.map +1 -0
  231. package/dist/commonjs/ShareSASPermissions.js +96 -0
  232. package/dist/commonjs/ShareSASPermissions.js.map +1 -0
  233. package/dist/commonjs/ShareServiceClient.d.ts +427 -0
  234. package/dist/commonjs/ShareServiceClient.d.ts.map +1 -0
  235. package/dist/commonjs/ShareServiceClient.js +479 -0
  236. package/dist/commonjs/ShareServiceClient.js.map +1 -0
  237. package/dist/commonjs/StorageClient.d.ts +47 -0
  238. package/dist/commonjs/StorageClient.d.ts.map +1 -0
  239. package/dist/commonjs/StorageClient.js +34 -0
  240. package/dist/commonjs/StorageClient.js.map +1 -0
  241. package/dist/commonjs/StorageContextClient.d.ts +9 -0
  242. package/dist/commonjs/StorageContextClient.d.ts.map +1 -0
  243. package/dist/commonjs/StorageContextClient.js +22 -0
  244. package/dist/commonjs/StorageContextClient.js.map +1 -0
  245. package/dist/commonjs/StorageRetryPolicyFactory.d.ts +56 -0
  246. package/dist/commonjs/StorageRetryPolicyFactory.d.ts.map +1 -0
  247. package/dist/commonjs/StorageRetryPolicyFactory.js +31 -0
  248. package/dist/commonjs/StorageRetryPolicyFactory.js.map +1 -0
  249. package/dist/commonjs/generated/src/index.d.ts +4 -0
  250. package/dist/commonjs/generated/src/index.d.ts.map +1 -0
  251. package/dist/commonjs/generated/src/index.js +16 -0
  252. package/dist/commonjs/generated/src/index.js.map +1 -0
  253. package/dist/commonjs/generated/src/models/index.d.ts +2881 -0
  254. package/dist/commonjs/generated/src/models/index.d.ts.map +1 -0
  255. package/dist/commonjs/generated/src/models/index.js +169 -0
  256. package/dist/commonjs/generated/src/models/index.js.map +1 -0
  257. package/dist/commonjs/generated/src/models/mappers.d.ts +128 -0
  258. package/dist/commonjs/generated/src/models/mappers.d.ts.map +1 -0
  259. package/dist/commonjs/generated/src/models/mappers.js +5992 -0
  260. package/dist/commonjs/generated/src/models/mappers.js.map +1 -0
  261. package/dist/commonjs/generated/src/models/parameters.d.ts +128 -0
  262. package/dist/commonjs/generated/src/models/parameters.d.ts.map +1 -0
  263. package/dist/commonjs/generated/src/models/parameters.js +1369 -0
  264. package/dist/commonjs/generated/src/models/parameters.js.map +1 -0
  265. package/dist/commonjs/generated/src/operations/directory.d.ts +65 -0
  266. package/dist/commonjs/generated/src/operations/directory.d.ts.map +1 -0
  267. package/dist/commonjs/generated/src/operations/directory.js +383 -0
  268. package/dist/commonjs/generated/src/operations/directory.js.map +1 -0
  269. package/dist/commonjs/generated/src/operations/file.d.ts +162 -0
  270. package/dist/commonjs/generated/src/operations/file.d.ts.map +1 -0
  271. package/dist/commonjs/generated/src/operations/file.js +871 -0
  272. package/dist/commonjs/generated/src/operations/file.js.map +1 -0
  273. package/dist/commonjs/generated/src/operations/index.d.ts +5 -0
  274. package/dist/commonjs/generated/src/operations/index.d.ts.map +1 -0
  275. package/dist/commonjs/generated/src/operations/index.js +15 -0
  276. package/dist/commonjs/generated/src/operations/index.js.map +1 -0
  277. package/dist/commonjs/generated/src/operations/service.d.ts +32 -0
  278. package/dist/commonjs/generated/src/operations/service.d.ts.map +1 -0
  279. package/dist/commonjs/generated/src/operations/service.js +140 -0
  280. package/dist/commonjs/generated/src/operations/service.js.map +1 -0
  281. package/dist/commonjs/generated/src/operations/share.d.ts +111 -0
  282. package/dist/commonjs/generated/src/operations/share.d.ts.map +1 -0
  283. package/dist/commonjs/generated/src/operations/share.js +676 -0
  284. package/dist/commonjs/generated/src/operations/share.js.map +1 -0
  285. package/dist/commonjs/generated/src/operationsInterfaces/directory.d.ts +57 -0
  286. package/dist/commonjs/generated/src/operationsInterfaces/directory.d.ts.map +1 -0
  287. package/dist/commonjs/generated/src/operationsInterfaces/directory.js +10 -0
  288. package/dist/commonjs/generated/src/operationsInterfaces/directory.js.map +1 -0
  289. package/dist/commonjs/generated/src/operationsInterfaces/file.d.ts +154 -0
  290. package/dist/commonjs/generated/src/operationsInterfaces/file.d.ts.map +1 -0
  291. package/dist/commonjs/generated/src/operationsInterfaces/file.js +10 -0
  292. package/dist/commonjs/generated/src/operationsInterfaces/file.js.map +1 -0
  293. package/dist/commonjs/generated/src/operationsInterfaces/index.d.ts +5 -0
  294. package/dist/commonjs/generated/src/operationsInterfaces/index.d.ts.map +1 -0
  295. package/dist/commonjs/generated/src/operationsInterfaces/index.js +15 -0
  296. package/dist/commonjs/generated/src/operationsInterfaces/index.js.map +1 -0
  297. package/dist/commonjs/generated/src/operationsInterfaces/service.d.ts +24 -0
  298. package/dist/commonjs/generated/src/operationsInterfaces/service.d.ts.map +1 -0
  299. package/dist/commonjs/generated/src/operationsInterfaces/service.js +10 -0
  300. package/dist/commonjs/generated/src/operationsInterfaces/service.js.map +1 -0
  301. package/dist/commonjs/generated/src/operationsInterfaces/share.d.ts +103 -0
  302. package/dist/commonjs/generated/src/operationsInterfaces/share.d.ts.map +1 -0
  303. package/dist/commonjs/generated/src/operationsInterfaces/share.js +10 -0
  304. package/dist/commonjs/generated/src/operationsInterfaces/share.js.map +1 -0
  305. package/dist/commonjs/generated/src/storageClient.d.ts +20 -0
  306. package/dist/commonjs/generated/src/storageClient.d.ts.map +1 -0
  307. package/dist/commonjs/generated/src/storageClient.js +53 -0
  308. package/dist/commonjs/generated/src/storageClient.js.map +1 -0
  309. package/dist/commonjs/generatedModels.d.ts +492 -0
  310. package/dist/commonjs/generatedModels.d.ts.map +1 -0
  311. package/dist/commonjs/generatedModels.js +11 -0
  312. package/dist/commonjs/generatedModels.js.map +1 -0
  313. package/dist/commonjs/index.d.ts +32 -0
  314. package/dist/commonjs/index.d.ts.map +1 -0
  315. package/dist/commonjs/index.js +55 -0
  316. package/dist/commonjs/index.js.map +1 -0
  317. package/dist/commonjs/log.d.ts +5 -0
  318. package/dist/commonjs/log.d.ts.map +1 -0
  319. package/dist/commonjs/log.js +11 -0
  320. package/dist/commonjs/log.js.map +1 -0
  321. package/dist/commonjs/models.d.ts +373 -0
  322. package/dist/commonjs/models.d.ts.map +1 -0
  323. package/dist/commonjs/models.js +107 -0
  324. package/dist/commonjs/models.js.map +1 -0
  325. package/dist/commonjs/package.json +3 -0
  326. package/dist/commonjs/policies/StorageRetryPolicy.d.ts +75 -0
  327. package/dist/commonjs/policies/StorageRetryPolicy.d.ts.map +1 -0
  328. package/dist/commonjs/policies/StorageRetryPolicy.js +225 -0
  329. package/dist/commonjs/policies/StorageRetryPolicy.js.map +1 -0
  330. package/dist/commonjs/policies/StorageRetryPolicyV2.d.ts +24 -0
  331. package/dist/commonjs/policies/StorageRetryPolicyV2.d.ts.map +1 -0
  332. package/dist/commonjs/policies/StorageRetryPolicyV2.js +180 -0
  333. package/dist/commonjs/policies/StorageRetryPolicyV2.js.map +1 -0
  334. package/dist/commonjs/tsdoc-metadata.json +11 -0
  335. package/dist/commonjs/utils/Batch.d.ts +68 -0
  336. package/dist/commonjs/utils/Batch.d.ts.map +1 -0
  337. package/dist/commonjs/utils/Batch.js +126 -0
  338. package/dist/commonjs/utils/Batch.js.map +1 -0
  339. package/dist/commonjs/utils/BufferScheduler.d.ts +157 -0
  340. package/dist/commonjs/utils/BufferScheduler.d.ts.map +1 -0
  341. package/dist/commonjs/utils/BufferScheduler.js +268 -0
  342. package/dist/commonjs/utils/BufferScheduler.js.map +1 -0
  343. package/dist/commonjs/utils/RetriableReadableStream.d.ts +58 -0
  344. package/dist/commonjs/utils/RetriableReadableStream.d.ts.map +1 -0
  345. package/dist/commonjs/utils/RetriableReadableStream.js +123 -0
  346. package/dist/commonjs/utils/RetriableReadableStream.js.map +1 -0
  347. package/dist/commonjs/utils/constants.d.ts +55 -0
  348. package/dist/commonjs/utils/constants.d.ts.map +1 -0
  349. package/dist/commonjs/utils/constants.js +165 -0
  350. package/dist/commonjs/utils/constants.js.map +1 -0
  351. package/dist/commonjs/utils/tracing.d.ts +6 -0
  352. package/dist/commonjs/utils/tracing.d.ts.map +1 -0
  353. package/dist/commonjs/utils/tracing.js +17 -0
  354. package/dist/commonjs/utils/tracing.js.map +1 -0
  355. package/dist/commonjs/utils/utils.common.d.ts +304 -0
  356. package/dist/commonjs/utils/utils.common.d.ts.map +1 -0
  357. package/dist/commonjs/utils/utils.common.js +816 -0
  358. package/dist/commonjs/utils/utils.common.js.map +1 -0
  359. package/dist/commonjs/utils/utils.d.ts +28 -0
  360. package/dist/commonjs/utils/utils.d.ts.map +1 -0
  361. package/dist/commonjs/utils/utils.js +85 -0
  362. package/dist/commonjs/utils/utils.js.map +1 -0
  363. package/dist/esm/AccountSASPermissions.d.ts +61 -0
  364. package/dist/esm/AccountSASPermissions.d.ts.map +1 -0
  365. package/dist/esm/AccountSASPermissions.js +128 -0
  366. package/dist/esm/AccountSASPermissions.js.map +1 -0
  367. package/dist/esm/AccountSASResourceTypes.d.ts +38 -0
  368. package/dist/esm/AccountSASResourceTypes.d.ts.map +1 -0
  369. package/dist/esm/AccountSASResourceTypes.js.map +1 -0
  370. package/dist/esm/AccountSASServices.d.ts +40 -0
  371. package/dist/esm/AccountSASServices.d.ts.map +1 -0
  372. package/dist/esm/AccountSASServices.js.map +1 -0
  373. package/dist/esm/AccountSASSignatureValues.d.ts +73 -0
  374. package/dist/esm/AccountSASSignatureValues.d.ts.map +1 -0
  375. package/dist/esm/AccountSASSignatureValues.js +71 -0
  376. package/dist/esm/AccountSASSignatureValues.js.map +1 -0
  377. package/dist/esm/Clients.d.ts +3114 -0
  378. package/dist/esm/Clients.d.ts.map +1 -0
  379. package/dist/esm/Clients.js +2882 -0
  380. package/dist/esm/Clients.js.map +1 -0
  381. package/dist/esm/FileDownloadResponse.d.ts +291 -0
  382. package/dist/esm/FileDownloadResponse.d.ts.map +1 -0
  383. package/dist/esm/FileDownloadResponse.js +367 -0
  384. package/dist/esm/FileDownloadResponse.js.map +1 -0
  385. package/dist/esm/FileSASPermissions.d.ts +42 -0
  386. package/dist/esm/FileSASPermissions.d.ts.map +1 -0
  387. package/dist/esm/FileSASPermissions.js +82 -0
  388. package/dist/esm/FileSASPermissions.js.map +1 -0
  389. package/dist/esm/FileSASSignatureValues.d.ts +95 -0
  390. package/dist/esm/FileSASSignatureValues.d.ts.map +1 -0
  391. package/dist/esm/FileSASSignatureValues.js +84 -0
  392. package/dist/esm/FileSASSignatureValues.js.map +1 -0
  393. package/dist/esm/FileSystemAttributes.d.ts +63 -0
  394. package/dist/esm/FileSystemAttributes.d.ts.map +1 -0
  395. package/dist/esm/FileSystemAttributes.js +144 -0
  396. package/dist/esm/FileSystemAttributes.js.map +1 -0
  397. package/dist/esm/Pipeline.d.ts +142 -0
  398. package/dist/esm/Pipeline.d.ts.map +1 -0
  399. package/dist/esm/Pipeline.js +261 -0
  400. package/dist/esm/Pipeline.js.map +1 -0
  401. package/dist/esm/Range.d.ts +25 -0
  402. package/dist/esm/Range.d.ts.map +1 -0
  403. package/dist/esm/Range.js +22 -0
  404. package/dist/esm/Range.js.map +1 -0
  405. package/dist/esm/SASQueryParameters.d.ts +136 -0
  406. package/dist/esm/SASQueryParameters.d.ts.map +1 -0
  407. package/dist/esm/SASQueryParameters.js +177 -0
  408. package/dist/esm/SASQueryParameters.js.map +1 -0
  409. package/dist/esm/SasIPRange.d.ts +25 -0
  410. package/dist/esm/SasIPRange.d.ts.map +1 -0
  411. package/dist/esm/SasIPRange.js +14 -0
  412. package/dist/esm/SasIPRange.js.map +1 -0
  413. package/dist/esm/ShareClientInternal.d.ts +12 -0
  414. package/dist/esm/ShareClientInternal.d.ts.map +1 -0
  415. package/dist/esm/ShareClientInternal.js +16 -0
  416. package/dist/esm/ShareClientInternal.js.map +1 -0
  417. package/dist/esm/ShareSASPermissions.d.ts +46 -0
  418. package/dist/esm/ShareSASPermissions.d.ts.map +1 -0
  419. package/dist/esm/ShareSASPermissions.js +92 -0
  420. package/dist/esm/ShareSASPermissions.js.map +1 -0
  421. package/dist/esm/ShareServiceClient.d.ts +427 -0
  422. package/dist/esm/ShareServiceClient.d.ts.map +1 -0
  423. package/dist/esm/ShareServiceClient.js +475 -0
  424. package/dist/esm/ShareServiceClient.js.map +1 -0
  425. package/dist/esm/StorageClient.d.ts +47 -0
  426. package/dist/esm/StorageClient.d.ts.map +1 -0
  427. package/dist/esm/StorageClient.js +30 -0
  428. package/dist/esm/StorageClient.js.map +1 -0
  429. package/dist/esm/StorageContextClient.d.ts +9 -0
  430. package/dist/esm/StorageContextClient.d.ts.map +1 -0
  431. package/dist/esm/StorageContextClient.js +18 -0
  432. package/dist/esm/StorageContextClient.js.map +1 -0
  433. package/dist/esm/StorageRetryPolicyFactory.d.ts +56 -0
  434. package/dist/esm/StorageRetryPolicyFactory.d.ts.map +1 -0
  435. package/dist/esm/StorageRetryPolicyFactory.js +26 -0
  436. package/dist/esm/StorageRetryPolicyFactory.js.map +1 -0
  437. package/dist/esm/generated/src/index.d.ts +4 -0
  438. package/dist/esm/generated/src/index.d.ts.map +1 -0
  439. package/dist/esm/generated/src/index.js +11 -0
  440. package/dist/esm/generated/src/index.js.map +1 -0
  441. package/dist/esm/generated/src/models/index.d.ts +2881 -0
  442. package/dist/esm/generated/src/models/index.d.ts.map +1 -0
  443. package/dist/esm/generated/src/models/index.js +166 -0
  444. package/dist/esm/generated/src/models/index.js.map +1 -0
  445. package/dist/esm/generated/src/models/mappers.d.ts +128 -0
  446. package/dist/esm/generated/src/models/mappers.d.ts.map +1 -0
  447. package/dist/esm/generated/src/models/mappers.js +5987 -0
  448. package/dist/esm/generated/src/models/mappers.js.map +1 -0
  449. package/dist/esm/generated/src/models/parameters.d.ts +128 -0
  450. package/dist/esm/generated/src/models/parameters.d.ts.map +1 -0
  451. package/dist/esm/generated/src/models/parameters.js +1364 -0
  452. package/dist/esm/generated/src/models/parameters.js.map +1 -0
  453. package/dist/esm/generated/src/operations/directory.d.ts +65 -0
  454. package/dist/esm/generated/src/operations/directory.d.ts.map +1 -0
  455. package/dist/esm/generated/src/operations/directory.js +378 -0
  456. package/dist/esm/generated/src/operations/directory.js.map +1 -0
  457. package/dist/esm/generated/src/operations/file.d.ts +162 -0
  458. package/dist/esm/generated/src/operations/file.d.ts.map +1 -0
  459. package/dist/esm/generated/src/operations/file.js +866 -0
  460. package/dist/esm/generated/src/operations/file.js.map +1 -0
  461. package/dist/esm/generated/src/operations/index.d.ts +5 -0
  462. package/dist/esm/generated/src/operations/index.d.ts.map +1 -0
  463. package/dist/esm/generated/src/operations/index.js +12 -0
  464. package/dist/esm/generated/src/operations/index.js.map +1 -0
  465. package/dist/esm/generated/src/operations/service.d.ts +32 -0
  466. package/dist/esm/generated/src/operations/service.d.ts.map +1 -0
  467. package/dist/esm/generated/src/operations/service.js +135 -0
  468. package/dist/esm/generated/src/operations/service.js.map +1 -0
  469. package/dist/esm/generated/src/operations/share.d.ts +111 -0
  470. package/dist/esm/generated/src/operations/share.d.ts.map +1 -0
  471. package/dist/esm/generated/src/operations/share.js +671 -0
  472. package/dist/esm/generated/src/operations/share.js.map +1 -0
  473. package/dist/esm/generated/src/operationsInterfaces/directory.d.ts +57 -0
  474. package/dist/esm/generated/src/operationsInterfaces/directory.d.ts.map +1 -0
  475. package/dist/esm/generated/src/operationsInterfaces/directory.js +9 -0
  476. package/dist/esm/generated/src/operationsInterfaces/directory.js.map +1 -0
  477. package/dist/esm/generated/src/operationsInterfaces/file.d.ts +154 -0
  478. package/dist/esm/generated/src/operationsInterfaces/file.d.ts.map +1 -0
  479. package/dist/esm/generated/src/operationsInterfaces/file.js +9 -0
  480. package/dist/esm/generated/src/operationsInterfaces/file.js.map +1 -0
  481. package/dist/esm/generated/src/operationsInterfaces/index.d.ts +5 -0
  482. package/dist/esm/generated/src/operationsInterfaces/index.d.ts.map +1 -0
  483. package/dist/esm/generated/src/operationsInterfaces/index.js +12 -0
  484. package/dist/esm/generated/src/operationsInterfaces/index.js.map +1 -0
  485. package/dist/esm/generated/src/operationsInterfaces/service.d.ts +24 -0
  486. package/dist/esm/generated/src/operationsInterfaces/service.d.ts.map +1 -0
  487. package/dist/esm/generated/src/operationsInterfaces/service.js.map +1 -0
  488. package/dist/esm/generated/src/operationsInterfaces/share.d.ts +103 -0
  489. package/dist/esm/generated/src/operationsInterfaces/share.d.ts.map +1 -0
  490. package/dist/esm/generated/src/operationsInterfaces/share.js +9 -0
  491. package/dist/esm/generated/src/operationsInterfaces/share.js.map +1 -0
  492. package/dist/esm/generated/src/storageClient.d.ts +20 -0
  493. package/dist/esm/generated/src/storageClient.d.ts.map +1 -0
  494. package/dist/esm/generated/src/storageClient.js +48 -0
  495. package/dist/esm/generated/src/storageClient.js.map +1 -0
  496. package/dist/esm/generatedModels.d.ts +492 -0
  497. package/dist/esm/generatedModels.d.ts.map +1 -0
  498. package/dist/esm/generatedModels.js +8 -0
  499. package/dist/esm/generatedModels.js.map +1 -0
  500. package/dist/esm/index.d.ts +32 -0
  501. package/dist/esm/index.d.ts.map +1 -0
  502. package/dist/esm/index.js +30 -0
  503. package/dist/esm/index.js.map +1 -0
  504. package/dist/esm/log.d.ts +5 -0
  505. package/dist/esm/log.d.ts.map +1 -0
  506. package/dist/esm/log.js +8 -0
  507. package/dist/esm/log.js.map +1 -0
  508. package/dist/esm/models.d.ts +373 -0
  509. package/dist/esm/models.d.ts.map +1 -0
  510. package/dist/esm/models.js +94 -0
  511. package/dist/esm/models.js.map +1 -0
  512. package/dist/esm/package.json +3 -0
  513. package/dist/esm/policies/StorageRetryPolicy.d.ts +75 -0
  514. package/dist/esm/policies/StorageRetryPolicy.d.ts.map +1 -0
  515. package/dist/esm/policies/StorageRetryPolicy.js +220 -0
  516. package/dist/esm/policies/StorageRetryPolicy.js.map +1 -0
  517. package/dist/esm/policies/StorageRetryPolicyV2.d.ts +24 -0
  518. package/dist/esm/policies/StorageRetryPolicyV2.d.ts.map +1 -0
  519. package/dist/esm/policies/StorageRetryPolicyV2.js +176 -0
  520. package/dist/esm/policies/StorageRetryPolicyV2.js.map +1 -0
  521. package/dist/esm/utils/Batch.d.ts +68 -0
  522. package/dist/esm/utils/Batch.d.ts.map +1 -0
  523. package/dist/esm/utils/Batch.js.map +1 -0
  524. package/dist/esm/utils/BufferScheduler.d.ts +157 -0
  525. package/dist/esm/utils/BufferScheduler.d.ts.map +1 -0
  526. package/dist/esm/utils/BufferScheduler.js +264 -0
  527. package/dist/esm/utils/BufferScheduler.js.map +1 -0
  528. package/dist/esm/utils/RetriableReadableStream.d.ts +58 -0
  529. package/dist/esm/utils/RetriableReadableStream.d.ts.map +1 -0
  530. package/dist/esm/utils/RetriableReadableStream.js +119 -0
  531. package/dist/esm/utils/RetriableReadableStream.js.map +1 -0
  532. package/dist/esm/utils/constants.d.ts +55 -0
  533. package/dist/esm/utils/constants.d.ts.map +1 -0
  534. package/dist/esm/utils/constants.js +162 -0
  535. package/dist/esm/utils/constants.js.map +1 -0
  536. package/dist/esm/utils/tracing.d.ts +6 -0
  537. package/dist/esm/utils/tracing.d.ts.map +1 -0
  538. package/dist/esm/utils/tracing.js +14 -0
  539. package/dist/esm/utils/tracing.js.map +1 -0
  540. package/dist/esm/utils/utils.common.d.ts +304 -0
  541. package/dist/esm/utils/utils.common.d.ts.map +1 -0
  542. package/dist/esm/utils/utils.common.js +778 -0
  543. package/dist/esm/utils/utils.common.js.map +1 -0
  544. package/dist/esm/utils/utils.d.ts +28 -0
  545. package/dist/esm/utils/utils.d.ts.map +1 -0
  546. package/dist/esm/utils/utils.js +79 -0
  547. package/dist/esm/utils/utils.js.map +1 -0
  548. package/dist/react-native/AccountSASPermissions.d.ts +61 -0
  549. package/dist/react-native/AccountSASPermissions.d.ts.map +1 -0
  550. package/dist/react-native/AccountSASPermissions.js +128 -0
  551. package/dist/react-native/AccountSASPermissions.js.map +1 -0
  552. package/dist/react-native/AccountSASResourceTypes.d.ts +38 -0
  553. package/dist/react-native/AccountSASResourceTypes.d.ts.map +1 -0
  554. package/dist/react-native/AccountSASResourceTypes.js +72 -0
  555. package/dist/react-native/AccountSASResourceTypes.js.map +1 -0
  556. package/dist/react-native/AccountSASServices.d.ts +40 -0
  557. package/dist/react-native/AccountSASServices.d.ts.map +1 -0
  558. package/dist/react-native/AccountSASServices.js +80 -0
  559. package/dist/react-native/AccountSASServices.js.map +1 -0
  560. package/dist/react-native/AccountSASSignatureValues.d.ts +73 -0
  561. package/dist/react-native/AccountSASSignatureValues.d.ts.map +1 -0
  562. package/dist/react-native/AccountSASSignatureValues.js +71 -0
  563. package/dist/react-native/AccountSASSignatureValues.js.map +1 -0
  564. package/dist/react-native/Clients.d.ts +3114 -0
  565. package/dist/react-native/Clients.d.ts.map +1 -0
  566. package/dist/react-native/Clients.js +2882 -0
  567. package/dist/react-native/Clients.js.map +1 -0
  568. package/dist/react-native/FileDownloadResponse.d.ts +291 -0
  569. package/dist/react-native/FileDownloadResponse.d.ts.map +1 -0
  570. package/dist/react-native/FileDownloadResponse.js +367 -0
  571. package/dist/react-native/FileDownloadResponse.js.map +1 -0
  572. package/dist/react-native/FileSASPermissions.d.ts +42 -0
  573. package/dist/react-native/FileSASPermissions.d.ts.map +1 -0
  574. package/dist/react-native/FileSASPermissions.js +82 -0
  575. package/dist/react-native/FileSASPermissions.js.map +1 -0
  576. package/dist/react-native/FileSASSignatureValues.d.ts +95 -0
  577. package/dist/react-native/FileSASSignatureValues.d.ts.map +1 -0
  578. package/dist/react-native/FileSASSignatureValues.js +84 -0
  579. package/dist/react-native/FileSASSignatureValues.js.map +1 -0
  580. package/dist/react-native/FileSystemAttributes.d.ts +63 -0
  581. package/dist/react-native/FileSystemAttributes.d.ts.map +1 -0
  582. package/dist/react-native/FileSystemAttributes.js +144 -0
  583. package/dist/react-native/FileSystemAttributes.js.map +1 -0
  584. package/dist/react-native/Pipeline.d.ts +142 -0
  585. package/dist/react-native/Pipeline.d.ts.map +1 -0
  586. package/dist/react-native/Pipeline.js +261 -0
  587. package/dist/react-native/Pipeline.js.map +1 -0
  588. package/dist/react-native/Range.d.ts +25 -0
  589. package/dist/react-native/Range.d.ts.map +1 -0
  590. package/dist/react-native/Range.js +22 -0
  591. package/dist/react-native/Range.js.map +1 -0
  592. package/dist/react-native/SASQueryParameters.d.ts +136 -0
  593. package/dist/react-native/SASQueryParameters.d.ts.map +1 -0
  594. package/dist/react-native/SASQueryParameters.js +177 -0
  595. package/dist/react-native/SASQueryParameters.js.map +1 -0
  596. package/dist/react-native/SasIPRange.d.ts +25 -0
  597. package/dist/react-native/SasIPRange.d.ts.map +1 -0
  598. package/dist/react-native/SasIPRange.js +14 -0
  599. package/dist/react-native/SasIPRange.js.map +1 -0
  600. package/dist/react-native/ShareClientInternal.d.ts +12 -0
  601. package/dist/react-native/ShareClientInternal.d.ts.map +1 -0
  602. package/dist/react-native/ShareClientInternal.js +16 -0
  603. package/dist/react-native/ShareClientInternal.js.map +1 -0
  604. package/dist/react-native/ShareSASPermissions.d.ts +46 -0
  605. package/dist/react-native/ShareSASPermissions.d.ts.map +1 -0
  606. package/dist/react-native/ShareSASPermissions.js +92 -0
  607. package/dist/react-native/ShareSASPermissions.js.map +1 -0
  608. package/dist/react-native/ShareServiceClient.d.ts +427 -0
  609. package/dist/react-native/ShareServiceClient.d.ts.map +1 -0
  610. package/dist/react-native/ShareServiceClient.js +475 -0
  611. package/dist/react-native/ShareServiceClient.js.map +1 -0
  612. package/dist/react-native/StorageClient.d.ts +47 -0
  613. package/dist/react-native/StorageClient.d.ts.map +1 -0
  614. package/dist/react-native/StorageClient.js +30 -0
  615. package/dist/react-native/StorageClient.js.map +1 -0
  616. package/dist/react-native/StorageContextClient.d.ts +9 -0
  617. package/dist/react-native/StorageContextClient.d.ts.map +1 -0
  618. package/dist/react-native/StorageContextClient.js +18 -0
  619. package/dist/react-native/StorageContextClient.js.map +1 -0
  620. package/dist/react-native/StorageRetryPolicyFactory.d.ts +56 -0
  621. package/dist/react-native/StorageRetryPolicyFactory.d.ts.map +1 -0
  622. package/dist/react-native/StorageRetryPolicyFactory.js +26 -0
  623. package/dist/react-native/StorageRetryPolicyFactory.js.map +1 -0
  624. package/dist/react-native/generated/src/index.d.ts +4 -0
  625. package/dist/react-native/generated/src/index.d.ts.map +1 -0
  626. package/dist/react-native/generated/src/index.js +11 -0
  627. package/dist/react-native/generated/src/index.js.map +1 -0
  628. package/dist/react-native/generated/src/models/index.d.ts +2881 -0
  629. package/dist/react-native/generated/src/models/index.d.ts.map +1 -0
  630. package/dist/react-native/generated/src/models/index.js +166 -0
  631. package/dist/react-native/generated/src/models/index.js.map +1 -0
  632. package/dist/react-native/generated/src/models/mappers.d.ts +128 -0
  633. package/dist/react-native/generated/src/models/mappers.d.ts.map +1 -0
  634. package/dist/react-native/generated/src/models/mappers.js +5987 -0
  635. package/dist/react-native/generated/src/models/mappers.js.map +1 -0
  636. package/dist/react-native/generated/src/models/parameters.d.ts +128 -0
  637. package/dist/react-native/generated/src/models/parameters.d.ts.map +1 -0
  638. package/dist/react-native/generated/src/models/parameters.js +1364 -0
  639. package/dist/react-native/generated/src/models/parameters.js.map +1 -0
  640. package/dist/react-native/generated/src/operations/directory.d.ts +65 -0
  641. package/dist/react-native/generated/src/operations/directory.d.ts.map +1 -0
  642. package/dist/react-native/generated/src/operations/directory.js +378 -0
  643. package/dist/react-native/generated/src/operations/directory.js.map +1 -0
  644. package/dist/react-native/generated/src/operations/file.d.ts +162 -0
  645. package/dist/react-native/generated/src/operations/file.d.ts.map +1 -0
  646. package/dist/react-native/generated/src/operations/file.js +866 -0
  647. package/dist/react-native/generated/src/operations/file.js.map +1 -0
  648. package/dist/react-native/generated/src/operations/index.d.ts +5 -0
  649. package/dist/react-native/generated/src/operations/index.d.ts.map +1 -0
  650. package/dist/react-native/generated/src/operations/index.js +12 -0
  651. package/dist/react-native/generated/src/operations/index.js.map +1 -0
  652. package/dist/react-native/generated/src/operations/service.d.ts +32 -0
  653. package/dist/react-native/generated/src/operations/service.d.ts.map +1 -0
  654. package/dist/react-native/generated/src/operations/service.js +135 -0
  655. package/dist/react-native/generated/src/operations/service.js.map +1 -0
  656. package/dist/react-native/generated/src/operations/share.d.ts +111 -0
  657. package/dist/react-native/generated/src/operations/share.d.ts.map +1 -0
  658. package/dist/react-native/generated/src/operations/share.js +671 -0
  659. package/dist/react-native/generated/src/operations/share.js.map +1 -0
  660. package/dist/react-native/generated/src/operationsInterfaces/directory.d.ts +57 -0
  661. package/dist/react-native/generated/src/operationsInterfaces/directory.d.ts.map +1 -0
  662. package/dist/react-native/generated/src/operationsInterfaces/directory.js +9 -0
  663. package/dist/react-native/generated/src/operationsInterfaces/directory.js.map +1 -0
  664. package/dist/react-native/generated/src/operationsInterfaces/file.d.ts +154 -0
  665. package/dist/react-native/generated/src/operationsInterfaces/file.d.ts.map +1 -0
  666. package/dist/react-native/generated/src/operationsInterfaces/file.js +9 -0
  667. package/dist/react-native/generated/src/operationsInterfaces/file.js.map +1 -0
  668. package/dist/react-native/generated/src/operationsInterfaces/index.d.ts +5 -0
  669. package/dist/react-native/generated/src/operationsInterfaces/index.d.ts.map +1 -0
  670. package/dist/react-native/generated/src/operationsInterfaces/index.js +12 -0
  671. package/dist/react-native/generated/src/operationsInterfaces/index.js.map +1 -0
  672. package/dist/react-native/generated/src/operationsInterfaces/service.d.ts +24 -0
  673. package/dist/react-native/generated/src/operationsInterfaces/service.d.ts.map +1 -0
  674. package/dist/react-native/generated/src/operationsInterfaces/service.js +9 -0
  675. package/dist/react-native/generated/src/operationsInterfaces/service.js.map +1 -0
  676. package/dist/react-native/generated/src/operationsInterfaces/share.d.ts +103 -0
  677. package/dist/react-native/generated/src/operationsInterfaces/share.d.ts.map +1 -0
  678. package/dist/react-native/generated/src/operationsInterfaces/share.js +9 -0
  679. package/dist/react-native/generated/src/operationsInterfaces/share.js.map +1 -0
  680. package/dist/react-native/generated/src/storageClient.d.ts +20 -0
  681. package/dist/react-native/generated/src/storageClient.d.ts.map +1 -0
  682. package/dist/react-native/generated/src/storageClient.js +48 -0
  683. package/dist/react-native/generated/src/storageClient.js.map +1 -0
  684. package/dist/react-native/generatedModels.d.ts +492 -0
  685. package/dist/react-native/generatedModels.d.ts.map +1 -0
  686. package/dist/react-native/generatedModels.js +8 -0
  687. package/dist/react-native/generatedModels.js.map +1 -0
  688. package/dist/react-native/index.d.ts +32 -0
  689. package/dist/react-native/index.d.ts.map +1 -0
  690. package/dist/react-native/index.js +30 -0
  691. package/dist/react-native/index.js.map +1 -0
  692. package/dist/react-native/log.d.ts +5 -0
  693. package/dist/react-native/log.d.ts.map +1 -0
  694. package/dist/react-native/log.js +8 -0
  695. package/dist/react-native/log.js.map +1 -0
  696. package/dist/react-native/models.d.ts +373 -0
  697. package/dist/react-native/models.d.ts.map +1 -0
  698. package/dist/react-native/models.js +94 -0
  699. package/dist/react-native/models.js.map +1 -0
  700. package/dist/react-native/package.json +3 -0
  701. package/dist/react-native/policies/StorageRetryPolicy.d.ts +75 -0
  702. package/dist/react-native/policies/StorageRetryPolicy.d.ts.map +1 -0
  703. package/dist/react-native/policies/StorageRetryPolicy.js +220 -0
  704. package/dist/react-native/policies/StorageRetryPolicy.js.map +1 -0
  705. package/dist/react-native/policies/StorageRetryPolicyV2.d.ts +24 -0
  706. package/dist/react-native/policies/StorageRetryPolicyV2.d.ts.map +1 -0
  707. package/dist/react-native/policies/StorageRetryPolicyV2.js +176 -0
  708. package/dist/react-native/policies/StorageRetryPolicyV2.js.map +1 -0
  709. package/dist/react-native/utils/Batch.d.ts +68 -0
  710. package/dist/react-native/utils/Batch.d.ts.map +1 -0
  711. package/dist/react-native/utils/Batch.js +122 -0
  712. package/dist/react-native/utils/Batch.js.map +1 -0
  713. package/dist/react-native/utils/BufferScheduler.d.ts +157 -0
  714. package/dist/react-native/utils/BufferScheduler.d.ts.map +1 -0
  715. package/dist/react-native/utils/BufferScheduler.js +264 -0
  716. package/dist/react-native/utils/BufferScheduler.js.map +1 -0
  717. package/dist/react-native/utils/RetriableReadableStream.d.ts +58 -0
  718. package/dist/react-native/utils/RetriableReadableStream.d.ts.map +1 -0
  719. package/dist/react-native/utils/RetriableReadableStream.js +119 -0
  720. package/dist/react-native/utils/RetriableReadableStream.js.map +1 -0
  721. package/dist/react-native/utils/constants.d.ts +55 -0
  722. package/dist/react-native/utils/constants.d.ts.map +1 -0
  723. package/dist/react-native/utils/constants.js +162 -0
  724. package/dist/react-native/utils/constants.js.map +1 -0
  725. package/dist/react-native/utils/tracing.d.ts +6 -0
  726. package/dist/react-native/utils/tracing.d.ts.map +1 -0
  727. package/dist/react-native/utils/tracing.js +14 -0
  728. package/dist/react-native/utils/tracing.js.map +1 -0
  729. package/dist/react-native/utils/utils.common.d.ts +304 -0
  730. package/dist/react-native/utils/utils.common.d.ts.map +1 -0
  731. package/dist/react-native/utils/utils.common.js +778 -0
  732. package/dist/react-native/utils/utils.common.js.map +1 -0
  733. package/dist/react-native/utils/utils.d.ts +28 -0
  734. package/dist/react-native/utils/utils.d.ts.map +1 -0
  735. package/dist/react-native/utils/utils.js +79 -0
  736. package/dist/react-native/utils/utils.js.map +1 -0
  737. package/package.json +69 -74
  738. package/dist/index.js +0 -16901
  739. package/dist/index.js.map +0 -1
  740. package/dist-esm/storage-blob/src/BatchResponse.js +0 -4
  741. package/dist-esm/storage-blob/src/BatchResponse.js.map +0 -1
  742. package/dist-esm/storage-blob/src/BatchResponseParser.js +0 -137
  743. package/dist-esm/storage-blob/src/BatchResponseParser.js.map +0 -1
  744. package/dist-esm/storage-blob/src/BatchUtils.js +0 -15
  745. package/dist-esm/storage-blob/src/BatchUtils.js.map +0 -1
  746. package/dist-esm/storage-blob/src/BlobBatch.js +0 -267
  747. package/dist-esm/storage-blob/src/BlobBatch.js.map +0 -1
  748. package/dist-esm/storage-blob/src/BlobBatchClient.js +0 -140
  749. package/dist-esm/storage-blob/src/BlobBatchClient.js.map +0 -1
  750. package/dist-esm/storage-blob/src/BlobDownloadResponse.js +0 -463
  751. package/dist-esm/storage-blob/src/BlobDownloadResponse.js.map +0 -1
  752. package/dist-esm/storage-blob/src/BlobLeaseClient.js +0 -192
  753. package/dist-esm/storage-blob/src/BlobLeaseClient.js.map +0 -1
  754. package/dist-esm/storage-blob/src/BlobQueryResponse.js +0 -367
  755. package/dist-esm/storage-blob/src/BlobQueryResponse.js.map +0 -1
  756. package/dist-esm/storage-blob/src/BlobServiceClient.js +0 -716
  757. package/dist-esm/storage-blob/src/BlobServiceClient.js.map +0 -1
  758. package/dist-esm/storage-blob/src/Clients.js +0 -2594
  759. package/dist-esm/storage-blob/src/Clients.js.map +0 -1
  760. package/dist-esm/storage-blob/src/ContainerClient.js +0 -1209
  761. package/dist-esm/storage-blob/src/ContainerClient.js.map +0 -1
  762. package/dist-esm/storage-blob/src/PageBlobRangeResponse.js +0 -24
  763. package/dist-esm/storage-blob/src/PageBlobRangeResponse.js.map +0 -1
  764. package/dist-esm/storage-blob/src/Pipeline.js +0 -261
  765. package/dist-esm/storage-blob/src/Pipeline.js.map +0 -1
  766. package/dist-esm/storage-blob/src/Range.js +0 -21
  767. package/dist-esm/storage-blob/src/Range.js.map +0 -1
  768. package/dist-esm/storage-blob/src/StorageBrowserPolicyFactory.js +0 -19
  769. package/dist-esm/storage-blob/src/StorageBrowserPolicyFactory.js.map +0 -1
  770. package/dist-esm/storage-blob/src/StorageClient.js +0 -29
  771. package/dist-esm/storage-blob/src/StorageClient.js.map +0 -1
  772. package/dist-esm/storage-blob/src/StorageContextClient.js +0 -17
  773. package/dist-esm/storage-blob/src/StorageContextClient.js.map +0 -1
  774. package/dist-esm/storage-blob/src/StorageRetryPolicyFactory.js +0 -26
  775. package/dist-esm/storage-blob/src/StorageRetryPolicyFactory.js.map +0 -1
  776. package/dist-esm/storage-blob/src/credentials/AnonymousCredential.js +0 -22
  777. package/dist-esm/storage-blob/src/credentials/AnonymousCredential.js.map +0 -1
  778. package/dist-esm/storage-blob/src/credentials/Credential.js +0 -18
  779. package/dist-esm/storage-blob/src/credentials/Credential.js.map +0 -1
  780. package/dist-esm/storage-blob/src/credentials/StorageSharedKeyCredential.browser.js +0 -5
  781. package/dist-esm/storage-blob/src/credentials/StorageSharedKeyCredential.browser.js.map +0 -1
  782. package/dist-esm/storage-blob/src/credentials/StorageSharedKeyCredential.js +0 -40
  783. package/dist-esm/storage-blob/src/credentials/StorageSharedKeyCredential.js.map +0 -1
  784. package/dist-esm/storage-blob/src/credentials/UserDelegationKeyCredential.browser.js +0 -5
  785. package/dist-esm/storage-blob/src/credentials/UserDelegationKeyCredential.browser.js.map +0 -1
  786. package/dist-esm/storage-blob/src/credentials/UserDelegationKeyCredential.js +0 -31
  787. package/dist-esm/storage-blob/src/credentials/UserDelegationKeyCredential.js.map +0 -1
  788. package/dist-esm/storage-blob/src/generated/src/index.js +0 -11
  789. package/dist-esm/storage-blob/src/generated/src/index.js.map +0 -1
  790. package/dist-esm/storage-blob/src/generated/src/models/index.js +0 -258
  791. package/dist-esm/storage-blob/src/generated/src/models/index.js.map +0 -1
  792. package/dist-esm/storage-blob/src/generated/src/models/mappers.js +0 -8225
  793. package/dist-esm/storage-blob/src/generated/src/models/mappers.js.map +0 -1
  794. package/dist-esm/storage-blob/src/generated/src/models/parameters.js +0 -1610
  795. package/dist-esm/storage-blob/src/generated/src/models/parameters.js.map +0 -1
  796. package/dist-esm/storage-blob/src/generated/src/operations/appendBlob.js +0 -221
  797. package/dist-esm/storage-blob/src/generated/src/operations/appendBlob.js.map +0 -1
  798. package/dist-esm/storage-blob/src/generated/src/operations/blob.js +0 -1020
  799. package/dist-esm/storage-blob/src/generated/src/operations/blob.js.map +0 -1
  800. package/dist-esm/storage-blob/src/generated/src/operations/blockBlob.js +0 -365
  801. package/dist-esm/storage-blob/src/generated/src/operations/blockBlob.js.map +0 -1
  802. package/dist-esm/storage-blob/src/generated/src/operations/container.js +0 -713
  803. package/dist-esm/storage-blob/src/generated/src/operations/container.js.map +0 -1
  804. package/dist-esm/storage-blob/src/generated/src/operations/index.js +0 -14
  805. package/dist-esm/storage-blob/src/generated/src/operations/index.js.map +0 -1
  806. package/dist-esm/storage-blob/src/generated/src/operations/pageBlob.js +0 -456
  807. package/dist-esm/storage-blob/src/generated/src/operations/pageBlob.js.map +0 -1
  808. package/dist-esm/storage-blob/src/generated/src/operations/service.js +0 -323
  809. package/dist-esm/storage-blob/src/generated/src/operations/service.js.map +0 -1
  810. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/appendBlob.js +0 -9
  811. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/appendBlob.js.map +0 -1
  812. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/blob.js +0 -9
  813. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/blob.js.map +0 -1
  814. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/blockBlob.js +0 -9
  815. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/blockBlob.js.map +0 -1
  816. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/container.js +0 -9
  817. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/container.js.map +0 -1
  818. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/index.js +0 -14
  819. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/index.js.map +0 -1
  820. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/pageBlob.js +0 -9
  821. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/pageBlob.js.map +0 -1
  822. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/service.js.map +0 -1
  823. package/dist-esm/storage-blob/src/generated/src/storageClient.js +0 -49
  824. package/dist-esm/storage-blob/src/generated/src/storageClient.js.map +0 -1
  825. package/dist-esm/storage-blob/src/generatedModels.js +0 -8
  826. package/dist-esm/storage-blob/src/generatedModels.js.map +0 -1
  827. package/dist-esm/storage-blob/src/index.js +0 -33
  828. package/dist-esm/storage-blob/src/index.js.map +0 -1
  829. package/dist-esm/storage-blob/src/log.js +0 -8
  830. package/dist-esm/storage-blob/src/log.js.map +0 -1
  831. package/dist-esm/storage-blob/src/models.js +0 -115
  832. package/dist-esm/storage-blob/src/models.js.map +0 -1
  833. package/dist-esm/storage-blob/src/policies/AnonymousCredentialPolicy.js +0 -20
  834. package/dist-esm/storage-blob/src/policies/AnonymousCredentialPolicy.js.map +0 -1
  835. package/dist-esm/storage-blob/src/policies/CredentialPolicy.js +0 -29
  836. package/dist-esm/storage-blob/src/policies/CredentialPolicy.js.map +0 -1
  837. package/dist-esm/storage-blob/src/policies/RequestPolicy.js +0 -40
  838. package/dist-esm/storage-blob/src/policies/RequestPolicy.js.map +0 -1
  839. package/dist-esm/storage-blob/src/policies/StorageBrowserPolicy.js +0 -47
  840. package/dist-esm/storage-blob/src/policies/StorageBrowserPolicy.js.map +0 -1
  841. package/dist-esm/storage-blob/src/policies/StorageBrowserPolicyV2.js +0 -31
  842. package/dist-esm/storage-blob/src/policies/StorageBrowserPolicyV2.js.map +0 -1
  843. package/dist-esm/storage-blob/src/policies/StorageCorrectContentLengthPolicy.browser.js +0 -18
  844. package/dist-esm/storage-blob/src/policies/StorageCorrectContentLengthPolicy.browser.js.map +0 -1
  845. package/dist-esm/storage-blob/src/policies/StorageCorrectContentLengthPolicy.js +0 -27
  846. package/dist-esm/storage-blob/src/policies/StorageCorrectContentLengthPolicy.js.map +0 -1
  847. package/dist-esm/storage-blob/src/policies/StorageRetryPolicy.js +0 -229
  848. package/dist-esm/storage-blob/src/policies/StorageRetryPolicy.js.map +0 -1
  849. package/dist-esm/storage-blob/src/policies/StorageRetryPolicyV2.js +0 -180
  850. package/dist-esm/storage-blob/src/policies/StorageRetryPolicyV2.js.map +0 -1
  851. package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicy.js +0 -141
  852. package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicy.js.map +0 -1
  853. package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicyV2.browser.js +0 -18
  854. package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicyV2.browser.js.map +0 -1
  855. package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicyV2.js +0 -132
  856. package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicyV2.js.map +0 -1
  857. package/dist-esm/storage-blob/src/pollers/BlobStartCopyFromUrlPoller.js +0 -130
  858. package/dist-esm/storage-blob/src/pollers/BlobStartCopyFromUrlPoller.js.map +0 -1
  859. package/dist-esm/storage-blob/src/sas/AccountSASPermissions.js +0 -227
  860. package/dist-esm/storage-blob/src/sas/AccountSASPermissions.js.map +0 -1
  861. package/dist-esm/storage-blob/src/sas/AccountSASResourceTypes.js.map +0 -1
  862. package/dist-esm/storage-blob/src/sas/AccountSASServices.js.map +0 -1
  863. package/dist-esm/storage-blob/src/sas/AccountSASSignatureValues.js +0 -100
  864. package/dist-esm/storage-blob/src/sas/AccountSASSignatureValues.js.map +0 -1
  865. package/dist-esm/storage-blob/src/sas/BlobSASPermissions.js +0 -195
  866. package/dist-esm/storage-blob/src/sas/BlobSASPermissions.js.map +0 -1
  867. package/dist-esm/storage-blob/src/sas/BlobSASSignatureValues.js +0 -576
  868. package/dist-esm/storage-blob/src/sas/BlobSASSignatureValues.js.map +0 -1
  869. package/dist-esm/storage-blob/src/sas/ContainerSASPermissions.js +0 -221
  870. package/dist-esm/storage-blob/src/sas/ContainerSASPermissions.js.map +0 -1
  871. package/dist-esm/storage-blob/src/sas/SASQueryParameters.js +0 -234
  872. package/dist-esm/storage-blob/src/sas/SASQueryParameters.js.map +0 -1
  873. package/dist-esm/storage-blob/src/sas/SasIPRange.js +0 -13
  874. package/dist-esm/storage-blob/src/sas/SasIPRange.js.map +0 -1
  875. package/dist-esm/storage-blob/src/utils/Batch.js.map +0 -1
  876. package/dist-esm/storage-blob/src/utils/BlobQuickQueryStream.js +0 -111
  877. package/dist-esm/storage-blob/src/utils/BlobQuickQueryStream.js.map +0 -1
  878. package/dist-esm/storage-blob/src/utils/Mutex.js +0 -65
  879. package/dist-esm/storage-blob/src/utils/Mutex.js.map +0 -1
  880. package/dist-esm/storage-blob/src/utils/RetriableReadableStream.js +0 -119
  881. package/dist-esm/storage-blob/src/utils/RetriableReadableStream.js.map +0 -1
  882. package/dist-esm/storage-blob/src/utils/SharedKeyComparator.js +0 -73
  883. package/dist-esm/storage-blob/src/utils/SharedKeyComparator.js.map +0 -1
  884. package/dist-esm/storage-blob/src/utils/cache.js +0 -11
  885. package/dist-esm/storage-blob/src/utils/cache.js.map +0 -1
  886. package/dist-esm/storage-blob/src/utils/constants.js +0 -226
  887. package/dist-esm/storage-blob/src/utils/constants.js.map +0 -1
  888. package/dist-esm/storage-blob/src/utils/tracing.js +0 -14
  889. package/dist-esm/storage-blob/src/utils/tracing.js.map +0 -1
  890. package/dist-esm/storage-blob/src/utils/utils.common.js +0 -756
  891. package/dist-esm/storage-blob/src/utils/utils.common.js.map +0 -1
  892. package/dist-esm/storage-blob/src/utils/utils.node.js +0 -132
  893. package/dist-esm/storage-blob/src/utils/utils.node.js.map +0 -1
  894. package/dist-esm/storage-file-share/src/AccountSASPermissions.js.map +0 -1
  895. package/dist-esm/storage-file-share/src/AccountSASResourceTypes.js.map +0 -1
  896. package/dist-esm/storage-file-share/src/AccountSASServices.js.map +0 -1
  897. package/dist-esm/storage-file-share/src/AccountSASSignatureValues.js +0 -71
  898. package/dist-esm/storage-file-share/src/AccountSASSignatureValues.js.map +0 -1
  899. package/dist-esm/storage-file-share/src/Clients.js +0 -2642
  900. package/dist-esm/storage-file-share/src/Clients.js.map +0 -1
  901. package/dist-esm/storage-file-share/src/FileDownloadResponse.browser.js +0 -7
  902. package/dist-esm/storage-file-share/src/FileDownloadResponse.browser.js.map +0 -1
  903. package/dist-esm/storage-file-share/src/FileDownloadResponse.js +0 -367
  904. package/dist-esm/storage-file-share/src/FileDownloadResponse.js.map +0 -1
  905. package/dist-esm/storage-file-share/src/FileSASPermissions.js.map +0 -1
  906. package/dist-esm/storage-file-share/src/FileSASSignatureValues.js +0 -84
  907. package/dist-esm/storage-file-share/src/FileSASSignatureValues.js.map +0 -1
  908. package/dist-esm/storage-file-share/src/FileSystemAttributes.js.map +0 -1
  909. package/dist-esm/storage-file-share/src/Pipeline.js +0 -261
  910. package/dist-esm/storage-file-share/src/Pipeline.js.map +0 -1
  911. package/dist-esm/storage-file-share/src/Range.js.map +0 -1
  912. package/dist-esm/storage-file-share/src/SASQueryParameters.js +0 -177
  913. package/dist-esm/storage-file-share/src/SASQueryParameters.js.map +0 -1
  914. package/dist-esm/storage-file-share/src/SasIPRange.js.map +0 -1
  915. package/dist-esm/storage-file-share/src/ShareClientInternal.js +0 -16
  916. package/dist-esm/storage-file-share/src/ShareClientInternal.js.map +0 -1
  917. package/dist-esm/storage-file-share/src/ShareSASPermissions.js.map +0 -1
  918. package/dist-esm/storage-file-share/src/ShareServiceClient.js +0 -429
  919. package/dist-esm/storage-file-share/src/ShareServiceClient.js.map +0 -1
  920. package/dist-esm/storage-file-share/src/StorageClient.js +0 -30
  921. package/dist-esm/storage-file-share/src/StorageClient.js.map +0 -1
  922. package/dist-esm/storage-file-share/src/StorageContextClient.js +0 -18
  923. package/dist-esm/storage-file-share/src/StorageContextClient.js.map +0 -1
  924. package/dist-esm/storage-file-share/src/StorageRetryPolicyFactory.js +0 -26
  925. package/dist-esm/storage-file-share/src/StorageRetryPolicyFactory.js.map +0 -1
  926. package/dist-esm/storage-file-share/src/generated/src/index.js +0 -11
  927. package/dist-esm/storage-file-share/src/generated/src/index.js.map +0 -1
  928. package/dist-esm/storage-file-share/src/generated/src/models/index.js.map +0 -1
  929. package/dist-esm/storage-file-share/src/generated/src/models/mappers.js.map +0 -1
  930. package/dist-esm/storage-file-share/src/generated/src/models/parameters.js +0 -1364
  931. package/dist-esm/storage-file-share/src/generated/src/models/parameters.js.map +0 -1
  932. package/dist-esm/storage-file-share/src/generated/src/operations/directory.js +0 -378
  933. package/dist-esm/storage-file-share/src/generated/src/operations/directory.js.map +0 -1
  934. package/dist-esm/storage-file-share/src/generated/src/operations/file.js +0 -866
  935. package/dist-esm/storage-file-share/src/generated/src/operations/file.js.map +0 -1
  936. package/dist-esm/storage-file-share/src/generated/src/operations/index.js +0 -12
  937. package/dist-esm/storage-file-share/src/generated/src/operations/index.js.map +0 -1
  938. package/dist-esm/storage-file-share/src/generated/src/operations/service.js +0 -135
  939. package/dist-esm/storage-file-share/src/generated/src/operations/service.js.map +0 -1
  940. package/dist-esm/storage-file-share/src/generated/src/operations/share.js +0 -671
  941. package/dist-esm/storage-file-share/src/generated/src/operations/share.js.map +0 -1
  942. package/dist-esm/storage-file-share/src/generated/src/operationsInterfaces/directory.js.map +0 -1
  943. package/dist-esm/storage-file-share/src/generated/src/operationsInterfaces/file.js.map +0 -1
  944. package/dist-esm/storage-file-share/src/generated/src/operationsInterfaces/index.js +0 -12
  945. package/dist-esm/storage-file-share/src/generated/src/operationsInterfaces/index.js.map +0 -1
  946. package/dist-esm/storage-file-share/src/generated/src/operationsInterfaces/service.js.map +0 -1
  947. package/dist-esm/storage-file-share/src/generated/src/operationsInterfaces/share.js.map +0 -1
  948. package/dist-esm/storage-file-share/src/generated/src/storageClient.js +0 -48
  949. package/dist-esm/storage-file-share/src/generated/src/storageClient.js.map +0 -1
  950. package/dist-esm/storage-file-share/src/generatedModels.js.map +0 -1
  951. package/dist-esm/storage-file-share/src/index.browser.js +0 -19
  952. package/dist-esm/storage-file-share/src/index.browser.js.map +0 -1
  953. package/dist-esm/storage-file-share/src/index.js +0 -30
  954. package/dist-esm/storage-file-share/src/index.js.map +0 -1
  955. package/dist-esm/storage-file-share/src/log.js.map +0 -1
  956. package/dist-esm/storage-file-share/src/models.js +0 -94
  957. package/dist-esm/storage-file-share/src/models.js.map +0 -1
  958. package/dist-esm/storage-file-share/src/policies/StorageRetryPolicy.js +0 -220
  959. package/dist-esm/storage-file-share/src/policies/StorageRetryPolicy.js.map +0 -1
  960. package/dist-esm/storage-file-share/src/policies/StorageRetryPolicyV2.js +0 -176
  961. package/dist-esm/storage-file-share/src/policies/StorageRetryPolicyV2.js.map +0 -1
  962. package/dist-esm/storage-file-share/src/utils/Batch.js.map +0 -1
  963. package/dist-esm/storage-file-share/src/utils/BufferScheduler.js.map +0 -1
  964. package/dist-esm/storage-file-share/src/utils/RetriableReadableStream.js +0 -119
  965. package/dist-esm/storage-file-share/src/utils/RetriableReadableStream.js.map +0 -1
  966. package/dist-esm/storage-file-share/src/utils/constants.js +0 -162
  967. package/dist-esm/storage-file-share/src/utils/constants.js.map +0 -1
  968. package/dist-esm/storage-file-share/src/utils/tracing.js +0 -14
  969. package/dist-esm/storage-file-share/src/utils/tracing.js.map +0 -1
  970. package/dist-esm/storage-file-share/src/utils/utils.browser.js +0 -30
  971. package/dist-esm/storage-file-share/src/utils/utils.browser.js.map +0 -1
  972. package/dist-esm/storage-file-share/src/utils/utils.common.js +0 -777
  973. package/dist-esm/storage-file-share/src/utils/utils.common.js.map +0 -1
  974. package/dist-esm/storage-file-share/src/utils/utils.node.js +0 -79
  975. package/dist-esm/storage-file-share/src/utils/utils.node.js.map +0 -1
  976. package/types/latest/storage-file-share.d.ts +0 -8411
  977. /package/{dist-esm/storage-file-share/src → dist/browser}/AccountSASPermissions.js +0 -0
  978. /package/{dist-esm/storage-blob/src/sas → dist/browser}/AccountSASResourceTypes.js +0 -0
  979. /package/{dist-esm/storage-blob/src/sas → dist/browser}/AccountSASServices.js +0 -0
  980. /package/{dist-esm/storage-file-share/src → dist/browser}/FileSASPermissions.js +0 -0
  981. /package/{dist-esm/storage-file-share/src → dist/browser}/FileSystemAttributes.js +0 -0
  982. /package/{dist-esm/storage-file-share/src → dist/browser}/Range.js +0 -0
  983. /package/{dist-esm/storage-file-share/src → dist/browser}/SasIPRange.js +0 -0
  984. /package/{dist-esm/storage-file-share/src → dist/browser}/ShareSASPermissions.js +0 -0
  985. /package/{dist-esm/storage-file-share/src → dist/browser}/generated/src/models/index.js +0 -0
  986. /package/{dist-esm/storage-file-share/src → dist/browser}/generated/src/models/mappers.js +0 -0
  987. /package/{dist-esm/storage-file-share/src → dist/browser}/generated/src/operationsInterfaces/directory.js +0 -0
  988. /package/{dist-esm/storage-file-share/src → dist/browser}/generated/src/operationsInterfaces/file.js +0 -0
  989. /package/{dist-esm/storage-blob/src → dist/browser}/generated/src/operationsInterfaces/service.js +0 -0
  990. /package/{dist-esm/storage-file-share/src → dist/browser}/generated/src/operationsInterfaces/share.js +0 -0
  991. /package/{dist-esm/storage-file-share/src → dist/browser}/generatedModels.js +0 -0
  992. /package/{dist-esm/storage-file-share/src → dist/browser}/log.js +0 -0
  993. /package/{dist-esm/storage-blob/src → dist/browser}/utils/Batch.js +0 -0
  994. /package/{dist-esm/storage-file-share/src → dist/browser}/utils/BufferScheduler.js +0 -0
  995. /package/{dist-esm/storage-file-share/src → dist/esm}/AccountSASResourceTypes.js +0 -0
  996. /package/{dist-esm/storage-file-share/src → dist/esm}/AccountSASServices.js +0 -0
  997. /package/{dist-esm/storage-file-share/src → dist/esm}/generated/src/operationsInterfaces/service.js +0 -0
  998. /package/{dist-esm/storage-file-share/src → dist/esm}/utils/Batch.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { FileSystemAttributes } from \"./FileSystemAttributes.js\";\nimport { truncatedISO8061Date } from \"./utils/utils.common.js\";\nimport { logger } from \"./log.js\";\nimport type { FilePermissionFormat, NfsFileType, ShareTokenIntent } from \"./generatedModels.js\";\nimport type { StoragePipelineOptions } from \"./Pipeline.js\";\nimport type { FileDownloadHeaders } from \"./generatedModels.js\";\n\nexport interface Metadata {\n [propertyName: string]: string;\n}\n\n/**\n * Represents file permissions for a specific role.\n */\nexport interface PosixRolePermissions {\n /**\n * The execute permission.\n */\n execute: boolean;\n /**\n * The write permission.\n */\n write: boolean;\n /**\n * The read permission.\n */\n read: boolean;\n}\n\n/**\n * The mode permissions of the file or directory.\n */\nexport interface NfsFileMode {\n /**\n * Permissions the owner has over the file or directory.\n */\n owner: PosixRolePermissions;\n\n /**\n * Permissions the group has over the file or directory.\n */\n group: PosixRolePermissions;\n\n /**\n * Permissions other have over the file or directory.\n */\n other: PosixRolePermissions;\n\n /**\n * Set effective user ID (setuid) on the file or directory.\n */\n effectiveUserIdentity: boolean;\n\n /**\n * Set effective group ID (setgid) on the file or directory.\n */\n effectiveGroupIdentity: boolean;\n\n /**\n * The sticky bit may be set on directories. The files in that\n * directory may only be renamed or deleted by the file's owner, the directory's owner, or the root user.\n */\n stickyBit: boolean;\n}\n\n/**\n * \n NFS properties.\n Note that these properties only apply to files or directories in\n premium NFS file accounts.\n */\nexport interface FilePosixProperties {\n /** NFS only. The owner of the file or directory. */\n owner?: string;\n /** NFS only. The owning group of the file or directory. */\n group?: string;\n /** NFS only. The file mode of the file or directory */\n fileMode?: NfsFileMode;\n /** NFS only. Type of the file or directory. */\n fileType?: NfsFileType;\n /** NFS only. The link count of the file or directory. */\n linkCount?: number;\n}\n\n/** Defines headers for File_setHttpHeaders operation. */\nexport interface FileSetHttpHeadersHeaders {\n /** The ETag contains a value which represents the version of the file, in quotes. */\n etag?: string;\n /** Returns the date and time the directory was last modified. Any operation that modifies the directory or its properties updates the last modified time. Operations on files do not affect the last modified time of the directory. */\n lastModified?: Date;\n /** This header uniquely identifies the request that was made and can be used for troubleshooting the request. */\n requestId?: string;\n /** Indicates the version of the File service used to execute the request. */\n version?: string;\n /** A UTC date/time value generated by the service that indicates the time at which the response was initiated. */\n date?: Date;\n /** The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise. */\n isServerEncrypted?: boolean;\n /** Key of the permission set for the file. */\n filePermissionKey?: string;\n /** Attributes set for the file. */\n fileAttributes?: string;\n /** Creation time for the file. */\n fileCreatedOn?: Date;\n /** Last write time for the file. */\n fileLastWriteOn?: Date;\n /** Change time for the file. */\n fileChangeOn?: Date;\n /** The fileId of the directory. */\n fileId?: string;\n /** The parent fileId of the directory. */\n fileParentId?: string;\n /** Properties of NFS files. */\n posixProperties?: FilePosixProperties;\n /** Error Code */\n errorCode?: string;\n}\n\n/** Contains response data for the download operation. */\nexport type FileDownloadResponse = FileDownloadHeaders & {\n /**\n * BROWSER ONLY\n *\n * The response body as a browser Blob.\n * Always `undefined` in node.js.\n */\n blobBody?: Promise<Blob>;\n /**\n * NODEJS ONLY\n *\n * The response body as a node.js Readable stream.\n * Always `undefined` in the browser.\n */\n readableStreamBody?: NodeJS.ReadableStream;\n};\n\nexport interface FileHttpHeaders {\n /**\n * Optional. Sets the file's cache\n * control. If specified, this property is stored with the file and returned\n * with a read request.\n */\n fileCacheControl?: string;\n /**\n * Optional. Sets the file's content type.\n * If specified, this property is stored with the file and returned with a\n * read request.\n */\n fileContentType?: string;\n /**\n * Optional. An MD5 hash of the file\n * content. Note that this hash is not validated, as the hashes for the\n * individual blocks were validated when each was uploaded.\n */\n fileContentMD5?: Uint8Array;\n /**\n * Optional. Sets the file's content\n * encoding. If specified, this property is stored with the file and returned\n * with a read request.\n */\n fileContentEncoding?: string;\n /**\n * Optional. Set the file's content\n * language. If specified, this property is stored with the file and returned\n * with a read request.\n */\n fileContentLanguage?: string;\n /**\n * Optional. Sets the file's\n * Content-Disposition header.\n */\n fileContentDisposition?: string;\n}\n\n/**\n * Indicates inherit file permission from the parent directory.\n */\nexport type FilePermissionInheritType = \"inherit\";\n\n/**\n * Indicates keep existing file permission value unchanged.\n */\nexport type FilePermissionPreserveType = \"preserve\";\n\n/**\n * Indicates setting as the time of the request.\n */\nexport type TimeNowType = \"now\";\n\n/**\n * Indicates keep existing time value unchanged.\n */\nexport type TimePreserveType = \"preserve\";\n\n/**\n * Indicates keep existing file attributes unchanged.\n */\nexport type FileAttributesPreserveType = \"preserve\";\n\nexport interface FileAndDirectoryCreateCommonOptions {\n /**\n * The permission(security descriptor) to be set for the file or directory in the\n * Security Descriptor Definition Language (SDDL) or binary.\n * If specified, it must have an owner, group, and discretionary access control list (DACL).\n * A value of inherit may be passed to inherit from the parent directory.\n *\n * Note that only one of filePermission or filePermissionKey can be specified.\n * And if both are not specified, inherit will be set to filePermission as default value by client library.\n */\n filePermission?: string | FilePermissionInheritType;\n\n /**\n * Optional. Available for version 2023-06-01 and later.\n * Specifies the format in which the permission is returned. Acceptable values are SDDL or binary.\n * If x-ms-file-permission-format is unspecified or explicitly set to SDDL, the permission is returned in SDDL format.\n * If x-ms-file-permission-format is explicitly set to binary, the permission is returned as a base64 string representing the binary encoding of the permission\n */\n filePermissionFormat?: FilePermissionFormat;\n\n /**\n * The key of the permission to be set for the file or directory. This can be created using the Create-Permission API.\n *\n * Note that only one of filePermission or filePermissionKey can be specified.\n */\n filePermissionKey?: string;\n\n /**\n * The file system attributes to be set on the file or directory.\n */\n fileAttributes?: FileSystemAttributes;\n\n /**\n * The Coordinated Universal Time (UTC) creation time property for the directory.\n * A value of now may be used to indicate the time of the request.\n * By default, the value will be set as now.\n */\n creationTime?: Date | TimeNowType;\n\n /**\n * The Coordinated Universal Time (UTC) last write property for the directory.\n * A value of now may be used to indicate the time of the request.\n * By default, the value will be set as now.\n */\n lastWriteTime?: Date | TimeNowType;\n\n /**\n * The Coordinated Universal Time (UTC) change time property for the directory.\n * A value of now may be used to indicate the time of the request.\n * By default, the value will be set to the time of the request.\n */\n changeTime?: Date | TimeNowType;\n /**\n * Optional properties to set on NFS files.\n Note that this property is only applicable to files created in NFS shares.\n */\n posixProperties?: FilePosixProperties;\n}\n\nexport interface FileAndDirectorySetPropertiesCommonOptions {\n /**\n * The permission(security descriptor) to be set for the file or directory in the\n * Security Descriptor Definition Language (SDDL). If specified, it must have an owner, group, and discretionary access control list (DACL).\n * A value of inherit may be passed to inherit from the parent directory.\n * A value of preserve may be passed to keep the value unchanged.\n *\n * Note that only one of filePermission or filePermissionKey can be specified.\n * And if both are not specified, preserve will be set to filePermission as default value by client library.\n */\n filePermission?: string | FilePermissionInheritType | FilePermissionPreserveType;\n\n /**\n * Optional. Available for version 2023-06-01 and later.\n * Specifies the format in which the permission is returned. Acceptable values are SDDL or binary.\n * If x-ms-file-permission-format is unspecified or explicitly set to SDDL, the permission is returned in SDDL format.\n * If x-ms-file-permission-format is explicitly set to binary, the permission is returned as a base64 string representing the binary encoding of the permission\n */\n filePermissionFormat?: FilePermissionFormat;\n\n /**\n * The key of the permission to be set for the file or directory. This can be created using the Create-Permission API.\n *\n * Note that only one of filePermission or filePermissionKey can be specified.\n */\n filePermissionKey?: string;\n\n /**\n * The file system attributes to be set on the file or directory.\n */\n fileAttributes?: FileSystemAttributes | FileAttributesPreserveType;\n\n /**\n * The Coordinated Universal Time (UTC) creation time property for the directory.\n * A value of now may be used to indicate the time of the request.\n * A value of preserve may be passed to keep an existing value unchanged.\n * By default, the value will be set as preserve.\n */\n creationTime?: Date | TimeNowType | TimePreserveType;\n\n /**\n * The Coordinated Universal Time (UTC) last write property for the directory.\n * A value of now may be used to indicate the time of the request.\n * A value of preserve may be passed to keep an existing value unchanged.\n * By default, the value will be set as preserve.\n */\n lastWriteTime?: Date | TimeNowType | TimePreserveType;\n\n /**\n * The Coordinated Universal Time (UTC) change time property for the directory.\n * A value of now may be used to indicate the time of the request.\n * By default, the value will be set to the time of the request.\n */\n changeTime?: Date | TimeNowType;\n\n /**\n * Optional properties to set on NFS files.\n Note that this property is only applicable to files created in NFS shares.\n */\n posixProperties?: FilePosixProperties;\n}\n\n/**\n * Close handles result information.\n */\nexport interface CloseHandlesInfo {\n closedHandlesCount: number;\n /**\n * Contains count of number of handles that failed to close.\n */\n closeFailureCount?: number;\n}\n\n/**\n * Protocols to enable on the share. For now, only support SMB or NFS.\n */\nexport interface ShareProtocols {\n /**\n * The share can be accessed by SMBv3.0, SMBv2.1 and REST.\n */\n smbEnabled?: boolean;\n /**\n * The share can be accessed by NFSv4.1.\n */\n nfsEnabled?: boolean;\n}\n\nexport interface ShareClientConfig {\n /**\n * The Files OAuth over REST feature requires special permissions to be included in the role definition to use\n * These special permissions will give privileged access to file share data -\n * It will allow users to bypass file/directory level ACL/NTFS permissions and get read/write access to file share data\n * Since this additional permission can be unintended and to prevent unintended and over privileged access,\n * additional checks has been implemented that requires users to explicitly indicate their intent to use these additional permissions.\n * This is done using the fileRequestIntent option.\n * Currently, the only value that the header supports is 'backup'\n * Any user who wishes to use Files OAuth over REST feature has to call the API with the intent header. If the API is not called with the intent header, any subsequent data operation requests will be denied.\n */\n fileRequestIntent?: ShareTokenIntent;\n /** If true, the trailing dot will not be trimmed from the target URI. */\n allowTrailingDot?: boolean;\n /** If true, the trailing dot will not be trimmed from the source URI. */\n allowSourceTrailingDot?: boolean;\n}\n\nexport type ShareClientOptions = StoragePipelineOptions & ShareClientConfig;\n\n/**\n * Convert protocols from joined string to ShareProtocols.\n *\n * @param protocolsString -\n */\nexport function toShareProtocols(protocolsString?: string): ShareProtocols | undefined {\n if (protocolsString === undefined) {\n return undefined;\n }\n\n const protocolStrArray = protocolsString.split(\";\");\n const protocols: ShareProtocols = {};\n for (const protocol of protocolStrArray) {\n if (protocol === \"SMB\") {\n protocols.smbEnabled = true;\n } else if (protocol === \"NFS\") {\n protocols.nfsEnabled = true;\n }\n }\n return protocols;\n}\n\n/**\n * Convert ShareProtocols to joined string.\n *\n * @param protocols -\n */\nexport function toShareProtocolsString(protocols: ShareProtocols = {}): string | undefined {\n let protocolStr = undefined;\n\n if (protocols.smbEnabled === true) {\n protocolStr = \"SMB\";\n }\n if (protocols.nfsEnabled === true) {\n logger.info(\n `Using \"NFS\" in favor of \"SMB\" for the share protocol as currently they can't be supported at the same time.`,\n );\n protocolStr = \"NFS\";\n }\n return protocolStr;\n}\n\nexport function validateFilePermissionOptions(\n filePermission?: string,\n filePermissionKey?: string,\n): void {\n if (filePermission && filePermissionKey) {\n throw new RangeError(\"Only one of filePermission or filePermissionKey can be specified.\");\n }\n}\n\nexport function validateAndSetDefaultsForFileAndDirectoryCreateCommonOptions(\n options: FileAndDirectoryCreateCommonOptions,\n): FileAndDirectoryCreateCommonOptions {\n // Would better deep copy params set by user.\n\n if (!options) {\n options = {};\n }\n\n validateFilePermissionOptions(options.filePermission, options.filePermissionKey);\n\n return options;\n}\n\nexport function validateAndSetDefaultsForFileAndDirectorySetPropertiesCommonOptions(\n options: FileAndDirectorySetPropertiesCommonOptions,\n): FileAndDirectorySetPropertiesCommonOptions {\n // Would better deep copy params set by user.\n\n if (!options) {\n options = {};\n }\n\n validateFilePermissionOptions(options.filePermission, options.filePermissionKey);\n\n return options;\n}\n\nexport function fileAttributesToString(\n fileAttributes: FileSystemAttributes | FileAttributesPreserveType,\n): string {\n return fileAttributes instanceof FileSystemAttributes\n ? fileAttributes.toString()\n : fileAttributes;\n}\n\nexport function fileCreationTimeToString(\n time: Date | TimeNowType | TimePreserveType | undefined,\n): string | undefined {\n return time instanceof Date ? truncatedISO8061Date(time) : time;\n}\n\nexport function fileLastWriteTimeToString(\n time: Date | TimeNowType | TimePreserveType | undefined,\n): string | undefined {\n return time instanceof Date ? truncatedISO8061Date(time) : time;\n}\n\nexport function fileChangeTimeToString(\n time: Date | TimeNowType | TimePreserveType | undefined,\n): string | undefined {\n return time instanceof Date ? truncatedISO8061Date(time) : time;\n}\n\n/**\n * Represents authentication information in Authorization, ProxyAuthorization,\n * WWW-Authenticate, and Proxy-Authenticate header values.\n */\nexport interface HttpAuthorization {\n /**\n * The scheme to use for authorization.\n */\n scheme: string;\n\n /**\n * the credentials containing the authentication information of the user agent for the resource being requested.\n */\n value: string;\n}\n\n/**\n * Defines the known cloud audiences for Storage.\n */\nexport enum StorageFileAudience {\n /**\n * The OAuth scope to use to retrieve an AAD token for Azure Storage.\n */\n StorageOAuthScopes = \"https://storage.azure.com/.default\",\n}\n\n/**\n * To get the OAuth audience for a storage account for file service.\n */\nexport function getFileServiceAccountAudience(storageAccountName: string): string {\n return `https://${storageAccountName}.file.core.windows.net/.default`;\n}\n"]}
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "module"
3
+ }
@@ -0,0 +1,75 @@
1
+ import type { RequestPolicy, RequestPolicyOptionsLike as RequestPolicyOptions, RequestPolicyFactory, WebResourceLike as WebResource, CompatResponse as HttpOperationResponse } from "@azure/core-http-compat";
2
+ import { BaseRequestPolicy } from "@azure/storage-blob";
3
+ import type { RestError } from "@azure/core-rest-pipeline";
4
+ import type { StorageRetryOptions } from "../StorageRetryPolicyFactory.js";
5
+ /**
6
+ * A factory method used to generated a RetryPolicy factory.
7
+ *
8
+ * @param retryOptions -
9
+ */
10
+ export declare function NewRetryPolicyFactory(retryOptions?: StorageRetryOptions): RequestPolicyFactory;
11
+ /**
12
+ * RetryPolicy types.
13
+ */
14
+ export declare enum StorageRetryPolicyType {
15
+ /**
16
+ * Exponential retry. Retry time delay grows exponentially.
17
+ */
18
+ EXPONENTIAL = 0,
19
+ /**
20
+ * Linear retry. Retry time delay grows linearly.
21
+ */
22
+ FIXED = 1
23
+ }
24
+ /**
25
+ * Retry policy with exponential retry and linear retry implemented.
26
+ */
27
+ export declare class StorageRetryPolicy extends BaseRequestPolicy {
28
+ /**
29
+ * RetryOptions.
30
+ */
31
+ private readonly retryOptions;
32
+ /**
33
+ * Creates an instance of RetryPolicy.
34
+ *
35
+ * @param nextPolicy -
36
+ * @param options -
37
+ * @param retryOptions -
38
+ */
39
+ constructor(nextPolicy: RequestPolicy, options: RequestPolicyOptions, retryOptions?: StorageRetryOptions);
40
+ /**
41
+ * Sends request.
42
+ *
43
+ * @param request -
44
+ */
45
+ sendRequest(request: WebResource): Promise<HttpOperationResponse>;
46
+ /**
47
+ * Decide and perform next retry. Won't mutate request parameter.
48
+ *
49
+ * @param request -
50
+ * @param secondaryHas404 - If attempt was against the secondary & it returned a StatusNotFound (404), then
51
+ * the resource was not found. This may be due to replication delay. So, in this
52
+ * case, we'll never try the secondary again for this operation.
53
+ * @param attempt - How many retries has been attempted to performed, starting from 1, which includes
54
+ * the attempt will be performed by this method call.
55
+ */
56
+ protected attemptSendRequest(request: WebResource, secondaryHas404: boolean, attempt: number): Promise<HttpOperationResponse>;
57
+ /**
58
+ * Decide whether to retry according to last HTTP response and retry counters.
59
+ *
60
+ * @param isPrimaryRetry -
61
+ * @param attempt -
62
+ * @param response -
63
+ * @param err -
64
+ */
65
+ protected shouldRetry(isPrimaryRetry: boolean, attempt: number, response?: HttpOperationResponse, err?: RestError): boolean;
66
+ /**
67
+ * Delay a calculated time between retries.
68
+ *
69
+ * @param isPrimaryRetry -
70
+ * @param attempt -
71
+ * @param abortSignal -
72
+ */
73
+ private delay;
74
+ }
75
+ //# sourceMappingURL=StorageRetryPolicy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StorageRetryPolicy.d.ts","sourceRoot":"","sources":["../../../src/policies/StorageRetryPolicy.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,aAAa,EACb,wBAAwB,IAAI,oBAAoB,EAChD,oBAAoB,EACpB,eAAe,IAAI,WAAW,EAC9B,cAAc,IAAI,qBAAqB,EACxC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAK3E;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,CAAC,EAAE,mBAAmB,GAAG,oBAAoB,CAM9F;AAED;;GAEG;AACH,oBAAY,sBAAsB;IAChC;;OAEG;IACH,WAAW,IAAA;IACX;;OAEG;IACH,KAAK,IAAA;CACN;AAaD;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,iBAAiB;IACvD;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsB;IAEnD;;;;;;OAMG;gBAED,UAAU,EAAE,aAAa,EACzB,OAAO,EAAE,oBAAoB,EAC7B,YAAY,GAAE,mBAA2C;IAqC3D;;;;OAIG;IACU,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAI9E;;;;;;;;;OASG;cACa,kBAAkB,CAChC,OAAO,EAAE,WAAW,EACpB,eAAe,EAAE,OAAO,EACxB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,qBAAqB,CAAC;IAkCjC;;;;;;;OAOG;IACH,SAAS,CAAC,WAAW,CACnB,cAAc,EAAE,OAAO,EACvB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,qBAAqB,EAChC,GAAG,CAAC,EAAE,SAAS,GACd,OAAO;IA+EV;;;;;;OAMG;YACW,KAAK;CA0BpB"}
@@ -0,0 +1,220 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import { AbortError } from "@azure/abort-controller";
4
+ import { BaseRequestPolicy } from "@azure/storage-blob";
5
+ import { URLConstants } from "../utils/constants.js";
6
+ import { delay, setURLParameter } from "../utils/utils.common.js";
7
+ import { logger } from "../log.js";
8
+ /**
9
+ * A factory method used to generated a RetryPolicy factory.
10
+ *
11
+ * @param retryOptions -
12
+ */
13
+ export function NewRetryPolicyFactory(retryOptions) {
14
+ return {
15
+ create: (nextPolicy, options) => {
16
+ return new StorageRetryPolicy(nextPolicy, options, retryOptions);
17
+ },
18
+ };
19
+ }
20
+ /**
21
+ * RetryPolicy types.
22
+ */
23
+ export var StorageRetryPolicyType;
24
+ (function (StorageRetryPolicyType) {
25
+ /**
26
+ * Exponential retry. Retry time delay grows exponentially.
27
+ */
28
+ StorageRetryPolicyType[StorageRetryPolicyType["EXPONENTIAL"] = 0] = "EXPONENTIAL";
29
+ /**
30
+ * Linear retry. Retry time delay grows linearly.
31
+ */
32
+ StorageRetryPolicyType[StorageRetryPolicyType["FIXED"] = 1] = "FIXED";
33
+ })(StorageRetryPolicyType || (StorageRetryPolicyType = {}));
34
+ // Default values of StorageRetryOptions
35
+ const DEFAULT_RETRY_OPTIONS = {
36
+ maxRetryDelayInMs: 120 * 1000,
37
+ maxTries: 4,
38
+ retryDelayInMs: 4 * 1000,
39
+ retryPolicyType: StorageRetryPolicyType.EXPONENTIAL,
40
+ tryTimeoutInMs: undefined, // Use server side default timeout strategy
41
+ };
42
+ const RETRY_ABORT_ERROR = new AbortError("The operation was aborted.");
43
+ /**
44
+ * Retry policy with exponential retry and linear retry implemented.
45
+ */
46
+ export class StorageRetryPolicy extends BaseRequestPolicy {
47
+ /**
48
+ * Creates an instance of RetryPolicy.
49
+ *
50
+ * @param nextPolicy -
51
+ * @param options -
52
+ * @param retryOptions -
53
+ */
54
+ constructor(nextPolicy, options, retryOptions = DEFAULT_RETRY_OPTIONS) {
55
+ super(nextPolicy, options);
56
+ // Initialize retry options
57
+ this.retryOptions = {
58
+ retryPolicyType: retryOptions.retryPolicyType
59
+ ? retryOptions.retryPolicyType
60
+ : DEFAULT_RETRY_OPTIONS.retryPolicyType,
61
+ maxTries: retryOptions.maxTries && retryOptions.maxTries >= 1
62
+ ? Math.floor(retryOptions.maxTries)
63
+ : DEFAULT_RETRY_OPTIONS.maxTries,
64
+ tryTimeoutInMs: retryOptions.tryTimeoutInMs && retryOptions.tryTimeoutInMs >= 0
65
+ ? retryOptions.tryTimeoutInMs
66
+ : DEFAULT_RETRY_OPTIONS.tryTimeoutInMs,
67
+ retryDelayInMs: retryOptions.retryDelayInMs && retryOptions.retryDelayInMs >= 0
68
+ ? Math.min(retryOptions.retryDelayInMs, retryOptions.maxRetryDelayInMs
69
+ ? retryOptions.maxRetryDelayInMs
70
+ : DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs)
71
+ : DEFAULT_RETRY_OPTIONS.retryDelayInMs,
72
+ maxRetryDelayInMs: retryOptions.maxRetryDelayInMs && retryOptions.maxRetryDelayInMs >= 0
73
+ ? retryOptions.maxRetryDelayInMs
74
+ : DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs,
75
+ };
76
+ }
77
+ /**
78
+ * Sends request.
79
+ *
80
+ * @param request -
81
+ */
82
+ async sendRequest(request) {
83
+ return this.attemptSendRequest(request, false, 1);
84
+ }
85
+ /**
86
+ * Decide and perform next retry. Won't mutate request parameter.
87
+ *
88
+ * @param request -
89
+ * @param secondaryHas404 - If attempt was against the secondary & it returned a StatusNotFound (404), then
90
+ * the resource was not found. This may be due to replication delay. So, in this
91
+ * case, we'll never try the secondary again for this operation.
92
+ * @param attempt - How many retries has been attempted to performed, starting from 1, which includes
93
+ * the attempt will be performed by this method call.
94
+ */
95
+ async attemptSendRequest(request, secondaryHas404, attempt) {
96
+ const newRequest = request.clone();
97
+ const isPrimaryRetry = true;
98
+ // Set the server-side timeout query parameter "timeout=[seconds]"
99
+ if (this.retryOptions.tryTimeoutInMs) {
100
+ newRequest.url = setURLParameter(newRequest.url, URLConstants.Parameters.TIMEOUT, Math.floor(this.retryOptions.tryTimeoutInMs / 1000).toString());
101
+ }
102
+ let response;
103
+ try {
104
+ logger.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? "Primary" : "Secondary"}`);
105
+ response = await this._nextPolicy.sendRequest(newRequest);
106
+ if (!this.shouldRetry(isPrimaryRetry, attempt, response)) {
107
+ return response;
108
+ }
109
+ secondaryHas404 = secondaryHas404 || (!isPrimaryRetry && response.status === 404);
110
+ }
111
+ catch (err) {
112
+ logger.error(`RetryPolicy: Caught error, message: ${err.message}, code: ${err.code}`);
113
+ if (!this.shouldRetry(isPrimaryRetry, attempt, response, err)) {
114
+ throw err;
115
+ }
116
+ }
117
+ await this.delay(isPrimaryRetry, attempt, request.abortSignal);
118
+ return this.attemptSendRequest(request, secondaryHas404, ++attempt);
119
+ }
120
+ /**
121
+ * Decide whether to retry according to last HTTP response and retry counters.
122
+ *
123
+ * @param isPrimaryRetry -
124
+ * @param attempt -
125
+ * @param response -
126
+ * @param err -
127
+ */
128
+ shouldRetry(isPrimaryRetry, attempt, response, err) {
129
+ if (attempt >= this.retryOptions.maxTries) {
130
+ logger.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${this.retryOptions
131
+ .maxTries}, no further try.`);
132
+ return false;
133
+ }
134
+ // Handle network failures, you may need to customize the list when you implement
135
+ // your own http client
136
+ const retriableErrors = [
137
+ "ETIMEDOUT",
138
+ "ESOCKETTIMEDOUT",
139
+ "ECONNREFUSED",
140
+ "ECONNRESET",
141
+ "ENOENT",
142
+ "ENOTFOUND",
143
+ "TIMEOUT",
144
+ "EPIPE",
145
+ "REQUEST_SEND_ERROR", // For default xhr based http client provided in ms-rest-js
146
+ ];
147
+ if (err) {
148
+ for (const retriableError of retriableErrors) {
149
+ if (err.name.toUpperCase().includes(retriableError) ||
150
+ err.message.toUpperCase().includes(retriableError) ||
151
+ (err.code && err.code.toString().toUpperCase() === retriableError)) {
152
+ logger.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);
153
+ return true;
154
+ }
155
+ }
156
+ }
157
+ // If attempt was against the secondary & it returned a StatusNotFound (404), then
158
+ // the resource was not found. This may be due to replication delay. So, in this
159
+ // case, we'll never try the secondary again for this operation.
160
+ if (response || err) {
161
+ const statusCode = response ? response.status : err ? err.statusCode : 0;
162
+ if (!isPrimaryRetry && statusCode === 404) {
163
+ logger.info(`RetryPolicy: Secondary access with 404, will retry.`);
164
+ return true;
165
+ }
166
+ // Server internal error or server timeout
167
+ if (statusCode === 503 || statusCode === 500) {
168
+ logger.info(`RetryPolicy: Will retry for status code ${statusCode}.`);
169
+ return true;
170
+ }
171
+ }
172
+ // [Copy source error code] Feature is pending on service side, skip retry on copy source error for now.
173
+ // if (response) {
174
+ // // Retry select Copy Source Error Codes.
175
+ // if (response?.status >= 400) {
176
+ // const copySourceError = response.headers.get(HeaderConstants.X_MS_CopySourceErrorCode);
177
+ // if (copySourceError !== undefined) {
178
+ // switch (copySourceError)
179
+ // {
180
+ // case "InternalError":
181
+ // case "OperationTimedOut":
182
+ // case "ServerBusy":
183
+ // return true;
184
+ // }
185
+ // }
186
+ // }
187
+ // }
188
+ if ((err === null || err === void 0 ? void 0 : err.code) === "PARSE_ERROR" && (err === null || err === void 0 ? void 0 : err.message.startsWith(`Error "Error: Unclosed root tag`))) {
189
+ logger.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry.");
190
+ return true;
191
+ }
192
+ return false;
193
+ }
194
+ /**
195
+ * Delay a calculated time between retries.
196
+ *
197
+ * @param isPrimaryRetry -
198
+ * @param attempt -
199
+ * @param abortSignal -
200
+ */
201
+ async delay(isPrimaryRetry, attempt, abortSignal) {
202
+ let delayTimeInMs = 0;
203
+ if (isPrimaryRetry) {
204
+ switch (this.retryOptions.retryPolicyType) {
205
+ case StorageRetryPolicyType.EXPONENTIAL:
206
+ delayTimeInMs = Math.min((Math.pow(2, attempt - 1) - 1) * this.retryOptions.retryDelayInMs, this.retryOptions.maxRetryDelayInMs);
207
+ break;
208
+ case StorageRetryPolicyType.FIXED:
209
+ delayTimeInMs = this.retryOptions.retryDelayInMs;
210
+ break;
211
+ }
212
+ }
213
+ else {
214
+ delayTimeInMs = Math.random() * 1000;
215
+ }
216
+ logger.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);
217
+ return delay(delayTimeInMs, abortSignal, RETRY_ABORT_ERROR);
218
+ }
219
+ }
220
+ //# sourceMappingURL=StorageRetryPolicy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StorageRetryPolicy.js","sourceRoot":"","sources":["../../../src/policies/StorageRetryPolicy.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { AbortSignalLike } from \"@azure/abort-controller\";\nimport { AbortError } from \"@azure/abort-controller\";\nimport type {\n RequestPolicy,\n RequestPolicyOptionsLike as RequestPolicyOptions,\n RequestPolicyFactory,\n WebResourceLike as WebResource,\n CompatResponse as HttpOperationResponse,\n} from \"@azure/core-http-compat\";\nimport { BaseRequestPolicy } from \"@azure/storage-blob\";\nimport type { RestError } from \"@azure/core-rest-pipeline\";\n\nimport type { StorageRetryOptions } from \"../StorageRetryPolicyFactory.js\";\nimport { URLConstants } from \"../utils/constants.js\";\nimport { delay, setURLParameter } from \"../utils/utils.common.js\";\nimport { logger } from \"../log.js\";\n\n/**\n * A factory method used to generated a RetryPolicy factory.\n *\n * @param retryOptions -\n */\nexport function NewRetryPolicyFactory(retryOptions?: StorageRetryOptions): RequestPolicyFactory {\n return {\n create: (nextPolicy: RequestPolicy, options: RequestPolicyOptions): StorageRetryPolicy => {\n return new StorageRetryPolicy(nextPolicy, options, retryOptions);\n },\n };\n}\n\n/**\n * RetryPolicy types.\n */\nexport enum StorageRetryPolicyType {\n /**\n * Exponential retry. Retry time delay grows exponentially.\n */\n EXPONENTIAL,\n /**\n * Linear retry. Retry time delay grows linearly.\n */\n FIXED,\n}\n\n// Default values of StorageRetryOptions\nconst DEFAULT_RETRY_OPTIONS: StorageRetryOptions = {\n maxRetryDelayInMs: 120 * 1000,\n maxTries: 4,\n retryDelayInMs: 4 * 1000,\n retryPolicyType: StorageRetryPolicyType.EXPONENTIAL,\n tryTimeoutInMs: undefined, // Use server side default timeout strategy\n};\n\nconst RETRY_ABORT_ERROR = new AbortError(\"The operation was aborted.\");\n\n/**\n * Retry policy with exponential retry and linear retry implemented.\n */\nexport class StorageRetryPolicy extends BaseRequestPolicy {\n /**\n * RetryOptions.\n */\n private readonly retryOptions: StorageRetryOptions;\n\n /**\n * Creates an instance of RetryPolicy.\n *\n * @param nextPolicy -\n * @param options -\n * @param retryOptions -\n */\n constructor(\n nextPolicy: RequestPolicy,\n options: RequestPolicyOptions,\n retryOptions: StorageRetryOptions = DEFAULT_RETRY_OPTIONS,\n ) {\n super(nextPolicy, options);\n\n // Initialize retry options\n this.retryOptions = {\n retryPolicyType: retryOptions.retryPolicyType\n ? retryOptions.retryPolicyType\n : DEFAULT_RETRY_OPTIONS.retryPolicyType,\n\n maxTries:\n retryOptions.maxTries && retryOptions.maxTries >= 1\n ? Math.floor(retryOptions.maxTries)\n : DEFAULT_RETRY_OPTIONS.maxTries,\n\n tryTimeoutInMs:\n retryOptions.tryTimeoutInMs && retryOptions.tryTimeoutInMs >= 0\n ? retryOptions.tryTimeoutInMs\n : DEFAULT_RETRY_OPTIONS.tryTimeoutInMs,\n\n retryDelayInMs:\n retryOptions.retryDelayInMs && retryOptions.retryDelayInMs >= 0\n ? Math.min(\n retryOptions.retryDelayInMs,\n retryOptions.maxRetryDelayInMs\n ? retryOptions.maxRetryDelayInMs\n : DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs!,\n )\n : DEFAULT_RETRY_OPTIONS.retryDelayInMs,\n\n maxRetryDelayInMs:\n retryOptions.maxRetryDelayInMs && retryOptions.maxRetryDelayInMs >= 0\n ? retryOptions.maxRetryDelayInMs\n : DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs,\n };\n }\n\n /**\n * Sends request.\n *\n * @param request -\n */\n public async sendRequest(request: WebResource): Promise<HttpOperationResponse> {\n return this.attemptSendRequest(request, false, 1);\n }\n\n /**\n * Decide and perform next retry. Won't mutate request parameter.\n *\n * @param request -\n * @param secondaryHas404 - If attempt was against the secondary & it returned a StatusNotFound (404), then\n * the resource was not found. This may be due to replication delay. So, in this\n * case, we'll never try the secondary again for this operation.\n * @param attempt - How many retries has been attempted to performed, starting from 1, which includes\n * the attempt will be performed by this method call.\n */\n protected async attemptSendRequest(\n request: WebResource,\n secondaryHas404: boolean,\n attempt: number,\n ): Promise<HttpOperationResponse> {\n const newRequest: WebResource = request.clone();\n\n const isPrimaryRetry = true;\n\n // Set the server-side timeout query parameter \"timeout=[seconds]\"\n if (this.retryOptions.tryTimeoutInMs) {\n newRequest.url = setURLParameter(\n newRequest.url,\n URLConstants.Parameters.TIMEOUT,\n Math.floor(this.retryOptions.tryTimeoutInMs! / 1000).toString(),\n );\n }\n\n let response: HttpOperationResponse | undefined;\n try {\n logger.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? \"Primary\" : \"Secondary\"}`);\n response = await this._nextPolicy.sendRequest(newRequest);\n if (!this.shouldRetry(isPrimaryRetry, attempt, response)) {\n return response;\n }\n\n secondaryHas404 = secondaryHas404 || (!isPrimaryRetry && response.status === 404);\n } catch (err: any) {\n logger.error(`RetryPolicy: Caught error, message: ${err.message}, code: ${err.code}`);\n if (!this.shouldRetry(isPrimaryRetry, attempt, response, err)) {\n throw err;\n }\n }\n\n await this.delay(isPrimaryRetry, attempt, request.abortSignal);\n return this.attemptSendRequest(request, secondaryHas404, ++attempt);\n }\n\n /**\n * Decide whether to retry according to last HTTP response and retry counters.\n *\n * @param isPrimaryRetry -\n * @param attempt -\n * @param response -\n * @param err -\n */\n protected shouldRetry(\n isPrimaryRetry: boolean,\n attempt: number,\n response?: HttpOperationResponse,\n err?: RestError,\n ): boolean {\n if (attempt >= this.retryOptions.maxTries!) {\n logger.info(\n `RetryPolicy: Attempt(s) ${attempt} >= maxTries ${this.retryOptions\n .maxTries!}, no further try.`,\n );\n return false;\n }\n\n // Handle network failures, you may need to customize the list when you implement\n // your own http client\n const retriableErrors = [\n \"ETIMEDOUT\",\n \"ESOCKETTIMEDOUT\",\n \"ECONNREFUSED\",\n \"ECONNRESET\",\n \"ENOENT\",\n \"ENOTFOUND\",\n \"TIMEOUT\",\n \"EPIPE\",\n \"REQUEST_SEND_ERROR\", // For default xhr based http client provided in ms-rest-js\n ];\n if (err) {\n for (const retriableError of retriableErrors) {\n if (\n err.name.toUpperCase().includes(retriableError) ||\n err.message.toUpperCase().includes(retriableError) ||\n (err.code && err.code.toString().toUpperCase() === retriableError)\n ) {\n logger.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);\n return true;\n }\n }\n }\n\n // If attempt was against the secondary & it returned a StatusNotFound (404), then\n // the resource was not found. This may be due to replication delay. So, in this\n // case, we'll never try the secondary again for this operation.\n if (response || err) {\n const statusCode = response ? response.status : err ? err.statusCode : 0;\n if (!isPrimaryRetry && statusCode === 404) {\n logger.info(`RetryPolicy: Secondary access with 404, will retry.`);\n return true;\n }\n\n // Server internal error or server timeout\n if (statusCode === 503 || statusCode === 500) {\n logger.info(`RetryPolicy: Will retry for status code ${statusCode}.`);\n return true;\n }\n }\n\n // [Copy source error code] Feature is pending on service side, skip retry on copy source error for now.\n // if (response) {\n // // Retry select Copy Source Error Codes.\n // if (response?.status >= 400) {\n // const copySourceError = response.headers.get(HeaderConstants.X_MS_CopySourceErrorCode);\n // if (copySourceError !== undefined) {\n // switch (copySourceError)\n // {\n // case \"InternalError\":\n // case \"OperationTimedOut\":\n // case \"ServerBusy\":\n // return true;\n // }\n // }\n // }\n // }\n\n if (err?.code === \"PARSE_ERROR\" && err?.message.startsWith(`Error \"Error: Unclosed root tag`)) {\n logger.info(\n \"RetryPolicy: Incomplete XML response likely due to service timeout, will retry.\",\n );\n return true;\n }\n\n return false;\n }\n\n /**\n * Delay a calculated time between retries.\n *\n * @param isPrimaryRetry -\n * @param attempt -\n * @param abortSignal -\n */\n private async delay(\n isPrimaryRetry: boolean,\n attempt: number,\n abortSignal?: AbortSignalLike,\n ): Promise<void> {\n let delayTimeInMs: number = 0;\n\n if (isPrimaryRetry) {\n switch (this.retryOptions.retryPolicyType) {\n case StorageRetryPolicyType.EXPONENTIAL:\n delayTimeInMs = Math.min(\n (Math.pow(2, attempt - 1) - 1) * this.retryOptions.retryDelayInMs!,\n this.retryOptions.maxRetryDelayInMs!,\n );\n break;\n case StorageRetryPolicyType.FIXED:\n delayTimeInMs = this.retryOptions.retryDelayInMs!;\n break;\n }\n } else {\n delayTimeInMs = Math.random() * 1000;\n }\n\n logger.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);\n return delay(delayTimeInMs, abortSignal, RETRY_ABORT_ERROR);\n }\n}\n"]}
@@ -0,0 +1,24 @@
1
+ import type { PipelinePolicy } from "@azure/core-rest-pipeline";
2
+ import type { StorageRetryOptions } from "../StorageRetryPolicyFactory.js";
3
+ /**
4
+ * Name of the {@link storageRetryPolicy}
5
+ */
6
+ export declare const storageRetryPolicyName = "storageRetryPolicy";
7
+ /**
8
+ * RetryPolicy types.
9
+ */
10
+ export declare enum StorageRetryPolicyType {
11
+ /**
12
+ * Exponential retry. Retry time delay grows exponentially.
13
+ */
14
+ EXPONENTIAL = 0,
15
+ /**
16
+ * Linear retry. Retry time delay grows linearly.
17
+ */
18
+ FIXED = 1
19
+ }
20
+ /**
21
+ * Retry policy with exponential retry and linear retry implemented.
22
+ */
23
+ export declare function storageRetryPolicy(options?: StorageRetryOptions): PipelinePolicy;
24
+ //# sourceMappingURL=StorageRetryPolicyV2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StorageRetryPolicyV2.d.ts","sourceRoot":"","sources":["../../../src/policies/StorageRetryPolicyV2.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,cAAc,EAIf,MAAM,2BAA2B,CAAC;AAGnC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAK3E;;GAEG;AACH,eAAO,MAAM,sBAAsB,uBAAuB,CAAC;AAE3D;;GAEG;AACH,oBAAY,sBAAsB;IAChC;;OAEG;IACH,WAAW,IAAA;IACX;;OAEG;IACH,KAAK,IAAA;CACN;AA0BD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,mBAAwB,GAAG,cAAc,CA0JpF"}
@@ -0,0 +1,176 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import { AbortError } from "@azure/abort-controller";
4
+ import { isRestError, RestError } from "@azure/core-rest-pipeline";
5
+ import { getErrorMessage } from "@azure/core-util";
6
+ import { URLConstants } from "../utils/constants.js";
7
+ import { delay, setURLParameter } from "../utils/utils.common.js";
8
+ import { logger } from "../log.js";
9
+ /**
10
+ * Name of the {@link storageRetryPolicy}
11
+ */
12
+ export const storageRetryPolicyName = "storageRetryPolicy";
13
+ /**
14
+ * RetryPolicy types.
15
+ */
16
+ export var StorageRetryPolicyType;
17
+ (function (StorageRetryPolicyType) {
18
+ /**
19
+ * Exponential retry. Retry time delay grows exponentially.
20
+ */
21
+ StorageRetryPolicyType[StorageRetryPolicyType["EXPONENTIAL"] = 0] = "EXPONENTIAL";
22
+ /**
23
+ * Linear retry. Retry time delay grows linearly.
24
+ */
25
+ StorageRetryPolicyType[StorageRetryPolicyType["FIXED"] = 1] = "FIXED";
26
+ })(StorageRetryPolicyType || (StorageRetryPolicyType = {}));
27
+ // Default values of StorageRetryOptions
28
+ const DEFAULT_RETRY_OPTIONS = {
29
+ maxRetryDelayInMs: 120 * 1000,
30
+ maxTries: 4,
31
+ retryDelayInMs: 4 * 1000,
32
+ retryPolicyType: StorageRetryPolicyType.EXPONENTIAL,
33
+ secondaryHost: "",
34
+ tryTimeoutInMs: undefined, // Use server side default timeout strategy
35
+ };
36
+ const retriableErrors = [
37
+ "ETIMEDOUT",
38
+ "ESOCKETTIMEDOUT",
39
+ "ECONNREFUSED",
40
+ "ECONNRESET",
41
+ "ENOENT",
42
+ "ENOTFOUND",
43
+ "TIMEOUT",
44
+ "EPIPE",
45
+ "REQUEST_SEND_ERROR",
46
+ ];
47
+ const RETRY_ABORT_ERROR = new AbortError("The operation was aborted.");
48
+ /**
49
+ * Retry policy with exponential retry and linear retry implemented.
50
+ */
51
+ export function storageRetryPolicy(options = {}) {
52
+ var _a, _b, _c, _d, _e;
53
+ const retryPolicyType = (_a = options.retryPolicyType) !== null && _a !== void 0 ? _a : DEFAULT_RETRY_OPTIONS.retryPolicyType;
54
+ const maxTries = (_b = options.maxTries) !== null && _b !== void 0 ? _b : DEFAULT_RETRY_OPTIONS.maxTries;
55
+ const retryDelayInMs = (_c = options.retryDelayInMs) !== null && _c !== void 0 ? _c : DEFAULT_RETRY_OPTIONS.retryDelayInMs;
56
+ const maxRetryDelayInMs = (_d = options.maxRetryDelayInMs) !== null && _d !== void 0 ? _d : DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs;
57
+ const tryTimeoutInMs = (_e = options.tryTimeoutInMs) !== null && _e !== void 0 ? _e : DEFAULT_RETRY_OPTIONS.tryTimeoutInMs;
58
+ function shouldRetry({ isPrimaryRetry, attempt, response, error, }) {
59
+ var _a, _b;
60
+ if (attempt >= maxTries) {
61
+ logger.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${maxTries}, no further try.`);
62
+ return false;
63
+ }
64
+ if (error) {
65
+ for (const retriableError of retriableErrors) {
66
+ if (error.name.toUpperCase().includes(retriableError) ||
67
+ error.message.toUpperCase().includes(retriableError) ||
68
+ (error.code && error.code.toString().toUpperCase() === retriableError)) {
69
+ logger.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);
70
+ return true;
71
+ }
72
+ }
73
+ if ((error === null || error === void 0 ? void 0 : error.code) === "PARSE_ERROR" &&
74
+ (error === null || error === void 0 ? void 0 : error.message.startsWith(`Error "Error: Unclosed root tag`))) {
75
+ logger.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry.");
76
+ return true;
77
+ }
78
+ }
79
+ // If attempt was against the secondary & it returned a StatusNotFound (404), then
80
+ // the resource was not found. This may be due to replication delay. So, in this
81
+ // case, we'll never try the secondary again for this operation.
82
+ if (response || error) {
83
+ const statusCode = (_b = (_a = response === null || response === void 0 ? void 0 : response.status) !== null && _a !== void 0 ? _a : error === null || error === void 0 ? void 0 : error.statusCode) !== null && _b !== void 0 ? _b : 0;
84
+ if (!isPrimaryRetry && statusCode === 404) {
85
+ logger.info(`RetryPolicy: Secondary access with 404, will retry.`);
86
+ return true;
87
+ }
88
+ // Server internal error or server timeout
89
+ if (statusCode === 503 || statusCode === 500) {
90
+ logger.info(`RetryPolicy: Will retry for status code ${statusCode}.`);
91
+ return true;
92
+ }
93
+ }
94
+ // [Copy source error code] Feature is pending on service side, skip retry on copy source error for now.
95
+ // if (response) {
96
+ // // Retry select Copy Source Error Codes.
97
+ // if (response?.status >= 400) {
98
+ // const copySourceError = response.headers.get(HeaderConstants.X_MS_CopySourceErrorCode);
99
+ // if (copySourceError !== undefined) {
100
+ // switch (copySourceError)
101
+ // {
102
+ // case "InternalError":
103
+ // case "OperationTimedOut":
104
+ // case "ServerBusy":
105
+ // return true;
106
+ // }
107
+ // }
108
+ // }
109
+ // }
110
+ return false;
111
+ }
112
+ function calculateDelay(isPrimaryRetry, attempt) {
113
+ let delayTimeInMs = 0;
114
+ if (isPrimaryRetry) {
115
+ switch (retryPolicyType) {
116
+ case StorageRetryPolicyType.EXPONENTIAL:
117
+ delayTimeInMs = Math.min((Math.pow(2, attempt - 1) - 1) * retryDelayInMs, maxRetryDelayInMs);
118
+ break;
119
+ case StorageRetryPolicyType.FIXED:
120
+ delayTimeInMs = retryDelayInMs;
121
+ break;
122
+ }
123
+ }
124
+ else {
125
+ delayTimeInMs = Math.random() * 1000;
126
+ }
127
+ logger.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);
128
+ return delayTimeInMs;
129
+ }
130
+ return {
131
+ name: storageRetryPolicyName,
132
+ async sendRequest(request, next) {
133
+ // Set the server-side timeout query parameter "timeout=[seconds]"
134
+ if (tryTimeoutInMs) {
135
+ request.url = setURLParameter(request.url, URLConstants.Parameters.TIMEOUT, String(Math.floor(tryTimeoutInMs / 1000)));
136
+ }
137
+ const primaryUrl = request.url;
138
+ let secondaryHas404 = false;
139
+ let attempt = 1;
140
+ let retryAgain = true;
141
+ let response;
142
+ let error;
143
+ while (retryAgain) {
144
+ const isPrimaryRetry = true;
145
+ request.url = primaryUrl;
146
+ response = undefined;
147
+ error = undefined;
148
+ try {
149
+ logger.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? "Primary" : "Secondary"}`);
150
+ response = await next(request);
151
+ secondaryHas404 = secondaryHas404 || (!isPrimaryRetry && response.status === 404);
152
+ }
153
+ catch (e) {
154
+ if (isRestError(e)) {
155
+ logger.error(`RetryPolicy: Caught error, message: ${e.message}, code: ${e.code}`);
156
+ error = e;
157
+ }
158
+ else {
159
+ logger.error(`RetryPolicy: Caught error, message: ${getErrorMessage(e)}`);
160
+ throw e;
161
+ }
162
+ }
163
+ retryAgain = shouldRetry({ isPrimaryRetry, attempt, response, error });
164
+ if (retryAgain) {
165
+ await delay(calculateDelay(isPrimaryRetry, attempt), request.abortSignal, RETRY_ABORT_ERROR);
166
+ }
167
+ attempt++;
168
+ }
169
+ if (response) {
170
+ return response;
171
+ }
172
+ throw error !== null && error !== void 0 ? error : new RestError("RetryPolicy failed without known error.");
173
+ },
174
+ };
175
+ }
176
+ //# sourceMappingURL=StorageRetryPolicyV2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StorageRetryPolicyV2.js","sourceRoot":"","sources":["../../../src/policies/StorageRetryPolicyV2.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { AbortError } from \"@azure/abort-controller\";\nimport type {\n PipelinePolicy,\n PipelineRequest,\n SendRequest,\n PipelineResponse,\n} from \"@azure/core-rest-pipeline\";\nimport { isRestError, RestError } from \"@azure/core-rest-pipeline\";\nimport { getErrorMessage } from \"@azure/core-util\";\nimport type { StorageRetryOptions } from \"../StorageRetryPolicyFactory.js\";\nimport { URLConstants } from \"../utils/constants.js\";\nimport { delay, setURLParameter } from \"../utils/utils.common.js\";\nimport { logger } from \"../log.js\";\n\n/**\n * Name of the {@link storageRetryPolicy}\n */\nexport const storageRetryPolicyName = \"storageRetryPolicy\";\n\n/**\n * RetryPolicy types.\n */\nexport enum StorageRetryPolicyType {\n /**\n * Exponential retry. Retry time delay grows exponentially.\n */\n EXPONENTIAL,\n /**\n * Linear retry. Retry time delay grows linearly.\n */\n FIXED,\n}\n\n// Default values of StorageRetryOptions\nconst DEFAULT_RETRY_OPTIONS = {\n maxRetryDelayInMs: 120 * 1000,\n maxTries: 4,\n retryDelayInMs: 4 * 1000,\n retryPolicyType: StorageRetryPolicyType.EXPONENTIAL,\n secondaryHost: \"\",\n tryTimeoutInMs: undefined, // Use server side default timeout strategy\n} as const;\n\nconst retriableErrors = [\n \"ETIMEDOUT\",\n \"ESOCKETTIMEDOUT\",\n \"ECONNREFUSED\",\n \"ECONNRESET\",\n \"ENOENT\",\n \"ENOTFOUND\",\n \"TIMEOUT\",\n \"EPIPE\",\n \"REQUEST_SEND_ERROR\",\n] as const;\n\nconst RETRY_ABORT_ERROR = new AbortError(\"The operation was aborted.\");\n\n/**\n * Retry policy with exponential retry and linear retry implemented.\n */\nexport function storageRetryPolicy(options: StorageRetryOptions = {}): PipelinePolicy {\n const retryPolicyType = options.retryPolicyType ?? DEFAULT_RETRY_OPTIONS.retryPolicyType;\n const maxTries = options.maxTries ?? DEFAULT_RETRY_OPTIONS.maxTries;\n const retryDelayInMs = options.retryDelayInMs ?? DEFAULT_RETRY_OPTIONS.retryDelayInMs;\n const maxRetryDelayInMs = options.maxRetryDelayInMs ?? DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs;\n const tryTimeoutInMs = options.tryTimeoutInMs ?? DEFAULT_RETRY_OPTIONS.tryTimeoutInMs;\n\n function shouldRetry({\n isPrimaryRetry,\n attempt,\n response,\n error,\n }: {\n isPrimaryRetry: boolean;\n attempt: number;\n response?: PipelineResponse;\n error?: RestError;\n }): boolean {\n if (attempt >= maxTries) {\n logger.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${maxTries}, no further try.`);\n return false;\n }\n if (error) {\n for (const retriableError of retriableErrors) {\n if (\n error.name.toUpperCase().includes(retriableError) ||\n error.message.toUpperCase().includes(retriableError) ||\n (error.code && error.code.toString().toUpperCase() === retriableError)\n ) {\n logger.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);\n return true;\n }\n }\n if (\n error?.code === \"PARSE_ERROR\" &&\n error?.message.startsWith(`Error \"Error: Unclosed root tag`)\n ) {\n logger.info(\n \"RetryPolicy: Incomplete XML response likely due to service timeout, will retry.\",\n );\n return true;\n }\n }\n // If attempt was against the secondary & it returned a StatusNotFound (404), then\n // the resource was not found. This may be due to replication delay. So, in this\n // case, we'll never try the secondary again for this operation.\n if (response || error) {\n const statusCode = response?.status ?? error?.statusCode ?? 0;\n if (!isPrimaryRetry && statusCode === 404) {\n logger.info(`RetryPolicy: Secondary access with 404, will retry.`);\n return true;\n }\n\n // Server internal error or server timeout\n if (statusCode === 503 || statusCode === 500) {\n logger.info(`RetryPolicy: Will retry for status code ${statusCode}.`);\n return true;\n }\n }\n\n // [Copy source error code] Feature is pending on service side, skip retry on copy source error for now.\n // if (response) {\n // // Retry select Copy Source Error Codes.\n // if (response?.status >= 400) {\n // const copySourceError = response.headers.get(HeaderConstants.X_MS_CopySourceErrorCode);\n // if (copySourceError !== undefined) {\n // switch (copySourceError)\n // {\n // case \"InternalError\":\n // case \"OperationTimedOut\":\n // case \"ServerBusy\":\n // return true;\n // }\n // }\n // }\n // }\n\n return false;\n }\n function calculateDelay(isPrimaryRetry: boolean, attempt: number): number {\n let delayTimeInMs = 0;\n\n if (isPrimaryRetry) {\n switch (retryPolicyType) {\n case StorageRetryPolicyType.EXPONENTIAL:\n delayTimeInMs = Math.min(\n (Math.pow(2, attempt - 1) - 1) * retryDelayInMs,\n maxRetryDelayInMs,\n );\n break;\n case StorageRetryPolicyType.FIXED:\n delayTimeInMs = retryDelayInMs;\n break;\n }\n } else {\n delayTimeInMs = Math.random() * 1000;\n }\n\n logger.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);\n return delayTimeInMs;\n }\n return {\n name: storageRetryPolicyName,\n async sendRequest(request: PipelineRequest, next: SendRequest): Promise<PipelineResponse> {\n // Set the server-side timeout query parameter \"timeout=[seconds]\"\n if (tryTimeoutInMs) {\n request.url = setURLParameter(\n request.url,\n URLConstants.Parameters.TIMEOUT,\n String(Math.floor(tryTimeoutInMs / 1000)),\n );\n }\n const primaryUrl = request.url;\n let secondaryHas404 = false;\n let attempt = 1;\n let retryAgain = true;\n let response: PipelineResponse | undefined;\n let error: RestError | undefined;\n while (retryAgain) {\n const isPrimaryRetry: boolean = true;\n request.url = primaryUrl;\n response = undefined;\n error = undefined;\n try {\n logger.info(\n `RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? \"Primary\" : \"Secondary\"}`,\n );\n response = await next(request);\n secondaryHas404 = secondaryHas404 || (!isPrimaryRetry && response.status === 404);\n } catch (e: unknown) {\n if (isRestError(e)) {\n logger.error(`RetryPolicy: Caught error, message: ${e.message}, code: ${e.code}`);\n error = e;\n } else {\n logger.error(`RetryPolicy: Caught error, message: ${getErrorMessage(e)}`);\n throw e;\n }\n }\n retryAgain = shouldRetry({ isPrimaryRetry, attempt, response, error });\n if (retryAgain) {\n await delay(\n calculateDelay(isPrimaryRetry, attempt),\n request.abortSignal,\n RETRY_ABORT_ERROR,\n );\n }\n attempt++;\n }\n if (response) {\n return response;\n }\n throw error ?? new RestError(\"RetryPolicy failed without known error.\");\n },\n };\n}\n"]}