@azure/storage-file-datalake 12.26.0 → 12.27.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 (836) hide show
  1. package/README.md +117 -190
  2. package/dist/browser/DataLakeFileSystemClient.d.ts +473 -0
  3. package/dist/browser/DataLakeFileSystemClient.d.ts.map +1 -0
  4. package/{dist-esm/storage-file-datalake/src → dist/browser}/DataLakeFileSystemClient.js +170 -75
  5. package/dist/browser/DataLakeFileSystemClient.js.map +1 -0
  6. package/dist/browser/DataLakeLeaseClient.d.ts +14 -0
  7. package/dist/browser/DataLakeLeaseClient.d.ts.map +1 -0
  8. package/{dist-esm/storage-file-datalake/src → dist/browser}/DataLakeLeaseClient.js +3 -1
  9. package/dist/browser/DataLakeLeaseClient.js.map +1 -0
  10. package/dist/browser/DataLakeServiceClient.d.ts +281 -0
  11. package/dist/browser/DataLakeServiceClient.d.ts.map +1 -0
  12. package/{dist-esm/storage-file-datalake/src → dist/browser}/DataLakeServiceClient.js +94 -62
  13. package/dist/browser/DataLakeServiceClient.js.map +1 -0
  14. package/dist/browser/Pipeline.d.ts +52 -0
  15. package/dist/browser/Pipeline.d.ts.map +1 -0
  16. package/{dist-esm/storage-file-datalake/src → dist/browser}/Pipeline.js +8 -8
  17. package/dist/browser/Pipeline.js.map +1 -0
  18. package/dist/browser/StorageClient.d.ts +61 -0
  19. package/dist/browser/StorageClient.d.ts.map +1 -0
  20. package/{dist-esm/storage-file-datalake/src → dist/browser}/StorageClient.js +5 -3
  21. package/dist/browser/StorageClient.js.map +1 -0
  22. package/dist/browser/StorageContextClient.d.ts +9 -0
  23. package/dist/browser/StorageContextClient.d.ts.map +1 -0
  24. package/{dist-esm/storage-file-datalake/src → dist/browser}/StorageContextClient.js +3 -3
  25. package/dist/browser/StorageContextClient.js.map +1 -0
  26. package/dist/browser/clients.d.ts +689 -0
  27. package/dist/browser/clients.d.ts.map +1 -0
  28. package/{dist-esm/storage-file-datalake/src → dist/browser}/clients.js +87 -45
  29. package/dist/browser/clients.js.map +1 -0
  30. package/dist/browser/credentials/StorageSharedKeyCredential-browser.d.mts.map +1 -0
  31. package/dist/browser/credentials/StorageSharedKeyCredential-browser.mjs.map +1 -0
  32. package/dist/browser/credentials/StorageSharedKeyCredential.d.ts +3 -0
  33. package/{dist-esm/storage-file-datalake/src/credentials/StorageSharedKeyCredential.browser.js → dist/browser/credentials/StorageSharedKeyCredential.js} +1 -1
  34. package/dist/browser/credentials/UserDelegationKeyCredential-browser.d.mts.map +1 -0
  35. package/dist/browser/credentials/UserDelegationKeyCredential-browser.mjs.map +1 -0
  36. package/dist/browser/credentials/UserDelegationKeyCredential.d.ts +3 -0
  37. package/{dist-esm/storage-file-datalake/src/credentials/UserDelegationKeyCredential.browser.js → dist/browser/credentials/UserDelegationKeyCredential.js} +1 -1
  38. package/dist/browser/generated/src/index.d.ts +4 -0
  39. package/dist/browser/generated/src/index.d.ts.map +1 -0
  40. package/{dist-esm/storage-file-datalake/src → dist/browser}/generated/src/index.js +3 -3
  41. package/dist/browser/generated/src/index.js.map +1 -0
  42. package/dist/browser/generated/src/models/index.d.ts +1091 -0
  43. package/dist/browser/generated/src/models/index.d.ts.map +1 -0
  44. package/dist/browser/generated/src/models/index.js.map +1 -0
  45. package/dist/browser/generated/src/models/mappers.d.ts +53 -0
  46. package/dist/browser/generated/src/models/mappers.d.ts.map +1 -0
  47. package/dist/browser/generated/src/models/mappers.js.map +1 -0
  48. package/dist/browser/generated/src/models/parameters.d.ts +87 -0
  49. package/dist/browser/generated/src/models/parameters.d.ts.map +1 -0
  50. package/{dist-esm/storage-file-datalake/src → dist/browser}/generated/src/models/parameters.js +1 -1
  51. package/dist/browser/generated/src/models/parameters.js.map +1 -0
  52. package/dist/browser/generated/src/operations/fileSystemOperations.d.ts +55 -0
  53. package/dist/browser/generated/src/operations/fileSystemOperations.d.ts.map +1 -0
  54. package/{dist-esm/storage-file-datalake/src → dist/browser}/generated/src/operations/fileSystemOperations.js +2 -2
  55. package/dist/browser/generated/src/operations/fileSystemOperations.js.map +1 -0
  56. package/dist/browser/generated/src/operations/index.d.ts +4 -0
  57. package/dist/browser/generated/src/operations/index.d.ts.map +1 -0
  58. package/{dist-esm/storage-file-datalake/src/generated/src/operationsInterfaces → dist/browser/generated/src/operations}/index.js +3 -3
  59. package/dist/browser/generated/src/operations/index.js.map +1 -0
  60. package/dist/browser/generated/src/operations/pathOperations.d.ts +120 -0
  61. package/dist/browser/generated/src/operations/pathOperations.d.ts.map +1 -0
  62. package/{dist-esm/storage-file-datalake/src → dist/browser}/generated/src/operations/pathOperations.js +2 -2
  63. package/dist/browser/generated/src/operations/pathOperations.js.map +1 -0
  64. package/dist/browser/generated/src/operations/service.d.ts +18 -0
  65. package/dist/browser/generated/src/operations/service.d.ts.map +1 -0
  66. package/{dist-esm/storage-file-datalake/src → dist/browser}/generated/src/operations/service.js +2 -2
  67. package/dist/browser/generated/src/operations/service.js.map +1 -0
  68. package/dist/browser/generated/src/operationsInterfaces/fileSystemOperations.d.ts +47 -0
  69. package/dist/browser/generated/src/operationsInterfaces/fileSystemOperations.d.ts.map +1 -0
  70. package/dist/browser/generated/src/operationsInterfaces/fileSystemOperations.js.map +1 -0
  71. package/dist/browser/generated/src/operationsInterfaces/index.d.ts +4 -0
  72. package/dist/browser/generated/src/operationsInterfaces/index.d.ts.map +1 -0
  73. package/dist/browser/generated/src/operationsInterfaces/index.js +11 -0
  74. package/dist/browser/generated/src/operationsInterfaces/index.js.map +1 -0
  75. package/dist/browser/generated/src/operationsInterfaces/pathOperations.d.ts +112 -0
  76. package/dist/browser/generated/src/operationsInterfaces/pathOperations.d.ts.map +1 -0
  77. package/dist/browser/generated/src/operationsInterfaces/pathOperations.js.map +1 -0
  78. package/dist/browser/generated/src/operationsInterfaces/service.d.ts +10 -0
  79. package/dist/browser/generated/src/operationsInterfaces/service.d.ts.map +1 -0
  80. package/dist/browser/generated/src/operationsInterfaces/service.js.map +1 -0
  81. package/dist/browser/generated/src/storageClient.d.ts +20 -0
  82. package/dist/browser/generated/src/storageClient.d.ts.map +1 -0
  83. package/{dist-esm/storage-file-datalake/src → dist/browser}/generated/src/storageClient.js +3 -3
  84. package/dist/browser/generated/src/storageClient.js.map +1 -0
  85. package/dist/browser/index-browser.d.mts.map +1 -0
  86. package/dist/browser/index-browser.mjs.map +1 -0
  87. package/dist/browser/index.d.ts +13 -0
  88. package/{dist-esm/storage-file-datalake/src/index.browser.js → dist/browser/index.js} +10 -10
  89. package/dist/browser/log.d.ts +5 -0
  90. package/dist/browser/log.d.ts.map +1 -0
  91. package/dist/browser/log.js.map +1 -0
  92. package/dist/browser/models.d.ts +1318 -0
  93. package/dist/browser/models.d.ts.map +1 -0
  94. package/dist/browser/models.internal.d.ts +2 -0
  95. package/dist/browser/models.internal.d.ts.map +1 -0
  96. package/dist/browser/models.internal.js.map +1 -0
  97. package/{dist-esm/storage-file-datalake/src → dist/browser}/models.js +2 -0
  98. package/dist/browser/models.js.map +1 -0
  99. package/dist/browser/package.json +3 -0
  100. package/dist/browser/sas/AccountSASPermissions.d.ts +61 -0
  101. package/dist/browser/sas/AccountSASPermissions.d.ts.map +1 -0
  102. package/dist/browser/sas/AccountSASPermissions.js.map +1 -0
  103. package/dist/browser/sas/AccountSASResourceTypes.d.ts +38 -0
  104. package/dist/browser/sas/AccountSASResourceTypes.d.ts.map +1 -0
  105. package/dist/browser/sas/AccountSASResourceTypes.js.map +1 -0
  106. package/dist/browser/sas/AccountSASServices.d.ts +40 -0
  107. package/dist/browser/sas/AccountSASServices.d.ts.map +1 -0
  108. package/dist/browser/sas/AccountSASServices.js.map +1 -0
  109. package/dist/browser/sas/AccountSASSignatureValues.d.ts +78 -0
  110. package/dist/browser/sas/AccountSASSignatureValues.d.ts.map +1 -0
  111. package/{dist-esm/storage-file-datalake/src → dist/browser}/sas/AccountSASSignatureValues.js +7 -7
  112. package/dist/browser/sas/AccountSASSignatureValues.js.map +1 -0
  113. package/dist/browser/sas/DataLakeSASPermissions.d.ts +65 -0
  114. package/dist/browser/sas/DataLakeSASPermissions.d.ts.map +1 -0
  115. package/dist/browser/sas/DataLakeSASPermissions.js.map +1 -0
  116. package/dist/browser/sas/DataLakeSASSignatureValues.d.ts +205 -0
  117. package/dist/browser/sas/DataLakeSASSignatureValues.d.ts.map +1 -0
  118. package/{dist-esm/storage-file-datalake/src → dist/browser}/sas/DataLakeSASSignatureValues.js +107 -10
  119. package/dist/browser/sas/DataLakeSASSignatureValues.js.map +1 -0
  120. package/dist/browser/sas/DirectorySASPermissions.d.ts +69 -0
  121. package/dist/browser/sas/DirectorySASPermissions.d.ts.map +1 -0
  122. package/dist/browser/sas/DirectorySASPermissions.js.map +1 -0
  123. package/dist/browser/sas/FileSystemSASPermissions.d.ts +69 -0
  124. package/dist/browser/sas/FileSystemSASPermissions.d.ts.map +1 -0
  125. package/dist/browser/sas/FileSystemSASPermissions.js.map +1 -0
  126. package/dist/browser/sas/SASQueryParameters.d.ts +309 -0
  127. package/dist/browser/sas/SASQueryParameters.d.ts.map +1 -0
  128. package/{dist-esm/storage-file-datalake/src → dist/browser}/sas/SASQueryParameters.js +4 -2
  129. package/dist/browser/sas/SASQueryParameters.js.map +1 -0
  130. package/dist/browser/sas/SasIPRange.d.ts +24 -0
  131. package/dist/browser/sas/SasIPRange.d.ts.map +1 -0
  132. package/dist/browser/sas/SasIPRange.js.map +1 -0
  133. package/dist/browser/transforms.d.ts +51 -0
  134. package/dist/browser/transforms.d.ts.map +1 -0
  135. package/{dist-esm/storage-file-datalake/src → dist/browser}/transforms.js +2 -2
  136. package/dist/browser/transforms.js.map +1 -0
  137. package/dist/browser/utils/Batch.d.ts +68 -0
  138. package/dist/browser/utils/Batch.d.ts.map +1 -0
  139. package/dist/browser/utils/Batch.js.map +1 -0
  140. package/dist/browser/utils/BufferScheduler.d.ts +158 -0
  141. package/dist/browser/utils/BufferScheduler.d.ts.map +1 -0
  142. package/{dist-esm/storage-file-datalake/src → dist/browser}/utils/BufferScheduler.js +1 -1
  143. package/dist/browser/utils/BufferScheduler.js.map +1 -0
  144. package/dist/browser/utils/DataLakeAclChangeFailedError.d.ts +16 -0
  145. package/dist/browser/utils/DataLakeAclChangeFailedError.d.ts.map +1 -0
  146. package/dist/browser/utils/DataLakeAclChangeFailedError.js.map +1 -0
  147. package/dist/browser/utils/PathClientInternal.d.ts +24 -0
  148. package/dist/browser/utils/PathClientInternal.d.ts.map +1 -0
  149. package/{dist-esm/storage-file-datalake/src → dist/browser}/utils/PathClientInternal.js +2 -2
  150. package/dist/browser/utils/PathClientInternal.js.map +1 -0
  151. package/dist/browser/utils/constants.d.ts +70 -0
  152. package/dist/browser/utils/constants.d.ts.map +1 -0
  153. package/{dist-esm/storage-file-datalake/src → dist/browser}/utils/constants.js +2 -2
  154. package/dist/browser/utils/constants.js.map +1 -0
  155. package/dist/browser/utils/tracing.d.ts +6 -0
  156. package/dist/browser/utils/tracing.d.ts.map +1 -0
  157. package/{dist-esm/storage-file-datalake/src → dist/browser}/utils/tracing.js +1 -1
  158. package/dist/browser/utils/tracing.js.map +1 -0
  159. package/dist/browser/utils/utils-browser.d.mts.map +1 -0
  160. package/dist/browser/utils/utils-browser.mjs.map +1 -0
  161. package/dist/browser/utils/utils.common.d.ts +236 -0
  162. package/dist/browser/utils/utils.common.d.ts.map +1 -0
  163. package/{dist-esm/storage-file-datalake/src → dist/browser}/utils/utils.common.js +5 -5
  164. package/dist/browser/utils/utils.common.js.map +1 -0
  165. package/dist/browser/utils/utils.d.ts +3 -0
  166. package/dist/browser/utils/utils.js +9 -0
  167. package/dist/commonjs/DataLakeFileSystemClient.d.ts +473 -0
  168. package/dist/commonjs/DataLakeFileSystemClient.d.ts.map +1 -0
  169. package/dist/commonjs/DataLakeFileSystemClient.js +683 -0
  170. package/dist/commonjs/DataLakeFileSystemClient.js.map +1 -0
  171. package/dist/commonjs/DataLakeLeaseClient.d.ts +14 -0
  172. package/dist/commonjs/DataLakeLeaseClient.d.ts.map +1 -0
  173. package/dist/commonjs/DataLakeLeaseClient.js +49 -0
  174. package/dist/commonjs/DataLakeLeaseClient.js.map +1 -0
  175. package/dist/commonjs/DataLakeServiceClient.d.ts +281 -0
  176. package/dist/commonjs/DataLakeServiceClient.d.ts.map +1 -0
  177. package/dist/commonjs/DataLakeServiceClient.js +372 -0
  178. package/dist/commonjs/DataLakeServiceClient.js.map +1 -0
  179. package/dist/commonjs/Pipeline.d.ts +52 -0
  180. package/dist/commonjs/Pipeline.d.ts.map +1 -0
  181. package/dist/commonjs/Pipeline.js +222 -0
  182. package/dist/commonjs/Pipeline.js.map +1 -0
  183. package/dist/commonjs/StorageClient.d.ts +61 -0
  184. package/dist/commonjs/StorageClient.d.ts.map +1 -0
  185. package/dist/commonjs/StorageClient.js +55 -0
  186. package/dist/commonjs/StorageClient.js.map +1 -0
  187. package/dist/commonjs/StorageContextClient.d.ts +9 -0
  188. package/dist/commonjs/StorageContextClient.d.ts.map +1 -0
  189. package/dist/commonjs/StorageContextClient.js +39 -0
  190. package/dist/commonjs/StorageContextClient.js.map +1 -0
  191. package/dist/commonjs/clients.d.ts +689 -0
  192. package/dist/commonjs/clients.d.ts.map +1 -0
  193. package/dist/commonjs/clients.js +1195 -0
  194. package/dist/commonjs/clients.js.map +1 -0
  195. package/dist/commonjs/credentials/StorageSharedKeyCredential.d.ts +2 -0
  196. package/dist/commonjs/credentials/StorageSharedKeyCredential.d.ts.map +1 -0
  197. package/dist/commonjs/credentials/StorageSharedKeyCredential.js +8 -0
  198. package/dist/commonjs/credentials/StorageSharedKeyCredential.js.map +1 -0
  199. package/dist/commonjs/credentials/UserDelegationKeyCredential.d.ts +34 -0
  200. package/dist/commonjs/credentials/UserDelegationKeyCredential.d.ts.map +1 -0
  201. package/dist/commonjs/credentials/UserDelegationKeyCredential.js +35 -0
  202. package/dist/commonjs/credentials/UserDelegationKeyCredential.js.map +1 -0
  203. package/dist/commonjs/generated/src/index.d.ts +4 -0
  204. package/dist/commonjs/generated/src/index.d.ts.map +1 -0
  205. package/dist/commonjs/generated/src/index.js +16 -0
  206. package/dist/commonjs/generated/src/index.js.map +1 -0
  207. package/dist/commonjs/generated/src/models/index.d.ts +1091 -0
  208. package/dist/commonjs/generated/src/models/index.d.ts.map +1 -0
  209. package/dist/commonjs/generated/src/models/index.js +19 -0
  210. package/dist/commonjs/generated/src/models/index.js.map +1 -0
  211. package/dist/commonjs/generated/src/models/mappers.d.ts +53 -0
  212. package/dist/commonjs/generated/src/models/mappers.d.ts.map +1 -0
  213. package/dist/commonjs/generated/src/models/mappers.js +2450 -0
  214. package/dist/commonjs/generated/src/models/mappers.js.map +1 -0
  215. package/dist/commonjs/generated/src/models/parameters.d.ts +87 -0
  216. package/dist/commonjs/generated/src/models/parameters.d.ts.map +1 -0
  217. package/dist/commonjs/generated/src/models/parameters.js +952 -0
  218. package/dist/commonjs/generated/src/models/parameters.js.map +1 -0
  219. package/dist/commonjs/generated/src/operations/fileSystemOperations.d.ts +55 -0
  220. package/dist/commonjs/generated/src/operations/fileSystemOperations.d.ts.map +1 -0
  221. package/dist/commonjs/generated/src/operations/fileSystemOperations.js +236 -0
  222. package/dist/commonjs/generated/src/operations/fileSystemOperations.js.map +1 -0
  223. package/dist/commonjs/generated/src/operations/index.d.ts +4 -0
  224. package/dist/commonjs/generated/src/operations/index.d.ts.map +1 -0
  225. package/dist/commonjs/generated/src/operations/index.js +14 -0
  226. package/dist/commonjs/generated/src/operations/index.js.map +1 -0
  227. package/dist/commonjs/generated/src/operations/pathOperations.d.ts +120 -0
  228. package/dist/commonjs/generated/src/operations/pathOperations.d.ts.map +1 -0
  229. package/dist/commonjs/generated/src/operations/pathOperations.js +596 -0
  230. package/dist/commonjs/generated/src/operations/pathOperations.js.map +1 -0
  231. package/dist/commonjs/generated/src/operations/service.d.ts +18 -0
  232. package/dist/commonjs/generated/src/operations/service.d.ts.map +1 -0
  233. package/dist/commonjs/generated/src/operations/service.js +63 -0
  234. package/dist/commonjs/generated/src/operations/service.js.map +1 -0
  235. package/dist/commonjs/generated/src/operationsInterfaces/fileSystemOperations.d.ts +47 -0
  236. package/dist/commonjs/generated/src/operationsInterfaces/fileSystemOperations.d.ts.map +1 -0
  237. package/{dist-esm/storage-file-datalake/src/generated/src/operations/index.js → dist/commonjs/generated/src/operationsInterfaces/fileSystemOperations.js} +3 -4
  238. package/dist/commonjs/generated/src/operationsInterfaces/fileSystemOperations.js.map +1 -0
  239. package/dist/commonjs/generated/src/operationsInterfaces/index.d.ts +4 -0
  240. package/dist/commonjs/generated/src/operationsInterfaces/index.d.ts.map +1 -0
  241. package/dist/commonjs/generated/src/operationsInterfaces/index.js +14 -0
  242. package/dist/commonjs/generated/src/operationsInterfaces/index.js.map +1 -0
  243. package/dist/commonjs/generated/src/operationsInterfaces/pathOperations.d.ts +112 -0
  244. package/dist/commonjs/generated/src/operationsInterfaces/pathOperations.d.ts.map +1 -0
  245. package/dist/commonjs/generated/src/operationsInterfaces/pathOperations.js +10 -0
  246. package/dist/commonjs/generated/src/operationsInterfaces/pathOperations.js.map +1 -0
  247. package/dist/commonjs/generated/src/operationsInterfaces/service.d.ts +10 -0
  248. package/dist/commonjs/generated/src/operationsInterfaces/service.d.ts.map +1 -0
  249. package/dist/commonjs/generated/src/operationsInterfaces/service.js +10 -0
  250. package/dist/commonjs/generated/src/operationsInterfaces/service.js.map +1 -0
  251. package/dist/commonjs/generated/src/storageClient.d.ts +20 -0
  252. package/dist/commonjs/generated/src/storageClient.d.ts.map +1 -0
  253. package/dist/commonjs/generated/src/storageClient.js +52 -0
  254. package/dist/commonjs/generated/src/storageClient.js.map +1 -0
  255. package/dist/commonjs/index.d.ts +23 -0
  256. package/dist/commonjs/index.d.ts.map +1 -0
  257. package/dist/commonjs/index.js +49 -0
  258. package/dist/commonjs/index.js.map +1 -0
  259. package/dist/commonjs/log.d.ts +5 -0
  260. package/dist/commonjs/log.d.ts.map +1 -0
  261. package/dist/commonjs/log.js +11 -0
  262. package/dist/commonjs/log.js.map +1 -0
  263. package/dist/commonjs/models.d.ts +1318 -0
  264. package/dist/commonjs/models.d.ts.map +1 -0
  265. package/dist/commonjs/models.internal.d.ts +2 -0
  266. package/dist/commonjs/models.internal.d.ts.map +1 -0
  267. package/dist/commonjs/models.internal.js +5 -0
  268. package/dist/commonjs/models.internal.js.map +1 -0
  269. package/dist/commonjs/models.js +57 -0
  270. package/dist/commonjs/models.js.map +1 -0
  271. package/dist/commonjs/package.json +3 -0
  272. package/dist/commonjs/sas/AccountSASPermissions.d.ts +61 -0
  273. package/dist/commonjs/sas/AccountSASPermissions.d.ts.map +1 -0
  274. package/dist/commonjs/sas/AccountSASPermissions.js +132 -0
  275. package/dist/commonjs/sas/AccountSASPermissions.js.map +1 -0
  276. package/dist/commonjs/sas/AccountSASResourceTypes.d.ts +38 -0
  277. package/dist/commonjs/sas/AccountSASResourceTypes.d.ts.map +1 -0
  278. package/dist/commonjs/sas/AccountSASResourceTypes.js +76 -0
  279. package/dist/commonjs/sas/AccountSASResourceTypes.js.map +1 -0
  280. package/dist/commonjs/sas/AccountSASServices.d.ts +40 -0
  281. package/dist/commonjs/sas/AccountSASServices.d.ts.map +1 -0
  282. package/dist/commonjs/sas/AccountSASServices.js +84 -0
  283. package/dist/commonjs/sas/AccountSASServices.js.map +1 -0
  284. package/dist/commonjs/sas/AccountSASSignatureValues.d.ts +78 -0
  285. package/dist/commonjs/sas/AccountSASSignatureValues.d.ts.map +1 -0
  286. package/dist/commonjs/sas/AccountSASSignatureValues.js +76 -0
  287. package/dist/commonjs/sas/AccountSASSignatureValues.js.map +1 -0
  288. package/dist/commonjs/sas/DataLakeSASPermissions.d.ts +65 -0
  289. package/dist/commonjs/sas/DataLakeSASPermissions.d.ts.map +1 -0
  290. package/dist/commonjs/sas/DataLakeSASPermissions.js +139 -0
  291. package/dist/commonjs/sas/DataLakeSASPermissions.js.map +1 -0
  292. package/dist/commonjs/sas/DataLakeSASSignatureValues.d.ts +205 -0
  293. package/dist/commonjs/sas/DataLakeSASSignatureValues.d.ts.map +1 -0
  294. package/dist/commonjs/sas/DataLakeSASSignatureValues.js +722 -0
  295. package/dist/commonjs/sas/DataLakeSASSignatureValues.js.map +1 -0
  296. package/dist/commonjs/sas/DirectorySASPermissions.d.ts +69 -0
  297. package/dist/commonjs/sas/DirectorySASPermissions.d.ts.map +1 -0
  298. package/dist/commonjs/sas/DirectorySASPermissions.js +149 -0
  299. package/dist/commonjs/sas/DirectorySASPermissions.js.map +1 -0
  300. package/dist/commonjs/sas/FileSystemSASPermissions.d.ts +69 -0
  301. package/dist/commonjs/sas/FileSystemSASPermissions.d.ts.map +1 -0
  302. package/dist/commonjs/sas/FileSystemSASPermissions.js +149 -0
  303. package/dist/commonjs/sas/FileSystemSASPermissions.js.map +1 -0
  304. package/dist/commonjs/sas/SASQueryParameters.d.ts +309 -0
  305. package/dist/commonjs/sas/SASQueryParameters.d.ts.map +1 -0
  306. package/dist/commonjs/sas/SASQueryParameters.js +252 -0
  307. package/dist/commonjs/sas/SASQueryParameters.js.map +1 -0
  308. package/dist/commonjs/sas/SasIPRange.d.ts +24 -0
  309. package/dist/commonjs/sas/SasIPRange.d.ts.map +1 -0
  310. package/dist/commonjs/sas/SasIPRange.js +16 -0
  311. package/dist/commonjs/sas/SasIPRange.js.map +1 -0
  312. package/dist/commonjs/transforms.d.ts +51 -0
  313. package/dist/commonjs/transforms.d.ts.map +1 -0
  314. package/dist/commonjs/transforms.js +357 -0
  315. package/dist/commonjs/transforms.js.map +1 -0
  316. package/dist/commonjs/tsdoc-metadata.json +11 -0
  317. package/dist/commonjs/utils/Batch.d.ts +68 -0
  318. package/dist/commonjs/utils/Batch.d.ts.map +1 -0
  319. package/dist/commonjs/utils/Batch.js +126 -0
  320. package/dist/commonjs/utils/Batch.js.map +1 -0
  321. package/dist/commonjs/utils/BufferScheduler.d.ts +158 -0
  322. package/dist/commonjs/utils/BufferScheduler.d.ts.map +1 -0
  323. package/dist/commonjs/utils/BufferScheduler.js +268 -0
  324. package/dist/commonjs/utils/BufferScheduler.js.map +1 -0
  325. package/dist/commonjs/utils/DataLakeAclChangeFailedError.d.ts +16 -0
  326. package/dist/commonjs/utils/DataLakeAclChangeFailedError.d.ts.map +1 -0
  327. package/dist/commonjs/utils/DataLakeAclChangeFailedError.js +17 -0
  328. package/dist/commonjs/utils/DataLakeAclChangeFailedError.js.map +1 -0
  329. package/dist/commonjs/utils/PathClientInternal.d.ts +24 -0
  330. package/dist/commonjs/utils/PathClientInternal.d.ts.map +1 -0
  331. package/dist/commonjs/utils/PathClientInternal.js +28 -0
  332. package/dist/commonjs/utils/PathClientInternal.js.map +1 -0
  333. package/dist/commonjs/utils/constants.d.ts +70 -0
  334. package/dist/commonjs/utils/constants.d.ts.map +1 -0
  335. package/dist/commonjs/utils/constants.js +247 -0
  336. package/dist/commonjs/utils/constants.js.map +1 -0
  337. package/dist/commonjs/utils/tracing.d.ts +6 -0
  338. package/dist/commonjs/utils/tracing.d.ts.map +1 -0
  339. package/dist/commonjs/utils/tracing.js +17 -0
  340. package/dist/commonjs/utils/tracing.js.map +1 -0
  341. package/dist/commonjs/utils/utils.common.d.ts +236 -0
  342. package/dist/commonjs/utils/utils.common.d.ts.map +1 -0
  343. package/dist/commonjs/utils/utils.common.js +595 -0
  344. package/dist/commonjs/utils/utils.common.js.map +1 -0
  345. package/dist/commonjs/utils/utils.d.ts +29 -0
  346. package/dist/commonjs/utils/utils.d.ts.map +1 -0
  347. package/dist/commonjs/utils/utils.js +91 -0
  348. package/dist/commonjs/utils/utils.js.map +1 -0
  349. package/dist/esm/DataLakeFileSystemClient.d.ts +473 -0
  350. package/dist/esm/DataLakeFileSystemClient.d.ts.map +1 -0
  351. package/dist/esm/DataLakeFileSystemClient.js +679 -0
  352. package/dist/esm/DataLakeFileSystemClient.js.map +1 -0
  353. package/dist/esm/DataLakeLeaseClient.d.ts +14 -0
  354. package/dist/esm/DataLakeLeaseClient.d.ts.map +1 -0
  355. package/dist/esm/DataLakeLeaseClient.js +45 -0
  356. package/dist/esm/DataLakeLeaseClient.js.map +1 -0
  357. package/dist/esm/DataLakeServiceClient.d.ts +281 -0
  358. package/dist/esm/DataLakeServiceClient.d.ts.map +1 -0
  359. package/dist/esm/DataLakeServiceClient.js +368 -0
  360. package/dist/esm/DataLakeServiceClient.js.map +1 -0
  361. package/dist/esm/Pipeline.d.ts +52 -0
  362. package/dist/esm/Pipeline.d.ts.map +1 -0
  363. package/dist/esm/Pipeline.js +216 -0
  364. package/dist/esm/Pipeline.js.map +1 -0
  365. package/dist/esm/StorageClient.d.ts +61 -0
  366. package/dist/esm/StorageClient.d.ts.map +1 -0
  367. package/dist/esm/StorageClient.js +51 -0
  368. package/dist/esm/StorageClient.js.map +1 -0
  369. package/dist/esm/StorageContextClient.d.ts +9 -0
  370. package/dist/esm/StorageContextClient.d.ts.map +1 -0
  371. package/dist/esm/StorageContextClient.js +35 -0
  372. package/dist/esm/StorageContextClient.js.map +1 -0
  373. package/dist/esm/clients.d.ts +689 -0
  374. package/dist/esm/clients.d.ts.map +1 -0
  375. package/dist/esm/clients.js +1189 -0
  376. package/dist/esm/clients.js.map +1 -0
  377. package/dist/esm/credentials/StorageSharedKeyCredential.d.ts +2 -0
  378. package/dist/esm/credentials/StorageSharedKeyCredential.d.ts.map +1 -0
  379. package/dist/esm/credentials/StorageSharedKeyCredential.js.map +1 -0
  380. package/dist/esm/credentials/UserDelegationKeyCredential.d.ts +34 -0
  381. package/dist/esm/credentials/UserDelegationKeyCredential.d.ts.map +1 -0
  382. package/{dist-esm/storage-file-datalake/src → dist/esm}/credentials/UserDelegationKeyCredential.js +1 -1
  383. package/dist/esm/credentials/UserDelegationKeyCredential.js.map +1 -0
  384. package/dist/esm/generated/src/index.d.ts +4 -0
  385. package/dist/esm/generated/src/index.d.ts.map +1 -0
  386. package/dist/esm/generated/src/index.js +11 -0
  387. package/dist/esm/generated/src/index.js.map +1 -0
  388. package/dist/esm/generated/src/models/index.d.ts +1091 -0
  389. package/dist/esm/generated/src/models/index.d.ts.map +1 -0
  390. package/dist/esm/generated/src/models/index.js +16 -0
  391. package/dist/esm/generated/src/models/index.js.map +1 -0
  392. package/dist/esm/generated/src/models/mappers.d.ts +53 -0
  393. package/dist/esm/generated/src/models/mappers.d.ts.map +1 -0
  394. package/dist/esm/generated/src/models/mappers.js +2446 -0
  395. package/dist/esm/generated/src/models/mappers.js.map +1 -0
  396. package/dist/esm/generated/src/models/parameters.d.ts +87 -0
  397. package/dist/esm/generated/src/models/parameters.d.ts.map +1 -0
  398. package/dist/esm/generated/src/models/parameters.js +948 -0
  399. package/dist/esm/generated/src/models/parameters.js.map +1 -0
  400. package/dist/esm/generated/src/operations/fileSystemOperations.d.ts +55 -0
  401. package/dist/esm/generated/src/operations/fileSystemOperations.d.ts.map +1 -0
  402. package/dist/esm/generated/src/operations/fileSystemOperations.js +231 -0
  403. package/dist/esm/generated/src/operations/fileSystemOperations.js.map +1 -0
  404. package/dist/esm/generated/src/operations/index.d.ts +4 -0
  405. package/dist/esm/generated/src/operations/index.d.ts.map +1 -0
  406. package/dist/esm/generated/src/operations/index.js +11 -0
  407. package/dist/esm/generated/src/operations/index.js.map +1 -0
  408. package/dist/esm/generated/src/operations/pathOperations.d.ts +120 -0
  409. package/dist/esm/generated/src/operations/pathOperations.d.ts.map +1 -0
  410. package/dist/esm/generated/src/operations/pathOperations.js +591 -0
  411. package/dist/esm/generated/src/operations/pathOperations.js.map +1 -0
  412. package/dist/esm/generated/src/operations/service.d.ts +18 -0
  413. package/dist/esm/generated/src/operations/service.d.ts.map +1 -0
  414. package/dist/esm/generated/src/operations/service.js +58 -0
  415. package/dist/esm/generated/src/operations/service.js.map +1 -0
  416. package/dist/esm/generated/src/operationsInterfaces/fileSystemOperations.d.ts +47 -0
  417. package/dist/esm/generated/src/operationsInterfaces/fileSystemOperations.d.ts.map +1 -0
  418. package/dist/esm/generated/src/operationsInterfaces/fileSystemOperations.js +9 -0
  419. package/dist/esm/generated/src/operationsInterfaces/fileSystemOperations.js.map +1 -0
  420. package/dist/esm/generated/src/operationsInterfaces/index.d.ts +4 -0
  421. package/dist/esm/generated/src/operationsInterfaces/index.d.ts.map +1 -0
  422. package/dist/esm/generated/src/operationsInterfaces/index.js +11 -0
  423. package/dist/esm/generated/src/operationsInterfaces/index.js.map +1 -0
  424. package/dist/esm/generated/src/operationsInterfaces/pathOperations.d.ts +112 -0
  425. package/dist/esm/generated/src/operationsInterfaces/pathOperations.d.ts.map +1 -0
  426. package/dist/esm/generated/src/operationsInterfaces/pathOperations.js +9 -0
  427. package/dist/esm/generated/src/operationsInterfaces/pathOperations.js.map +1 -0
  428. package/dist/esm/generated/src/operationsInterfaces/service.d.ts +10 -0
  429. package/dist/esm/generated/src/operationsInterfaces/service.d.ts.map +1 -0
  430. package/dist/esm/generated/src/operationsInterfaces/service.js +9 -0
  431. package/dist/esm/generated/src/operationsInterfaces/service.js.map +1 -0
  432. package/dist/esm/generated/src/storageClient.d.ts +20 -0
  433. package/dist/esm/generated/src/storageClient.d.ts.map +1 -0
  434. package/dist/esm/generated/src/storageClient.js +47 -0
  435. package/dist/esm/generated/src/storageClient.js.map +1 -0
  436. package/dist/esm/index.d.ts +23 -0
  437. package/dist/esm/index.d.ts.map +1 -0
  438. package/dist/esm/index.js +23 -0
  439. package/dist/esm/index.js.map +1 -0
  440. package/dist/esm/log.d.ts +5 -0
  441. package/dist/esm/log.d.ts.map +1 -0
  442. package/{dist-esm/storage-blob/src → dist/esm}/log.js +1 -1
  443. package/dist/esm/log.js.map +1 -0
  444. package/dist/esm/models.d.ts +1318 -0
  445. package/dist/esm/models.d.ts.map +1 -0
  446. package/dist/esm/models.internal.d.ts +2 -0
  447. package/dist/esm/models.internal.d.ts.map +1 -0
  448. package/dist/esm/models.internal.js +4 -0
  449. package/dist/esm/models.internal.js.map +1 -0
  450. package/dist/esm/models.js +53 -0
  451. package/dist/esm/models.js.map +1 -0
  452. package/dist/esm/package.json +3 -0
  453. package/dist/esm/sas/AccountSASPermissions.d.ts +61 -0
  454. package/dist/esm/sas/AccountSASPermissions.d.ts.map +1 -0
  455. package/dist/esm/sas/AccountSASPermissions.js +128 -0
  456. package/dist/esm/sas/AccountSASPermissions.js.map +1 -0
  457. package/dist/esm/sas/AccountSASResourceTypes.d.ts +38 -0
  458. package/dist/esm/sas/AccountSASResourceTypes.d.ts.map +1 -0
  459. package/dist/esm/sas/AccountSASResourceTypes.js +72 -0
  460. package/dist/esm/sas/AccountSASResourceTypes.js.map +1 -0
  461. package/dist/esm/sas/AccountSASServices.d.ts +40 -0
  462. package/dist/esm/sas/AccountSASServices.d.ts.map +1 -0
  463. package/dist/esm/sas/AccountSASServices.js +80 -0
  464. package/dist/esm/sas/AccountSASServices.js.map +1 -0
  465. package/dist/esm/sas/AccountSASSignatureValues.d.ts +78 -0
  466. package/dist/esm/sas/AccountSASSignatureValues.d.ts.map +1 -0
  467. package/dist/esm/sas/AccountSASSignatureValues.js +72 -0
  468. package/dist/esm/sas/AccountSASSignatureValues.js.map +1 -0
  469. package/dist/esm/sas/DataLakeSASPermissions.d.ts +65 -0
  470. package/dist/esm/sas/DataLakeSASPermissions.d.ts.map +1 -0
  471. package/dist/esm/sas/DataLakeSASPermissions.js +135 -0
  472. package/dist/esm/sas/DataLakeSASPermissions.js.map +1 -0
  473. package/dist/esm/sas/DataLakeSASSignatureValues.d.ts +205 -0
  474. package/dist/esm/sas/DataLakeSASSignatureValues.d.ts.map +1 -0
  475. package/dist/esm/sas/DataLakeSASSignatureValues.js +718 -0
  476. package/dist/esm/sas/DataLakeSASSignatureValues.js.map +1 -0
  477. package/dist/esm/sas/DirectorySASPermissions.d.ts +69 -0
  478. package/dist/esm/sas/DirectorySASPermissions.d.ts.map +1 -0
  479. package/dist/esm/sas/DirectorySASPermissions.js +145 -0
  480. package/dist/esm/sas/DirectorySASPermissions.js.map +1 -0
  481. package/dist/esm/sas/FileSystemSASPermissions.d.ts +69 -0
  482. package/dist/esm/sas/FileSystemSASPermissions.d.ts.map +1 -0
  483. package/dist/esm/sas/FileSystemSASPermissions.js +145 -0
  484. package/dist/esm/sas/FileSystemSASPermissions.js.map +1 -0
  485. package/dist/esm/sas/SASQueryParameters.d.ts +309 -0
  486. package/dist/esm/sas/SASQueryParameters.d.ts.map +1 -0
  487. package/dist/esm/sas/SASQueryParameters.js +248 -0
  488. package/dist/esm/sas/SASQueryParameters.js.map +1 -0
  489. package/dist/esm/sas/SasIPRange.d.ts +24 -0
  490. package/dist/esm/sas/SasIPRange.d.ts.map +1 -0
  491. package/dist/esm/sas/SasIPRange.js +13 -0
  492. package/dist/esm/sas/SasIPRange.js.map +1 -0
  493. package/dist/esm/transforms.d.ts +51 -0
  494. package/dist/esm/transforms.d.ts.map +1 -0
  495. package/dist/esm/transforms.js +337 -0
  496. package/dist/esm/transforms.js.map +1 -0
  497. package/dist/esm/utils/Batch.d.ts +68 -0
  498. package/dist/esm/utils/Batch.d.ts.map +1 -0
  499. package/dist/esm/utils/Batch.js.map +1 -0
  500. package/dist/esm/utils/BufferScheduler.d.ts +158 -0
  501. package/dist/esm/utils/BufferScheduler.d.ts.map +1 -0
  502. package/{dist-esm/storage-common/src → dist/esm/utils}/BufferScheduler.js +27 -15
  503. package/dist/esm/utils/BufferScheduler.js.map +1 -0
  504. package/dist/esm/utils/DataLakeAclChangeFailedError.d.ts +16 -0
  505. package/dist/esm/utils/DataLakeAclChangeFailedError.d.ts.map +1 -0
  506. package/dist/esm/utils/DataLakeAclChangeFailedError.js +13 -0
  507. package/dist/esm/utils/DataLakeAclChangeFailedError.js.map +1 -0
  508. package/dist/esm/utils/PathClientInternal.d.ts +24 -0
  509. package/dist/esm/utils/PathClientInternal.d.ts.map +1 -0
  510. package/dist/esm/utils/PathClientInternal.js +24 -0
  511. package/dist/esm/utils/PathClientInternal.js.map +1 -0
  512. package/dist/esm/utils/constants.d.ts +70 -0
  513. package/dist/esm/utils/constants.d.ts.map +1 -0
  514. package/{dist-esm/storage-blob/src → dist/esm}/utils/constants.js +85 -67
  515. package/dist/esm/utils/constants.js.map +1 -0
  516. package/dist/esm/utils/tracing.d.ts +6 -0
  517. package/dist/esm/utils/tracing.d.ts.map +1 -0
  518. package/{dist-esm/storage-blob/src → dist/esm}/utils/tracing.js +2 -2
  519. package/dist/esm/utils/tracing.js.map +1 -0
  520. package/dist/esm/utils/utils.common.d.ts +236 -0
  521. package/dist/esm/utils/utils.common.d.ts.map +1 -0
  522. package/{dist-esm/storage-blob/src → dist/esm}/utils/utils.common.js +105 -297
  523. package/dist/esm/utils/utils.common.js.map +1 -0
  524. package/dist/esm/utils/utils.d.ts +29 -0
  525. package/dist/esm/utils/utils.d.ts.map +1 -0
  526. package/{dist-esm/storage-file-datalake/src/utils/utils.node.js → dist/esm/utils/utils.js} +3 -3
  527. package/dist/esm/utils/utils.js.map +1 -0
  528. package/dist/react-native/DataLakeFileSystemClient.d.ts +473 -0
  529. package/dist/react-native/DataLakeFileSystemClient.d.ts.map +1 -0
  530. package/dist/react-native/DataLakeFileSystemClient.js +679 -0
  531. package/dist/react-native/DataLakeFileSystemClient.js.map +1 -0
  532. package/dist/react-native/DataLakeLeaseClient.d.ts +14 -0
  533. package/dist/react-native/DataLakeLeaseClient.d.ts.map +1 -0
  534. package/dist/react-native/DataLakeLeaseClient.js +45 -0
  535. package/dist/react-native/DataLakeLeaseClient.js.map +1 -0
  536. package/dist/react-native/DataLakeServiceClient.d.ts +281 -0
  537. package/dist/react-native/DataLakeServiceClient.d.ts.map +1 -0
  538. package/dist/react-native/DataLakeServiceClient.js +368 -0
  539. package/dist/react-native/DataLakeServiceClient.js.map +1 -0
  540. package/dist/react-native/Pipeline.d.ts +52 -0
  541. package/dist/react-native/Pipeline.d.ts.map +1 -0
  542. package/dist/react-native/Pipeline.js +216 -0
  543. package/dist/react-native/Pipeline.js.map +1 -0
  544. package/dist/react-native/StorageClient.d.ts +61 -0
  545. package/dist/react-native/StorageClient.d.ts.map +1 -0
  546. package/dist/react-native/StorageClient.js +51 -0
  547. package/dist/react-native/StorageClient.js.map +1 -0
  548. package/dist/react-native/StorageContextClient.d.ts +9 -0
  549. package/dist/react-native/StorageContextClient.d.ts.map +1 -0
  550. package/dist/react-native/StorageContextClient.js +35 -0
  551. package/dist/react-native/StorageContextClient.js.map +1 -0
  552. package/dist/react-native/clients.d.ts +689 -0
  553. package/dist/react-native/clients.d.ts.map +1 -0
  554. package/dist/react-native/clients.js +1189 -0
  555. package/dist/react-native/clients.js.map +1 -0
  556. package/dist/react-native/credentials/StorageSharedKeyCredential.d.ts +2 -0
  557. package/dist/react-native/credentials/StorageSharedKeyCredential.d.ts.map +1 -0
  558. package/dist/react-native/credentials/StorageSharedKeyCredential.js +4 -0
  559. package/dist/react-native/credentials/StorageSharedKeyCredential.js.map +1 -0
  560. package/dist/react-native/credentials/UserDelegationKeyCredential.d.ts +34 -0
  561. package/dist/react-native/credentials/UserDelegationKeyCredential.d.ts.map +1 -0
  562. package/dist/react-native/credentials/UserDelegationKeyCredential.js +31 -0
  563. package/dist/react-native/credentials/UserDelegationKeyCredential.js.map +1 -0
  564. package/dist/react-native/generated/src/index.d.ts +4 -0
  565. package/dist/react-native/generated/src/index.d.ts.map +1 -0
  566. package/dist/react-native/generated/src/index.js +11 -0
  567. package/dist/react-native/generated/src/index.js.map +1 -0
  568. package/dist/react-native/generated/src/models/index.d.ts +1091 -0
  569. package/dist/react-native/generated/src/models/index.d.ts.map +1 -0
  570. package/dist/react-native/generated/src/models/index.js +16 -0
  571. package/dist/react-native/generated/src/models/index.js.map +1 -0
  572. package/dist/react-native/generated/src/models/mappers.d.ts +53 -0
  573. package/dist/react-native/generated/src/models/mappers.d.ts.map +1 -0
  574. package/dist/react-native/generated/src/models/mappers.js +2446 -0
  575. package/dist/react-native/generated/src/models/mappers.js.map +1 -0
  576. package/dist/react-native/generated/src/models/parameters.d.ts +87 -0
  577. package/dist/react-native/generated/src/models/parameters.d.ts.map +1 -0
  578. package/dist/react-native/generated/src/models/parameters.js +948 -0
  579. package/dist/react-native/generated/src/models/parameters.js.map +1 -0
  580. package/dist/react-native/generated/src/operations/fileSystemOperations.d.ts +55 -0
  581. package/dist/react-native/generated/src/operations/fileSystemOperations.d.ts.map +1 -0
  582. package/dist/react-native/generated/src/operations/fileSystemOperations.js +231 -0
  583. package/dist/react-native/generated/src/operations/fileSystemOperations.js.map +1 -0
  584. package/dist/react-native/generated/src/operations/index.d.ts +4 -0
  585. package/dist/react-native/generated/src/operations/index.d.ts.map +1 -0
  586. package/dist/react-native/generated/src/operations/index.js +11 -0
  587. package/dist/react-native/generated/src/operations/index.js.map +1 -0
  588. package/dist/react-native/generated/src/operations/pathOperations.d.ts +120 -0
  589. package/dist/react-native/generated/src/operations/pathOperations.d.ts.map +1 -0
  590. package/dist/react-native/generated/src/operations/pathOperations.js +591 -0
  591. package/dist/react-native/generated/src/operations/pathOperations.js.map +1 -0
  592. package/dist/react-native/generated/src/operations/service.d.ts +18 -0
  593. package/dist/react-native/generated/src/operations/service.d.ts.map +1 -0
  594. package/dist/react-native/generated/src/operations/service.js +58 -0
  595. package/dist/react-native/generated/src/operations/service.js.map +1 -0
  596. package/dist/react-native/generated/src/operationsInterfaces/fileSystemOperations.d.ts +47 -0
  597. package/dist/react-native/generated/src/operationsInterfaces/fileSystemOperations.d.ts.map +1 -0
  598. package/dist/react-native/generated/src/operationsInterfaces/fileSystemOperations.js +9 -0
  599. package/dist/react-native/generated/src/operationsInterfaces/fileSystemOperations.js.map +1 -0
  600. package/dist/react-native/generated/src/operationsInterfaces/index.d.ts +4 -0
  601. package/dist/react-native/generated/src/operationsInterfaces/index.d.ts.map +1 -0
  602. package/dist/react-native/generated/src/operationsInterfaces/index.js +11 -0
  603. package/dist/react-native/generated/src/operationsInterfaces/index.js.map +1 -0
  604. package/dist/react-native/generated/src/operationsInterfaces/pathOperations.d.ts +112 -0
  605. package/dist/react-native/generated/src/operationsInterfaces/pathOperations.d.ts.map +1 -0
  606. package/dist/react-native/generated/src/operationsInterfaces/pathOperations.js +9 -0
  607. package/dist/react-native/generated/src/operationsInterfaces/pathOperations.js.map +1 -0
  608. package/dist/react-native/generated/src/operationsInterfaces/service.d.ts +10 -0
  609. package/dist/react-native/generated/src/operationsInterfaces/service.d.ts.map +1 -0
  610. package/dist/react-native/generated/src/operationsInterfaces/service.js +9 -0
  611. package/dist/react-native/generated/src/operationsInterfaces/service.js.map +1 -0
  612. package/dist/react-native/generated/src/storageClient.d.ts +20 -0
  613. package/dist/react-native/generated/src/storageClient.d.ts.map +1 -0
  614. package/dist/react-native/generated/src/storageClient.js +47 -0
  615. package/dist/react-native/generated/src/storageClient.js.map +1 -0
  616. package/dist/react-native/index.d.ts +23 -0
  617. package/dist/react-native/index.d.ts.map +1 -0
  618. package/dist/react-native/index.js +23 -0
  619. package/dist/react-native/index.js.map +1 -0
  620. package/dist/react-native/log.d.ts +5 -0
  621. package/dist/react-native/log.d.ts.map +1 -0
  622. package/dist/react-native/log.js +8 -0
  623. package/dist/react-native/log.js.map +1 -0
  624. package/dist/react-native/models.d.ts +1318 -0
  625. package/dist/react-native/models.d.ts.map +1 -0
  626. package/dist/react-native/models.internal.d.ts +2 -0
  627. package/dist/react-native/models.internal.d.ts.map +1 -0
  628. package/dist/react-native/models.internal.js +4 -0
  629. package/dist/react-native/models.internal.js.map +1 -0
  630. package/dist/react-native/models.js +53 -0
  631. package/dist/react-native/models.js.map +1 -0
  632. package/dist/react-native/package.json +3 -0
  633. package/dist/react-native/sas/AccountSASPermissions.d.ts +61 -0
  634. package/dist/react-native/sas/AccountSASPermissions.d.ts.map +1 -0
  635. package/dist/react-native/sas/AccountSASPermissions.js +128 -0
  636. package/dist/react-native/sas/AccountSASPermissions.js.map +1 -0
  637. package/dist/react-native/sas/AccountSASResourceTypes.d.ts +38 -0
  638. package/dist/react-native/sas/AccountSASResourceTypes.d.ts.map +1 -0
  639. package/dist/react-native/sas/AccountSASResourceTypes.js +72 -0
  640. package/dist/react-native/sas/AccountSASResourceTypes.js.map +1 -0
  641. package/dist/react-native/sas/AccountSASServices.d.ts +40 -0
  642. package/dist/react-native/sas/AccountSASServices.d.ts.map +1 -0
  643. package/dist/react-native/sas/AccountSASServices.js +80 -0
  644. package/dist/react-native/sas/AccountSASServices.js.map +1 -0
  645. package/dist/react-native/sas/AccountSASSignatureValues.d.ts +78 -0
  646. package/dist/react-native/sas/AccountSASSignatureValues.d.ts.map +1 -0
  647. package/dist/react-native/sas/AccountSASSignatureValues.js +72 -0
  648. package/dist/react-native/sas/AccountSASSignatureValues.js.map +1 -0
  649. package/dist/react-native/sas/DataLakeSASPermissions.d.ts +65 -0
  650. package/dist/react-native/sas/DataLakeSASPermissions.d.ts.map +1 -0
  651. package/dist/react-native/sas/DataLakeSASPermissions.js +135 -0
  652. package/dist/react-native/sas/DataLakeSASPermissions.js.map +1 -0
  653. package/dist/react-native/sas/DataLakeSASSignatureValues.d.ts +205 -0
  654. package/dist/react-native/sas/DataLakeSASSignatureValues.d.ts.map +1 -0
  655. package/dist/react-native/sas/DataLakeSASSignatureValues.js +718 -0
  656. package/dist/react-native/sas/DataLakeSASSignatureValues.js.map +1 -0
  657. package/dist/react-native/sas/DirectorySASPermissions.d.ts +69 -0
  658. package/dist/react-native/sas/DirectorySASPermissions.d.ts.map +1 -0
  659. package/dist/react-native/sas/DirectorySASPermissions.js +145 -0
  660. package/dist/react-native/sas/DirectorySASPermissions.js.map +1 -0
  661. package/dist/react-native/sas/FileSystemSASPermissions.d.ts +69 -0
  662. package/dist/react-native/sas/FileSystemSASPermissions.d.ts.map +1 -0
  663. package/dist/react-native/sas/FileSystemSASPermissions.js +145 -0
  664. package/dist/react-native/sas/FileSystemSASPermissions.js.map +1 -0
  665. package/dist/react-native/sas/SASQueryParameters.d.ts +309 -0
  666. package/dist/react-native/sas/SASQueryParameters.d.ts.map +1 -0
  667. package/dist/react-native/sas/SASQueryParameters.js +248 -0
  668. package/dist/react-native/sas/SASQueryParameters.js.map +1 -0
  669. package/dist/react-native/sas/SasIPRange.d.ts +24 -0
  670. package/dist/react-native/sas/SasIPRange.d.ts.map +1 -0
  671. package/dist/react-native/sas/SasIPRange.js +13 -0
  672. package/dist/react-native/sas/SasIPRange.js.map +1 -0
  673. package/dist/react-native/transforms.d.ts +51 -0
  674. package/dist/react-native/transforms.d.ts.map +1 -0
  675. package/dist/react-native/transforms.js +337 -0
  676. package/dist/react-native/transforms.js.map +1 -0
  677. package/dist/react-native/utils/Batch.d.ts +68 -0
  678. package/dist/react-native/utils/Batch.d.ts.map +1 -0
  679. package/dist/react-native/utils/Batch.js +122 -0
  680. package/dist/react-native/utils/Batch.js.map +1 -0
  681. package/dist/react-native/utils/BufferScheduler.d.ts +158 -0
  682. package/dist/react-native/utils/BufferScheduler.d.ts.map +1 -0
  683. package/dist/react-native/utils/BufferScheduler.js +264 -0
  684. package/dist/react-native/utils/BufferScheduler.js.map +1 -0
  685. package/dist/react-native/utils/DataLakeAclChangeFailedError.d.ts +16 -0
  686. package/dist/react-native/utils/DataLakeAclChangeFailedError.d.ts.map +1 -0
  687. package/dist/react-native/utils/DataLakeAclChangeFailedError.js +13 -0
  688. package/dist/react-native/utils/DataLakeAclChangeFailedError.js.map +1 -0
  689. package/dist/react-native/utils/PathClientInternal.d.ts +24 -0
  690. package/dist/react-native/utils/PathClientInternal.d.ts.map +1 -0
  691. package/dist/react-native/utils/PathClientInternal.js +24 -0
  692. package/dist/react-native/utils/PathClientInternal.js.map +1 -0
  693. package/dist/react-native/utils/constants.d.ts +70 -0
  694. package/dist/react-native/utils/constants.d.ts.map +1 -0
  695. package/dist/react-native/utils/constants.js +244 -0
  696. package/dist/react-native/utils/constants.js.map +1 -0
  697. package/dist/react-native/utils/tracing.d.ts +6 -0
  698. package/dist/react-native/utils/tracing.d.ts.map +1 -0
  699. package/dist/react-native/utils/tracing.js +14 -0
  700. package/dist/react-native/utils/tracing.js.map +1 -0
  701. package/dist/react-native/utils/utils.common.d.ts +236 -0
  702. package/dist/react-native/utils/utils.common.d.ts.map +1 -0
  703. package/dist/react-native/utils/utils.common.js +564 -0
  704. package/dist/react-native/utils/utils.common.js.map +1 -0
  705. package/dist/react-native/utils/utils.d.ts +29 -0
  706. package/dist/react-native/utils/utils.d.ts.map +1 -0
  707. package/{dist-esm/storage-blob/src/utils/utils.node.js → dist/react-native/utils/utils.js} +4 -51
  708. package/dist/react-native/utils/utils.js.map +1 -0
  709. package/package.json +70 -83
  710. package/dist/index.js +0 -9735
  711. package/dist/index.js.map +0 -1
  712. package/dist-esm/storage-blob/src/StorageBrowserPolicyFactory.js +0 -19
  713. package/dist-esm/storage-blob/src/StorageBrowserPolicyFactory.js.map +0 -1
  714. package/dist-esm/storage-blob/src/StorageRetryPolicyFactory.js +0 -26
  715. package/dist-esm/storage-blob/src/StorageRetryPolicyFactory.js.map +0 -1
  716. package/dist-esm/storage-blob/src/log.js.map +0 -1
  717. package/dist-esm/storage-blob/src/policies/AnonymousCredentialPolicy.js +0 -20
  718. package/dist-esm/storage-blob/src/policies/AnonymousCredentialPolicy.js.map +0 -1
  719. package/dist-esm/storage-blob/src/policies/CredentialPolicy.js +0 -29
  720. package/dist-esm/storage-blob/src/policies/CredentialPolicy.js.map +0 -1
  721. package/dist-esm/storage-blob/src/policies/RequestPolicy.js +0 -40
  722. package/dist-esm/storage-blob/src/policies/RequestPolicy.js.map +0 -1
  723. package/dist-esm/storage-blob/src/policies/StorageBrowserPolicy.js +0 -47
  724. package/dist-esm/storage-blob/src/policies/StorageBrowserPolicy.js.map +0 -1
  725. package/dist-esm/storage-blob/src/policies/StorageBrowserPolicyV2.js +0 -31
  726. package/dist-esm/storage-blob/src/policies/StorageBrowserPolicyV2.js.map +0 -1
  727. package/dist-esm/storage-blob/src/policies/StorageCorrectContentLengthPolicy.browser.js +0 -18
  728. package/dist-esm/storage-blob/src/policies/StorageCorrectContentLengthPolicy.browser.js.map +0 -1
  729. package/dist-esm/storage-blob/src/policies/StorageCorrectContentLengthPolicy.js +0 -27
  730. package/dist-esm/storage-blob/src/policies/StorageCorrectContentLengthPolicy.js.map +0 -1
  731. package/dist-esm/storage-blob/src/policies/StorageRetryPolicy.js +0 -229
  732. package/dist-esm/storage-blob/src/policies/StorageRetryPolicy.js.map +0 -1
  733. package/dist-esm/storage-blob/src/policies/StorageRetryPolicyV2.js +0 -180
  734. package/dist-esm/storage-blob/src/policies/StorageRetryPolicyV2.js.map +0 -1
  735. package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicy.js +0 -141
  736. package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicy.js.map +0 -1
  737. package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicyV2.browser.js +0 -18
  738. package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicyV2.browser.js.map +0 -1
  739. package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicyV2.js +0 -132
  740. package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicyV2.js.map +0 -1
  741. package/dist-esm/storage-blob/src/utils/Batch.js.map +0 -1
  742. package/dist-esm/storage-blob/src/utils/BlobQuickQueryStream.js +0 -111
  743. package/dist-esm/storage-blob/src/utils/BlobQuickQueryStream.js.map +0 -1
  744. package/dist-esm/storage-blob/src/utils/Mutex.js +0 -65
  745. package/dist-esm/storage-blob/src/utils/Mutex.js.map +0 -1
  746. package/dist-esm/storage-blob/src/utils/RetriableReadableStream.js +0 -119
  747. package/dist-esm/storage-blob/src/utils/RetriableReadableStream.js.map +0 -1
  748. package/dist-esm/storage-blob/src/utils/SharedKeyComparator.js +0 -73
  749. package/dist-esm/storage-blob/src/utils/SharedKeyComparator.js.map +0 -1
  750. package/dist-esm/storage-blob/src/utils/cache.js +0 -11
  751. package/dist-esm/storage-blob/src/utils/cache.js.map +0 -1
  752. package/dist-esm/storage-blob/src/utils/constants.js.map +0 -1
  753. package/dist-esm/storage-blob/src/utils/tracing.js.map +0 -1
  754. package/dist-esm/storage-blob/src/utils/utils.common.js.map +0 -1
  755. package/dist-esm/storage-blob/src/utils/utils.node.js.map +0 -1
  756. package/dist-esm/storage-common/src/BufferScheduler.browser.js +0 -8
  757. package/dist-esm/storage-common/src/BufferScheduler.browser.js.map +0 -1
  758. package/dist-esm/storage-common/src/BufferScheduler.js.map +0 -1
  759. package/dist-esm/storage-common/src/BuffersStream.js +0 -83
  760. package/dist-esm/storage-common/src/BuffersStream.js.map +0 -1
  761. package/dist-esm/storage-common/src/PooledBuffer.js +0 -87
  762. package/dist-esm/storage-common/src/PooledBuffer.js.map +0 -1
  763. package/dist-esm/storage-common/src/index.browser.js +0 -4
  764. package/dist-esm/storage-common/src/index.browser.js.map +0 -1
  765. package/dist-esm/storage-common/src/index.js +0 -4
  766. package/dist-esm/storage-common/src/index.js.map +0 -1
  767. package/dist-esm/storage-file-datalake/src/DataLakeFileSystemClient.js.map +0 -1
  768. package/dist-esm/storage-file-datalake/src/DataLakeLeaseClient.js.map +0 -1
  769. package/dist-esm/storage-file-datalake/src/DataLakeServiceClient.js.map +0 -1
  770. package/dist-esm/storage-file-datalake/src/Pipeline.js.map +0 -1
  771. package/dist-esm/storage-file-datalake/src/StorageClient.js.map +0 -1
  772. package/dist-esm/storage-file-datalake/src/StorageContextClient.js.map +0 -1
  773. package/dist-esm/storage-file-datalake/src/clients.js.map +0 -1
  774. package/dist-esm/storage-file-datalake/src/credentials/StorageSharedKeyCredential.browser.js.map +0 -1
  775. package/dist-esm/storage-file-datalake/src/credentials/StorageSharedKeyCredential.js.map +0 -1
  776. package/dist-esm/storage-file-datalake/src/credentials/UserDelegationKeyCredential.browser.js.map +0 -1
  777. package/dist-esm/storage-file-datalake/src/credentials/UserDelegationKeyCredential.js.map +0 -1
  778. package/dist-esm/storage-file-datalake/src/generated/src/index.js.map +0 -1
  779. package/dist-esm/storage-file-datalake/src/generated/src/models/index.js.map +0 -1
  780. package/dist-esm/storage-file-datalake/src/generated/src/models/mappers.js.map +0 -1
  781. package/dist-esm/storage-file-datalake/src/generated/src/models/parameters.js.map +0 -1
  782. package/dist-esm/storage-file-datalake/src/generated/src/operations/fileSystemOperations.js.map +0 -1
  783. package/dist-esm/storage-file-datalake/src/generated/src/operations/index.js.map +0 -1
  784. package/dist-esm/storage-file-datalake/src/generated/src/operations/pathOperations.js.map +0 -1
  785. package/dist-esm/storage-file-datalake/src/generated/src/operations/service.js.map +0 -1
  786. package/dist-esm/storage-file-datalake/src/generated/src/operationsInterfaces/fileSystemOperations.js.map +0 -1
  787. package/dist-esm/storage-file-datalake/src/generated/src/operationsInterfaces/index.js.map +0 -1
  788. package/dist-esm/storage-file-datalake/src/generated/src/operationsInterfaces/pathOperations.js.map +0 -1
  789. package/dist-esm/storage-file-datalake/src/generated/src/operationsInterfaces/service.js.map +0 -1
  790. package/dist-esm/storage-file-datalake/src/generated/src/storageClient.js.map +0 -1
  791. package/dist-esm/storage-file-datalake/src/index.browser.js.map +0 -1
  792. package/dist-esm/storage-file-datalake/src/index.js +0 -23
  793. package/dist-esm/storage-file-datalake/src/index.js.map +0 -1
  794. package/dist-esm/storage-file-datalake/src/log.js.map +0 -1
  795. package/dist-esm/storage-file-datalake/src/models.internal.js.map +0 -1
  796. package/dist-esm/storage-file-datalake/src/models.js.map +0 -1
  797. package/dist-esm/storage-file-datalake/src/sas/AccountSASPermissions.js.map +0 -1
  798. package/dist-esm/storage-file-datalake/src/sas/AccountSASResourceTypes.js.map +0 -1
  799. package/dist-esm/storage-file-datalake/src/sas/AccountSASServices.js.map +0 -1
  800. package/dist-esm/storage-file-datalake/src/sas/AccountSASSignatureValues.js.map +0 -1
  801. package/dist-esm/storage-file-datalake/src/sas/DataLakeSASPermissions.js.map +0 -1
  802. package/dist-esm/storage-file-datalake/src/sas/DataLakeSASSignatureValues.js.map +0 -1
  803. package/dist-esm/storage-file-datalake/src/sas/DirectorySASPermissions.js.map +0 -1
  804. package/dist-esm/storage-file-datalake/src/sas/FileSystemSASPermissions.js.map +0 -1
  805. package/dist-esm/storage-file-datalake/src/sas/SASQueryParameters.js.map +0 -1
  806. package/dist-esm/storage-file-datalake/src/sas/SasIPRange.js.map +0 -1
  807. package/dist-esm/storage-file-datalake/src/transforms.js.map +0 -1
  808. package/dist-esm/storage-file-datalake/src/utils/Batch.js.map +0 -1
  809. package/dist-esm/storage-file-datalake/src/utils/BufferScheduler.js.map +0 -1
  810. package/dist-esm/storage-file-datalake/src/utils/DataLakeAclChangeFailedError.js.map +0 -1
  811. package/dist-esm/storage-file-datalake/src/utils/PathClientInternal.js.map +0 -1
  812. package/dist-esm/storage-file-datalake/src/utils/constants.js.map +0 -1
  813. package/dist-esm/storage-file-datalake/src/utils/tracing.js.map +0 -1
  814. package/dist-esm/storage-file-datalake/src/utils/utils.browser.js +0 -39
  815. package/dist-esm/storage-file-datalake/src/utils/utils.browser.js.map +0 -1
  816. package/dist-esm/storage-file-datalake/src/utils/utils.common.js.map +0 -1
  817. package/dist-esm/storage-file-datalake/src/utils/utils.node.js.map +0 -1
  818. package/types/latest/storage-file-datalake.d.ts +0 -5102
  819. /package/{dist-esm/storage-file-datalake/src → dist/browser}/generated/src/models/index.js +0 -0
  820. /package/{dist-esm/storage-file-datalake/src → dist/browser}/generated/src/models/mappers.js +0 -0
  821. /package/{dist-esm/storage-file-datalake/src → dist/browser}/generated/src/operationsInterfaces/fileSystemOperations.js +0 -0
  822. /package/{dist-esm/storage-file-datalake/src → dist/browser}/generated/src/operationsInterfaces/pathOperations.js +0 -0
  823. /package/{dist-esm/storage-file-datalake/src → dist/browser}/generated/src/operationsInterfaces/service.js +0 -0
  824. /package/{dist-esm/storage-file-datalake/src → dist/browser}/log.js +0 -0
  825. /package/{dist-esm/storage-file-datalake/src → dist/browser}/models.internal.js +0 -0
  826. /package/{dist-esm/storage-file-datalake/src → dist/browser}/sas/AccountSASPermissions.js +0 -0
  827. /package/{dist-esm/storage-file-datalake/src → dist/browser}/sas/AccountSASResourceTypes.js +0 -0
  828. /package/{dist-esm/storage-file-datalake/src → dist/browser}/sas/AccountSASServices.js +0 -0
  829. /package/{dist-esm/storage-file-datalake/src → dist/browser}/sas/DataLakeSASPermissions.js +0 -0
  830. /package/{dist-esm/storage-file-datalake/src → dist/browser}/sas/DirectorySASPermissions.js +0 -0
  831. /package/{dist-esm/storage-file-datalake/src → dist/browser}/sas/FileSystemSASPermissions.js +0 -0
  832. /package/{dist-esm/storage-file-datalake/src → dist/browser}/sas/SasIPRange.js +0 -0
  833. /package/{dist-esm/storage-blob/src → dist/browser}/utils/Batch.js +0 -0
  834. /package/{dist-esm/storage-file-datalake/src → dist/browser}/utils/DataLakeAclChangeFailedError.js +0 -0
  835. /package/{dist-esm/storage-file-datalake/src → dist/esm}/credentials/StorageSharedKeyCredential.js +0 -0
  836. /package/{dist-esm/storage-file-datalake/src → dist/esm}/utils/Batch.js +0 -0
