@azure/storage-file-share 12.14.0 → 12.20.0-alpha.20230607.3

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 (324) hide show
  1. package/dist/index.js +5739 -6320
  2. package/dist/index.js.map +1 -1
  3. package/dist-esm/storage-blob/src/BatchResponse.js +4 -0
  4. package/dist-esm/storage-blob/src/BatchResponse.js.map +1 -0
  5. package/dist-esm/storage-blob/src/BatchResponseParser.js +137 -0
  6. package/dist-esm/storage-blob/src/BatchResponseParser.js.map +1 -0
  7. package/dist-esm/storage-blob/src/BatchUtils.browser.js +11 -0
  8. package/dist-esm/storage-blob/src/BatchUtils.browser.js.map +1 -0
  9. package/dist-esm/storage-blob/src/BatchUtils.js +15 -0
  10. package/dist-esm/storage-blob/src/BatchUtils.js.map +1 -0
  11. package/dist-esm/storage-blob/src/BlobBatch.js +267 -0
  12. package/dist-esm/storage-blob/src/BlobBatch.js.map +1 -0
  13. package/dist-esm/storage-blob/src/BlobBatchClient.js +140 -0
  14. package/dist-esm/storage-blob/src/BlobBatchClient.js.map +1 -0
  15. package/dist-esm/storage-blob/src/BlobDownloadResponse.browser.js +7 -0
  16. package/dist-esm/storage-blob/src/BlobDownloadResponse.browser.js.map +1 -0
  17. package/dist-esm/storage-blob/src/BlobDownloadResponse.js +455 -0
  18. package/dist-esm/storage-blob/src/BlobDownloadResponse.js.map +1 -0
  19. package/dist-esm/storage-blob/src/BlobLeaseClient.js +192 -0
  20. package/dist-esm/storage-blob/src/BlobLeaseClient.js.map +1 -0
  21. package/dist-esm/storage-blob/src/BlobQueryResponse.browser.js +362 -0
  22. package/dist-esm/storage-blob/src/BlobQueryResponse.browser.js.map +1 -0
  23. package/dist-esm/storage-blob/src/BlobQueryResponse.js +367 -0
  24. package/dist-esm/storage-blob/src/BlobQueryResponse.js.map +1 -0
  25. package/dist-esm/storage-blob/src/BlobServiceClient.js +702 -0
  26. package/dist-esm/storage-blob/src/BlobServiceClient.js.map +1 -0
  27. package/dist-esm/storage-blob/src/Clients.js +2527 -0
  28. package/dist-esm/storage-blob/src/Clients.js.map +1 -0
  29. package/dist-esm/storage-blob/src/ContainerClient.js +1161 -0
  30. package/dist-esm/storage-blob/src/ContainerClient.js.map +1 -0
  31. package/dist-esm/storage-blob/src/PageBlobRangeResponse.js +24 -0
  32. package/dist-esm/storage-blob/src/PageBlobRangeResponse.js.map +1 -0
  33. package/dist-esm/storage-blob/src/Pipeline.js +259 -0
  34. package/dist-esm/storage-blob/src/Pipeline.js.map +1 -0
  35. package/dist-esm/storage-blob/src/Range.js +21 -0
  36. package/dist-esm/storage-blob/src/Range.js.map +1 -0
  37. package/dist-esm/{src → storage-blob/src}/StorageBrowserPolicyFactory.js +1 -1
  38. package/dist-esm/storage-blob/src/StorageBrowserPolicyFactory.js.map +1 -0
  39. package/dist-esm/storage-blob/src/StorageClient.js +29 -0
  40. package/dist-esm/storage-blob/src/StorageClient.js.map +1 -0
  41. package/dist-esm/storage-blob/src/StorageContextClient.js +17 -0
  42. package/dist-esm/storage-blob/src/StorageContextClient.js.map +1 -0
  43. package/dist-esm/{src → storage-blob/src}/StorageRetryPolicyFactory.js +2 -1
  44. package/dist-esm/storage-blob/src/StorageRetryPolicyFactory.js.map +1 -0
  45. package/dist-esm/{src → storage-blob/src}/credentials/AnonymousCredential.js +1 -1
  46. package/dist-esm/storage-blob/src/credentials/AnonymousCredential.js.map +1 -0
  47. package/dist-esm/storage-blob/src/credentials/Credential.js.map +1 -0
  48. package/dist-esm/storage-blob/src/credentials/StorageSharedKeyCredential.browser.js.map +1 -0
  49. package/dist-esm/{src → storage-blob/src}/credentials/StorageSharedKeyCredential.js +1 -1
  50. package/dist-esm/storage-blob/src/credentials/StorageSharedKeyCredential.js.map +1 -0
  51. package/dist-esm/storage-blob/src/credentials/UserDelegationKeyCredential.browser.js +5 -0
  52. package/dist-esm/storage-blob/src/credentials/UserDelegationKeyCredential.browser.js.map +1 -0
  53. package/dist-esm/storage-blob/src/credentials/UserDelegationKeyCredential.js +31 -0
  54. package/dist-esm/storage-blob/src/credentials/UserDelegationKeyCredential.js.map +1 -0
  55. package/dist-esm/{src → storage-blob/src}/generated/src/index.js +1 -1
  56. package/dist-esm/storage-blob/src/generated/src/index.js.map +1 -0
  57. package/dist-esm/storage-blob/src/generated/src/models/index.js +256 -0
  58. package/dist-esm/storage-blob/src/generated/src/models/index.js.map +1 -0
  59. package/dist-esm/storage-blob/src/generated/src/models/mappers.js +8196 -0
  60. package/dist-esm/storage-blob/src/generated/src/models/mappers.js.map +1 -0
  61. package/dist-esm/storage-blob/src/generated/src/models/parameters.js +1610 -0
  62. package/dist-esm/storage-blob/src/generated/src/models/parameters.js.map +1 -0
  63. package/dist-esm/storage-blob/src/generated/src/operations/appendBlob.js +221 -0
  64. package/dist-esm/storage-blob/src/generated/src/operations/appendBlob.js.map +1 -0
  65. package/dist-esm/storage-blob/src/generated/src/operations/blob.js +997 -0
  66. package/dist-esm/storage-blob/src/generated/src/operations/blob.js.map +1 -0
  67. package/dist-esm/storage-blob/src/generated/src/operations/blockBlob.js +365 -0
  68. package/dist-esm/storage-blob/src/generated/src/operations/blockBlob.js.map +1 -0
  69. package/dist-esm/storage-blob/src/generated/src/operations/container.js +705 -0
  70. package/dist-esm/storage-blob/src/generated/src/operations/container.js.map +1 -0
  71. package/dist-esm/storage-blob/src/generated/src/operations/index.js +14 -0
  72. package/dist-esm/storage-blob/src/generated/src/operations/index.js.map +1 -0
  73. package/dist-esm/storage-blob/src/generated/src/operations/pageBlob.js +456 -0
  74. package/dist-esm/storage-blob/src/generated/src/operations/pageBlob.js.map +1 -0
  75. package/dist-esm/storage-blob/src/generated/src/operations/service.js +315 -0
  76. package/dist-esm/storage-blob/src/generated/src/operations/service.js.map +1 -0
  77. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/appendBlob.js +9 -0
  78. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/appendBlob.js.map +1 -0
  79. package/dist-esm/{src/generated/src/models/index.js → storage-blob/src/generated/src/operationsInterfaces/blob.js} +1 -1
  80. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/blob.js.map +1 -0
  81. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/blockBlob.js +9 -0
  82. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/blockBlob.js.map +1 -0
  83. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/container.js +9 -0
  84. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/container.js.map +1 -0
  85. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/index.js +14 -0
  86. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/index.js.map +1 -0
  87. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/pageBlob.js +9 -0
  88. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/pageBlob.js.map +1 -0
  89. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/service.js +9 -0
  90. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/service.js.map +1 -0
  91. package/dist-esm/storage-blob/src/generated/src/storageClient.js +49 -0
  92. package/dist-esm/storage-blob/src/generated/src/storageClient.js.map +1 -0
  93. package/dist-esm/storage-blob/src/generatedModels.js +4 -0
  94. package/dist-esm/storage-blob/src/generatedModels.js.map +1 -0
  95. package/dist-esm/storage-blob/src/index.browser.js +23 -0
  96. package/dist-esm/storage-blob/src/index.browser.js.map +1 -0
  97. package/dist-esm/storage-blob/src/index.js +33 -0
  98. package/dist-esm/storage-blob/src/index.js.map +1 -0
  99. package/dist-esm/storage-blob/src/log.js +8 -0
  100. package/dist-esm/storage-blob/src/log.js.map +1 -0
  101. package/dist-esm/storage-blob/src/models.js +108 -0
  102. package/dist-esm/storage-blob/src/models.js.map +1 -0
  103. package/dist-esm/storage-blob/src/policies/AnonymousCredentialPolicy.js.map +1 -0
  104. package/dist-esm/{src → storage-blob/src}/policies/CredentialPolicy.js +1 -1
  105. package/dist-esm/storage-blob/src/policies/CredentialPolicy.js.map +1 -0
  106. package/dist-esm/storage-blob/src/policies/RequestPolicy.js +40 -0
  107. package/dist-esm/storage-blob/src/policies/RequestPolicy.js.map +1 -0
  108. package/dist-esm/{src → storage-blob/src}/policies/StorageBrowserPolicy.js +2 -1
  109. package/dist-esm/{src → storage-blob/src}/policies/StorageBrowserPolicy.js.map +1 -1
  110. package/dist-esm/storage-blob/src/policies/StorageBrowserPolicyV2.js +31 -0
  111. package/dist-esm/storage-blob/src/policies/StorageBrowserPolicyV2.js.map +1 -0
  112. package/dist-esm/{src → storage-blob/src}/policies/StorageRetryPolicy.js +15 -6
  113. package/dist-esm/storage-blob/src/policies/StorageRetryPolicy.js.map +1 -0
  114. package/dist-esm/storage-blob/src/policies/StorageRetryPolicyV2.js +165 -0
  115. package/dist-esm/storage-blob/src/policies/StorageRetryPolicyV2.js.map +1 -0
  116. package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicy.js.map +1 -0
  117. package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicyV2.browser.js +18 -0
  118. package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicyV2.browser.js.map +1 -0
  119. package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicyV2.js +131 -0
  120. package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicyV2.js.map +1 -0
  121. package/dist-esm/storage-blob/src/pollers/BlobStartCopyFromUrlPoller.js +130 -0
  122. package/dist-esm/storage-blob/src/pollers/BlobStartCopyFromUrlPoller.js.map +1 -0
  123. package/dist-esm/storage-blob/src/sas/AccountSASPermissions.js +227 -0
  124. package/dist-esm/storage-blob/src/sas/AccountSASPermissions.js.map +1 -0
  125. package/dist-esm/storage-blob/src/sas/AccountSASResourceTypes.js.map +1 -0
  126. package/dist-esm/storage-blob/src/sas/AccountSASServices.js.map +1 -0
  127. package/dist-esm/storage-blob/src/sas/AccountSASSignatureValues.js +93 -0
  128. package/dist-esm/storage-blob/src/sas/AccountSASSignatureValues.js.map +1 -0
  129. package/dist-esm/storage-blob/src/sas/BlobSASPermissions.js +195 -0
  130. package/dist-esm/storage-blob/src/sas/BlobSASPermissions.js.map +1 -0
  131. package/dist-esm/storage-blob/src/sas/BlobSASSignatureValues.js +555 -0
  132. package/dist-esm/storage-blob/src/sas/BlobSASSignatureValues.js.map +1 -0
  133. package/dist-esm/storage-blob/src/sas/ContainerSASPermissions.js +221 -0
  134. package/dist-esm/storage-blob/src/sas/ContainerSASPermissions.js.map +1 -0
  135. package/dist-esm/storage-blob/src/sas/SASQueryParameters.js +234 -0
  136. package/dist-esm/storage-blob/src/sas/SASQueryParameters.js.map +1 -0
  137. package/dist-esm/storage-blob/src/sas/SasIPRange.js +13 -0
  138. package/dist-esm/storage-blob/src/sas/SasIPRange.js.map +1 -0
  139. package/dist-esm/storage-blob/src/utils/Batch.js.map +1 -0
  140. package/dist-esm/storage-blob/src/utils/BlobQuickQueryStream.js +111 -0
  141. package/dist-esm/storage-blob/src/utils/BlobQuickQueryStream.js.map +1 -0
  142. package/dist-esm/storage-blob/src/utils/Mutex.js +66 -0
  143. package/dist-esm/storage-blob/src/utils/Mutex.js.map +1 -0
  144. package/dist-esm/storage-blob/src/utils/RetriableReadableStream.js +119 -0
  145. package/dist-esm/storage-blob/src/utils/RetriableReadableStream.js.map +1 -0
  146. package/dist-esm/storage-blob/src/utils/cache.js +11 -0
  147. package/dist-esm/storage-blob/src/utils/cache.js.map +1 -0
  148. package/dist-esm/storage-blob/src/utils/constants.js +223 -0
  149. package/dist-esm/storage-blob/src/utils/constants.js.map +1 -0
  150. package/dist-esm/storage-blob/src/utils/tracing.js +14 -0
  151. package/dist-esm/storage-blob/src/utils/tracing.js.map +1 -0
  152. package/dist-esm/storage-blob/src/utils/utils.browser.js +48 -0
  153. package/dist-esm/storage-blob/src/utils/utils.browser.js.map +1 -0
  154. package/dist-esm/storage-blob/src/utils/utils.common.js +754 -0
  155. package/dist-esm/storage-blob/src/utils/utils.common.js.map +1 -0
  156. package/dist-esm/storage-blob/src/utils/utils.node.js +132 -0
  157. package/dist-esm/storage-blob/src/utils/utils.node.js.map +1 -0
  158. package/dist-esm/storage-file-share/src/AccountSASPermissions.js.map +1 -0
  159. package/dist-esm/storage-file-share/src/AccountSASResourceTypes.js +72 -0
  160. package/dist-esm/storage-file-share/src/AccountSASResourceTypes.js.map +1 -0
  161. package/dist-esm/storage-file-share/src/AccountSASServices.js +80 -0
  162. package/dist-esm/storage-file-share/src/AccountSASServices.js.map +1 -0
  163. package/dist-esm/storage-file-share/src/AccountSASSignatureValues.js.map +1 -0
  164. package/dist-esm/{src → storage-file-share/src}/Clients.js +476 -1253
  165. package/dist-esm/storage-file-share/src/Clients.js.map +1 -0
  166. package/dist-esm/storage-file-share/src/FileDownloadResponse.browser.js.map +1 -0
  167. package/dist-esm/{src → storage-file-share/src}/FileDownloadResponse.js +15 -14
  168. package/dist-esm/storage-file-share/src/FileDownloadResponse.js.map +1 -0
  169. package/dist-esm/storage-file-share/src/FileSASPermissions.js.map +1 -0
  170. package/dist-esm/storage-file-share/src/FileSASSignatureValues.js.map +1 -0
  171. package/dist-esm/storage-file-share/src/FileSystemAttributes.js.map +1 -0
  172. package/dist-esm/storage-file-share/src/Range.js.map +1 -0
  173. package/dist-esm/{src → storage-file-share/src}/SASQueryParameters.js +14 -14
  174. package/dist-esm/storage-file-share/src/SASQueryParameters.js.map +1 -0
  175. package/dist-esm/storage-file-share/src/SasIPRange.js.map +1 -0
  176. package/dist-esm/{src → storage-file-share/src}/ShareClientInternal.js +1 -2
  177. package/dist-esm/storage-file-share/src/ShareClientInternal.js.map +1 -0
  178. package/dist-esm/storage-file-share/src/ShareSASPermissions.js.map +1 -0
  179. package/dist-esm/{src → storage-file-share/src}/ShareServiceClient.js +58 -121
  180. package/dist-esm/storage-file-share/src/ShareServiceClient.js.map +1 -0
  181. package/dist-esm/{src → storage-file-share/src}/StorageClient.js +20 -14
  182. package/dist-esm/storage-file-share/src/StorageClient.js.map +1 -0
  183. package/dist-esm/storage-file-share/src/StorageContextClient.js +18 -0
  184. package/dist-esm/storage-file-share/src/StorageContextClient.js.map +1 -0
  185. package/dist-esm/storage-file-share/src/generated/src/index.js +11 -0
  186. package/dist-esm/storage-file-share/src/generated/src/index.js.map +1 -0
  187. package/dist-esm/storage-file-share/src/generated/src/models/index.js +144 -0
  188. package/dist-esm/storage-file-share/src/generated/src/models/index.js.map +1 -0
  189. package/dist-esm/{src → storage-file-share/src}/generated/src/models/mappers.js +16 -49
  190. package/dist-esm/storage-file-share/src/generated/src/models/mappers.js.map +1 -0
  191. package/dist-esm/{src → storage-file-share/src}/generated/src/models/parameters.js +17 -37
  192. package/dist-esm/storage-file-share/src/generated/src/models/parameters.js.map +1 -0
  193. package/dist-esm/{src → storage-file-share/src}/generated/src/operations/directory.js +17 -73
  194. package/dist-esm/storage-file-share/src/generated/src/operations/directory.js.map +1 -0
  195. package/dist-esm/{src → storage-file-share/src}/generated/src/operations/file.js +33 -142
  196. package/dist-esm/storage-file-share/src/generated/src/operations/file.js.map +1 -0
  197. package/dist-esm/storage-file-share/src/generated/src/operations/index.js.map +1 -0
  198. package/dist-esm/{src → storage-file-share/src}/generated/src/operations/service.js +7 -17
  199. package/dist-esm/storage-file-share/src/generated/src/operations/service.js.map +1 -0
  200. package/dist-esm/{src → storage-file-share/src}/generated/src/operations/share.js +26 -85
  201. package/dist-esm/storage-file-share/src/generated/src/operations/share.js.map +1 -0
  202. package/dist-esm/storage-file-share/src/generated/src/operationsInterfaces/directory.js +9 -0
  203. package/dist-esm/storage-file-share/src/generated/src/operationsInterfaces/directory.js.map +1 -0
  204. package/dist-esm/storage-file-share/src/generated/src/operationsInterfaces/file.js +9 -0
  205. package/dist-esm/storage-file-share/src/generated/src/operationsInterfaces/file.js.map +1 -0
  206. package/dist-esm/storage-file-share/src/generated/src/operationsInterfaces/index.js +12 -0
  207. package/dist-esm/storage-file-share/src/generated/src/operationsInterfaces/index.js.map +1 -0
  208. package/dist-esm/storage-file-share/src/generated/src/operationsInterfaces/service.js +9 -0
  209. package/dist-esm/storage-file-share/src/generated/src/operationsInterfaces/service.js.map +1 -0
  210. package/dist-esm/storage-file-share/src/generated/src/operationsInterfaces/share.js +9 -0
  211. package/dist-esm/storage-file-share/src/generated/src/operationsInterfaces/share.js.map +1 -0
  212. package/dist-esm/storage-file-share/src/generated/src/storageClient.js +48 -0
  213. package/dist-esm/storage-file-share/src/generated/src/storageClient.js.map +1 -0
  214. package/dist-esm/storage-file-share/src/generatedModels.js +4 -0
  215. package/dist-esm/storage-file-share/src/generatedModels.js.map +1 -0
  216. package/dist-esm/storage-file-share/src/index.browser.js +18 -0
  217. package/dist-esm/storage-file-share/src/index.browser.js.map +1 -0
  218. package/dist-esm/storage-file-share/src/index.js +28 -0
  219. package/dist-esm/storage-file-share/src/index.js.map +1 -0
  220. package/dist-esm/storage-file-share/src/log.js.map +1 -0
  221. package/dist-esm/storage-file-share/src/models.js.map +1 -0
  222. package/dist-esm/storage-file-share/src/utils/Batch.js +122 -0
  223. package/dist-esm/storage-file-share/src/utils/Batch.js.map +1 -0
  224. package/dist-esm/storage-file-share/src/utils/BufferScheduler.js.map +1 -0
  225. package/dist-esm/{src → storage-file-share/src}/utils/RetriableReadableStream.js +51 -48
  226. package/dist-esm/storage-file-share/src/utils/RetriableReadableStream.js.map +1 -0
  227. package/dist-esm/{src → storage-file-share/src}/utils/constants.js +2 -6
  228. package/dist-esm/storage-file-share/src/utils/constants.js.map +1 -0
  229. package/dist-esm/storage-file-share/src/utils/tracing.js +14 -0
  230. package/dist-esm/storage-file-share/src/utils/tracing.js.map +1 -0
  231. package/dist-esm/storage-file-share/src/utils/utils.browser.js.map +1 -0
  232. package/dist-esm/{src → storage-file-share/src}/utils/utils.common.js +82 -95
  233. package/dist-esm/storage-file-share/src/utils/utils.common.js.map +1 -0
  234. package/dist-esm/storage-file-share/src/utils/utils.node.js.map +1 -0
  235. package/package.json +31 -25
  236. package/types/3.1/storage-file-share.d.ts +1454 -529
  237. package/types/latest/storage-file-share.d.ts +1580 -549
  238. package/dist-esm/src/AccountSASPermissions.js.map +0 -1
  239. package/dist-esm/src/AccountSASResourceTypes.js.map +0 -1
  240. package/dist-esm/src/AccountSASServices.js.map +0 -1
  241. package/dist-esm/src/AccountSASSignatureValues.js.map +0 -1
  242. package/dist-esm/src/Clients.js.map +0 -1
  243. package/dist-esm/src/FileDownloadResponse.browser.js.map +0 -1
  244. package/dist-esm/src/FileDownloadResponse.js.map +0 -1
  245. package/dist-esm/src/FileSASPermissions.js.map +0 -1
  246. package/dist-esm/src/FileSASSignatureValues.js.map +0 -1
  247. package/dist-esm/src/FileSystemAttributes.js.map +0 -1
  248. package/dist-esm/src/Pipeline.js +0 -88
  249. package/dist-esm/src/Pipeline.js.map +0 -1
  250. package/dist-esm/src/Range.js.map +0 -1
  251. package/dist-esm/src/SASQueryParameters.js.map +0 -1
  252. package/dist-esm/src/SasIPRange.js.map +0 -1
  253. package/dist-esm/src/ShareClientInternal.js.map +0 -1
  254. package/dist-esm/src/ShareSASPermissions.js.map +0 -1
  255. package/dist-esm/src/ShareServiceClient.js.map +0 -1
  256. package/dist-esm/src/StorageBrowserPolicyFactory.js.map +0 -1
  257. package/dist-esm/src/StorageClient.js.map +0 -1
  258. package/dist-esm/src/StorageRetryPolicyFactory.js.map +0 -1
  259. package/dist-esm/src/TelemetryPolicyFactory.js +0 -50
  260. package/dist-esm/src/TelemetryPolicyFactory.js.map +0 -1
  261. package/dist-esm/src/credentials/AnonymousCredential.js.map +0 -1
  262. package/dist-esm/src/credentials/Credential.js.map +0 -1
  263. package/dist-esm/src/credentials/StorageSharedKeyCredential.browser.js.map +0 -1
  264. package/dist-esm/src/credentials/StorageSharedKeyCredential.js.map +0 -1
  265. package/dist-esm/src/generated/src/index.js.map +0 -1
  266. package/dist-esm/src/generated/src/models/index.js.map +0 -1
  267. package/dist-esm/src/generated/src/models/mappers.js.map +0 -1
  268. package/dist-esm/src/generated/src/models/parameters.js.map +0 -1
  269. package/dist-esm/src/generated/src/operations/directory.js.map +0 -1
  270. package/dist-esm/src/generated/src/operations/file.js.map +0 -1
  271. package/dist-esm/src/generated/src/operations/index.js.map +0 -1
  272. package/dist-esm/src/generated/src/operations/service.js.map +0 -1
  273. package/dist-esm/src/generated/src/operations/share.js.map +0 -1
  274. package/dist-esm/src/generated/src/storageClient.js +0 -25
  275. package/dist-esm/src/generated/src/storageClient.js.map +0 -1
  276. package/dist-esm/src/generated/src/storageClientContext.js +0 -40
  277. package/dist-esm/src/generated/src/storageClientContext.js.map +0 -1
  278. package/dist-esm/src/generatedModels.js +0 -8
  279. package/dist-esm/src/generatedModels.js.map +0 -1
  280. package/dist-esm/src/index.browser.js +0 -17
  281. package/dist-esm/src/index.browser.js.map +0 -1
  282. package/dist-esm/src/index.js +0 -27
  283. package/dist-esm/src/index.js.map +0 -1
  284. package/dist-esm/src/log.js.map +0 -1
  285. package/dist-esm/src/models.js.map +0 -1
  286. package/dist-esm/src/policies/AnonymousCredentialPolicy.js.map +0 -1
  287. package/dist-esm/src/policies/CredentialPolicy.js.map +0 -1
  288. package/dist-esm/src/policies/StorageRetryPolicy.js.map +0 -1
  289. package/dist-esm/src/policies/StorageSharedKeyCredentialPolicy.js.map +0 -1
  290. package/dist-esm/src/policies/TelemetryPolicy.js +0 -36
  291. package/dist-esm/src/policies/TelemetryPolicy.js.map +0 -1
  292. package/dist-esm/src/utils/Batch.js.map +0 -1
  293. package/dist-esm/src/utils/BufferScheduler.js.map +0 -1
  294. package/dist-esm/src/utils/RetriableReadableStream.js.map +0 -1
  295. package/dist-esm/src/utils/cache.js +0 -8
  296. package/dist-esm/src/utils/cache.js.map +0 -1
  297. package/dist-esm/src/utils/constants.js.map +0 -1
  298. package/dist-esm/src/utils/tracing.js +0 -27
  299. package/dist-esm/src/utils/tracing.js.map +0 -1
  300. package/dist-esm/src/utils/utils.browser.js.map +0 -1
  301. package/dist-esm/src/utils/utils.common.js.map +0 -1
  302. package/dist-esm/src/utils/utils.node.js.map +0 -1
  303. /package/dist-esm/{src → storage-blob/src}/credentials/Credential.js +0 -0
  304. /package/dist-esm/{src → storage-blob/src}/credentials/StorageSharedKeyCredential.browser.js +0 -0
  305. /package/dist-esm/{src → storage-blob/src}/policies/AnonymousCredentialPolicy.js +0 -0
  306. /package/dist-esm/{src → storage-blob/src}/policies/StorageSharedKeyCredentialPolicy.js +0 -0
  307. /package/dist-esm/{src → storage-blob/src/sas}/AccountSASResourceTypes.js +0 -0
  308. /package/dist-esm/{src → storage-blob/src/sas}/AccountSASServices.js +0 -0
  309. /package/dist-esm/{src → storage-blob/src}/utils/Batch.js +0 -0
  310. /package/dist-esm/{src → storage-file-share/src}/AccountSASPermissions.js +0 -0
  311. /package/dist-esm/{src → storage-file-share/src}/AccountSASSignatureValues.js +0 -0
  312. /package/dist-esm/{src → storage-file-share/src}/FileDownloadResponse.browser.js +0 -0
  313. /package/dist-esm/{src → storage-file-share/src}/FileSASPermissions.js +0 -0
  314. /package/dist-esm/{src → storage-file-share/src}/FileSASSignatureValues.js +0 -0
  315. /package/dist-esm/{src → storage-file-share/src}/FileSystemAttributes.js +0 -0
  316. /package/dist-esm/{src → storage-file-share/src}/Range.js +0 -0
  317. /package/dist-esm/{src → storage-file-share/src}/SasIPRange.js +0 -0
  318. /package/dist-esm/{src → storage-file-share/src}/ShareSASPermissions.js +0 -0
  319. /package/dist-esm/{src → storage-file-share/src}/generated/src/operations/index.js +0 -0
  320. /package/dist-esm/{src → storage-file-share/src}/log.js +0 -0
  321. /package/dist-esm/{src → storage-file-share/src}/models.js +0 -0
  322. /package/dist-esm/{src → storage-file-share/src}/utils/BufferScheduler.js +0 -0
  323. /package/dist-esm/{src → storage-file-share/src}/utils/utils.browser.js +0 -0
  324. /package/dist-esm/{src → storage-file-share/src}/utils/utils.node.js +0 -0