@@ -1,14 +1,13 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
1
  import { createHttpHeaders } from "@azure/core-rest-pipeline";
4
- import { isNode } from "@azure/core-util";
5
- import { DevelopmentConnectionString, HeaderConstants, PathStylePorts, URLConstants, } from "./constants";
2
+ import { isNodeLike } from "@azure/core-util";
3
+ import { DevelopmentConnectionString, EncryptionAlgorithmAES25, HeaderConstants, PathStylePorts, UrlConstants, } from "./constants.js";
4
+ import { toAcl, toPermissions } from "../transforms.js";
6
5
  /**
7
6
  * Reserved URL characters must be properly escaped for Storage services like Blob or File.
8
7
  *
9
8
  * ## URL encode and escape strategy for JS SDKs
10
9
  *
11
- * When customers pass a URL string into XxxClient classes constructor, the URL string may already be URL encoded or not.
10
+ * When customers pass a URL string into XxxClient classes constructors, the URL string may already be URL encoded or not.
12
11
  * But before sending to Azure Storage server, the URL must be encoded. However, it's hard for a SDK to guess whether the URL
13
12
  * string has been encoded or not. We have 2 potential strategies, and chose strategy two for the XxxClient constructors.
14
13
  *
@@ -145,7 +144,7 @@ export function extractConnectionStringParts(connectionString) {
145
144
  }
146
145
  else {
147
146
  // SAS connection string
148
- let accountSas = getValueInConnString(connectionString, "SharedAccessSignature");
147
+ const accountSas = getValueInConnString(connectionString, "SharedAccessSignature");
149
148
  let accountName = getValueInConnString(connectionString, "AccountName");
150
149
  // if accountName is empty, try to read it from BlobEndpoint
151
150
  if (!accountName) {
@@ -157,10 +156,6 @@ export function extractConnectionStringParts(connectionString) {
157
156
  else if (!accountSas) {
158
157
  throw new Error("Invalid SharedAccessSignature in the provided SAS Connection String");
159
158
  }
160
- // client constructors assume accountSas does *not* start with ?
161
- if (accountSas.startsWith("?")) {
162
- accountSas = accountSas.substring(1);
163
- }
164
159
  return { kind: "SASConnString", url: blobEndpoint, accountName, accountSas };
165
160
  }
166
161
  }
@@ -169,6 +164,7 @@ export function extractConnectionStringParts(connectionString) {
169
164
  *
170
165
  * @param text -
171
166
  */