@@ -0,0 +1,555 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT license.
3
+ import { BlobSASPermissions } from "./BlobSASPermissions";
4
+ import { ContainerSASPermissions } from "./ContainerSASPermissions";
5
+ import { StorageSharedKeyCredential } from "../credentials/StorageSharedKeyCredential";
6
+ import { UserDelegationKeyCredential } from "../credentials/UserDelegationKeyCredential";
7
+ import { ipRangeToString } from "./SasIPRange";
8
+ import { SASQueryParameters } from "./SASQueryParameters";
9
+ import { SERVICE_VERSION } from "../utils/constants";
10
+ import { truncatedISO8061Date } from "../utils/utils.common";
11
+ export function generateBlobSASQueryParameters(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName) {
12
+ const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : SERVICE_VERSION;
13
+ const sharedKeyCredential = sharedKeyCredentialOrUserDelegationKey instanceof StorageSharedKeyCredential
14
+ ? sharedKeyCredentialOrUserDelegationKey
15
+ : undefined;
16
+ let userDelegationKeyCredential;
17
+ if (sharedKeyCredential === undefined && accountName !== undefined) {
18
+ userDelegationKeyCredential = new UserDelegationKeyCredential(accountName, sharedKeyCredentialOrUserDelegationKey);
19
+ }
20
+ if (sharedKeyCredential === undefined && userDelegationKeyCredential === undefined) {
21
+ throw TypeError("Invalid sharedKeyCredential, userDelegationKey or accountName.");
22
+ }
23
+ // Version 2020-12-06 adds support for encryptionscope in SAS.
24
+ if (version >= "2020-12-06") {
25
+ if (sharedKeyCredential !== undefined) {
26
+ return generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKeyCredential);
27
+ }
28
+ else {
29
+ return generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userDelegationKeyCredential);
30
+ }
31
+ }
32
+ // Version 2019-12-12 adds support for the blob tags permission.
33
+ // Version 2018-11-09 adds support for the signed resource and signed blob snapshot time fields.
34
+ // https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas#constructing-the-signature-string
35
+ if (version >= "2018-11-09") {
36
+ if (sharedKeyCredential !== undefined) {
37
+ return generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential);
38
+ }
39
+ else {
40
+ // Version 2020-02-10 delegation SAS signature construction includes preauthorizedAgentObjectId, agentObjectId, correlationId.
41
+ if (version >= "2020-02-10") {
42
+ return generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userDelegationKeyCredential);
43
+ }
44
+ else {
45
+ return generateBlobSASQueryParametersUDK20181109(blobSASSignatureValues, userDelegationKeyCredential);
46
+ }
47
+ }
48
+ }
49
+ if (version >= "2015-04-05") {
50
+ if (sharedKeyCredential !== undefined) {
51
+ return generateBlobSASQueryParameters20150405(blobSASSignatureValues, sharedKeyCredential);
52
+ }
53
+ else {
54
+ throw new RangeError("'version' must be >= '2018-11-09' when generating user delegation SAS using user delegation key.");
55
+ }
56
+ }
57
+ throw new RangeError("'version' must be >= '2015-04-05'.");
58
+ }
59
+ /**
60
+ * ONLY AVAILABLE IN NODE.JS RUNTIME.
61
+ * IMPLEMENTATION FOR API VERSION FROM 2015-04-05 AND BEFORE 2018-11-09.
62
+ *
63
+ * Creates an instance of SASQueryParameters.
64
+ *
65
+ * Only accepts required settings needed to create a SAS. For optional settings please
66
+ * set corresponding properties directly, such as permissions, startsOn and identifier.
67
+ *
68
+ * WARNING: When identifier is not provided, permissions and expiresOn are required.
69
+ * You MUST assign value to identifier or expiresOn & permissions manually if you initial with
70
+ * this constructor.
71
+ *
72
+ * @param blobSASSignatureValues -
73
+ * @param sharedKeyCredential -
74
+ */
75
+ function generateBlobSASQueryParameters20150405(blobSASSignatureValues, sharedKeyCredential) {
76
+ blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
77
+ if (!blobSASSignatureValues.identifier &&
78
+ !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
79
+ throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
80
+ }
81
+ let resource = "c";
82
+ if (blobSASSignatureValues.blobName) {
83
+ resource = "b";
84
+ }
85
+ // Calling parse and toString guarantees the proper ordering and throws on invalid characters.
86
+ let verifiedPermissions;
87
+ if (blobSASSignatureValues.permissions) {
88
+ if (blobSASSignatureValues.blobName) {
89
+ verifiedPermissions = BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
90
+ }
91
+ else {
92
+ verifiedPermissions = ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
93
+ }
94
+ }
95
+ // Signature is generated on the un-url-encoded values.
96
+ const stringToSign = [
97
+ verifiedPermissions ? verifiedPermissions : "",
98
+ blobSASSignatureValues.startsOn
99
+ ? truncatedISO8061Date(blobSASSignatureValues.startsOn, false)
100
+ : "",
101
+ blobSASSignatureValues.expiresOn
102
+ ? truncatedISO8061Date(blobSASSignatureValues.expiresOn, false)
103
+ : "",
104
+ getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
105
+ blobSASSignatureValues.identifier,
106
+ blobSASSignatureValues.ipRange ? ipRangeToString(blobSASSignatureValues.ipRange) : "",
107
+ blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
108
+ blobSASSignatureValues.version,
109
+ blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
110
+ blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
111
+ blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
112
+ blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
113
+ blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : "",
114
+ ].join("\n");
115
+ const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
116
+ return new SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, undefined, undefined, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType);
117
+ }
118
+ /**
119
+ * ONLY AVAILABLE IN NODE.JS RUNTIME.
120
+ * IMPLEMENTATION FOR API VERSION FROM 2018-11-09.
121
+ *
122
+ * Creates an instance of SASQueryParameters.
123
+ *
124
+ * Only accepts required settings needed to create a SAS. For optional settings please
125
+ * set corresponding properties directly, such as permissions, startsOn and identifier.
126
+ *
127
+ * WARNING: When identifier is not provided, permissions and expiresOn are required.
128
+ * You MUST assign value to identifier or expiresOn & permissions manually if you initial with
129
+ * this constructor.
130
+ *
131
+ * @param blobSASSignatureValues -
132
+ * @param sharedKeyCredential -
133
+ */
134
+ function generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential) {
135
+ blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
136
+ if (!blobSASSignatureValues.identifier &&
137
+ !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
138
+ throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
139
+ }
140
+ let resource = "c";
141
+ let timestamp = blobSASSignatureValues.snapshotTime;
142
+ if (blobSASSignatureValues.blobName) {
143
+ resource = "b";
144
+ if (blobSASSignatureValues.snapshotTime) {
145
+ resource = "bs";
146
+ }
147
+ else if (blobSASSignatureValues.versionId) {
148
+ resource = "bv";
149
+ timestamp = blobSASSignatureValues.versionId;
150
+ }
151
+ }
152
+ // Calling parse and toString guarantees the proper ordering and throws on invalid characters.
153
+ let verifiedPermissions;
154
+ if (blobSASSignatureValues.permissions) {
155
+ if (blobSASSignatureValues.blobName) {
156
+ verifiedPermissions = BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
157
+ }
158
+ else {
159
+ verifiedPermissions = ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
160
+ }
161
+ }
162
+ // Signature is generated on the un-url-encoded values.
163
+ const stringToSign = [
164
+ verifiedPermissions ? verifiedPermissions : "",
165
+ blobSASSignatureValues.startsOn
166
+ ? truncatedISO8061Date(blobSASSignatureValues.startsOn, false)
167
+ : "",
168
+ blobSASSignatureValues.expiresOn
169
+ ? truncatedISO8061Date(blobSASSignatureValues.expiresOn, false)
170
+ : "",
171
+ getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
172
+ blobSASSignatureValues.identifier,
173
+ blobSASSignatureValues.ipRange ? ipRangeToString(blobSASSignatureValues.ipRange) : "",
174
+ blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
175
+ blobSASSignatureValues.version,
176
+ resource,
177
+ timestamp,
178
+ blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
179
+ blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
180
+ blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
181
+ blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
182
+ blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : "",
183
+ ].join("\n");
184
+ const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
185
+ return new SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, undefined, undefined, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType);
186
+ }
187
+ /**
188
+ * ONLY AVAILABLE IN NODE.JS RUNTIME.
189
+ * IMPLEMENTATION FOR API VERSION FROM 2020-12-06.
190
+ *
191
+ * Creates an instance of SASQueryParameters.
192
+ *
193
+ * Only accepts required settings needed to create a SAS. For optional settings please
194
+ * set corresponding properties directly, such as permissions, startsOn and identifier.
195
+ *
196
+ * WARNING: When identifier is not provided, permissions and expiresOn are required.
197
+ * You MUST assign value to identifier or expiresOn & permissions manually if you initial with
198
+ * this constructor.
199
+ *
200
+ * @param blobSASSignatureValues -
201
+ * @param sharedKeyCredential -
202
+ */
203
+ function generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKeyCredential) {
204
+ blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
205
+ if (!blobSASSignatureValues.identifier &&
206
+ !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
207
+ throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
208
+ }
209
+ let resource = "c";
210
+ let timestamp = blobSASSignatureValues.snapshotTime;
211
+ if (blobSASSignatureValues.blobName) {
212
+ resource = "b";
213
+ if (blobSASSignatureValues.snapshotTime) {
214
+ resource = "bs";
215
+ }
216
+ else if (blobSASSignatureValues.versionId) {
217
+ resource = "bv";
218
+ timestamp = blobSASSignatureValues.versionId;
219
+ }
220
+ }
221
+ // Calling parse and toString guarantees the proper ordering and throws on invalid characters.
222
+ let verifiedPermissions;
223
+ if (blobSASSignatureValues.permissions) {
224
+ if (blobSASSignatureValues.blobName) {
225
+ verifiedPermissions = BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
226
+ }
227
+ else {
228
+ verifiedPermissions = ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
229
+ }
230
+ }
231
+ // Signature is generated on the un-url-encoded values.
232
+ const stringToSign = [
233
+ verifiedPermissions ? verifiedPermissions : "",
234
+ blobSASSignatureValues.startsOn
235
+ ? truncatedISO8061Date(blobSASSignatureValues.startsOn, false)
236
+ : "",
237
+ blobSASSignatureValues.expiresOn
238
+ ? truncatedISO8061Date(blobSASSignatureValues.expiresOn, false)
239
+ : "",
240
+ getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
241
+ blobSASSignatureValues.identifier,
242
+ blobSASSignatureValues.ipRange ? ipRangeToString(blobSASSignatureValues.ipRange) : "",
243
+ blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
244
+ blobSASSignatureValues.version,
245
+ resource,
246
+ timestamp,
247
+ blobSASSignatureValues.encryptionScope,
248
+ blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
249
+ blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
250
+ blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
251
+ blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
252
+ blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : "",
253
+ ].join("\n");
254
+ const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
255
+ return new SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, undefined, undefined, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, undefined, undefined, undefined, blobSASSignatureValues.encryptionScope);
256
+ }
257
+ /**
258
+ * ONLY AVAILABLE IN NODE.JS RUNTIME.
259
+ * IMPLEMENTATION FOR API VERSION FROM 2018-11-09.
260
+ *
261
+ * Creates an instance of SASQueryParameters.
262
+ *
263
+ * Only accepts required settings needed to create a SAS. For optional settings please
264
+ * set corresponding properties directly, such as permissions, startsOn.
265
+ *
266
+ * WARNING: identifier will be ignored, permissions and expiresOn are required.
267
+ *
268
+ * @param blobSASSignatureValues -
269
+ * @param userDelegationKeyCredential -
270
+ */
271
+ function generateBlobSASQueryParametersUDK20181109(blobSASSignatureValues, userDelegationKeyCredential) {
272
+ blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
273
+ // Stored access policies are not supported for a user delegation SAS.
274
+ if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
275
+ throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
276
+ }
277
+ let resource = "c";
278
+ let timestamp = blobSASSignatureValues.snapshotTime;
279
+ if (blobSASSignatureValues.blobName) {
280
+ resource = "b";
281
+ if (blobSASSignatureValues.snapshotTime) {
282
+ resource = "bs";
283
+ }
284
+ else if (blobSASSignatureValues.versionId) {
285
+ resource = "bv";
286
+ timestamp = blobSASSignatureValues.versionId;
287
+ }
288
+ }
289
+ // Calling parse and toString guarantees the proper ordering and throws on invalid characters.
290
+ let verifiedPermissions;
291
+ if (blobSASSignatureValues.permissions) {
292
+ if (blobSASSignatureValues.blobName) {
293
+ verifiedPermissions = BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
294
+ }
295
+ else {
296
+ verifiedPermissions = ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
297
+ }
298
+ }
299
+ // Signature is generated on the un-url-encoded values.
300
+ const stringToSign = [
301
+ verifiedPermissions ? verifiedPermissions : "",
302
+ blobSASSignatureValues.startsOn
303
+ ? truncatedISO8061Date(blobSASSignatureValues.startsOn, false)
304
+ : "",
305
+ blobSASSignatureValues.expiresOn
306
+ ? truncatedISO8061Date(blobSASSignatureValues.expiresOn, false)
307
+ : "",
308
+ getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
309
+ userDelegationKeyCredential.userDelegationKey.signedObjectId,
310
+ userDelegationKeyCredential.userDelegationKey.signedTenantId,
311
+ userDelegationKeyCredential.userDelegationKey.signedStartsOn
312
+ ? truncatedISO8061Date(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false)
313
+ : "",
314
+ userDelegationKeyCredential.userDelegationKey.signedExpiresOn
315
+ ? truncatedISO8061Date(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false)
316
+ : "",
317
+ userDelegationKeyCredential.userDelegationKey.signedService,
318
+ userDelegationKeyCredential.userDelegationKey.signedVersion,
319
+ blobSASSignatureValues.ipRange ? ipRangeToString(blobSASSignatureValues.ipRange) : "",
320
+ blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
321
+ blobSASSignatureValues.version,
322
+ resource,
323
+ timestamp,
324
+ blobSASSignatureValues.cacheControl,
325
+ blobSASSignatureValues.contentDisposition,
326
+ blobSASSignatureValues.contentEncoding,
327
+ blobSASSignatureValues.contentLanguage,
328
+ blobSASSignatureValues.contentType,
329
+ ].join("\n");
330
+ const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
331
+ return new SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, undefined, undefined, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey);
332
+ }
333
+ /**
334
+ * ONLY AVAILABLE IN NODE.JS RUNTIME.
335
+ * IMPLEMENTATION FOR API VERSION FROM 2020-02-10.
336
+ *
337
+ * Creates an instance of SASQueryParameters.
338
+ *
339
+ * Only accepts required settings needed to create a SAS. For optional settings please
340
+ * set corresponding properties directly, such as permissions, startsOn.
341
+ *
342
+ * WARNING: identifier will be ignored, permissions and expiresOn are required.
343
+ *
344
+ * @param blobSASSignatureValues -
345
+ * @param userDelegationKeyCredential -
346
+ */
347
+ function generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userDelegationKeyCredential) {
348
+ blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
349
+ // Stored access policies are not supported for a user delegation SAS.
350
+ if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
351
+ throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
352
+ }
353
+ let resource = "c";
354
+ let timestamp = blobSASSignatureValues.snapshotTime;
355
+ if (blobSASSignatureValues.blobName) {
356
+ resource = "b";
357
+ if (blobSASSignatureValues.snapshotTime) {
358
+ resource = "bs";
359
+ }
360
+ else if (blobSASSignatureValues.versionId) {
361
+ resource = "bv";
362
+ timestamp = blobSASSignatureValues.versionId;
363
+ }
364
+ }
365
+ // Calling parse and toString guarantees the proper ordering and throws on invalid characters.
366
+ let verifiedPermissions;
367
+ if (blobSASSignatureValues.permissions) {
368
+ if (blobSASSignatureValues.blobName) {
369
+ verifiedPermissions = BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
370
+ }
371
+ else {
372
+ verifiedPermissions = ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
373
+ }
374
+ }
375
+ // Signature is generated on the un-url-encoded values.
376
+ const stringToSign = [
377
+ verifiedPermissions ? verifiedPermissions : "",
378
+ blobSASSignatureValues.startsOn
379
+ ? truncatedISO8061Date(blobSASSignatureValues.startsOn, false)
380
+ : "",
381
+ blobSASSignatureValues.expiresOn
382
+ ? truncatedISO8061Date(blobSASSignatureValues.expiresOn, false)
383
+ : "",
384
+ getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
385
+ userDelegationKeyCredential.userDelegationKey.signedObjectId,
386
+ userDelegationKeyCredential.userDelegationKey.signedTenantId,
387
+ userDelegationKeyCredential.userDelegationKey.signedStartsOn
388
+ ? truncatedISO8061Date(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false)
389
+ : "",
390
+ userDelegationKeyCredential.userDelegationKey.signedExpiresOn
391
+ ? truncatedISO8061Date(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false)
392
+ : "",
393
+ userDelegationKeyCredential.userDelegationKey.signedService,
394
+ userDelegationKeyCredential.userDelegationKey.signedVersion,
395
+ blobSASSignatureValues.preauthorizedAgentObjectId,
396
+ undefined,
397
+ blobSASSignatureValues.correlationId,
398
+ blobSASSignatureValues.ipRange ? ipRangeToString(blobSASSignatureValues.ipRange) : "",
399
+ blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
400
+ blobSASSignatureValues.version,
401
+ resource,
402
+ timestamp,
403
+ blobSASSignatureValues.cacheControl,
404
+ blobSASSignatureValues.contentDisposition,
405
+ blobSASSignatureValues.contentEncoding,
406
+ blobSASSignatureValues.contentLanguage,
407
+ blobSASSignatureValues.contentType,
408
+ ].join("\n");
409
+ const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
410
+ return new SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, undefined, undefined, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId);
411
+ }
412
+ /**
413
+ * ONLY AVAILABLE IN NODE.JS RUNTIME.
414
+ * IMPLEMENTATION FOR API VERSION FROM 2020-12-06.
415
+ *
416
+ * Creates an instance of SASQueryParameters.
417
+ *
418
+ * Only accepts required settings needed to create a SAS. For optional settings please
419
+ * set corresponding properties directly, such as permissions, startsOn.
420
+ *
421
+ * WARNING: identifier will be ignored, permissions and expiresOn are required.
422
+ *
423
+ * @param blobSASSignatureValues -
424
+ * @param userDelegationKeyCredential -
425
+ */
426
+ function generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userDelegationKeyCredential) {
427
+ blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
428
+ // Stored access policies are not supported for a user delegation SAS.
429
+ if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
430
+ throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
431
+ }
432
+ let resource = "c";
433
+ let timestamp = blobSASSignatureValues.snapshotTime;
434
+ if (blobSASSignatureValues.blobName) {
435
+ resource = "b";
436
+ if (blobSASSignatureValues.snapshotTime) {
437
+ resource = "bs";
438
+ }
439
+ else if (blobSASSignatureValues.versionId) {
440
+ resource = "bv";
441
+ timestamp = blobSASSignatureValues.versionId;
442
+ }
443
+ }
444
+ // Calling parse and toString guarantees the proper ordering and throws on invalid characters.
445
+ let verifiedPermissions;
446
+ if (blobSASSignatureValues.permissions) {
447
+ if (blobSASSignatureValues.blobName) {
448
+ verifiedPermissions = BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
449
+ }
450
+ else {
451
+ verifiedPermissions = ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
452
+ }
453
+ }
454
+ // Signature is generated on the un-url-encoded values.
455
+ const stringToSign = [
456
+ verifiedPermissions ? verifiedPermissions : "",
457
+ blobSASSignatureValues.startsOn
458
+ ? truncatedISO8061Date(blobSASSignatureValues.startsOn, false)
459
+ : "",
460
+ blobSASSignatureValues.expiresOn
461
+ ? truncatedISO8061Date(blobSASSignatureValues.expiresOn, false)
462
+ : "",
463
+ getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
464
+ userDelegationKeyCredential.userDelegationKey.signedObjectId,
465
+ userDelegationKeyCredential.userDelegationKey.signedTenantId,
466
+ userDelegationKeyCredential.userDelegationKey.signedStartsOn
467
+ ? truncatedISO8061Date(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false)
468
+ : "",
469
+ userDelegationKeyCredential.userDelegationKey.signedExpiresOn
470
+ ? truncatedISO8061Date(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false)
471
+ : "",
472
+ userDelegationKeyCredential.userDelegationKey.signedService,
473
+ userDelegationKeyCredential.userDelegationKey.signedVersion,
474
+ blobSASSignatureValues.preauthorizedAgentObjectId,
475
+ undefined,
476
+ blobSASSignatureValues.correlationId,
477
+ blobSASSignatureValues.ipRange ? ipRangeToString(blobSASSignatureValues.ipRange) : "",
478
+ blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
479
+ blobSASSignatureValues.version,
480
+ resource,
481
+ timestamp,
482
+ blobSASSignatureValues.encryptionScope,
483
+ blobSASSignatureValues.cacheControl,
484
+ blobSASSignatureValues.contentDisposition,
485
+ blobSASSignatureValues.contentEncoding,
486
+ blobSASSignatureValues.contentLanguage,
487
+ blobSASSignatureValues.contentType,
488
+ ].join("\n");
489
+ const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
490
+ return new SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, undefined, undefined, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId, blobSASSignatureValues.encryptionScope);
491
+ }
492
+ function getCanonicalName(accountName, containerName, blobName) {
493
+ // Container: "/blob/account/containerName"
494
+ // Blob: "/blob/account/containerName/blobName"
495
+ const elements = [`/blob/${accountName}/${containerName}`];
496
+ if (blobName) {
497
+ elements.push(`/${blobName}`);
498
+ }
499
+ return elements.join("");
500
+ }
501
+ function SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues) {
502
+ const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : SERVICE_VERSION;
503
+ if (blobSASSignatureValues.snapshotTime && version < "2018-11-09") {
504
+ throw RangeError("'version' must be >= '2018-11-09' when providing 'snapshotTime'.");
505
+ }
506
+ if (blobSASSignatureValues.blobName === undefined && blobSASSignatureValues.snapshotTime) {
507
+ throw RangeError("Must provide 'blobName' when providing 'snapshotTime'.");
508
+ }
509
+ if (blobSASSignatureValues.versionId && version < "2019-10-10") {
510
+ throw RangeError("'version' must be >= '2019-10-10' when providing 'versionId'.");
511
+ }
512
+ if (blobSASSignatureValues.blobName === undefined && blobSASSignatureValues.versionId) {
513
+ throw RangeError("Must provide 'blobName' when providing 'versionId'.");
514
+ }
515
+ if (blobSASSignatureValues.permissions &&
516
+ blobSASSignatureValues.permissions.setImmutabilityPolicy &&
517
+ version < "2020-08-04") {
518
+ throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission.");
519
+ }
520
+ if (blobSASSignatureValues.permissions &&
521
+ blobSASSignatureValues.permissions.deleteVersion &&
522
+ version < "2019-10-10") {
523
+ throw RangeError("'version' must be >= '2019-10-10' when providing 'x' permission.");
524
+ }
525
+ if (blobSASSignatureValues.permissions &&
526
+ blobSASSignatureValues.permissions.permanentDelete &&
527
+ version < "2019-10-10") {
528
+ throw RangeError("'version' must be >= '2019-10-10' when providing 'y' permission.");
529
+ }
530
+ if (blobSASSignatureValues.permissions &&
531
+ blobSASSignatureValues.permissions.tag &&
532
+ version < "2019-12-12") {
533
+ throw RangeError("'version' must be >= '2019-12-12' when providing 't' permission.");
534
+ }
535
+ if (version < "2020-02-10" &&
536
+ blobSASSignatureValues.permissions &&
537
+ (blobSASSignatureValues.permissions.move || blobSASSignatureValues.permissions.execute)) {
538
+ throw RangeError("'version' must be >= '2020-02-10' when providing the 'm' or 'e' permission.");
539
+ }
540
+ if (version < "2021-04-10" &&
541
+ blobSASSignatureValues.permissions &&
542
+ blobSASSignatureValues.permissions.filterByTags) {
543
+ throw RangeError("'version' must be >= '2021-04-10' when providing the 'f' permission.");
544
+ }
545
+ if (version < "2020-02-10" &&
546
+ (blobSASSignatureValues.preauthorizedAgentObjectId || blobSASSignatureValues.correlationId)) {
547
+ throw RangeError("'version' must be >= '2020-02-10' when providing 'preauthorizedAgentObjectId' or 'correlationId'.");
548
+ }
549
+ if (blobSASSignatureValues.encryptionScope && version < "2020-12-06") {
550
+ throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS.");
551
+ }
552
+ blobSASSignatureValues.version = version;
553
+ return blobSASSignatureValues;
554
+ }
555
+ //# sourceMappingURL=BlobSASSignatureValues.js.map