167
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
172
168
  function escape(text) {
173
169
  return encodeURIComponent(text)
174
170
  .replace(/%2F/g, "/") // Don't escape for "/"
@@ -191,6 +187,25 @@ export function appendToURLPath(url, name) {
191
187
  urlParsed.pathname = path;
192
188
  return urlParsed.toString();
193
189
  }
190
+ /**
191
+ * Append a string to URL query.
192
+ *
193
+ * @param url - Source URL string.
194
+ * @param queryParts - String to be appended to the URL query.
195
+ * @returns An updated URL string.
196
+ */
197
+ export function appendToURLQuery(url, queryParts) {
198
+ const urlParsed = new URL(url);
199
+ let query = urlParsed.search;
200
+ if (query) {
201
+ query += "&" + queryParts;
202
+ }
203
+ else {
204
+ query = queryParts;
205
+ }
206
+ urlParsed.search = query;
207
+ return urlParsed.toString();
208
+ }
194
209
  /**
195
210
  * Set URL parameter name and value. If name exists in URL parameters, old value
196
211
  * will be replaced by name key. If not provide value, the parameter will be deleted.
@@ -258,6 +273,17 @@ export function getURLPath(url) {
258
273
  return undefined;
259
274
  }
260
275
  }
276
+ /**
277
+ * Set URL path.
278
+ *
279
+ * @param url -
280
+ * @param path -
281
+ */
282
+ export function setURLPath(url, path) {
283
+ const urlParsed = new URL(url);
284
+ urlParsed.pathname = path;
285
+ return urlParsed.toString();
286
+ }
261
287
  /**
262
288
  * Get URL scheme from an URL string.
263
289
  *
@@ -318,22 +344,14 @@ export function getURLQueries(url) {
318
344
  return queries;
319
345
  }
320
346
  /**
321
- * Append a string to URL query.
347
+ * Set URL query string.
322
348
  *
323
- * @param url - Source URL string.
324
- * @param queryParts - String to be appended to the URL query.
325
- * @returns An updated URL string.
349
+ * @param url -
350
+ * @param queryString -
326
351
  */
327
- export function appendToURLQuery(url, queryParts) {
352
+ export function setURLQueries(url, queryString) {
328
353
  const urlParsed = new URL(url);
329
- let query = urlParsed.search;
330
- if (query) {
331
- query += "&" + queryParts;
332
- }
333
- else {
334
- query = queryParts;
335
- }
336
- urlParsed.search = query;
354
+ urlParsed.search = queryString;
337
355
  return urlParsed.toString();
338
356
  }
339
357
  /**
@@ -357,7 +375,7 @@ export function truncatedISO8061Date(date, withMilliseconds = true) {
357
375
  * @param content -
358
376
  */
359
377
  export function base64encode(content) {
360
- return !isNode ? btoa(content) : Buffer.from(content).toString("base64");
378
+ return !isNodeLike ? btoa(content) : Buffer.from(content).toString("base64");
361
379
  }
362
380
  /**
363
381
  * Base64 decode.
@@ -365,7 +383,7 @@ export function base64encode(content) {
365
383
  * @param encodedString -
366
384
  */
367
385
  export function base64decode(encodedString) {
368
- return !isNode ? atob(encodedString) : Buffer.from(encodedString, "base64").toString();
386
+ return !isNodeLike ? atob(encodedString) : Buffer.from(encodedString, "base64").toString();
369
387
  }
370
388
  /**
371
389
  * Generate a 64 bytes base64 block ID string.
@@ -382,66 +400,13 @@ export function generateBlockID(blockIDPrefix, blockIndex) {
382
400
  blockIDPrefix = blockIDPrefix.slice(0, maxAllowedBlockIDPrefixLength);
383
401
  }
384
402
  const res = blockIDPrefix +
385
- padStart(blockIndex.toString(), maxSourceStringLength - blockIDPrefix.length, "0");
403
+ blockIndex.toString().padStart(maxSourceStringLength - blockIDPrefix.length, "0");
386
404
  return base64encode(res);
387
405
  }
388
- /**
389
- * Delay specified time interval.
390
- *
391
- * @param timeInMs -
392
- * @param aborter -
393
- * @param abortError -
394
- */
395
- export async function delay(timeInMs, aborter, abortError) {
396
- return new Promise((resolve, reject) => {
397
- /* eslint-disable-next-line prefer-const */
398
- let timeout;
399
- const abortHandler = () => {
400
- if (timeout !== undefined) {
401
- clearTimeout(timeout);
402
- }
403
- reject(abortError);
404
- };
405
- const resolveHandler = () => {
406
- if (aborter !== undefined) {
407
- aborter.removeEventListener("abort", abortHandler);
408
- }
409
- resolve();
410
- };
411
- timeout = setTimeout(resolveHandler, timeInMs);
412
- if (aborter !== undefined) {
413
- aborter.addEventListener("abort", abortHandler);
414
- }
415
- });
416
- }
417
- /**
418
- * String.prototype.padStart()
419
- *
420
- * @param currentString -
421
- * @param targetLength -
422
- * @param padString -
423
- */
424
- export function padStart(currentString, targetLength, padString = " ") {
425
- // @ts-expect-error: TS doesn't know this code needs to run downlevel sometimes
426
- if (String.prototype.padStart) {
427
- return currentString.padStart(targetLength, padString);
428
- }
429
- padString = padString || " ";
430
- if (currentString.length > targetLength) {
431
- return currentString;
432
- }
433
- else {
434
- targetLength = targetLength - currentString.length;
435
- if (targetLength > padString.length) {
436
- padString += padString.repeat(targetLength / padString.length);
437
- }
438
- return padString.slice(0, targetLength) + currentString;
439
- }
440
- }
441
406
  export function sanitizeURL(url) {
442
407
  let safeURL = url;
443
- if (getURLParameter(safeURL, URLConstants.Parameters.SIGNATURE)) {
444
- safeURL = setURLParameter(safeURL, URLConstants.Parameters.SIGNATURE, "*****");
408
+ if (getURLParameter(safeURL, UrlConstants.Parameters.SIGNATURE)) {
409
+ safeURL = setURLParameter(safeURL, UrlConstants.Parameters.SIGNATURE, "*****");
445
410
  }
446
411
  return safeURL;
447
412
  }
@@ -508,234 +473,48 @@ export function isIpEndpointStyle(parsedUrl) {
508
473
  (Boolean(parsedUrl.port) && PathStylePorts.includes(parsedUrl.port)));
509
474
  }
510
475
  /**
511
- * Convert Tags to encoded string.
512
- *
513
- * @param tags -
476
+ * This is to convert a Windows File Time ticks to a Date object.
514
477
  */
515
- export function toBlobTagsString(tags) {
516
- if (tags === undefined) {
478
+ export function windowsFileTimeTicksToTime(timeNumber) {
479
+ if (!timeNumber)
517
480
  return undefined;
518
- }
519
- const tagPairs = [];
520
- for (const key in tags) {
521
- if (Object.prototype.hasOwnProperty.call(tags, key)) {
522
- const value = tags[key];
523
- tagPairs.push(`${encodeURIComponent(key)}=${encodeURIComponent(value)}`);
524
- }
525
- }
526
- return tagPairs.join("&");
527
- }
528
- /**
529
- * Convert Tags type to BlobTags.
530
- *
531
- * @param tags -
532
- */
533
- export function toBlobTags(tags) {
534
- if (tags === undefined) {
535
- return undefined;
536
- }
537
- const res = {
538
- blobTagSet: [],
539
- };
540
- for (const key in tags) {
541
- if (Object.prototype.hasOwnProperty.call(tags, key)) {
542
- const value = tags[key];
543
- res.blobTagSet.push({
544
- key,
545
- value,
546
- });
547
- }
548
- }
549
- return res;
550
- }
551
- /**
552
- * Covert BlobTags to Tags type.
553
- *
554
- * @param tags -
555
- */
556
- export function toTags(tags) {
557
- if (tags === undefined) {
481
+ // A windows file time is a 64-bit value that represents the number of 100-nanosecond intervals that have elapsed
482
+ // since 12:00 A.M. January 1, 1601 Coordinated Universal Time (UTC).
483
+ // JS Date accepts a value that represents milliseconds from 12:00 A.M. January 1, 1970
484
+ // So, we'll handle the calculations in milliseconds from here
485
+ // Time in milliseconds since "12:00 A.M. January 1, 1601"
486
+ const timeElapsed = parseInt(timeNumber) / 10000;
487
+ if (timeElapsed === 0)
558
488
  return undefined;
559
- }
560
- const res = {};
561
- for (const blobTag of tags.blobTagSet) {
562
- res[blobTag.key] = blobTag.value;
563
- }
564
- return res;
489
+ // Reference - https://stackoverflow.com/a/24188106/4137356
490
+ // Milliseconds calculated relative to "12:00 A.M. January 1, 1970" (will be negative)
491
+ const initialFrameOfReference = Date.UTC(1601, 0, 1);
492
+ // TimeRelativeTo1970 = (TimeAt1601 - TimeAt1970) + (Current - TimeAt1601) = (Current - TimeAt1970)
493
+ return new Date(initialFrameOfReference + timeElapsed);
565
494
  }
566
- /**
567
- * Convert BlobQueryTextConfiguration to QuerySerialization type.
568
- *
569
- * @param textConfiguration -
570
- */
571
- export function toQuerySerialization(textConfiguration) {
572
- if (textConfiguration === undefined) {
573
- return undefined;
495
+ export function ensureCpkIfSpecified(cpk, isHttps) {
496
+ if (cpk && !isHttps) {
497
+ throw new RangeError("Customer-provided encryption key must be used over HTTPS.");
574
498
  }
575
- switch (textConfiguration.kind) {
576
- case "csv":
577
- return {
578
- format: {
579
- type: "delimited",
580
- delimitedTextConfiguration: {
581
- columnSeparator: textConfiguration.columnSeparator || ",",
582
- fieldQuote: textConfiguration.fieldQuote || "",
583
- recordSeparator: textConfiguration.recordSeparator,
584
- escapeChar: textConfiguration.escapeCharacter || "",
585
- headersPresent: textConfiguration.hasHeaders || false,
586
- },
587
- },
588
- };
589
- case "json":
590
- return {
591
- format: {
592
- type: "json",
593
- jsonTextConfiguration: {
594
- recordSeparator: textConfiguration.recordSeparator,
595
- },
596
- },
597
- };
598
- case "arrow":
599
- return {
600
- format: {
601
- type: "arrow",
602
- arrowConfiguration: {
603
- schema: textConfiguration.schema,
604
- },
605
- },
606
- };
607
- case "parquet":
608
- return {
609
- format: {
610
- type: "parquet",
611
- },
612
- };
613
- default:
614
- throw Error("Invalid BlobQueryTextConfiguration.");
499
+ if (cpk && !cpk.encryptionAlgorithm) {
500
+ cpk.encryptionAlgorithm = EncryptionAlgorithmAES25;
615
501
  }
616
502
  }
617
- export function parseObjectReplicationRecord(objectReplicationRecord) {
618
- if (!objectReplicationRecord) {
503
+ export function ToBlobContainerEncryptionScope(fileSystemEncryptionScope) {
504
+ if (!fileSystemEncryptionScope)
619
505
  return undefined;
620
- }
621
- if ("policy-id" in objectReplicationRecord) {
622
- // If the dictionary contains a key with policy id, we are not required to do any parsing since
623
- // the policy id should already be stored in the ObjectReplicationDestinationPolicyId.
506
+ if (!fileSystemEncryptionScope.defaultEncryptionScope)
624
507
  return undefined;
625
- }
626
- const orProperties = [];
627
- for (const key in objectReplicationRecord) {
628
- const ids = key.split("_");
629
- const policyPrefix = "or-";
630
- if (ids[0].startsWith(policyPrefix)) {
631
- ids[0] = ids[0].substring(policyPrefix.length);
632
- }
633
- const rule = {
634
- ruleId: ids[1],
635
- replicationStatus: objectReplicationRecord[key],
636
- };
637
- const policyIndex = orProperties.findIndex((policy) => policy.policyId === ids[0]);
638
- if (policyIndex > -1) {
639
- orProperties[policyIndex].rules.push(rule);
640
- }
641
- else {
642
- orProperties.push({
643
- policyId: ids[0],
644
- rules: [rule],
645
- });
646
- }
647
- }
648
- return orProperties;
649
- }
650
- /**
651
- * Attach a TokenCredential to an object.
652
- *
653
- * @param thing -
654
- * @param credential -
655
- */
656
- export function attachCredential(thing, credential) {
657
- thing.credential = credential;
658
- return thing;
659
- }
660
- export function httpAuthorizationToString(httpAuthorization) {
661
- return httpAuthorization ? httpAuthorization.scheme + " " + httpAuthorization.value : undefined;
662
- }
663
- export function BlobNameToString(name) {
664
- if (name.encoded) {
665
- return decodeURIComponent(name.content);
666
- }
667
- else {
668
- return name.content;
669
- }
670
- }
671
- export function ConvertInternalResponseOfListBlobFlat(internalResponse) {
672
- return Object.assign(Object.assign({}, internalResponse), { segment: {
673
- blobItems: internalResponse.segment.blobItems.map((blobItemInteral) => {
674
- const blobItem = Object.assign(Object.assign({}, blobItemInteral), { name: BlobNameToString(blobItemInteral.name) });
675
- return blobItem;
676
- }),
677
- } });
678
- }
679
- export function ConvertInternalResponseOfListBlobHierarchy(internalResponse) {
680
- var _a;
681
- return Object.assign(Object.assign({}, internalResponse), { segment: {
682
- blobPrefixes: (_a = internalResponse.segment.blobPrefixes) === null || _a === void 0 ? void 0 : _a.map((blobPrefixInternal) => {
683
- const blobPrefix = Object.assign(Object.assign({}, blobPrefixInternal), { name: BlobNameToString(blobPrefixInternal.name) });
684
- return blobPrefix;
685
- }),
686
- blobItems: internalResponse.segment.blobItems.map((blobItemInteral) => {
687
- const blobItem = Object.assign(Object.assign({}, blobItemInteral), { name: BlobNameToString(blobItemInteral.name) });
688
- return blobItem;
689
- }),
690
- } });
691
- }
692
- export function* ExtractPageRangeInfoItems(getPageRangesSegment) {
693
- let pageRange = [];
694
- let clearRange = [];
695
- if (getPageRangesSegment.pageRange)
696
- pageRange = getPageRangesSegment.pageRange;
697
- if (getPageRangesSegment.clearRange)
698
- clearRange = getPageRangesSegment.clearRange;
699
- let pageRangeIndex = 0;
700
- let clearRangeIndex = 0;
701
- while (pageRangeIndex < pageRange.length && clearRangeIndex < clearRange.length) {
702
- if (pageRange[pageRangeIndex].start < clearRange[clearRangeIndex].start) {
703
- yield {
704
- start: pageRange[pageRangeIndex].start,
705
- end: pageRange[pageRangeIndex].end,
706
- isClear: false,
707
- };
708
- ++pageRangeIndex;
709
- }
710
- else {
711
- yield {
712
- start: clearRange[clearRangeIndex].start,
713
- end: clearRange[clearRangeIndex].end,
714
- isClear: true,
715
- };
716
- ++clearRangeIndex;
717
- }
718
- }
719
- for (; pageRangeIndex < pageRange.length; ++pageRangeIndex) {
720
- yield {
721
- start: pageRange[pageRangeIndex].start,
722
- end: pageRange[pageRangeIndex].end,
723
- isClear: false,
724
- };
725
- }
726
- for (; clearRangeIndex < clearRange.length; ++clearRangeIndex) {
727
- yield {
728
- start: clearRange[clearRangeIndex].start,
729
- end: clearRange[clearRangeIndex].end,
730
- isClear: true,
731
- };
732
- }
508
+ return {
509
+ defaultEncryptionScope: fileSystemEncryptionScope.defaultEncryptionScope,
510
+ preventEncryptionScopeOverride: true,
511
+ };
733
512
  }
734
513
  /**
735
- * Escape the blobName but keep path separator ('/').
514
+ * Escape the file or directory name but keep path separator ('/').
736
515
  */
737
- export function EscapePath(blobName) {
738
- const split = blobName.split("/");
516
+ export function EscapePath(pathName) {
517
+ const split = pathName.split("/");
739
518
  for (let i = 0; i < split.length; i++) {
740
519
  split[i] = encodeURIComponent(split[i]);
741
520
  }
@@ -753,4 +532,33 @@ export function assertResponse(response) {
753
532
  }
754
533
  throw new TypeError(`Unexpected response object ${response}`);
755
534
  }
535
+ function ParseHeaderValue(rawResponse, headerName) {
536
+ if (rawResponse._response) {
537
+ const headers = rawResponse._response.headers;
538
+ if (headers) {
539
+ return headers.get(headerName);
540
+ }
541
+ }
542
+ return undefined;
543
+ }
544
+ /**
545
+ * Parse extra properties values from headers in raw response.
546
+ */
547
+ export function ParsePathGetPropertiesExtraHeaderValues(rawResponse) {
548
+ var _a;
549
+ const response = rawResponse;
550
+ response.encryptionContext = ParseHeaderValue(rawResponse, "x-ms-encryption-context");
551
+ response.owner = ParseHeaderValue(rawResponse, "x-ms-owner");
552
+ response.group = ParseHeaderValue(rawResponse, "x-ms-group");
553
+ response.permissions = toPermissions(ParseHeaderValue(rawResponse, "x-ms-permissions"));
554
+ response.acl = toAcl(ParseHeaderValue(rawResponse, "x-ms-acl"));
555
+ if ((_a = response._response) === null || _a === void 0 ? void 0 : _a.parsedHeaders) {
556
+ response._response.parsedHeaders.encryptionContext = response.encryptionContext;
557
+ response._response.parsedHeaders.owner = response.owner;
558
+ response._response.parsedHeaders.group = response.group;
559
+ response._response.parsedHeaders.permissions = response.permissions;
560
+ response._response.parsedHeaders.acl = response.acl;
561
+ }
562
+ return response;
563
+ }
756
564
  //# sourceMappingURL=utils.common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.common.js","sourceRoot":"","sources":["../../../src/utils/utils.common.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { HttpHeaders } from \"@azure/core-rest-pipeline\";\nimport { createHttpHeaders } from \"@azure/core-rest-pipeline\";\nimport { isNodeLike } from \"@azure/core-util\";\nimport type { ContainerEncryptionScope, WithResponse } from \"@azure/storage-blob\";\nimport type {\n CpkInfo,\n FileSystemEncryptionScope,\n PathAccessControlItem,\n PathPermissions,\n} from \"../models.js\";\n\nimport {\n DevelopmentConnectionString,\n EncryptionAlgorithmAES25,\n HeaderConstants,\n PathStylePorts,\n UrlConstants,\n} from \"./constants.js\";\nimport type { HttpResponse } from \"@azure/storage-blob\";\nimport type { HttpHeadersLike } from \"@azure/core-http-compat\";\nimport { toAcl, toPermissions } from \"../transforms.js\";\n\n/**\n * Reserved URL characters must be properly escaped for Storage services like Blob or File.\n *\n * ## URL encode and escape strategy for JS SDKs\n *\n * When customers pass a URL string into XxxClient classes constructors, the URL string may already be URL encoded or not.\n * But before sending to Azure Storage server, the URL must be encoded. However, it's hard for a SDK to guess whether the URL\n * string has been encoded or not. We have 2 potential strategies, and chose strategy two for the XxxClient constructors.\n *\n * ### Strategy One: Assume the customer URL string is not encoded, and always encode URL string in SDK.\n *\n * This is what legacy V2 SDK does, simple and works for most of the cases.\n * - When customer URL string is \"http://account.blob.core.windows.net/con/b:\",\n * SDK will encode it to \"http://account.blob.core.windows.net/con/b%3A\" and send to server. A blob named \"b:\" will be created.\n * - When customer URL string is \"http://account.blob.core.windows.net/con/b%3A\",\n * SDK will encode it to \"http://account.blob.core.windows.net/con/b%253A\" and send to server. A blob named \"b%3A\" will be created.\n *\n * But this strategy will make it not possible to create a blob with \"?\" in it's name. Because when customer URL string is\n * \"http://account.blob.core.windows.net/con/blob?name\", the \"?name\" will be treated as URL paramter instead of blob name.\n * If customer URL string is \"http://account.blob.core.windows.net/con/blob%3Fname\", a blob named \"blob%3Fname\" will be created.\n * V2 SDK doesn't have this issue because it doesn't allow customer pass in a full URL, it accepts a separate blob name and encodeURIComponent for it.\n * We cannot accept a SDK cannot create a blob name with \"?\". So we implement strategy two:\n *\n * ### Strategy Two: SDK doesn't assume the URL has been encoded or not. It will just escape the special characters.\n *\n * This is what V10 Blob Go SDK does. It accepts a URL type in Go, and call url.EscapedPath() to escape the special chars unescaped.\n * - When customer URL string is \"http://account.blob.core.windows.net/con/b:\",\n * SDK will escape \":\" like \"http://account.blob.core.windows.net/con/b%3A\" and send to server. A blob named \"b:\" will be created.\n * - When customer URL string is \"http://account.blob.core.windows.net/con/b%3A\",\n * There is no special characters, so send \"http://account.blob.core.windows.net/con/b%3A\" to server. A blob named \"b:\" will be created.\n * - When customer URL string is \"http://account.blob.core.windows.net/con/b%253A\",\n * There is no special characters, so send \"http://account.blob.core.windows.net/con/b%253A\" to server. A blob named \"b%3A\" will be created.\n *\n * This strategy gives us flexibility to create with any special characters. But \"%\" will be treated as a special characters, if the URL string\n * is not encoded, there shouldn't a \"%\" in the URL string, otherwise the URL is not a valid URL.\n * If customer needs to create a blob with \"%\" in it's blob name, use \"%25\" instead of \"%\". Just like above 3rd sample.\n * And following URL strings are invalid:\n * - \"http://account.blob.core.windows.net/con/b%\"\n * - \"http://account.blob.core.windows.net/con/b%2\"\n * - \"http://account.blob.core.windows.net/con/b%G\"\n *\n * Another special character is \"?\", use \"%2F\" to represent a blob name with \"?\" in a URL string.\n *\n * ### Strategy for containerName, blobName or other specific XXXName parameters in methods such as `containerClient.getBlobClient(blobName)`\n *\n * We will apply strategy one, and call encodeURIComponent for these parameters like blobName. Because what customers passes in is a plain name instead of a URL.\n *\n * @see https://learn.microsoft.com/en-us/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata\n * @see https://learn.microsoft.com/en-us/rest/api/storageservices/naming-and-referencing-shares--directories--files--and-metadata\n *\n * @param url -\n */\nexport function escapeURLPath(url: string): string {\n const urlParsed = new URL(url);\n\n let path = urlParsed.pathname;\n path = path || \"/\";\n\n path = escape(path);\n urlParsed.pathname = path;\n\n return urlParsed.toString();\n}\n\nexport interface ConnectionString {\n kind: \"AccountConnString\" | \"SASConnString\";\n url: string;\n accountName: string;\n accountKey?: any;\n accountSas?: string;\n proxyUri?: string; // Development Connection String may contain proxyUri\n}\n\nfunction getProxyUriFromDevConnString(connectionString: string): string {\n // Development Connection String\n // https://learn.microsoft.com/en-us/azure/storage/common/storage-configure-connection-string#connect-to-the-emulator-account-using-the-well-known-account-name-and-key\n let proxyUri = \"\";\n if (connectionString.search(\"DevelopmentStorageProxyUri=\") !== -1) {\n // CONNECTION_STRING=UseDevelopmentStorage=true;DevelopmentStorageProxyUri=http://myProxyUri\n const matchCredentials = connectionString.split(\";\");\n for (const element of matchCredentials) {\n if (element.trim().startsWith(\"DevelopmentStorageProxyUri=\")) {\n proxyUri = element.trim().match(\"DevelopmentStorageProxyUri=(.*)\")![1];\n }\n }\n }\n return proxyUri;\n}\n\nexport function getValueInConnString(\n connectionString: string,\n argument:\n | \"BlobEndpoint\"\n | \"AccountName\"\n | \"AccountKey\"\n | \"DefaultEndpointsProtocol\"\n | \"EndpointSuffix\"\n | \"SharedAccessSignature\",\n): string {\n const elements = connectionString.split(\";\");\n for (const element of elements) {\n if (element.trim().startsWith(argument)) {\n return element.trim().match(argument + \"=(.*)\")![1];\n }\n }\n return \"\";\n}\n\n/**\n * Extracts the parts of an Azure Storage account connection string.\n *\n * @param connectionString - Connection string.\n * @returns String key value pairs of the storage account's url and credentials.\n */\nexport function extractConnectionStringParts(connectionString: string): ConnectionString {\n let proxyUri = \"\";\n\n if (connectionString.startsWith(\"UseDevelopmentStorage=true\")) {\n // Development connection string\n proxyUri = getProxyUriFromDevConnString(connectionString);\n connectionString = DevelopmentConnectionString;\n }\n\n // Matching BlobEndpoint in the Account connection string\n let blobEndpoint = getValueInConnString(connectionString, \"BlobEndpoint\");\n // Slicing off '/' at the end if exists\n // (The methods that use `extractConnectionStringParts` expect the url to not have `/` at the end)\n blobEndpoint = blobEndpoint.endsWith(\"/\") ? blobEndpoint.slice(0, -1) : blobEndpoint;\n\n if (\n connectionString.search(\"DefaultEndpointsProtocol=\") !== -1 &&\n connectionString.search(\"AccountKey=\") !== -1\n ) {\n // Account connection string\n\n let defaultEndpointsProtocol = \"\";\n let accountName = \"\";\n let accountKey = Buffer.from(\"accountKey\", \"base64\");\n let endpointSuffix = \"\";\n\n // Get account name and key\n accountName = getValueInConnString(connectionString, \"AccountName\");\n accountKey = Buffer.from(getValueInConnString(connectionString, \"AccountKey\"), \"base64\");\n\n if (!blobEndpoint) {\n // BlobEndpoint is not present in the Account connection string\n // Can be obtained from `${defaultEndpointsProtocol}://${accountName}.blob.${endpointSuffix}`\n\n defaultEndpointsProtocol = getValueInConnString(connectionString, \"DefaultEndpointsProtocol\");\n const protocol = defaultEndpointsProtocol!.toLowerCase();\n if (protocol !== \"https\" && protocol !== \"http\") {\n throw new Error(\n \"Invalid DefaultEndpointsProtocol in the provided Connection String. Expecting 'https' or 'http'\",\n );\n }\n\n endpointSuffix = getValueInConnString(connectionString, \"EndpointSuffix\");\n if (!endpointSuffix) {\n throw new Error(\"Invalid EndpointSuffix in the provided Connection String\");\n }\n blobEndpoint = `${defaultEndpointsProtocol}://${accountName}.blob.${endpointSuffix}`;\n }\n\n if (!accountName) {\n throw new Error(\"Invalid AccountName in the provided Connection String\");\n } else if (accountKey.length === 0) {\n throw new Error(\"Invalid AccountKey in the provided Connection String\");\n }\n\n return {\n kind: \"AccountConnString\",\n url: blobEndpoint,\n accountName,\n accountKey,\n proxyUri,\n };\n } else {\n // SAS connection string\n\n const accountSas = getValueInConnString(connectionString, \"SharedAccessSignature\");\n let accountName = getValueInConnString(connectionString, \"AccountName\");\n // if accountName is empty, try to read it from BlobEndpoint\n if (!accountName) {\n accountName = getAccountNameFromUrl(blobEndpoint);\n }\n if (!blobEndpoint) {\n throw new Error(\"Invalid BlobEndpoint in the provided SAS Connection String\");\n } else if (!accountSas) {\n throw new Error(\"Invalid SharedAccessSignature in the provided SAS Connection String\");\n }\n\n return { kind: \"SASConnString\", url: blobEndpoint, accountName, accountSas };\n }\n}\n\n/**\n * Internal escape method implemented Strategy Two mentioned in escapeURL() description.\n *\n * @param text -\n */\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nfunction escape(text: string): string {\n return encodeURIComponent(text)\n .replace(/%2F/g, \"/\") // Don't escape for \"/\"\n .replace(/'/g, \"%27\") // Escape for \"'\"\n .replace(/\\+/g, \"%20\")\n .replace(/%25/g, \"%\"); // Revert encoded \"%\"\n}\n\n/**\n * Append a string to URL path. Will remove duplicated \"/\" in front of the string\n * when URL path ends with a \"/\".\n *\n * @param url - Source URL string\n * @param name - String to be appended to URL\n * @returns An updated URL string\n */\nexport function appendToURLPath(url: string, name: string): string {\n const urlParsed = new URL(url);\n\n let path = urlParsed.pathname;\n path = path ? (path.endsWith(\"/\") ? `${path}${name}` : `${path}/${name}`) : name;\n urlParsed.pathname = path;\n\n return urlParsed.toString();\n}\n\n/**\n * Append a string to URL query.\n *\n * @param url - Source URL string.\n * @param queryParts - String to be appended to the URL query.\n * @returns An updated URL string.\n */\nexport function appendToURLQuery(url: string, queryParts: string): string {\n const urlParsed = new URL(url);\n\n let query = urlParsed.search;\n if (query) {\n query += \"&\" + queryParts;\n } else {\n query = queryParts;\n }\n\n urlParsed.search = query;\n return urlParsed.toString();\n}\n\n/**\n * Set URL parameter name and value. If name exists in URL parameters, old value\n * will be replaced by name key. If not provide value, the parameter will be deleted.\n *\n * @param url - Source URL string\n * @param name - Parameter name\n * @param value - Parameter value\n * @returns An updated URL string\n */\nexport function setURLParameter(url: string, name: string, value?: string): string {\n const urlParsed = new URL(url);\n const encodedName = encodeURIComponent(name);\n const encodedValue = value ? encodeURIComponent(value) : undefined;\n // mutating searchParams will change the encoding, so we have to do this ourselves\n const searchString = urlParsed.search === \"\" ? \"?\" : urlParsed.search;\n\n const searchPieces: string[] = [];\n\n for (const pair of searchString.slice(1).split(\"&\")) {\n if (pair) {\n const [key] = pair.split(\"=\", 2);\n if (key !== encodedName) {\n searchPieces.push(pair);\n }\n }\n }\n if (encodedValue) {\n searchPieces.push(`${encodedName}=${encodedValue}`);\n }\n\n urlParsed.search = searchPieces.length ? `?${searchPieces.join(\"&\")}` : \"\";\n\n return urlParsed.toString();\n}\n\n/**\n * Get URL parameter by name.\n *\n * @param url -\n * @param name -\n */\nexport function getURLParameter(url: string, name: string): string | string[] | undefined {\n const urlParsed = new URL(url);\n return urlParsed.searchParams.get(name) ?? undefined;\n}\n\n/**\n * Set URL host.\n *\n * @param url - Source URL string\n * @param host - New host string\n * @returns An updated URL string\n */\nexport function setURLHost(url: string, host: string): string {\n const urlParsed = new URL(url);\n urlParsed.hostname = host;\n return urlParsed.toString();\n}\n\n/**\n * Get URL path from an URL string.\n *\n * @param url - Source URL string\n */\nexport function getURLPath(url: string): string | undefined {\n try {\n const urlParsed = new URL(url);\n return urlParsed.pathname;\n } catch (e) {\n return undefined;\n }\n}\n\n/**\n * Set URL path.\n *\n * @param url -\n * @param path -\n */\nexport function setURLPath(url: string, path: string): string {\n const urlParsed = new URL(url);\n urlParsed.pathname = path;\n return urlParsed.toString();\n}\n\n/**\n * Get URL scheme from an URL string.\n *\n * @param url - Source URL string\n */\nexport function getURLScheme(url: string): string | undefined {\n try {\n const urlParsed = new URL(url);\n return urlParsed.protocol.endsWith(\":\") ? urlParsed.protocol.slice(0, -1) : urlParsed.protocol;\n } catch (e) {\n return undefined;\n }\n}\n\n/**\n * Get URL path and query from an URL string.\n *\n * @param url - Source URL string\n */\nexport function getURLPathAndQuery(url: string): string | undefined {\n const urlParsed = new URL(url);\n const pathString = urlParsed.pathname;\n if (!pathString) {\n throw new RangeError(\"Invalid url without valid path.\");\n }\n\n let queryString = urlParsed.search || \"\";\n queryString = queryString.trim();\n if (queryString !== \"\") {\n queryString = queryString.startsWith(\"?\") ? queryString : `?${queryString}`; // Ensure query string start with '?'\n }\n\n return `${pathString}${queryString}`;\n}\n\n/**\n * Get URL query key value pairs from an URL string.\n *\n * @param url -\n */\nexport function getURLQueries(url: string): { [key: string]: string } {\n let queryString = new URL(url).search;\n if (!queryString) {\n return {};\n }\n\n queryString = queryString.trim();\n queryString = queryString.startsWith(\"?\") ? queryString.substring(1) : queryString;\n\n let querySubStrings: string[] = queryString.split(\"&\");\n querySubStrings = querySubStrings.filter((value: string) => {\n const indexOfEqual = value.indexOf(\"=\");\n const lastIndexOfEqual = value.lastIndexOf(\"=\");\n return (\n indexOfEqual > 0 && indexOfEqual === lastIndexOfEqual && lastIndexOfEqual < value.length - 1\n );\n });\n\n const queries: { [key: string]: string } = {};\n for (const querySubString of querySubStrings) {\n const splitResults = querySubString.split(\"=\");\n const key: string = splitResults[0];\n const value: string = splitResults[1];\n queries[key] = value;\n }\n\n return queries;\n}\n\n/**\n * Set URL query string.\n *\n * @param url -\n * @param queryString -\n */\nexport function setURLQueries(url: string, queryString: string): string {\n const urlParsed = new URL(url);\n urlParsed.search = queryString;\n return urlParsed.toString();\n}\n\n/**\n * Rounds a date off to seconds.\n *\n * @param date -\n * @param withMilliseconds - If true, YYYY-MM-DDThh:mm:ss.fffffffZ will be returned;\n * If false, YYYY-MM-DDThh:mm:ssZ will be returned.\n * @returns Date string in ISO8061 format, with or without 7 milliseconds component\n */\nexport function truncatedISO8061Date(date: Date, withMilliseconds: boolean = true): string {\n // Date.toISOString() will return like \"2018-10-29T06:34:36.139Z\"\n const dateString = date.toISOString();\n\n return withMilliseconds\n ? dateString.substring(0, dateString.length - 1) + \"0000\" + \"Z\"\n : dateString.substring(0, dateString.length - 5) + \"Z\";\n}\n\n/**\n * Base64 encode.\n *\n * @param content -\n */\nexport function base64encode(content: string): string {\n return !isNodeLike ? btoa(content) : Buffer.from(content).toString(\"base64\");\n}\n\n/**\n * Base64 decode.\n *\n * @param encodedString -\n */\nexport function base64decode(encodedString: string): string {\n return !isNodeLike ? atob(encodedString) : Buffer.from(encodedString, \"base64\").toString();\n}\n\n/**\n * Generate a 64 bytes base64 block ID string.\n *\n * @param blockIndex -\n */\nexport function generateBlockID(blockIDPrefix: string, blockIndex: number): string {\n // To generate a 64 bytes base64 string, source string should be 48\n const maxSourceStringLength = 48;\n\n // A blob can have a maximum of 100,000 uncommitted blocks at any given time\n const maxBlockIndexLength = 6;\n\n const maxAllowedBlockIDPrefixLength = maxSourceStringLength - maxBlockIndexLength;\n\n if (blockIDPrefix.length > maxAllowedBlockIDPrefixLength) {\n blockIDPrefix = blockIDPrefix.slice(0, maxAllowedBlockIDPrefixLength);\n }\n const res =\n blockIDPrefix +\n blockIndex.toString().padStart(maxSourceStringLength - blockIDPrefix.length, \"0\");\n return base64encode(res);\n}\n\nexport function sanitizeURL(url: string): string {\n let safeURL: string = url;\n if (getURLParameter(safeURL, UrlConstants.Parameters.SIGNATURE)) {\n safeURL = setURLParameter(safeURL, UrlConstants.Parameters.SIGNATURE, \"*****\");\n }\n\n return safeURL;\n}\n\nexport function sanitizeHeaders(originalHeader: HttpHeaders): HttpHeaders {\n const headers: HttpHeaders = createHttpHeaders();\n for (const [name, value] of originalHeader) {\n if (name.toLowerCase() === HeaderConstants.AUTHORIZATION.toLowerCase()) {\n headers.set(name, \"*****\");\n } else if (name.toLowerCase() === HeaderConstants.X_MS_COPY_SOURCE) {\n headers.set(name, sanitizeURL(value));\n } else {\n headers.set(name, value);\n }\n }\n\n return headers;\n}\n/**\n * If two strings are equal when compared case insensitive.\n *\n * @param str1 -\n * @param str2 -\n */\nexport function iEqual(str1: string, str2: string): boolean {\n return str1.toLocaleLowerCase() === str2.toLocaleLowerCase();\n}\n\n/**\n * Extracts account name from the url\n * @param url - url to extract the account name from\n * @returns with the account name\n */\nexport function getAccountNameFromUrl(url: string): string {\n const parsedUrl = new URL(url);\n let accountName;\n try {\n if (parsedUrl.hostname.split(\".\")[1] === \"blob\") {\n // `${defaultEndpointsProtocol}://${accountName}.blob.${endpointSuffix}`;\n accountName = parsedUrl.hostname.split(\".\")[0];\n } else if (isIpEndpointStyle(parsedUrl)) {\n // IPv4/IPv6 address hosts... Example - http://192.0.0.10:10001/devstoreaccount1/\n // Single word domain without a [dot] in the endpoint... Example - http://localhost:10001/devstoreaccount1/\n // .getPath() -> /devstoreaccount1/\n accountName = parsedUrl.pathname.split(\"/\")[1];\n } else {\n // Custom domain case: \"https://customdomain.com/containername/blob\".\n accountName = \"\";\n }\n return accountName;\n } catch (error: any) {\n throw new Error(\"Unable to extract accountName with provided information.\");\n }\n}\n\nexport function isIpEndpointStyle(parsedUrl: URL): boolean {\n const host = parsedUrl.host;\n\n // Case 1: Ipv6, use a broad regex to find out candidates whose host contains two ':'.\n // Case 2: localhost(:port) or host.docker.internal, use broad regex to match port part.\n // Case 3: Ipv4, use broad regex which just check if host contains Ipv4.\n // For valid host please refer to https://man7.org/linux/man-pages/man7/hostname.7.html.\n return (\n /^.*:.*:.*$|^(localhost|host.docker.internal)(:[0-9]+)?$|^(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])(\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])){3}(:[0-9]+)?$/.test(\n host,\n ) ||\n (Boolean(parsedUrl.port) && PathStylePorts.includes(parsedUrl.port))\n );\n}\n\n/**\n * This is to convert a Windows File Time ticks to a Date object.\n */\nexport function windowsFileTimeTicksToTime(timeNumber: string | undefined): Date | undefined {\n if (!timeNumber) return undefined;\n // A windows file time is a 64-bit value that represents the number of 100-nanosecond intervals that have elapsed\n // since 12:00 A.M. January 1, 1601 Coordinated Universal Time (UTC).\n // JS Date accepts a value that represents milliseconds from 12:00 A.M. January 1, 1970\n // So, we'll handle the calculations in milliseconds from here\n\n // Time in milliseconds since \"12:00 A.M. January 1, 1601\"\n const timeElapsed = parseInt(timeNumber) / 10000;\n\n if (timeElapsed === 0) return undefined;\n\n // Reference - https://stackoverflow.com/a/24188106/4137356\n\n // Milliseconds calculated relative to \"12:00 A.M. January 1, 1970\" (will be negative)\n const initialFrameOfReference = Date.UTC(1601, 0, 1);\n\n // TimeRelativeTo1970 = (TimeAt1601 - TimeAt1970) + (Current - TimeAt1601) = (Current - TimeAt1970)\n return new Date(initialFrameOfReference + timeElapsed);\n}\n\nexport function ensureCpkIfSpecified(cpk: CpkInfo | undefined, isHttps: boolean): void {\n if (cpk && !isHttps) {\n throw new RangeError(\"Customer-provided encryption key must be used over HTTPS.\");\n }\n\n if (cpk && !cpk.encryptionAlgorithm) {\n cpk.encryptionAlgorithm = EncryptionAlgorithmAES25;\n }\n}\n\nexport function ToBlobContainerEncryptionScope(\n fileSystemEncryptionScope?: FileSystemEncryptionScope,\n): ContainerEncryptionScope | undefined {\n if (!fileSystemEncryptionScope) return undefined;\n\n if (!fileSystemEncryptionScope.defaultEncryptionScope) return undefined;\n\n return {\n defaultEncryptionScope: fileSystemEncryptionScope.defaultEncryptionScope,\n preventEncryptionScopeOverride: true,\n };\n}\n\n/**\n * Escape the file or directory name but keep path separator ('/').\n */\nexport function EscapePath(pathName: string): string {\n const split = pathName.split(\"/\");\n for (let i = 0; i < split.length; i++) {\n split[i] = encodeURIComponent(split[i]);\n }\n return split.join(\"/\");\n}\n\n/**\n * A typesafe helper for ensuring that a given response object has\n * the original _response attached.\n * @param response - A response object from calling a client operation\n * @returns The same object, but with known _response property\n */\nexport function assertResponse<T extends object, Headers = undefined, Body = undefined>(\n response: T,\n): WithResponse<T, Headers, Body> {\n if (`_response` in response) {\n return response as WithResponse<T, Headers, Body>;\n }\n\n throw new TypeError(`Unexpected response object ${response}`);\n}\n\nexport interface PathGetPropertiesRawResponseWithExtraPropertiesLike {\n encryptionContext?: string;\n owner?: string;\n group?: string;\n permissions?: PathPermissions;\n acl: PathAccessControlItem[];\n _response: HttpResponse & {\n parsedHeaders: {\n encryptionContext?: string;\n owner?: string;\n group?: string;\n permissions?: PathPermissions;\n acl: PathAccessControlItem[];\n };\n };\n}\n\nfunction ParseHeaderValue(\n rawResponse: PathGetPropertiesRawResponseWithExtraPropertiesLike,\n headerName: string,\n): string | undefined {\n if (rawResponse._response) {\n const headers = rawResponse._response.headers as HttpHeadersLike;\n if (headers) {\n return headers.get(headerName);\n }\n }\n\n return undefined;\n}\n\n/**\n * Parse extra properties values from headers in raw response.\n */\nexport function ParsePathGetPropertiesExtraHeaderValues(\n rawResponse: PathGetPropertiesRawResponseWithExtraPropertiesLike,\n): PathGetPropertiesRawResponseWithExtraPropertiesLike {\n const response = rawResponse;\n response.encryptionContext = ParseHeaderValue(rawResponse, \"x-ms-encryption-context\");\n response.owner = ParseHeaderValue(rawResponse, \"x-ms-owner\");\n response.group = ParseHeaderValue(rawResponse, \"x-ms-group\");\n response.permissions = toPermissions(ParseHeaderValue(rawResponse, \"x-ms-permissions\"));\n response.acl = toAcl(ParseHeaderValue(rawResponse, \"x-ms-acl\"));\n if (response._response?.parsedHeaders) {\n response._response.parsedHeaders.encryptionContext = response.encryptionContext;\n response._response.parsedHeaders.owner = response.owner;\n response._response.parsedHeaders.group = response.group;\n response._response.parsedHeaders.permissions = response.permissions;\n response._response.parsedHeaders.acl = response.acl;\n }\n return response;\n}\n"]}
@@ -0,0 +1,29 @@
1
+ import * as fs from "node:fs";
2
+ /**
3
+ * Reads a readable stream into buffer. Fill the buffer from offset to end.
4
+ *
5
+ * @param stream - A Node.js Readable stream
6
+ * @param buffer - Buffer to be filled, length must greater than or equal to offset
7
+ * @param offset - From which position in the buffer to be filled, inclusive
8
+ * @param end - To which position in the buffer to be filled, exclusive
9
+ * @param encoding - Encoding of the Readable stream
10
+ */
11
+ export declare function streamToBuffer(stream: NodeJS.ReadableStream, buffer: Buffer, offset: number, end: number, encoding?: BufferEncoding): Promise<void>;
12
+ /**
13
+ * Reads a readable stream into buffer entirely.
14
+ *
15
+ * @param stream - A Node.js Readable stream
16
+ * @param buffer - Buffer to be filled, length must greater than or equal to offset
17
+ * @param encoding - Encoding of the Readable stream
18
+ * @returns with the count of bytes read.
19
+ * @throws `RangeError` If buffer size is not big enough.
20
+ */
21
+ export declare function streamToBuffer2(stream: NodeJS.ReadableStream, buffer: Buffer, encoding?: BufferEncoding): Promise<number>;
22
+ /**
23
+ * ONLY AVAILABLE IN NODE.JS RUNTIME.
24
+ *
25
+ * Promisified version of fs.stat().
26
+ */
27
+ export declare const fsStat: typeof fs.stat.__promisify__;
28
+ export declare const fsCreateReadStream: typeof fs.createReadStream;
29
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/utils/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAG9B;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,CAAC,cAAc,EAC7B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,IAAI,CAAC,CAuCf;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,CAAC,cAAc,EAC7B,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,MAAM,CAAC,CA6BjB;AAED;;;;GAIG;AACH,eAAO,MAAM,MAAM,8BAA0B,CAAC;AAE9C,eAAO,MAAM,kBAAkB,4BAAsB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
- import * as fs from "fs";
4
- import * as util from "util";
3
+ import * as fs from "node:fs";
4
+ import * as util from "node:util";
5
5
  /**
6
6
  * Reads a readable stream into buffer. Fill the buffer from offset to end.
7
7
  *
@@ -82,4 +82,4 @@ export async function streamToBuffer2(stream, buffer, encoding) {
82
82
  */
83
83
  export const fsStat = util.promisify(fs.stat);
84
84
  export const fsCreateReadStream = fs.createReadStream;
85
- //# sourceMappingURL=utils.node.js.map
85
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/utils/utils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport * as fs from \"node:fs\";\nimport * as util from \"node:util\";\n\n/**\n * Reads a readable stream into buffer. Fill the buffer from offset to end.\n *\n * @param stream - A Node.js Readable stream\n * @param buffer - Buffer to be filled, length must greater than or equal to offset\n * @param offset - From which position in the buffer to be filled, inclusive\n * @param end - To which position in the buffer to be filled, exclusive\n * @param encoding - Encoding of the Readable stream\n */\nexport async function streamToBuffer(\n stream: NodeJS.ReadableStream,\n buffer: Buffer,\n offset: number,\n end: number,\n encoding?: BufferEncoding,\n): Promise<void> {\n let pos = 0; // Position in stream\n const count = end - offset; // Total amount of data needed in stream\n\n return new Promise<void>((resolve, reject) => {\n stream.on(\"readable\", () => {\n if (pos >= count) {\n resolve();\n return;\n }\n\n let chunk = stream.read();\n if (!chunk) {\n return;\n }\n if (typeof chunk === \"string\") {\n chunk = Buffer.from(chunk, encoding);\n }\n\n // How much data needed in this chunk\n const chunkLength = pos + chunk.length > count ? count - pos : chunk.length;\n\n buffer.fill(chunk.slice(0, chunkLength), offset + pos, offset + pos + chunkLength);\n pos += chunkLength;\n });\n\n stream.on(\"end\", () => {\n if (pos < count) {\n reject(\n new Error(\n `Stream drains before getting enough data needed. Data read: ${pos}, data need: ${count}`,\n ),\n );\n }\n resolve();\n });\n\n stream.on(\"error\", reject);\n });\n}\n\n/**\n * Reads a readable stream into buffer entirely.\n *\n * @param stream - A Node.js Readable stream\n * @param buffer - Buffer to be filled, length must greater than or equal to offset\n * @param encoding - Encoding of the Readable stream\n * @returns with the count of bytes read.\n * @throws `RangeError` If buffer size is not big enough.\n */\nexport async function streamToBuffer2(\n stream: NodeJS.ReadableStream,\n buffer: Buffer,\n encoding?: BufferEncoding,\n): Promise<number> {\n let pos = 0; // Position in stream\n const bufferSize = buffer.length;\n\n return new Promise<number>((resolve, reject) => {\n stream.on(\"readable\", () => {\n let chunk = stream.read();\n if (!chunk) {\n return;\n }\n if (typeof chunk === \"string\") {\n chunk = Buffer.from(chunk, encoding);\n }\n\n if (pos + chunk.length > bufferSize) {\n reject(new Error(`Stream exceeds buffer size. Buffer size: ${bufferSize}`));\n return;\n }\n\n buffer.fill(chunk, pos, pos + chunk.length);\n pos += chunk.length;\n });\n\n stream.on(\"end\", () => {\n resolve(pos);\n });\n\n stream.on(\"error\", reject);\n });\n}\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n *\n * Promisified version of fs.stat().\n */\nexport const fsStat = util.promisify(fs.stat);\n\nexport const fsCreateReadStream = fs.createReadStream;\n"]}