@azure/storage-file-datalake 12.27.0-beta.1 → 12.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (299) hide show
  1. package/dist/browser/DataLakeFileSystemClient.d.ts +13 -13
  2. package/dist/browser/DataLakeFileSystemClient.js +136 -93
  3. package/dist/browser/DataLakeFileSystemClient.js.map +1 -1
  4. package/dist/browser/DataLakeLeaseClient.js +1 -0
  5. package/dist/browser/DataLakeLeaseClient.js.map +1 -1
  6. package/dist/browser/DataLakeServiceClient.d.ts +6 -6
  7. package/dist/browser/DataLakeServiceClient.js +28 -11
  8. package/dist/browser/DataLakeServiceClient.js.map +1 -1
  9. package/dist/browser/Pipeline.js +24 -15
  10. package/dist/browser/Pipeline.js.map +1 -1
  11. package/dist/browser/StorageClient.js +43 -3
  12. package/dist/browser/StorageClient.js.map +1 -1
  13. package/dist/browser/StorageContextClient.js +2 -3
  14. package/dist/browser/StorageContextClient.js.map +1 -1
  15. package/dist/browser/clients.d.ts +33 -33
  16. package/dist/browser/clients.js +269 -89
  17. package/dist/browser/clients.js.map +1 -1
  18. package/dist/browser/generated/src/operations/fileSystemOperations.js +1 -0
  19. package/dist/browser/generated/src/operations/fileSystemOperations.js.map +1 -1
  20. package/dist/browser/generated/src/operations/pathOperations.js +1 -0
  21. package/dist/browser/generated/src/operations/pathOperations.js.map +1 -1
  22. package/dist/browser/generated/src/operations/service.js +1 -0
  23. package/dist/browser/generated/src/operations/service.js.map +1 -1
  24. package/dist/browser/generated/src/storageClient.js +15 -4
  25. package/dist/browser/generated/src/storageClient.js.map +1 -1
  26. package/dist/browser/index-browser.d.mts.map +1 -1
  27. package/dist/browser/index-browser.mjs.map +1 -1
  28. package/dist/browser/index.d.ts +1 -1
  29. package/dist/browser/index.js +1 -1
  30. package/dist/browser/models.d.ts +1 -1
  31. package/dist/browser/models.js.map +1 -1
  32. package/dist/browser/sas/AccountSASPermissions.d.ts +1 -1
  33. package/dist/browser/sas/AccountSASPermissions.js +34 -36
  34. package/dist/browser/sas/AccountSASPermissions.js.map +1 -1
  35. package/dist/browser/sas/AccountSASResourceTypes.d.ts +1 -1
  36. package/dist/browser/sas/AccountSASResourceTypes.js +13 -15
  37. package/dist/browser/sas/AccountSASResourceTypes.js.map +1 -1
  38. package/dist/browser/sas/AccountSASServices.js +16 -18
  39. package/dist/browser/sas/AccountSASServices.js.map +1 -1
  40. package/dist/browser/sas/AccountSASSignatureValues.d.ts +3 -3
  41. package/dist/browser/sas/AccountSASSignatureValues.js +1 -1
  42. package/dist/browser/sas/AccountSASSignatureValues.js.map +1 -1
  43. package/dist/browser/sas/DataLakeSASPermissions.js +39 -41
  44. package/dist/browser/sas/DataLakeSASPermissions.js.map +1 -1
  45. package/dist/browser/sas/DataLakeSASSignatureValues.d.ts +1 -1
  46. package/dist/browser/sas/DataLakeSASSignatureValues.js +4 -3
  47. package/dist/browser/sas/DataLakeSASSignatureValues.js.map +1 -1
  48. package/dist/browser/sas/DirectorySASPermissions.d.ts +1 -1
  49. package/dist/browser/sas/DirectorySASPermissions.js +44 -46
  50. package/dist/browser/sas/DirectorySASPermissions.js.map +1 -1
  51. package/dist/browser/sas/FileSystemSASPermissions.d.ts +1 -1
  52. package/dist/browser/sas/FileSystemSASPermissions.js +44 -46
  53. package/dist/browser/sas/FileSystemSASPermissions.js.map +1 -1
  54. package/dist/browser/sas/SASQueryParameters.d.ts +2 -2
  55. package/dist/browser/sas/SASQueryParameters.js +131 -2
  56. package/dist/browser/sas/SASQueryParameters.js.map +1 -1
  57. package/dist/browser/transforms.js +8 -1
  58. package/dist/browser/transforms.js.map +1 -1
  59. package/dist/browser/utils/Batch.js +29 -21
  60. package/dist/browser/utils/Batch.js.map +1 -1
  61. package/dist/browser/utils/BufferScheduler.js +70 -44
  62. package/dist/browser/utils/BufferScheduler.js.map +1 -1
  63. package/dist/browser/utils/DataLakeAclChangeFailedError.js +8 -0
  64. package/dist/browser/utils/DataLakeAclChangeFailedError.js.map +1 -1
  65. package/dist/browser/utils/PathClientInternal.js +4 -0
  66. package/dist/browser/utils/PathClientInternal.js.map +1 -1
  67. package/dist/browser/utils/constants.d.ts.map +1 -1
  68. package/dist/browser/utils/constants.js +1 -1
  69. package/dist/browser/utils/constants.js.map +1 -1
  70. package/dist/browser/utils/utils.common.d.ts +2 -2
  71. package/dist/browser/utils/utils.common.js +5 -7
  72. package/dist/browser/utils/utils.common.js.map +1 -1
  73. package/dist/commonjs/DataLakeFileSystemClient.d.ts +13 -13
  74. package/dist/commonjs/DataLakeFileSystemClient.js +136 -93
  75. package/dist/commonjs/DataLakeFileSystemClient.js.map +1 -1
  76. package/dist/commonjs/DataLakeLeaseClient.js +1 -0
  77. package/dist/commonjs/DataLakeLeaseClient.js.map +1 -1
  78. package/dist/commonjs/DataLakeServiceClient.d.ts +6 -6
  79. package/dist/commonjs/DataLakeServiceClient.js +28 -11
  80. package/dist/commonjs/DataLakeServiceClient.js.map +1 -1
  81. package/dist/commonjs/Pipeline.js +32 -23
  82. package/dist/commonjs/Pipeline.js.map +1 -1
  83. package/dist/commonjs/StorageClient.js +43 -3
  84. package/dist/commonjs/StorageClient.js.map +1 -1
  85. package/dist/commonjs/StorageContextClient.js +2 -3
  86. package/dist/commonjs/StorageContextClient.js.map +1 -1
  87. package/dist/commonjs/clients.d.ts +33 -33
  88. package/dist/commonjs/clients.js +269 -89
  89. package/dist/commonjs/clients.js.map +1 -1
  90. package/dist/commonjs/credentials/UserDelegationKeyCredential.d.ts +1 -1
  91. package/dist/commonjs/credentials/UserDelegationKeyCredential.js +13 -1
  92. package/dist/commonjs/credentials/UserDelegationKeyCredential.js.map +1 -1
  93. package/dist/commonjs/generated/src/operations/fileSystemOperations.js +1 -0
  94. package/dist/commonjs/generated/src/operations/fileSystemOperations.js.map +1 -1
  95. package/dist/commonjs/generated/src/operations/pathOperations.js +1 -0
  96. package/dist/commonjs/generated/src/operations/pathOperations.js.map +1 -1
  97. package/dist/commonjs/generated/src/operations/service.js +1 -0
  98. package/dist/commonjs/generated/src/operations/service.js.map +1 -1
  99. package/dist/commonjs/generated/src/storageClient.js +15 -4
  100. package/dist/commonjs/generated/src/storageClient.js.map +1 -1
  101. package/dist/commonjs/models.d.ts +1 -1
  102. package/dist/commonjs/models.js.map +1 -1
  103. package/dist/commonjs/sas/AccountSASPermissions.d.ts +1 -1
  104. package/dist/commonjs/sas/AccountSASPermissions.js +34 -36
  105. package/dist/commonjs/sas/AccountSASPermissions.js.map +1 -1
  106. package/dist/commonjs/sas/AccountSASResourceTypes.d.ts +1 -1
  107. package/dist/commonjs/sas/AccountSASResourceTypes.js +13 -15
  108. package/dist/commonjs/sas/AccountSASResourceTypes.js.map +1 -1
  109. package/dist/commonjs/sas/AccountSASServices.js +16 -18
  110. package/dist/commonjs/sas/AccountSASServices.js.map +1 -1
  111. package/dist/commonjs/sas/AccountSASSignatureValues.d.ts +3 -3
  112. package/dist/commonjs/sas/AccountSASSignatureValues.js +1 -1
  113. package/dist/commonjs/sas/AccountSASSignatureValues.js.map +1 -1
  114. package/dist/commonjs/sas/DataLakeSASPermissions.js +39 -41
  115. package/dist/commonjs/sas/DataLakeSASPermissions.js.map +1 -1
  116. package/dist/commonjs/sas/DataLakeSASSignatureValues.d.ts +1 -1
  117. package/dist/commonjs/sas/DataLakeSASSignatureValues.js +4 -3
  118. package/dist/commonjs/sas/DataLakeSASSignatureValues.js.map +1 -1
  119. package/dist/commonjs/sas/DirectorySASPermissions.d.ts +1 -1
  120. package/dist/commonjs/sas/DirectorySASPermissions.js +44 -46
  121. package/dist/commonjs/sas/DirectorySASPermissions.js.map +1 -1
  122. package/dist/commonjs/sas/FileSystemSASPermissions.d.ts +1 -1
  123. package/dist/commonjs/sas/FileSystemSASPermissions.js +44 -46
  124. package/dist/commonjs/sas/FileSystemSASPermissions.js.map +1 -1
  125. package/dist/commonjs/sas/SASQueryParameters.d.ts +2 -2
  126. package/dist/commonjs/sas/SASQueryParameters.js +131 -2
  127. package/dist/commonjs/sas/SASQueryParameters.js.map +1 -1
  128. package/dist/commonjs/transforms.js +8 -1
  129. package/dist/commonjs/transforms.js.map +1 -1
  130. package/dist/commonjs/tsdoc-metadata.json +11 -11
  131. package/dist/commonjs/utils/Batch.js +29 -21
  132. package/dist/commonjs/utils/Batch.js.map +1 -1
  133. package/dist/commonjs/utils/BufferScheduler.js +70 -44
  134. package/dist/commonjs/utils/BufferScheduler.js.map +1 -1
  135. package/dist/commonjs/utils/DataLakeAclChangeFailedError.js +8 -0
  136. package/dist/commonjs/utils/DataLakeAclChangeFailedError.js.map +1 -1
  137. package/dist/commonjs/utils/PathClientInternal.js +4 -0
  138. package/dist/commonjs/utils/PathClientInternal.js.map +1 -1
  139. package/dist/commonjs/utils/constants.d.ts.map +1 -1
  140. package/dist/commonjs/utils/constants.js +1 -1
  141. package/dist/commonjs/utils/constants.js.map +1 -1
  142. package/dist/commonjs/utils/utils.common.d.ts +2 -2
  143. package/dist/commonjs/utils/utils.common.js +5 -7
  144. package/dist/commonjs/utils/utils.common.js.map +1 -1
  145. package/dist/commonjs/utils/utils.d.ts +1 -1
  146. package/dist/commonjs/utils/utils.d.ts.map +1 -1
  147. package/dist/commonjs/utils/utils.js +4 -4
  148. package/dist/commonjs/utils/utils.js.map +1 -1
  149. package/dist/esm/DataLakeFileSystemClient.d.ts +13 -13
  150. package/dist/esm/DataLakeFileSystemClient.js +136 -93
  151. package/dist/esm/DataLakeFileSystemClient.js.map +1 -1
  152. package/dist/esm/DataLakeLeaseClient.js +1 -0
  153. package/dist/esm/DataLakeLeaseClient.js.map +1 -1
  154. package/dist/esm/DataLakeServiceClient.d.ts +6 -6
  155. package/dist/esm/DataLakeServiceClient.js +28 -11
  156. package/dist/esm/DataLakeServiceClient.js.map +1 -1
  157. package/dist/esm/Pipeline.js +24 -15
  158. package/dist/esm/Pipeline.js.map +1 -1
  159. package/dist/esm/StorageClient.js +43 -3
  160. package/dist/esm/StorageClient.js.map +1 -1
  161. package/dist/esm/StorageContextClient.js +2 -3
  162. package/dist/esm/StorageContextClient.js.map +1 -1
  163. package/dist/esm/clients.d.ts +33 -33
  164. package/dist/esm/clients.js +269 -89
  165. package/dist/esm/clients.js.map +1 -1
  166. package/dist/esm/credentials/UserDelegationKeyCredential.d.ts +1 -1
  167. package/dist/esm/credentials/UserDelegationKeyCredential.js +13 -1
  168. package/dist/esm/credentials/UserDelegationKeyCredential.js.map +1 -1
  169. package/dist/esm/generated/src/operations/fileSystemOperations.js +1 -0
  170. package/dist/esm/generated/src/operations/fileSystemOperations.js.map +1 -1
  171. package/dist/esm/generated/src/operations/pathOperations.js +1 -0
  172. package/dist/esm/generated/src/operations/pathOperations.js.map +1 -1
  173. package/dist/esm/generated/src/operations/service.js +1 -0
  174. package/dist/esm/generated/src/operations/service.js.map +1 -1
  175. package/dist/esm/generated/src/storageClient.js +15 -4
  176. package/dist/esm/generated/src/storageClient.js.map +1 -1
  177. package/dist/esm/models.d.ts +1 -1
  178. package/dist/esm/models.js.map +1 -1
  179. package/dist/esm/sas/AccountSASPermissions.d.ts +1 -1
  180. package/dist/esm/sas/AccountSASPermissions.js +34 -36
  181. package/dist/esm/sas/AccountSASPermissions.js.map +1 -1
  182. package/dist/esm/sas/AccountSASResourceTypes.d.ts +1 -1
  183. package/dist/esm/sas/AccountSASResourceTypes.js +13 -15
  184. package/dist/esm/sas/AccountSASResourceTypes.js.map +1 -1
  185. package/dist/esm/sas/AccountSASServices.js +16 -18
  186. package/dist/esm/sas/AccountSASServices.js.map +1 -1
  187. package/dist/esm/sas/AccountSASSignatureValues.d.ts +3 -3
  188. package/dist/esm/sas/AccountSASSignatureValues.js +1 -1
  189. package/dist/esm/sas/AccountSASSignatureValues.js.map +1 -1
  190. package/dist/esm/sas/DataLakeSASPermissions.js +39 -41
  191. package/dist/esm/sas/DataLakeSASPermissions.js.map +1 -1
  192. package/dist/esm/sas/DataLakeSASSignatureValues.d.ts +1 -1
  193. package/dist/esm/sas/DataLakeSASSignatureValues.js +4 -3
  194. package/dist/esm/sas/DataLakeSASSignatureValues.js.map +1 -1
  195. package/dist/esm/sas/DirectorySASPermissions.d.ts +1 -1
  196. package/dist/esm/sas/DirectorySASPermissions.js +44 -46
  197. package/dist/esm/sas/DirectorySASPermissions.js.map +1 -1
  198. package/dist/esm/sas/FileSystemSASPermissions.d.ts +1 -1
  199. package/dist/esm/sas/FileSystemSASPermissions.js +44 -46
  200. package/dist/esm/sas/FileSystemSASPermissions.js.map +1 -1
  201. package/dist/esm/sas/SASQueryParameters.d.ts +2 -2
  202. package/dist/esm/sas/SASQueryParameters.js +131 -2
  203. package/dist/esm/sas/SASQueryParameters.js.map +1 -1
  204. package/dist/esm/transforms.js +8 -1
  205. package/dist/esm/transforms.js.map +1 -1
  206. package/dist/esm/utils/Batch.js +29 -21
  207. package/dist/esm/utils/Batch.js.map +1 -1
  208. package/dist/esm/utils/BufferScheduler.js +70 -44
  209. package/dist/esm/utils/BufferScheduler.js.map +1 -1
  210. package/dist/esm/utils/DataLakeAclChangeFailedError.js +8 -0
  211. package/dist/esm/utils/DataLakeAclChangeFailedError.js.map +1 -1
  212. package/dist/esm/utils/PathClientInternal.js +4 -0
  213. package/dist/esm/utils/PathClientInternal.js.map +1 -1
  214. package/dist/esm/utils/constants.d.ts.map +1 -1
  215. package/dist/esm/utils/constants.js +1 -1
  216. package/dist/esm/utils/constants.js.map +1 -1
  217. package/dist/esm/utils/utils.common.d.ts +2 -2
  218. package/dist/esm/utils/utils.common.js +5 -7
  219. package/dist/esm/utils/utils.common.js.map +1 -1
  220. package/dist/esm/utils/utils.d.ts +1 -1
  221. package/dist/esm/utils/utils.d.ts.map +1 -1
  222. package/dist/esm/utils/utils.js +2 -2
  223. package/dist/esm/utils/utils.js.map +1 -1
  224. package/dist/react-native/DataLakeFileSystemClient.d.ts +13 -13
  225. package/dist/react-native/DataLakeFileSystemClient.js +136 -93
  226. package/dist/react-native/DataLakeFileSystemClient.js.map +1 -1
  227. package/dist/react-native/DataLakeLeaseClient.js +1 -0
  228. package/dist/react-native/DataLakeLeaseClient.js.map +1 -1
  229. package/dist/react-native/DataLakeServiceClient.d.ts +6 -6
  230. package/dist/react-native/DataLakeServiceClient.js +28 -11
  231. package/dist/react-native/DataLakeServiceClient.js.map +1 -1
  232. package/dist/react-native/Pipeline.js +24 -15
  233. package/dist/react-native/Pipeline.js.map +1 -1
  234. package/dist/react-native/StorageClient.js +43 -3
  235. package/dist/react-native/StorageClient.js.map +1 -1
  236. package/dist/react-native/StorageContextClient.js +2 -3
  237. package/dist/react-native/StorageContextClient.js.map +1 -1
  238. package/dist/react-native/clients.d.ts +33 -33
  239. package/dist/react-native/clients.js +269 -89
  240. package/dist/react-native/clients.js.map +1 -1
  241. package/dist/react-native/credentials/UserDelegationKeyCredential.d.ts +1 -1
  242. package/dist/react-native/credentials/UserDelegationKeyCredential.js +13 -1
  243. package/dist/react-native/credentials/UserDelegationKeyCredential.js.map +1 -1
  244. package/dist/react-native/generated/src/operations/fileSystemOperations.js +1 -0
  245. package/dist/react-native/generated/src/operations/fileSystemOperations.js.map +1 -1
  246. package/dist/react-native/generated/src/operations/pathOperations.js +1 -0
  247. package/dist/react-native/generated/src/operations/pathOperations.js.map +1 -1
  248. package/dist/react-native/generated/src/operations/service.js +1 -0
  249. package/dist/react-native/generated/src/operations/service.js.map +1 -1
  250. package/dist/react-native/generated/src/storageClient.js +15 -4
  251. package/dist/react-native/generated/src/storageClient.js.map +1 -1
  252. package/dist/react-native/models.d.ts +1 -1
  253. package/dist/react-native/models.js.map +1 -1
  254. package/dist/react-native/sas/AccountSASPermissions.d.ts +1 -1
  255. package/dist/react-native/sas/AccountSASPermissions.js +34 -36
  256. package/dist/react-native/sas/AccountSASPermissions.js.map +1 -1
  257. package/dist/react-native/sas/AccountSASResourceTypes.d.ts +1 -1
  258. package/dist/react-native/sas/AccountSASResourceTypes.js +13 -15
  259. package/dist/react-native/sas/AccountSASResourceTypes.js.map +1 -1
  260. package/dist/react-native/sas/AccountSASServices.js +16 -18
  261. package/dist/react-native/sas/AccountSASServices.js.map +1 -1
  262. package/dist/react-native/sas/AccountSASSignatureValues.d.ts +3 -3
  263. package/dist/react-native/sas/AccountSASSignatureValues.js +1 -1
  264. package/dist/react-native/sas/AccountSASSignatureValues.js.map +1 -1
  265. package/dist/react-native/sas/DataLakeSASPermissions.js +39 -41
  266. package/dist/react-native/sas/DataLakeSASPermissions.js.map +1 -1
  267. package/dist/react-native/sas/DataLakeSASSignatureValues.d.ts +1 -1
  268. package/dist/react-native/sas/DataLakeSASSignatureValues.js +4 -3
  269. package/dist/react-native/sas/DataLakeSASSignatureValues.js.map +1 -1
  270. package/dist/react-native/sas/DirectorySASPermissions.d.ts +1 -1
  271. package/dist/react-native/sas/DirectorySASPermissions.js +44 -46
  272. package/dist/react-native/sas/DirectorySASPermissions.js.map +1 -1
  273. package/dist/react-native/sas/FileSystemSASPermissions.d.ts +1 -1
  274. package/dist/react-native/sas/FileSystemSASPermissions.js +44 -46
  275. package/dist/react-native/sas/FileSystemSASPermissions.js.map +1 -1
  276. package/dist/react-native/sas/SASQueryParameters.d.ts +2 -2
  277. package/dist/react-native/sas/SASQueryParameters.js +131 -2
  278. package/dist/react-native/sas/SASQueryParameters.js.map +1 -1
  279. package/dist/react-native/transforms.js +8 -1
  280. package/dist/react-native/transforms.js.map +1 -1
  281. package/dist/react-native/utils/Batch.js +29 -21
  282. package/dist/react-native/utils/Batch.js.map +1 -1
  283. package/dist/react-native/utils/BufferScheduler.js +70 -44
  284. package/dist/react-native/utils/BufferScheduler.js.map +1 -1
  285. package/dist/react-native/utils/DataLakeAclChangeFailedError.js +8 -0
  286. package/dist/react-native/utils/DataLakeAclChangeFailedError.js.map +1 -1
  287. package/dist/react-native/utils/PathClientInternal.js +4 -0
  288. package/dist/react-native/utils/PathClientInternal.js.map +1 -1
  289. package/dist/react-native/utils/constants.d.ts.map +1 -1
  290. package/dist/react-native/utils/constants.js +1 -1
  291. package/dist/react-native/utils/constants.js.map +1 -1
  292. package/dist/react-native/utils/utils.common.d.ts +2 -2
  293. package/dist/react-native/utils/utils.common.js +5 -7
  294. package/dist/react-native/utils/utils.common.js.map +1 -1
  295. package/dist/react-native/utils/utils.d.ts +1 -1
  296. package/dist/react-native/utils/utils.d.ts.map +1 -1
  297. package/dist/react-native/utils/utils.js +2 -2
  298. package/dist/react-native/utils/utils.js.map +1 -1
  299. package/package.json +8 -8
@@ -11,51 +11,6 @@ exports.FileSystemSASPermissions = void 0;
11
11
  * the order of the permissions is particular and this class guarantees correctness.
12
12
  */
13
13
  class FileSystemSASPermissions {
14
- constructor() {
15
- /**
16
- * Specifies Read access granted.
17
- */
18
- this.read = false;
19
- /**
20
- * Specifies Add access granted.
21
- */
22
- this.add = false;
23
- /**
24
- * Specifies Create access granted.
25
- */
26
- this.create = false;
27
- /**
28
- * Specifies Write access granted.
29
- */
30
- this.write = false;
31
- /**
32
- * Specifies Delete access granted.
33
- */
34
- this.delete = false;
35
- /**
36
- * Specifies List access granted.
37
- */
38
- this.list = false;
39
- /**
40
- * Specifies Move access granted.
41
- */
42
- this.move = false;
43
- /**
44
- * Specifies Execute access granted.
45
- */
46
- this.execute = false;
47
- /**
48
- * Specifies Ownership access granted, which allows the caller to set owner, owning group,
49
- * or act as the owner when renaming or deleting a blob (file or directory) within a folder
50
- * that has the sticky bit set.
51
- */
52
- this.manageOwnership = false;
53
- /**
54
- * Specifies Permission access granted, which allows the caller to set permissions and
55
- * POSIX ACLs on blobs (files and directories).
56
- */
57
- this.manageAccessControl = false;
58
- }
59
14
  /**
60
15
  * Creates an {@link FileSystemSASPermissions} from the specified permissions string. This method will throw an
61
16
  * Error if it encounters a character that does not correspond to a valid permission.
@@ -102,12 +57,55 @@ class FileSystemSASPermissions {
102
57
  }
103
58
  return containerSASPermissions;
104
59
  }
60
+ /**
61
+ * Specifies Read access granted.
62
+ */
63
+ read = false;
64
+ /**
65
+ * Specifies Add access granted.
66
+ */
67
+ add = false;
68
+ /**
69
+ * Specifies Create access granted.
70
+ */
71
+ create = false;
72
+ /**
73
+ * Specifies Write access granted.
74
+ */
75
+ write = false;
76
+ /**
77
+ * Specifies Delete access granted.
78
+ */
79
+ delete = false;
80
+ /**
81
+ * Specifies List access granted.
82
+ */
83
+ list = false;
84
+ /**
85
+ * Specifies Move access granted.
86
+ */
87
+ move = false;
88
+ /**
89
+ * Specifies Execute access granted.
90
+ */
91
+ execute = false;
92
+ /**
93
+ * Specifies Ownership access granted, which allows the caller to set owner, owning group,
94
+ * or act as the owner when renaming or deleting a blob (file or directory) within a folder
95
+ * that has the sticky bit set.
96
+ */
97
+ manageOwnership = false;
98
+ /**
99
+ * Specifies Permission access granted, which allows the caller to set permissions and
100
+ * POSIX ACLs on blobs (files and directories).
101
+ */
102
+ manageAccessControl = false;
105
103
  /**
106
104
  * Converts the given permissions to a string. Using this method will guarantee the permissions are in an
107
105
  * order accepted by the service.
108
106
  *
109
107
  * The order of the characters should be as specified here to ensure correctness.
110
- * @see https://learn.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas
108
+ * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
111
109
  *
112
110
  */
113
111
  toString() {
@@ -1 +1 @@
1
- {"version":3,"file":"FileSystemSASPermissions.js","sourceRoot":"","sources":["../../../src/sas/FileSystemSASPermissions.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * This is a helper class to construct a string representing the permissions granted by a ServiceSAS to a container.\n * Setting a value to true means that any SAS which uses these permissions will grant permissions for that operation.\n * Once all the values are set, this should be serialized with toString and set as the permissions field on a\n * {@link DataLakeSASSignatureValues} object. It is possible to construct the permissions string without this class, but\n * the order of the permissions is particular and this class guarantees correctness.\n */\nexport class FileSystemSASPermissions {\n /**\n * Creates an {@link FileSystemSASPermissions} from the specified permissions string. This method will throw an\n * Error if it encounters a character that does not correspond to a valid permission.\n *\n * @param permissions -\n */\n public static parse(permissions: string): FileSystemSASPermissions {\n const containerSASPermissions = new FileSystemSASPermissions();\n\n for (const char of permissions) {\n switch (char) {\n case \"r\":\n containerSASPermissions.read = true;\n break;\n case \"a\":\n containerSASPermissions.add = true;\n break;\n case \"c\":\n containerSASPermissions.create = true;\n break;\n case \"w\":\n containerSASPermissions.write = true;\n break;\n case \"d\":\n containerSASPermissions.delete = true;\n break;\n case \"l\":\n containerSASPermissions.list = true;\n break;\n case \"m\":\n containerSASPermissions.move = true;\n break;\n case \"e\":\n containerSASPermissions.execute = true;\n break;\n case \"o\":\n containerSASPermissions.manageOwnership = true;\n break;\n case \"p\":\n containerSASPermissions.manageAccessControl = true;\n break;\n default:\n throw new RangeError(`Invalid permission ${char}`);\n }\n }\n\n return containerSASPermissions;\n }\n\n /**\n * Specifies Read access granted.\n */\n public read: boolean = false;\n\n /**\n * Specifies Add access granted.\n */\n public add: boolean = false;\n\n /**\n * Specifies Create access granted.\n */\n public create: boolean = false;\n\n /**\n * Specifies Write access granted.\n */\n public write: boolean = false;\n\n /**\n * Specifies Delete access granted.\n */\n public delete: boolean = false;\n\n /**\n * Specifies List access granted.\n */\n public list: boolean = false;\n\n /**\n * Specifies Move access granted.\n */\n public move: boolean = false;\n\n /**\n * Specifies Execute access granted.\n */\n public execute: boolean = false;\n\n /**\n * Specifies Ownership access granted, which allows the caller to set owner, owning group,\n * or act as the owner when renaming or deleting a blob (file or directory) within a folder\n * that has the sticky bit set.\n */\n public manageOwnership: boolean = false;\n\n /**\n * Specifies Permission access granted, which allows the caller to set permissions and\n * POSIX ACLs on blobs (files and directories).\n */\n public manageAccessControl: boolean = false;\n\n /**\n * Converts the given permissions to a string. Using this method will guarantee the permissions are in an\n * order accepted by the service.\n *\n * The order of the characters should be as specified here to ensure correctness.\n * @see https://learn.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas\n *\n */\n public toString(): string {\n const permissions: string[] = [];\n if (this.read) {\n permissions.push(\"r\");\n }\n if (this.add) {\n permissions.push(\"a\");\n }\n if (this.create) {\n permissions.push(\"c\");\n }\n if (this.write) {\n permissions.push(\"w\");\n }\n if (this.delete) {\n permissions.push(\"d\");\n }\n if (this.list) {\n permissions.push(\"l\");\n }\n if (this.move) {\n permissions.push(\"m\");\n }\n if (this.execute) {\n permissions.push(\"e\");\n }\n if (this.manageOwnership) {\n permissions.push(\"o\");\n }\n if (this.manageAccessControl) {\n permissions.push(\"p\");\n }\n return permissions.join(\"\");\n }\n}\n"]}
1
+ {"version":3,"file":"FileSystemSASPermissions.js","sourceRoot":"","sources":["../../../src/sas/FileSystemSASPermissions.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * This is a helper class to construct a string representing the permissions granted by a ServiceSAS to a container.\n * Setting a value to true means that any SAS which uses these permissions will grant permissions for that operation.\n * Once all the values are set, this should be serialized with toString and set as the permissions field on a\n * {@link DataLakeSASSignatureValues} object. It is possible to construct the permissions string without this class, but\n * the order of the permissions is particular and this class guarantees correctness.\n */\nexport class FileSystemSASPermissions {\n /**\n * Creates an {@link FileSystemSASPermissions} from the specified permissions string. This method will throw an\n * Error if it encounters a character that does not correspond to a valid permission.\n *\n * @param permissions -\n */\n public static parse(permissions: string): FileSystemSASPermissions {\n const containerSASPermissions = new FileSystemSASPermissions();\n\n for (const char of permissions) {\n switch (char) {\n case \"r\":\n containerSASPermissions.read = true;\n break;\n case \"a\":\n containerSASPermissions.add = true;\n break;\n case \"c\":\n containerSASPermissions.create = true;\n break;\n case \"w\":\n containerSASPermissions.write = true;\n break;\n case \"d\":\n containerSASPermissions.delete = true;\n break;\n case \"l\":\n containerSASPermissions.list = true;\n break;\n case \"m\":\n containerSASPermissions.move = true;\n break;\n case \"e\":\n containerSASPermissions.execute = true;\n break;\n case \"o\":\n containerSASPermissions.manageOwnership = true;\n break;\n case \"p\":\n containerSASPermissions.manageAccessControl = true;\n break;\n default:\n throw new RangeError(`Invalid permission ${char}`);\n }\n }\n\n return containerSASPermissions;\n }\n\n /**\n * Specifies Read access granted.\n */\n public read: boolean = false;\n\n /**\n * Specifies Add access granted.\n */\n public add: boolean = false;\n\n /**\n * Specifies Create access granted.\n */\n public create: boolean = false;\n\n /**\n * Specifies Write access granted.\n */\n public write: boolean = false;\n\n /**\n * Specifies Delete access granted.\n */\n public delete: boolean = false;\n\n /**\n * Specifies List access granted.\n */\n public list: boolean = false;\n\n /**\n * Specifies Move access granted.\n */\n public move: boolean = false;\n\n /**\n * Specifies Execute access granted.\n */\n public execute: boolean = false;\n\n /**\n * Specifies Ownership access granted, which allows the caller to set owner, owning group,\n * or act as the owner when renaming or deleting a blob (file or directory) within a folder\n * that has the sticky bit set.\n */\n public manageOwnership: boolean = false;\n\n /**\n * Specifies Permission access granted, which allows the caller to set permissions and\n * POSIX ACLs on blobs (files and directories).\n */\n public manageAccessControl: boolean = false;\n\n /**\n * Converts the given permissions to a string. Using this method will guarantee the permissions are in an\n * order accepted by the service.\n *\n * The order of the characters should be as specified here to ensure correctness.\n * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas\n *\n */\n public toString(): string {\n const permissions: string[] = [];\n if (this.read) {\n permissions.push(\"r\");\n }\n if (this.add) {\n permissions.push(\"a\");\n }\n if (this.create) {\n permissions.push(\"c\");\n }\n if (this.write) {\n permissions.push(\"w\");\n }\n if (this.delete) {\n permissions.push(\"d\");\n }\n if (this.list) {\n permissions.push(\"l\");\n }\n if (this.move) {\n permissions.push(\"m\");\n }\n if (this.execute) {\n permissions.push(\"e\");\n }\n if (this.manageOwnership) {\n permissions.push(\"o\");\n }\n if (this.manageAccessControl) {\n permissions.push(\"p\");\n }\n return permissions.join(\"\");\n }\n}\n"]}
@@ -52,7 +52,7 @@ export interface SASQueryParametersOptions {
52
52
  /**
53
53
  * Optional. The signed identifier (only for {@link BlobSASSignatureValues}).
54
54
  *
55
- * @see https://learn.microsoft.com/en-us/rest/api/storageservices/establishing-a-stored-access-policy
55
+ * @see https://learn.microsoft.com/rest/api/storageservices/establishing-a-stored-access-policy
56
56
  */
57
57
  identifier?: string;
58
58
  /**
@@ -158,7 +158,7 @@ export declare class SASQueryParameters {
158
158
  /**
159
159
  * Optional. The signed identifier (only for {@link BlobSASSignatureValues}).
160
160
  *
161
- * @see https://learn.microsoft.com/en-us/rest/api/storageservices/establishing-a-stored-access-policy
161
+ * @see https://learn.microsoft.com/rest/api/storageservices/establishing-a-stored-access-policy
162
162
  */
163
163
  readonly identifier?: string;
164
164
  /**
@@ -29,6 +29,136 @@ var SASProtocol;
29
29
  * NOTE: Instances of this class are immutable.
30
30
  */
31
31
  class SASQueryParameters {
32
+ /**
33
+ * The storage API version.
34
+ */
35
+ version;
36
+ /**
37
+ * Optional. The allowed HTTP protocol(s).
38
+ */
39
+ protocol;
40
+ /**
41
+ * Optional. The start time for this SAS token.
42
+ */
43
+ startsOn;
44
+ /**
45
+ * Optional only when identifier is provided. The expiry time for this SAS token.
46
+ */
47
+ expiresOn;
48
+ /**
49
+ * Optional only when identifier is provided.
50
+ * Please refer to {@link AccountSASPermissions}, {@link BlobSASPermissions}, or {@link ContainerSASPermissions} for
51
+ * more details.
52
+ */
53
+ permissions;
54
+ /**
55
+ * Optional. The storage services being accessed (only for Account SAS). Please refer to {@link AccountSASServices}
56
+ * for more details.
57
+ */
58
+ services;
59
+ /**
60
+ * Optional. The storage resource types being accessed (only for Account SAS). Please refer to
61
+ * {@link AccountSASResourceTypes} for more details.
62
+ */
63
+ resourceTypes;
64
+ /**
65
+ * Optional. The signed identifier (only for {@link BlobSASSignatureValues}).
66
+ *
67
+ * @see https://learn.microsoft.com/rest/api/storageservices/establishing-a-stored-access-policy
68
+ */
69
+ identifier;
70
+ /**
71
+ * Optional. Specifies which resources are accessible via the SAS (only for {@link BlobSASSignatureValues}).
72
+ * @see https://learn.microsoft.com/rest/api/storageservices/create-service-sas#specifying-the-signed-resource-blob-service-only
73
+ */
74
+ resource;
75
+ /**
76
+ * The signature for the SAS token.
77
+ */
78
+ signature;
79
+ /**
80
+ * Value for cache-control header in Blob/File Service SAS.
81
+ */
82
+ cacheControl;
83
+ /**
84
+ * Value for content-disposition header in Blob/File Service SAS.
85
+ */
86
+ contentDisposition;
87
+ /**
88
+ * Value for content-encoding header in Blob/File Service SAS.
89
+ */
90
+ contentEncoding;
91
+ /**
92
+ * Value for content-length header in Blob/File Service SAS.
93
+ */
94
+ contentLanguage;
95
+ /**
96
+ * Value for content-type header in Blob/File Service SAS.
97
+ */
98
+ contentType;
99
+ /**
100
+ * Inner value of getter ipRange.
101
+ */
102
+ ipRangeInner;
103
+ /**
104
+ * The Azure Active Directory object ID in GUID format.
105
+ * Property of user delegation key.
106
+ */
107
+ signedOid;
108
+ /**
109
+ * The Azure Active Directory tenant ID in GUID format.
110
+ * Property of user delegation key.
111
+ */
112
+ signedTenantId;
113
+ /**
114
+ * The date-time the key is active.
115
+ * Property of user delegation key.
116
+ */
117
+ signedStartsOn;
118
+ /**
119
+ * The date-time the key expires.
120
+ * Property of user delegation key.
121
+ */
122
+ signedExpiresOn;
123
+ /**
124
+ * Abbreviation of the Azure Storage service that accepts the user delegation key.
125
+ * Property of user delegation key.
126
+ */
127
+ signedService;
128
+ /**
129
+ * The service version that created the user delegation key.
130
+ * Property of user delegation key.
131
+ */
132
+ signedVersion;
133
+ /**
134
+ * Indicate the depth of the directory specified in the canonicalizedresource field of the string-to-sign.
135
+ * The depth of the directory is the number of directories beneath the root folder.
136
+ */
137
+ directoryDepth;
138
+ /**
139
+ * Authorized AAD Object ID in GUID format. The AAD Object ID of a user authorized by the owner of the User Delegation Key
140
+ * to perform the action granted by the SAS. The Azure Storage service will ensure that the owner of the user delegation key
141
+ * has the required permissions before granting access but no additional permission check for the user specified in
142
+ * this value will be performed. This cannot be used in conjuction with {@link signedUnauthorizedUserObjectId}.
143
+ * This is only used for User Delegation SAS.
144
+ */
145
+ preauthorizedAgentObjectId;
146
+ /**
147
+ * Unauthorized AAD Object ID in GUID format. The AAD Object ID of a user that is assumed to be unauthorized by the owner of the User Delegation Key.
148
+ * The Azure Storage Service will perform an additional POSIX ACL check to determine if the user is authorized to perform the requested operation.
149
+ * This cannot be used in conjuction with {@link signedAuthorizedUserObjectId}.
150
+ * This is only used for User Delegation SAS.
151
+ */
152
+ agentObjectId;
153
+ /**
154
+ * A GUID value that will be logged in the storage diagnostic logs and can be used to correlate SAS generation with storage resource access.
155
+ * This is only used for User Delegation SAS.
156
+ */
157
+ correlationId;
158
+ /**
159
+ * Optional. Encryption scope to use when sending requests authorized with this SAS URI.
160
+ */
161
+ encryptionScope;
32
162
  /**
33
163
  * Optional. IP range allowed for this SAS.
34
164
  *
@@ -112,7 +242,6 @@ class SASQueryParameters {
112
242
  *
113
243
  */
114
244
  toString() {
115
- var _a;
116
245
  const params = [
117
246
  "sv",
118
247
  "ss",
@@ -215,7 +344,7 @@ class SASQueryParameters {
215
344
  this.tryAppendQueryParameter(queries, param, this.contentType);
216
345
  break;
217
346
  case "sdd":
218
- this.tryAppendQueryParameter(queries, param, (_a = this.directoryDepth) === null || _a === void 0 ? void 0 : _a.toString());
347
+ this.tryAppendQueryParameter(queries, param, this.directoryDepth?.toString());
219
348
  break;
220
349
  case "saoid":
221
350
  this.tryAppendQueryParameter(queries, param, this.preauthorizedAgentObjectId);
@@ -1 +1 @@
1
- {"version":3,"file":"SASQueryParameters.js","sourceRoot":"","sources":["../../../src/sas/SASQueryParameters.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { UserDelegationKey } from \"../models.js\";\nimport type { SasIPRange } from \"./SasIPRange.js\";\nimport { ipRangeToString } from \"./SasIPRange.js\";\nimport { truncatedISO8061Date } from \"../utils/utils.common.js\";\n\n/**\n * Protocols for generated SAS.\n */\nexport enum SASProtocol {\n /**\n * Protocol that allows HTTPS only\n */\n Https = \"https\",\n\n /**\n * Protocol that allows both HTTPS and HTTP\n */\n HttpsAndHttp = \"https,http\",\n}\n\n/**\n * Options to construct {@link SASQueryParameters}.\n */\nexport interface SASQueryParametersOptions {\n /**\n * Optional only when identifier is provided.\n * Please refer to {@link AccountSASPermissions}, {@link BlobSASPermissions}, or {@link ContainerSASPermissions} for\n * more details.\n */\n permissions?: string;\n /**\n * Optional. The storage services being accessed (only for Account SAS). Please refer to {@link AccountSASServices}\n * for more details.\n */\n services?: string;\n /**\n * Optional. The storage resource types being accessed (only for Account SAS). Please refer to\n * {@link AccountSASResourceTypes} for more details.\n */\n resourceTypes?: string;\n /**\n * Optional. The allowed HTTP protocol(s).\n */\n protocol?: SASProtocol;\n /**\n * Optional. The start time for this SAS token.\n */\n startsOn?: Date;\n /**\n * Optional only when identifier is provided. The expiry time for this SAS token.\n */\n expiresOn?: Date;\n /**\n * Optional. IP ranges allowed in this SAS.\n */\n ipRange?: SasIPRange;\n /**\n * Optional. The signed identifier (only for {@link BlobSASSignatureValues}).\n *\n * @see https://learn.microsoft.com/en-us/rest/api/storageservices/establishing-a-stored-access-policy\n */\n identifier?: string;\n /**\n * Optional. Encryption scope to use when sending requests authorized with this SAS URI.\n */\n encryptionScope?: string;\n /**\n * Optional. Specifies which resources are accessible via the SAS (only for {@link BlobSASSignatureValues}).\n * @see https://learn.microsoft.com/rest/api/storageservices/create-service-sas#specifying-the-signed-resource-blob-service-only\n */\n resource?: string;\n /**\n * Value for cache-control header in Blob/File Service SAS.\n */\n cacheControl?: string;\n /**\n * Value for content-disposition header in Blob/File Service SAS.\n */\n contentDisposition?: string;\n /**\n * Value for content-encoding header in Blob/File Service SAS.\n */\n contentEncoding?: string;\n /**\n * Value for content-length header in Blob/File Service SAS.\n */\n contentLanguage?: string;\n /**\n * Value for content-type header in Blob/File Service SAS.\n */\n contentType?: string;\n /**\n * User delegation key properties.\n */\n userDelegationKey?: UserDelegationKey;\n /**\n * Indicate the depth of the directory specified in the canonicalizedresource field of the string-to-sign.\n * The depth of the directory is the number of directories beneath the root folder.\n */\n directoryDepth?: number;\n /**\n * Authorized AAD Object ID in GUID format. The AAD Object ID of a user authorized by the owner of the User Delegation Key\n * to perform the action granted by the SAS. The Azure Storage service will ensure that the owner of the user delegation key\n * has the required permissions before granting access but no additional permission check for the user specified in\n * this value will be performed. This cannot be used in conjuction with {@link signedUnauthorizedUserObjectId}.\n * This is only used for User Delegation SAS.\n */\n preauthorizedAgentObjectId?: string;\n /**\n * Unauthorized AAD Object ID in GUID format. The AAD Object ID of a user that is assumed to be unauthorized by the owner of the User Delegation Key.\n * The Azure Storage Service will perform an additional POSIX ACL check to determine if the user is authorized to perform the requested operation.\n * This cannot be used in conjuction with {@link signedAuthorizedUserObjectId}. This is only used for User Delegation SAS.\n */\n agentObjectId?: string;\n /**\n * A GUID value that will be logged in the storage diagnostic logs and can be used to correlate SAS generation with storage resource access.\n * This is only used for User Delegation SAS.\n */\n correlationId?: string;\n}\n\n/**\n * Represents the components that make up an Azure Storage SAS' query parameters. This type is not constructed directly\n * by the user; it is only generated by the {@link AccountSASSignatureValues} and {@link BlobSASSignatureValues}\n * types. Once generated, it can be encoded into a {@link String} and appended to a URL directly (though caution should\n * be taken here in case there are existing query parameters, which might affect the appropriate means of appending\n * these query parameters).\n *\n * NOTE: Instances of this class are immutable.\n */\nexport class SASQueryParameters {\n /**\n * The storage API version.\n */\n public readonly version: string;\n\n /**\n * Optional. The allowed HTTP protocol(s).\n */\n public readonly protocol?: SASProtocol;\n\n /**\n * Optional. The start time for this SAS token.\n */\n public readonly startsOn?: Date;\n\n /**\n * Optional only when identifier is provided. The expiry time for this SAS token.\n */\n public readonly expiresOn?: Date;\n\n /**\n * Optional only when identifier is provided.\n * Please refer to {@link AccountSASPermissions}, {@link BlobSASPermissions}, or {@link ContainerSASPermissions} for\n * more details.\n */\n public readonly permissions?: string;\n\n /**\n * Optional. The storage services being accessed (only for Account SAS). Please refer to {@link AccountSASServices}\n * for more details.\n */\n public readonly services?: string;\n\n /**\n * Optional. The storage resource types being accessed (only for Account SAS). Please refer to\n * {@link AccountSASResourceTypes} for more details.\n */\n public readonly resourceTypes?: string;\n\n /**\n * Optional. The signed identifier (only for {@link BlobSASSignatureValues}).\n *\n * @see https://learn.microsoft.com/en-us/rest/api/storageservices/establishing-a-stored-access-policy\n */\n public readonly identifier?: string;\n\n /**\n * Optional. Specifies which resources are accessible via the SAS (only for {@link BlobSASSignatureValues}).\n * @see https://learn.microsoft.com/rest/api/storageservices/create-service-sas#specifying-the-signed-resource-blob-service-only\n */\n public readonly resource?: string;\n\n /**\n * The signature for the SAS token.\n */\n public readonly signature: string;\n\n /**\n * Value for cache-control header in Blob/File Service SAS.\n */\n public readonly cacheControl?: string;\n\n /**\n * Value for content-disposition header in Blob/File Service SAS.\n */\n public readonly contentDisposition?: string;\n\n /**\n * Value for content-encoding header in Blob/File Service SAS.\n */\n public readonly contentEncoding?: string;\n\n /**\n * Value for content-length header in Blob/File Service SAS.\n */\n public readonly contentLanguage?: string;\n\n /**\n * Value for content-type header in Blob/File Service SAS.\n */\n public readonly contentType?: string;\n\n /**\n * Inner value of getter ipRange.\n */\n private readonly ipRangeInner?: SasIPRange;\n\n /**\n * The Azure Active Directory object ID in GUID format.\n * Property of user delegation key.\n */\n private readonly signedOid?: string;\n\n /**\n * The Azure Active Directory tenant ID in GUID format.\n * Property of user delegation key.\n */\n private readonly signedTenantId?: string;\n\n /**\n * The date-time the key is active.\n * Property of user delegation key.\n */\n private readonly signedStartsOn?: Date;\n\n /**\n * The date-time the key expires.\n * Property of user delegation key.\n */\n private readonly signedExpiresOn?: Date;\n\n /**\n * Abbreviation of the Azure Storage service that accepts the user delegation key.\n * Property of user delegation key.\n */\n private readonly signedService?: string;\n\n /**\n * The service version that created the user delegation key.\n * Property of user delegation key.\n */\n private readonly signedVersion?: string;\n\n /**\n * Indicate the depth of the directory specified in the canonicalizedresource field of the string-to-sign.\n * The depth of the directory is the number of directories beneath the root folder.\n */\n public readonly directoryDepth?: number;\n\n /**\n * Authorized AAD Object ID in GUID format. The AAD Object ID of a user authorized by the owner of the User Delegation Key\n * to perform the action granted by the SAS. The Azure Storage service will ensure that the owner of the user delegation key\n * has the required permissions before granting access but no additional permission check for the user specified in\n * this value will be performed. This cannot be used in conjuction with {@link signedUnauthorizedUserObjectId}.\n * This is only used for User Delegation SAS.\n */\n public readonly preauthorizedAgentObjectId?: string;\n\n /**\n * Unauthorized AAD Object ID in GUID format. The AAD Object ID of a user that is assumed to be unauthorized by the owner of the User Delegation Key.\n * The Azure Storage Service will perform an additional POSIX ACL check to determine if the user is authorized to perform the requested operation.\n * This cannot be used in conjuction with {@link signedAuthorizedUserObjectId}.\n * This is only used for User Delegation SAS.\n */\n public readonly agentObjectId?: string;\n\n /**\n * A GUID value that will be logged in the storage diagnostic logs and can be used to correlate SAS generation with storage resource access.\n * This is only used for User Delegation SAS.\n */\n public readonly correlationId?: string;\n\n /**\n * Optional. Encryption scope to use when sending requests authorized with this SAS URI.\n */\n public readonly encryptionScope?: string;\n\n /**\n * Optional. IP range allowed for this SAS.\n *\n * @readonly\n */\n public get ipRange(): SasIPRange | undefined {\n if (this.ipRangeInner) {\n return {\n end: this.ipRangeInner.end,\n start: this.ipRangeInner.start,\n };\n }\n return undefined;\n }\n\n /**\n * Creates an instance of SASQueryParameters.\n *\n * @param version - Representing the storage version\n * @param signature - Representing the signature for the SAS token\n * @param permissions - Representing the storage permissions\n * @param services - Representing the storage services being accessed (only for Account SAS)\n * @param resourceTypes - Representing the storage resource types being accessed (only for Account SAS)\n * @param protocol - Representing the allowed HTTP protocol(s)\n * @param startsOn - Representing the start time for this SAS token\n * @param expiresOn - Representing the expiry time for this SAS token\n * @param ipRange - Representing the range of valid IP addresses for this SAS token\n * @param identifier - Representing the signed identifier (only for Service SAS)\n * @param resource - Representing the storage container or blob (only for Service SAS)\n * @param cacheControl - Representing the cache-control header (only for Blob/File Service SAS)\n * @param contentDisposition - Representing the content-disposition header (only for Blob/File Service SAS)\n * @param contentEncoding - Representing the content-encoding header (only for Blob/File Service SAS)\n * @param contentLanguage - Representing the content-language header (only for Blob/File Service SAS)\n * @param contentType - Representing the content-type header (only for Blob/File Service SAS)\n * @param userDelegationKey - Representing the user delegation key properties\n * @param preauthorizedAgentObjectId - Representing the authorized AAD Object ID (only for User Delegation SAS)\n * @param agentObjectId - Representing the unauthorized AAD Object ID (only for User Delegation SAS)\n * @param correlationId - Representing the correlation ID (only for User Delegation SAS)\n */\n constructor(\n version: string,\n signature: string,\n permissions?: string,\n services?: string,\n resourceTypes?: string,\n protocol?: SASProtocol,\n startsOn?: Date,\n expiresOn?: Date,\n ipRange?: SasIPRange,\n identifier?: string,\n resource?: string,\n cacheControl?: string,\n contentDisposition?: string,\n contentEncoding?: string,\n contentLanguage?: string,\n contentType?: string,\n userDelegationKey?: UserDelegationKey,\n directoryDepth?: number,\n preauthorizedAgentObjectId?: string,\n agentObjectId?: string,\n correlationId?: string,\n encryptionScope?: string,\n );\n\n /**\n * Creates an instance of SASQueryParameters.\n *\n * @param version - Representing the storage version\n * @param signature - Representing the signature for the SAS token\n * @param options - Optional. Options to construct the SASQueryParameters.\n */\n constructor(version: string, signature: string, options?: SASQueryParametersOptions);\n\n constructor(\n version: string,\n signature: string,\n permissionsOrOptions?: string | SASQueryParametersOptions,\n services?: string,\n resourceTypes?: string,\n protocol?: SASProtocol,\n startsOn?: Date,\n expiresOn?: Date,\n ipRange?: SasIPRange,\n identifier?: string,\n resource?: string,\n cacheControl?: string,\n contentDisposition?: string,\n contentEncoding?: string,\n contentLanguage?: string,\n contentType?: string,\n userDelegationKey?: UserDelegationKey,\n directoryDepth?: number,\n preauthorizedAgentObjectId?: string,\n agentObjectId?: string,\n correlationId?: string,\n encryptionScope?: string,\n ) {\n this.version = version;\n this.signature = signature;\n\n if (permissionsOrOptions !== undefined && typeof permissionsOrOptions !== \"string\") {\n // SASQueryParametersOptions\n const options = permissionsOrOptions;\n this.services = options.services;\n this.resourceTypes = options.resourceTypes;\n this.expiresOn = options.expiresOn;\n this.permissions = options.permissions;\n this.protocol = options.protocol;\n this.startsOn = options.startsOn;\n this.ipRangeInner = options.ipRange;\n this.identifier = options.identifier;\n this.resource = options.resource;\n this.cacheControl = options.cacheControl;\n this.contentDisposition = options.contentDisposition;\n this.contentEncoding = options.contentEncoding;\n this.contentLanguage = options.contentLanguage;\n this.contentType = options.contentType;\n this.directoryDepth = options.directoryDepth;\n this.preauthorizedAgentObjectId = options.preauthorizedAgentObjectId;\n this.agentObjectId = options.agentObjectId;\n this.correlationId = options.correlationId;\n this.encryptionScope = options.encryptionScope;\n\n if (options.userDelegationKey) {\n this.signedOid = options.userDelegationKey.signedObjectId;\n this.signedTenantId = options.userDelegationKey.signedTenantId;\n this.signedStartsOn = options.userDelegationKey.signedStartsOn;\n this.signedExpiresOn = options.userDelegationKey.signedExpiresOn;\n this.signedService = options.userDelegationKey.signedService;\n this.signedVersion = options.userDelegationKey.signedVersion;\n }\n } else {\n this.services = services;\n this.resourceTypes = resourceTypes;\n this.expiresOn = expiresOn;\n this.permissions = permissionsOrOptions;\n this.protocol = protocol;\n this.startsOn = startsOn;\n this.ipRangeInner = ipRange;\n this.identifier = identifier;\n this.resource = resource;\n this.cacheControl = cacheControl;\n this.contentDisposition = contentDisposition;\n this.contentEncoding = contentEncoding;\n this.contentLanguage = contentLanguage;\n this.contentType = contentType;\n this.directoryDepth = directoryDepth;\n this.preauthorizedAgentObjectId = preauthorizedAgentObjectId;\n this.agentObjectId = agentObjectId;\n this.correlationId = correlationId;\n this.encryptionScope = encryptionScope;\n\n if (userDelegationKey) {\n this.signedOid = userDelegationKey.signedObjectId;\n this.signedTenantId = userDelegationKey.signedTenantId;\n this.signedStartsOn = userDelegationKey.signedStartsOn;\n this.signedExpiresOn = userDelegationKey.signedExpiresOn;\n this.signedService = userDelegationKey.signedService;\n this.signedVersion = userDelegationKey.signedVersion;\n }\n }\n }\n\n /**\n * Encodes all SAS query parameters into a string that can be appended to a URL.\n *\n */\n public toString(): string {\n const params: string[] = [\n \"sv\",\n \"ss\",\n \"srt\",\n \"spr\",\n \"st\",\n \"se\",\n \"sip\",\n \"si\",\n \"ses\",\n \"skoid\", // Signed object ID\n \"sktid\", // Signed tenant ID\n \"skt\", // Signed key start time\n \"ske\", // Signed key expiry time\n \"sks\", // Signed key service\n \"skv\", // Signed key version\n \"sr\",\n \"sp\",\n \"sig\",\n \"rscc\",\n \"rscd\",\n \"rsce\",\n \"rscl\",\n \"rsct\",\n \"sdd\",\n \"saoid\",\n \"suoid\",\n \"scid\",\n ];\n const queries: string[] = [];\n\n for (const param of params) {\n switch (param) {\n case \"sv\":\n this.tryAppendQueryParameter(queries, param, this.version);\n break;\n case \"ss\":\n this.tryAppendQueryParameter(queries, param, this.services);\n break;\n case \"srt\":\n this.tryAppendQueryParameter(queries, param, this.resourceTypes);\n break;\n case \"spr\":\n this.tryAppendQueryParameter(queries, param, this.protocol);\n break;\n case \"st\":\n this.tryAppendQueryParameter(\n queries,\n param,\n this.startsOn ? truncatedISO8061Date(this.startsOn, false) : undefined,\n );\n break;\n case \"se\":\n this.tryAppendQueryParameter(\n queries,\n param,\n this.expiresOn ? truncatedISO8061Date(this.expiresOn, false) : undefined,\n );\n break;\n case \"sip\":\n this.tryAppendQueryParameter(\n queries,\n param,\n this.ipRange ? ipRangeToString(this.ipRange) : undefined,\n );\n break;\n case \"si\":\n this.tryAppendQueryParameter(queries, param, this.identifier);\n break;\n case \"ses\":\n this.tryAppendQueryParameter(queries, param, this.encryptionScope);\n break;\n case \"skoid\": // Signed object ID\n this.tryAppendQueryParameter(queries, param, this.signedOid);\n break;\n case \"sktid\": // Signed tenant ID\n this.tryAppendQueryParameter(queries, param, this.signedTenantId);\n break;\n case \"skt\": // Signed key start time\n this.tryAppendQueryParameter(\n queries,\n param,\n this.signedStartsOn ? truncatedISO8061Date(this.signedStartsOn, false) : undefined,\n );\n break;\n case \"ske\": // Signed key expiry time\n this.tryAppendQueryParameter(\n queries,\n param,\n this.signedExpiresOn ? truncatedISO8061Date(this.signedExpiresOn, false) : undefined,\n );\n break;\n case \"sks\": // Signed key service\n this.tryAppendQueryParameter(queries, param, this.signedService);\n break;\n case \"skv\": // Signed key version\n this.tryAppendQueryParameter(queries, param, this.signedVersion);\n break;\n case \"sr\":\n this.tryAppendQueryParameter(queries, param, this.resource);\n break;\n case \"sp\":\n this.tryAppendQueryParameter(queries, param, this.permissions);\n break;\n case \"sig\":\n this.tryAppendQueryParameter(queries, param, this.signature);\n break;\n case \"rscc\":\n this.tryAppendQueryParameter(queries, param, this.cacheControl);\n break;\n case \"rscd\":\n this.tryAppendQueryParameter(queries, param, this.contentDisposition);\n break;\n case \"rsce\":\n this.tryAppendQueryParameter(queries, param, this.contentEncoding);\n break;\n case \"rscl\":\n this.tryAppendQueryParameter(queries, param, this.contentLanguage);\n break;\n case \"rsct\":\n this.tryAppendQueryParameter(queries, param, this.contentType);\n break;\n case \"sdd\":\n this.tryAppendQueryParameter(queries, param, this.directoryDepth?.toString());\n break;\n case \"saoid\":\n this.tryAppendQueryParameter(queries, param, this.preauthorizedAgentObjectId);\n break;\n case \"suoid\":\n this.tryAppendQueryParameter(queries, param, this.agentObjectId);\n break;\n case \"scid\":\n this.tryAppendQueryParameter(queries, param, this.correlationId);\n break;\n }\n }\n return queries.join(\"&\");\n }\n\n /**\n * A private helper method used to filter and append query key/value pairs into an array.\n *\n * @param queries -\n * @param key -\n * @param value -\n */\n private tryAppendQueryParameter(queries: string[], key: string, value?: string): void {\n if (!value) {\n return;\n }\n\n key = encodeURIComponent(key);\n value = encodeURIComponent(value);\n if (key.length > 0 && value.length > 0) {\n queries.push(`${key}=${value}`);\n }\n }\n}\n"]}
1
+ {"version":3,"file":"SASQueryParameters.js","sourceRoot":"","sources":["../../../src/sas/SASQueryParameters.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { UserDelegationKey } from \"../models.js\";\nimport type { SasIPRange } from \"./SasIPRange.js\";\nimport { ipRangeToString } from \"./SasIPRange.js\";\nimport { truncatedISO8061Date } from \"../utils/utils.common.js\";\n\n/**\n * Protocols for generated SAS.\n */\nexport enum SASProtocol {\n /**\n * Protocol that allows HTTPS only\n */\n Https = \"https\",\n\n /**\n * Protocol that allows both HTTPS and HTTP\n */\n HttpsAndHttp = \"https,http\",\n}\n\n/**\n * Options to construct {@link SASQueryParameters}.\n */\nexport interface SASQueryParametersOptions {\n /**\n * Optional only when identifier is provided.\n * Please refer to {@link AccountSASPermissions}, {@link BlobSASPermissions}, or {@link ContainerSASPermissions} for\n * more details.\n */\n permissions?: string;\n /**\n * Optional. The storage services being accessed (only for Account SAS). Please refer to {@link AccountSASServices}\n * for more details.\n */\n services?: string;\n /**\n * Optional. The storage resource types being accessed (only for Account SAS). Please refer to\n * {@link AccountSASResourceTypes} for more details.\n */\n resourceTypes?: string;\n /**\n * Optional. The allowed HTTP protocol(s).\n */\n protocol?: SASProtocol;\n /**\n * Optional. The start time for this SAS token.\n */\n startsOn?: Date;\n /**\n * Optional only when identifier is provided. The expiry time for this SAS token.\n */\n expiresOn?: Date;\n /**\n * Optional. IP ranges allowed in this SAS.\n */\n ipRange?: SasIPRange;\n /**\n * Optional. The signed identifier (only for {@link BlobSASSignatureValues}).\n *\n * @see https://learn.microsoft.com/rest/api/storageservices/establishing-a-stored-access-policy\n */\n identifier?: string;\n /**\n * Optional. Encryption scope to use when sending requests authorized with this SAS URI.\n */\n encryptionScope?: string;\n /**\n * Optional. Specifies which resources are accessible via the SAS (only for {@link BlobSASSignatureValues}).\n * @see https://learn.microsoft.com/rest/api/storageservices/create-service-sas#specifying-the-signed-resource-blob-service-only\n */\n resource?: string;\n /**\n * Value for cache-control header in Blob/File Service SAS.\n */\n cacheControl?: string;\n /**\n * Value for content-disposition header in Blob/File Service SAS.\n */\n contentDisposition?: string;\n /**\n * Value for content-encoding header in Blob/File Service SAS.\n */\n contentEncoding?: string;\n /**\n * Value for content-length header in Blob/File Service SAS.\n */\n contentLanguage?: string;\n /**\n * Value for content-type header in Blob/File Service SAS.\n */\n contentType?: string;\n /**\n * User delegation key properties.\n */\n userDelegationKey?: UserDelegationKey;\n /**\n * Indicate the depth of the directory specified in the canonicalizedresource field of the string-to-sign.\n * The depth of the directory is the number of directories beneath the root folder.\n */\n directoryDepth?: number;\n /**\n * Authorized AAD Object ID in GUID format. The AAD Object ID of a user authorized by the owner of the User Delegation Key\n * to perform the action granted by the SAS. The Azure Storage service will ensure that the owner of the user delegation key\n * has the required permissions before granting access but no additional permission check for the user specified in\n * this value will be performed. This cannot be used in conjuction with {@link signedUnauthorizedUserObjectId}.\n * This is only used for User Delegation SAS.\n */\n preauthorizedAgentObjectId?: string;\n /**\n * Unauthorized AAD Object ID in GUID format. The AAD Object ID of a user that is assumed to be unauthorized by the owner of the User Delegation Key.\n * The Azure Storage Service will perform an additional POSIX ACL check to determine if the user is authorized to perform the requested operation.\n * This cannot be used in conjuction with {@link signedAuthorizedUserObjectId}. This is only used for User Delegation SAS.\n */\n agentObjectId?: string;\n /**\n * A GUID value that will be logged in the storage diagnostic logs and can be used to correlate SAS generation with storage resource access.\n * This is only used for User Delegation SAS.\n */\n correlationId?: string;\n}\n\n/**\n * Represents the components that make up an Azure Storage SAS' query parameters. This type is not constructed directly\n * by the user; it is only generated by the {@link AccountSASSignatureValues} and {@link BlobSASSignatureValues}\n * types. Once generated, it can be encoded into a {@link String} and appended to a URL directly (though caution should\n * be taken here in case there are existing query parameters, which might affect the appropriate means of appending\n * these query parameters).\n *\n * NOTE: Instances of this class are immutable.\n */\nexport class SASQueryParameters {\n /**\n * The storage API version.\n */\n public readonly version: string;\n\n /**\n * Optional. The allowed HTTP protocol(s).\n */\n public readonly protocol?: SASProtocol;\n\n /**\n * Optional. The start time for this SAS token.\n */\n public readonly startsOn?: Date;\n\n /**\n * Optional only when identifier is provided. The expiry time for this SAS token.\n */\n public readonly expiresOn?: Date;\n\n /**\n * Optional only when identifier is provided.\n * Please refer to {@link AccountSASPermissions}, {@link BlobSASPermissions}, or {@link ContainerSASPermissions} for\n * more details.\n */\n public readonly permissions?: string;\n\n /**\n * Optional. The storage services being accessed (only for Account SAS). Please refer to {@link AccountSASServices}\n * for more details.\n */\n public readonly services?: string;\n\n /**\n * Optional. The storage resource types being accessed (only for Account SAS). Please refer to\n * {@link AccountSASResourceTypes} for more details.\n */\n public readonly resourceTypes?: string;\n\n /**\n * Optional. The signed identifier (only for {@link BlobSASSignatureValues}).\n *\n * @see https://learn.microsoft.com/rest/api/storageservices/establishing-a-stored-access-policy\n */\n public readonly identifier?: string;\n\n /**\n * Optional. Specifies which resources are accessible via the SAS (only for {@link BlobSASSignatureValues}).\n * @see https://learn.microsoft.com/rest/api/storageservices/create-service-sas#specifying-the-signed-resource-blob-service-only\n */\n public readonly resource?: string;\n\n /**\n * The signature for the SAS token.\n */\n public readonly signature: string;\n\n /**\n * Value for cache-control header in Blob/File Service SAS.\n */\n public readonly cacheControl?: string;\n\n /**\n * Value for content-disposition header in Blob/File Service SAS.\n */\n public readonly contentDisposition?: string;\n\n /**\n * Value for content-encoding header in Blob/File Service SAS.\n */\n public readonly contentEncoding?: string;\n\n /**\n * Value for content-length header in Blob/File Service SAS.\n */\n public readonly contentLanguage?: string;\n\n /**\n * Value for content-type header in Blob/File Service SAS.\n */\n public readonly contentType?: string;\n\n /**\n * Inner value of getter ipRange.\n */\n private readonly ipRangeInner?: SasIPRange;\n\n /**\n * The Azure Active Directory object ID in GUID format.\n * Property of user delegation key.\n */\n private readonly signedOid?: string;\n\n /**\n * The Azure Active Directory tenant ID in GUID format.\n * Property of user delegation key.\n */\n private readonly signedTenantId?: string;\n\n /**\n * The date-time the key is active.\n * Property of user delegation key.\n */\n private readonly signedStartsOn?: Date;\n\n /**\n * The date-time the key expires.\n * Property of user delegation key.\n */\n private readonly signedExpiresOn?: Date;\n\n /**\n * Abbreviation of the Azure Storage service that accepts the user delegation key.\n * Property of user delegation key.\n */\n private readonly signedService?: string;\n\n /**\n * The service version that created the user delegation key.\n * Property of user delegation key.\n */\n private readonly signedVersion?: string;\n\n /**\n * Indicate the depth of the directory specified in the canonicalizedresource field of the string-to-sign.\n * The depth of the directory is the number of directories beneath the root folder.\n */\n public readonly directoryDepth?: number;\n\n /**\n * Authorized AAD Object ID in GUID format. The AAD Object ID of a user authorized by the owner of the User Delegation Key\n * to perform the action granted by the SAS. The Azure Storage service will ensure that the owner of the user delegation key\n * has the required permissions before granting access but no additional permission check for the user specified in\n * this value will be performed. This cannot be used in conjuction with {@link signedUnauthorizedUserObjectId}.\n * This is only used for User Delegation SAS.\n */\n public readonly preauthorizedAgentObjectId?: string;\n\n /**\n * Unauthorized AAD Object ID in GUID format. The AAD Object ID of a user that is assumed to be unauthorized by the owner of the User Delegation Key.\n * The Azure Storage Service will perform an additional POSIX ACL check to determine if the user is authorized to perform the requested operation.\n * This cannot be used in conjuction with {@link signedAuthorizedUserObjectId}.\n * This is only used for User Delegation SAS.\n */\n public readonly agentObjectId?: string;\n\n /**\n * A GUID value that will be logged in the storage diagnostic logs and can be used to correlate SAS generation with storage resource access.\n * This is only used for User Delegation SAS.\n */\n public readonly correlationId?: string;\n\n /**\n * Optional. Encryption scope to use when sending requests authorized with this SAS URI.\n */\n public readonly encryptionScope?: string;\n\n /**\n * Optional. IP range allowed for this SAS.\n *\n * @readonly\n */\n public get ipRange(): SasIPRange | undefined {\n if (this.ipRangeInner) {\n return {\n end: this.ipRangeInner.end,\n start: this.ipRangeInner.start,\n };\n }\n return undefined;\n }\n\n /**\n * Creates an instance of SASQueryParameters.\n *\n * @param version - Representing the storage version\n * @param signature - Representing the signature for the SAS token\n * @param permissions - Representing the storage permissions\n * @param services - Representing the storage services being accessed (only for Account SAS)\n * @param resourceTypes - Representing the storage resource types being accessed (only for Account SAS)\n * @param protocol - Representing the allowed HTTP protocol(s)\n * @param startsOn - Representing the start time for this SAS token\n * @param expiresOn - Representing the expiry time for this SAS token\n * @param ipRange - Representing the range of valid IP addresses for this SAS token\n * @param identifier - Representing the signed identifier (only for Service SAS)\n * @param resource - Representing the storage container or blob (only for Service SAS)\n * @param cacheControl - Representing the cache-control header (only for Blob/File Service SAS)\n * @param contentDisposition - Representing the content-disposition header (only for Blob/File Service SAS)\n * @param contentEncoding - Representing the content-encoding header (only for Blob/File Service SAS)\n * @param contentLanguage - Representing the content-language header (only for Blob/File Service SAS)\n * @param contentType - Representing the content-type header (only for Blob/File Service SAS)\n * @param userDelegationKey - Representing the user delegation key properties\n * @param preauthorizedAgentObjectId - Representing the authorized AAD Object ID (only for User Delegation SAS)\n * @param agentObjectId - Representing the unauthorized AAD Object ID (only for User Delegation SAS)\n * @param correlationId - Representing the correlation ID (only for User Delegation SAS)\n */\n constructor(\n version: string,\n signature: string,\n permissions?: string,\n services?: string,\n resourceTypes?: string,\n protocol?: SASProtocol,\n startsOn?: Date,\n expiresOn?: Date,\n ipRange?: SasIPRange,\n identifier?: string,\n resource?: string,\n cacheControl?: string,\n contentDisposition?: string,\n contentEncoding?: string,\n contentLanguage?: string,\n contentType?: string,\n userDelegationKey?: UserDelegationKey,\n directoryDepth?: number,\n preauthorizedAgentObjectId?: string,\n agentObjectId?: string,\n correlationId?: string,\n encryptionScope?: string,\n );\n\n /**\n * Creates an instance of SASQueryParameters.\n *\n * @param version - Representing the storage version\n * @param signature - Representing the signature for the SAS token\n * @param options - Optional. Options to construct the SASQueryParameters.\n */\n constructor(version: string, signature: string, options?: SASQueryParametersOptions);\n\n constructor(\n version: string,\n signature: string,\n permissionsOrOptions?: string | SASQueryParametersOptions,\n services?: string,\n resourceTypes?: string,\n protocol?: SASProtocol,\n startsOn?: Date,\n expiresOn?: Date,\n ipRange?: SasIPRange,\n identifier?: string,\n resource?: string,\n cacheControl?: string,\n contentDisposition?: string,\n contentEncoding?: string,\n contentLanguage?: string,\n contentType?: string,\n userDelegationKey?: UserDelegationKey,\n directoryDepth?: number,\n preauthorizedAgentObjectId?: string,\n agentObjectId?: string,\n correlationId?: string,\n encryptionScope?: string,\n ) {\n this.version = version;\n this.signature = signature;\n\n if (permissionsOrOptions !== undefined && typeof permissionsOrOptions !== \"string\") {\n // SASQueryParametersOptions\n const options = permissionsOrOptions;\n this.services = options.services;\n this.resourceTypes = options.resourceTypes;\n this.expiresOn = options.expiresOn;\n this.permissions = options.permissions;\n this.protocol = options.protocol;\n this.startsOn = options.startsOn;\n this.ipRangeInner = options.ipRange;\n this.identifier = options.identifier;\n this.resource = options.resource;\n this.cacheControl = options.cacheControl;\n this.contentDisposition = options.contentDisposition;\n this.contentEncoding = options.contentEncoding;\n this.contentLanguage = options.contentLanguage;\n this.contentType = options.contentType;\n this.directoryDepth = options.directoryDepth;\n this.preauthorizedAgentObjectId = options.preauthorizedAgentObjectId;\n this.agentObjectId = options.agentObjectId;\n this.correlationId = options.correlationId;\n this.encryptionScope = options.encryptionScope;\n\n if (options.userDelegationKey) {\n this.signedOid = options.userDelegationKey.signedObjectId;\n this.signedTenantId = options.userDelegationKey.signedTenantId;\n this.signedStartsOn = options.userDelegationKey.signedStartsOn;\n this.signedExpiresOn = options.userDelegationKey.signedExpiresOn;\n this.signedService = options.userDelegationKey.signedService;\n this.signedVersion = options.userDelegationKey.signedVersion;\n }\n } else {\n this.services = services;\n this.resourceTypes = resourceTypes;\n this.expiresOn = expiresOn;\n this.permissions = permissionsOrOptions;\n this.protocol = protocol;\n this.startsOn = startsOn;\n this.ipRangeInner = ipRange;\n this.identifier = identifier;\n this.resource = resource;\n this.cacheControl = cacheControl;\n this.contentDisposition = contentDisposition;\n this.contentEncoding = contentEncoding;\n this.contentLanguage = contentLanguage;\n this.contentType = contentType;\n this.directoryDepth = directoryDepth;\n this.preauthorizedAgentObjectId = preauthorizedAgentObjectId;\n this.agentObjectId = agentObjectId;\n this.correlationId = correlationId;\n this.encryptionScope = encryptionScope;\n\n if (userDelegationKey) {\n this.signedOid = userDelegationKey.signedObjectId;\n this.signedTenantId = userDelegationKey.signedTenantId;\n this.signedStartsOn = userDelegationKey.signedStartsOn;\n this.signedExpiresOn = userDelegationKey.signedExpiresOn;\n this.signedService = userDelegationKey.signedService;\n this.signedVersion = userDelegationKey.signedVersion;\n }\n }\n }\n\n /**\n * Encodes all SAS query parameters into a string that can be appended to a URL.\n *\n */\n public toString(): string {\n const params: string[] = [\n \"sv\",\n \"ss\",\n \"srt\",\n \"spr\",\n \"st\",\n \"se\",\n \"sip\",\n \"si\",\n \"ses\",\n \"skoid\", // Signed object ID\n \"sktid\", // Signed tenant ID\n \"skt\", // Signed key start time\n \"ske\", // Signed key expiry time\n \"sks\", // Signed key service\n \"skv\", // Signed key version\n \"sr\",\n \"sp\",\n \"sig\",\n \"rscc\",\n \"rscd\",\n \"rsce\",\n \"rscl\",\n \"rsct\",\n \"sdd\",\n \"saoid\",\n \"suoid\",\n \"scid\",\n ];\n const queries: string[] = [];\n\n for (const param of params) {\n switch (param) {\n case \"sv\":\n this.tryAppendQueryParameter(queries, param, this.version);\n break;\n case \"ss\":\n this.tryAppendQueryParameter(queries, param, this.services);\n break;\n case \"srt\":\n this.tryAppendQueryParameter(queries, param, this.resourceTypes);\n break;\n case \"spr\":\n this.tryAppendQueryParameter(queries, param, this.protocol);\n break;\n case \"st\":\n this.tryAppendQueryParameter(\n queries,\n param,\n this.startsOn ? truncatedISO8061Date(this.startsOn, false) : undefined,\n );\n break;\n case \"se\":\n this.tryAppendQueryParameter(\n queries,\n param,\n this.expiresOn ? truncatedISO8061Date(this.expiresOn, false) : undefined,\n );\n break;\n case \"sip\":\n this.tryAppendQueryParameter(\n queries,\n param,\n this.ipRange ? ipRangeToString(this.ipRange) : undefined,\n );\n break;\n case \"si\":\n this.tryAppendQueryParameter(queries, param, this.identifier);\n break;\n case \"ses\":\n this.tryAppendQueryParameter(queries, param, this.encryptionScope);\n break;\n case \"skoid\": // Signed object ID\n this.tryAppendQueryParameter(queries, param, this.signedOid);\n break;\n case \"sktid\": // Signed tenant ID\n this.tryAppendQueryParameter(queries, param, this.signedTenantId);\n break;\n case \"skt\": // Signed key start time\n this.tryAppendQueryParameter(\n queries,\n param,\n this.signedStartsOn ? truncatedISO8061Date(this.signedStartsOn, false) : undefined,\n );\n break;\n case \"ske\": // Signed key expiry time\n this.tryAppendQueryParameter(\n queries,\n param,\n this.signedExpiresOn ? truncatedISO8061Date(this.signedExpiresOn, false) : undefined,\n );\n break;\n case \"sks\": // Signed key service\n this.tryAppendQueryParameter(queries, param, this.signedService);\n break;\n case \"skv\": // Signed key version\n this.tryAppendQueryParameter(queries, param, this.signedVersion);\n break;\n case \"sr\":\n this.tryAppendQueryParameter(queries, param, this.resource);\n break;\n case \"sp\":\n this.tryAppendQueryParameter(queries, param, this.permissions);\n break;\n case \"sig\":\n this.tryAppendQueryParameter(queries, param, this.signature);\n break;\n case \"rscc\":\n this.tryAppendQueryParameter(queries, param, this.cacheControl);\n break;\n case \"rscd\":\n this.tryAppendQueryParameter(queries, param, this.contentDisposition);\n break;\n case \"rsce\":\n this.tryAppendQueryParameter(queries, param, this.contentEncoding);\n break;\n case \"rscl\":\n this.tryAppendQueryParameter(queries, param, this.contentLanguage);\n break;\n case \"rsct\":\n this.tryAppendQueryParameter(queries, param, this.contentType);\n break;\n case \"sdd\":\n this.tryAppendQueryParameter(queries, param, this.directoryDepth?.toString());\n break;\n case \"saoid\":\n this.tryAppendQueryParameter(queries, param, this.preauthorizedAgentObjectId);\n break;\n case \"suoid\":\n this.tryAppendQueryParameter(queries, param, this.agentObjectId);\n break;\n case \"scid\":\n this.tryAppendQueryParameter(queries, param, this.correlationId);\n break;\n }\n }\n return queries.join(\"&\");\n }\n\n /**\n * A private helper method used to filter and append query key/value pairs into an array.\n *\n * @param queries -\n * @param key -\n * @param value -\n */\n private tryAppendQueryParameter(queries: string[], key: string, value?: string): void {\n if (!value) {\n return;\n }\n\n key = encodeURIComponent(key);\n value = encodeURIComponent(value);\n if (key.length > 0 && value.length > 0) {\n queries.push(`${key}=${value}`);\n }\n }\n}\n"]}
@@ -91,7 +91,14 @@ function toFileSystemAsyncIterableIterator(iter) {
91
91
  const rawResult = await iter.next();
92
92
  if (rawResult.value) {
93
93
  rawResult.value.fileSystemItems = rawResult.value.containerItems.map((val) => {
94
- return Object.assign(Object.assign({}, val), { versionId: val.version, properties: Object.assign(Object.assign({}, val.properties), { publicAccess: toPublicAccessType(val.properties.publicAccess) }) });
94
+ return {
95
+ ...val,
96
+ versionId: val.version,
97
+ properties: {
98
+ ...val.properties,
99
+ publicAccess: toPublicAccessType(val.properties.publicAccess),
100
+ },
101
+ };
95
102
  });
96
103
  }
97
104
  return rawResult;
@@ -1 +1 @@
1
- {"version":3,"file":"transforms.js","sourceRoot":"","sources":["../../src/transforms.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { PagedAsyncIterableIterator, PageSettings } from \"@azure/core-paging\";\nimport type {\n ContainerItem,\n CpkInfo as BlobCpkInfo,\n PublicAccessType as ContainerPublicAccessType,\n} from \"@azure/storage-blob\";\nimport type { AclFailedEntry, CpkInfo } from \"./generated/src/models/index.js\";\nimport type {\n AccessControlChangeError,\n FileSystemItem,\n Metadata,\n PathAccessControlItem,\n PathPermissions,\n PublicAccessType,\n RemovePathAccessControlItem,\n RolePermissions,\n ServiceListContainersSegmentResponse,\n ServiceListFileSystemsSegmentResponse,\n} from \"./models.js\";\nimport { ToBlobEndpointHostMappings, ToDfsEndpointHostMappings } from \"./utils/constants.js\";\nimport { base64encode } from \"./utils/utils.common.js\";\n\n/**\n * Get a blob endpoint URL from incoming blob or dfs endpoint URLs.\n * Only handle known host name pair patterns, add more patterns into ToBlobEndpointHostMappings in constants.ts.\n *\n * Expected input and outputs:\n * http://account.blob.core.windows.net - http://account.blob.core.windows.net\n * http://account.dfs.core.windows.net - http://account.blob.core.windows.net\n * http://127.0.0.1:10000 - http://127.0.0.1:10000\n * http://account.blob.core.windows.net/abc - http://account.blob.core.windows.net/abc\n * http://account.dfs.core.windows.net/abc - http://account.blob.core.windows.net/abc\n * http://127.0.0.1:10000/abc - http://127.0.0.1:10000/abc\n *\n * @param url -\n */\nexport function toBlobEndpointUrl(url: string): string {\n return mapHostUrl(url, ToBlobEndpointHostMappings, \"toBlobEndpointUrl\");\n}\n\n/**\n * Get a dfs endpoint URL from incoming blob or dfs endpoint URLs.\n * Only handle known host name pair patterns, add more patterns into ToDfsEndpointHostMappings in constants.ts.\n *\n * Expected input and outputs:\n * http://account.blob.core.windows.net - http://account.dfs.core.windows.net\n * http://account.dfs.core.windows.net - http://account.dfs.core.windows.net\n * http://127.0.0.1:10000 - http://127.0.0.1:10000\n * http://account.blob.core.windows.net/abc - http://account.dfs.core.windows.net/abc\n * http://account.dfs.core.windows.net/abc - http://account.dfs.core.windows.net/abc\n * http://127.0.0.1:10000/abc - http://127.0.0.1:10000/abc\n *\n * @param url -\n */\nexport function toDfsEndpointUrl(url: string): string {\n return mapHostUrl(url, ToDfsEndpointHostMappings, \"toDfsEndpointUrl\");\n}\n\nfunction mapHostUrl(url: string, hostMappings: string[][], callerMethodName: string): string {\n let urlParsed: URL;\n try {\n urlParsed = new URL(url);\n } catch (e) {\n // invalid urls are returned unmodified\n return url;\n }\n\n let host = urlParsed.hostname;\n if (host === undefined) {\n throw RangeError(`${callerMethodName}() parameter url ${url} doesn't include valid host.`);\n }\n\n for (const mapping of hostMappings) {\n if (host.includes(mapping[0])) {\n host = host.replace(mapping[0], mapping[1]);\n break;\n }\n }\n urlParsed.hostname = host;\n const result = urlParsed.toString();\n // don't add a trailing slash if one wasn't already present\n if (!url.endsWith(\"/\") && result.endsWith(\"/\")) {\n return result.slice(0, -1);\n } else {\n return result;\n }\n}\n\nfunction toFileSystemAsyncIterableIterator(\n iter: AsyncIterableIterator<ServiceListContainersSegmentResponse>,\n): AsyncIterableIterator<ServiceListFileSystemsSegmentResponse> {\n return {\n async next() {\n const rawResult = await iter.next();\n if (rawResult.value) {\n rawResult.value.fileSystemItems = rawResult.value.containerItems.map(\n (val: ContainerItem): FileSystemItem => {\n return {\n ...val,\n versionId: val.version,\n properties: {\n ...val.properties,\n publicAccess: toPublicAccessType(val.properties.publicAccess),\n },\n };\n },\n );\n }\n return rawResult as any;\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n };\n}\n\nexport function toFileSystemPagedAsyncIterableIterator(\n iter: PagedAsyncIterableIterator<ContainerItem, ServiceListContainersSegmentResponse>,\n): PagedAsyncIterableIterator<FileSystemItem, ServiceListFileSystemsSegmentResponse> {\n return {\n async next(): Promise<IteratorResult<FileSystemItem>> {\n const rawResult = await iter.next();\n const result = rawResult as IteratorResult<FileSystemItem>;\n if (!result.done && !rawResult.done) {\n result.value.properties.publicAccess = toPublicAccessType(\n rawResult.value.properties.publicAccess,\n );\n result.value.versionId = rawResult.value.version;\n }\n return result;\n },\n [Symbol.asyncIterator](): PagedAsyncIterableIterator<\n FileSystemItem,\n ServiceListFileSystemsSegmentResponse\n > {\n return this;\n },\n byPage(\n settings: PageSettings = {},\n ): AsyncIterableIterator<ServiceListFileSystemsSegmentResponse> {\n return toFileSystemAsyncIterableIterator(iter.byPage(settings));\n },\n };\n}\n\nexport function toContainerPublicAccessType(\n publicAccessType?: PublicAccessType,\n): ContainerPublicAccessType | undefined {\n if (!publicAccessType) {\n return undefined;\n }\n\n switch (publicAccessType) {\n case \"filesystem\":\n return \"container\";\n case \"file\":\n return \"blob\";\n default:\n throw TypeError(\n `toContainerPublicAccessType() parameter ${publicAccessType} is not recognized.`,\n );\n }\n}\n\nexport function toPublicAccessType(\n containerPublicAccessType?: ContainerPublicAccessType,\n): PublicAccessType | undefined {\n if (!containerPublicAccessType) {\n return undefined;\n }\n\n switch (containerPublicAccessType) {\n case \"container\":\n return \"filesystem\";\n case \"blob\":\n return \"file\";\n default:\n throw TypeError(\n `toPublicAccessType() parameter ${containerPublicAccessType} is not recognized.`,\n );\n }\n}\n\nexport function toProperties(metadata?: Metadata): string | undefined {\n if (metadata === undefined) {\n return undefined;\n }\n\n const properties = [];\n for (const key in metadata) {\n if (Object.prototype.hasOwnProperty.call(metadata, key)) {\n const value = metadata[key];\n properties.push(`${key}=${base64encode(value)}`);\n }\n }\n\n return properties.join(\",\");\n}\n\nexport function toRolePermissions(permissionsString: string): RolePermissions {\n const error = new RangeError(\n `toRolePermissions() Invalid role permissions string ${permissionsString}`,\n );\n if (permissionsString.length !== 3) {\n throw error;\n }\n\n permissionsString = permissionsString.toLowerCase();\n\n let read = false;\n if (permissionsString[0] === \"r\") {\n read = true;\n } else if (permissionsString[0] !== \"-\") {\n throw error;\n }\n\n let write = false;\n if (permissionsString[1] === \"w\") {\n write = true;\n } else if (permissionsString[1] !== \"-\") {\n throw error;\n }\n\n let execute = false;\n if (permissionsString[2] === \"x\") {\n execute = true;\n } else if (permissionsString[2] !== \"-\") {\n throw error;\n }\n\n return { read, write, execute };\n}\n\nexport function toPermissions(permissionsString?: string): PathPermissions | undefined {\n if (permissionsString === undefined || permissionsString === \"\" || permissionsString === null) {\n return undefined;\n }\n\n if (permissionsString.length !== 9 && permissionsString.length !== 10) {\n throw RangeError(`toPermissions() Invalid permissions string ${permissionsString}`);\n }\n\n let stickyBit = false;\n if (permissionsString[8] === \"t\") {\n stickyBit = true;\n const firstPart = permissionsString.substr(0, 8);\n const lastPart = permissionsString.substr(9);\n permissionsString = firstPart + \"x\" + lastPart;\n } else if (permissionsString[8] === \"T\") {\n stickyBit = true;\n const firstPart = permissionsString.substr(0, 8);\n const lastPart = permissionsString.substr(9);\n permissionsString = firstPart + \"-\" + lastPart;\n }\n\n // Case insensitive\n permissionsString = permissionsString.toLowerCase();\n\n let extendedAcls = false;\n if (permissionsString.length === 10) {\n if (permissionsString[9] === \"+\") {\n extendedAcls = true;\n } else {\n throw RangeError(\n `toPermissions() Invalid extendedAcls bit ${permissionsString[9]} in permissions string ${permissionsString}`,\n );\n }\n }\n\n const owner = toRolePermissions(permissionsString.substr(0, 3));\n const group = toRolePermissions(permissionsString.substr(3, 3));\n const other = toRolePermissions(permissionsString.substr(6, 3));\n\n return {\n owner,\n group,\n other,\n stickyBit,\n extendedAcls,\n };\n}\n\nexport function toAccessControlItem(aclItemString: string): PathAccessControlItem {\n const error = new RangeError(\n `toAccessControlItem() Parameter access control item string ${aclItemString} is not valid.`,\n );\n if (aclItemString === \"\") {\n throw error;\n }\n\n aclItemString = aclItemString.toLowerCase();\n\n const parts = aclItemString.split(\":\");\n if (parts.length < 3 || parts.length > 4) {\n throw error;\n }\n\n let defaultScope = false;\n let index = 0;\n if (parts.length === 4) {\n if (parts[index] !== \"default\") {\n throw error;\n }\n defaultScope = true;\n index++;\n }\n\n const accessControlType = parts[index++];\n if (\n accessControlType !== \"user\" &&\n accessControlType !== \"group\" &&\n accessControlType !== \"mask\" &&\n accessControlType !== \"other\"\n ) {\n throw error;\n }\n\n const entityId = parts[index++];\n const permissions = toRolePermissions(parts[index++]);\n\n return {\n defaultScope,\n accessControlType,\n entityId,\n permissions,\n };\n}\n\nexport function toRemoveAccessControlItem(aclItemString: string): RemovePathAccessControlItem {\n const error = new RangeError(\n `toAccessControlItem() Parameter access control item string \"${aclItemString}\" is not valid.`,\n );\n if (aclItemString === \"\") {\n throw error;\n }\n\n aclItemString = aclItemString.toLowerCase();\n\n const parts = aclItemString.split(\":\");\n if (parts.length < 1 || parts.length > 3) {\n throw error;\n }\n\n if (parts.length === 3) {\n if (parts[0] !== \"default\") {\n throw error;\n }\n }\n\n let defaultScope = false;\n let index = 0;\n if (parts[index] === \"default\") {\n defaultScope = true;\n index++;\n }\n\n const accessControlType = parts[index++];\n if (\n accessControlType !== \"user\" &&\n accessControlType !== \"group\" &&\n accessControlType !== \"mask\" &&\n accessControlType !== \"other\"\n ) {\n throw error;\n }\n\n const entityId = parts[index++];\n\n return {\n defaultScope,\n accessControlType,\n entityId,\n };\n}\n\nexport function toAcl(aclString?: string): PathAccessControlItem[] {\n if (aclString === undefined || aclString === \"\" || aclString === null) {\n return [];\n }\n\n const acls = [];\n const aclParts = aclString.split(\",\");\n for (const aclPart of aclParts) {\n acls.push(toAccessControlItem(aclPart));\n }\n\n return acls;\n}\n\nexport function toRemoveAcl(aclString?: string): RemovePathAccessControlItem[] {\n if (aclString === undefined || aclString === \"\" || aclString === null) {\n return [];\n }\n\n const acls = [];\n const aclParts = aclString.split(\",\");\n for (const aclPart of aclParts) {\n acls.push(toRemoveAccessControlItem(aclPart));\n }\n\n return acls;\n}\n\nexport function toAccessControlItemString(item: PathAccessControlItem): string {\n const entityIdString = item.entityId !== undefined ? `:${item.entityId}` : \"\";\n const permissionsString =\n item.permissions !== undefined ? `:${toRolePermissionsString(item.permissions)}` : \"\";\n return `${item.defaultScope ? \"default:\" : \"\"}${\n item.accessControlType\n }${entityIdString}${permissionsString}`;\n}\n\nexport function toAclString(acl: PathAccessControlItem[]): string {\n return acl.map(toAccessControlItemString).join(\",\");\n}\n\nexport function toRolePermissionsString(p: RolePermissions, stickyBit: boolean = false): string {\n return `${p.read ? \"r\" : \"-\"}${p.write ? \"w\" : \"-\"}${\n stickyBit ? (p.execute ? \"t\" : \"T\") : p.execute ? \"x\" : \"-\"\n }`;\n}\n\nexport function toPermissionsString(permissions: PathPermissions): string {\n return `${toRolePermissionsString(permissions.owner)}${toRolePermissionsString(\n permissions.group,\n )}${toRolePermissionsString(permissions.other, permissions.stickyBit)}${\n permissions.extendedAcls ? \"+\" : \"\"\n }`;\n}\n\nexport function toAccessControlChangeFailureArray(\n aclFailedEntries: AclFailedEntry[] = [],\n): AccessControlChangeError[] {\n return aclFailedEntries.map((aclFailedEntry: AclFailedEntry) => {\n return {\n name: aclFailedEntry.name || \"\",\n isDirectory: (aclFailedEntry.type || \"\").toLowerCase() === \"directory\",\n message: aclFailedEntry.errorMessage || \"\",\n };\n });\n}\n\nexport function toBlobCpkInfo(input?: CpkInfo): BlobCpkInfo | undefined {\n return input\n ? {\n encryptionKey: input.encryptionKey,\n encryptionKeySha256: input.encryptionKeySha256,\n encryptionAlgorithm: \"AES256\",\n }\n : undefined;\n}\n"]}
1
+ {"version":3,"file":"transforms.js","sourceRoot":"","sources":["../../src/transforms.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { PagedAsyncIterableIterator, PageSettings } from \"@azure/core-paging\";\nimport type {\n ContainerItem,\n CpkInfo as BlobCpkInfo,\n PublicAccessType as ContainerPublicAccessType,\n} from \"@azure/storage-blob\";\nimport type { AclFailedEntry, CpkInfo } from \"./generated/src/models/index.js\";\nimport type {\n AccessControlChangeError,\n FileSystemItem,\n Metadata,\n PathAccessControlItem,\n PathPermissions,\n PublicAccessType,\n RemovePathAccessControlItem,\n RolePermissions,\n ServiceListContainersSegmentResponse,\n ServiceListFileSystemsSegmentResponse,\n} from \"./models.js\";\nimport { ToBlobEndpointHostMappings, ToDfsEndpointHostMappings } from \"./utils/constants.js\";\nimport { base64encode } from \"./utils/utils.common.js\";\n\n/**\n * Get a blob endpoint URL from incoming blob or dfs endpoint URLs.\n * Only handle known host name pair patterns, add more patterns into ToBlobEndpointHostMappings in constants.ts.\n *\n * Expected input and outputs:\n * http://account.blob.core.windows.net - http://account.blob.core.windows.net\n * http://account.dfs.core.windows.net - http://account.blob.core.windows.net\n * http://127.0.0.1:10000 - http://127.0.0.1:10000\n * http://account.blob.core.windows.net/abc - http://account.blob.core.windows.net/abc\n * http://account.dfs.core.windows.net/abc - http://account.blob.core.windows.net/abc\n * http://127.0.0.1:10000/abc - http://127.0.0.1:10000/abc\n *\n * @param url -\n */\nexport function toBlobEndpointUrl(url: string): string {\n return mapHostUrl(url, ToBlobEndpointHostMappings, \"toBlobEndpointUrl\");\n}\n\n/**\n * Get a dfs endpoint URL from incoming blob or dfs endpoint URLs.\n * Only handle known host name pair patterns, add more patterns into ToDfsEndpointHostMappings in constants.ts.\n *\n * Expected input and outputs:\n * http://account.blob.core.windows.net - http://account.dfs.core.windows.net\n * http://account.dfs.core.windows.net - http://account.dfs.core.windows.net\n * http://127.0.0.1:10000 - http://127.0.0.1:10000\n * http://account.blob.core.windows.net/abc - http://account.dfs.core.windows.net/abc\n * http://account.dfs.core.windows.net/abc - http://account.dfs.core.windows.net/abc\n * http://127.0.0.1:10000/abc - http://127.0.0.1:10000/abc\n *\n * @param url -\n */\nexport function toDfsEndpointUrl(url: string): string {\n return mapHostUrl(url, ToDfsEndpointHostMappings, \"toDfsEndpointUrl\");\n}\n\nfunction mapHostUrl(url: string, hostMappings: string[][], callerMethodName: string): string {\n let urlParsed: URL;\n try {\n urlParsed = new URL(url);\n } catch (e) {\n // invalid urls are returned unmodified\n return url;\n }\n\n let host = urlParsed.hostname;\n if (host === undefined) {\n throw RangeError(`${callerMethodName}() parameter url ${url} doesn't include valid host.`);\n }\n\n for (const mapping of hostMappings) {\n if (host.includes(mapping[0])) {\n host = host.replace(mapping[0], mapping[1]);\n break;\n }\n }\n urlParsed.hostname = host;\n const result = urlParsed.toString();\n // don't add a trailing slash if one wasn't already present\n if (!url.endsWith(\"/\") && result.endsWith(\"/\")) {\n return result.slice(0, -1);\n } else {\n return result;\n }\n}\n\nfunction toFileSystemAsyncIterableIterator(\n iter: AsyncIterableIterator<ServiceListContainersSegmentResponse>,\n): AsyncIterableIterator<ServiceListFileSystemsSegmentResponse> {\n return {\n async next() {\n const rawResult = await iter.next();\n if (rawResult.value) {\n rawResult.value.fileSystemItems = rawResult.value.containerItems.map(\n (val: ContainerItem): FileSystemItem => {\n return {\n ...val,\n versionId: val.version,\n properties: {\n ...val.properties,\n publicAccess: toPublicAccessType(val.properties.publicAccess),\n },\n };\n },\n );\n }\n return rawResult as any;\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n };\n}\n\nexport function toFileSystemPagedAsyncIterableIterator(\n iter: PagedAsyncIterableIterator<ContainerItem, ServiceListContainersSegmentResponse>,\n): PagedAsyncIterableIterator<FileSystemItem, ServiceListFileSystemsSegmentResponse> {\n return {\n async next(): Promise<IteratorResult<FileSystemItem>> {\n const rawResult = await iter.next();\n const result = rawResult as IteratorResult<FileSystemItem>;\n if (!result.done && !rawResult.done) {\n result.value.properties.publicAccess = toPublicAccessType(\n rawResult.value.properties.publicAccess,\n );\n result.value.versionId = rawResult.value.version;\n }\n return result;\n },\n [Symbol.asyncIterator](): PagedAsyncIterableIterator<\n FileSystemItem,\n ServiceListFileSystemsSegmentResponse\n > {\n return this;\n },\n byPage(\n settings: PageSettings = {},\n ): AsyncIterableIterator<ServiceListFileSystemsSegmentResponse> {\n return toFileSystemAsyncIterableIterator(iter.byPage(settings));\n },\n };\n}\n\nexport function toContainerPublicAccessType(\n publicAccessType?: PublicAccessType,\n): ContainerPublicAccessType | undefined {\n if (!publicAccessType) {\n return undefined;\n }\n\n switch (publicAccessType) {\n case \"filesystem\":\n return \"container\";\n case \"file\":\n return \"blob\";\n default:\n throw TypeError(\n `toContainerPublicAccessType() parameter ${publicAccessType} is not recognized.`,\n );\n }\n}\n\nexport function toPublicAccessType(\n containerPublicAccessType?: ContainerPublicAccessType,\n): PublicAccessType | undefined {\n if (!containerPublicAccessType) {\n return undefined;\n }\n\n switch (containerPublicAccessType) {\n case \"container\":\n return \"filesystem\";\n case \"blob\":\n return \"file\";\n default:\n throw TypeError(\n `toPublicAccessType() parameter ${containerPublicAccessType} is not recognized.`,\n );\n }\n}\n\nexport function toProperties(metadata?: Metadata): string | undefined {\n if (metadata === undefined) {\n return undefined;\n }\n\n const properties = [];\n for (const key in metadata) {\n if (Object.prototype.hasOwnProperty.call(metadata, key)) {\n const value = metadata[key];\n properties.push(`${key}=${base64encode(value)}`);\n }\n }\n\n return properties.join(\",\");\n}\n\nexport function toRolePermissions(permissionsString: string): RolePermissions {\n const error = new RangeError(\n `toRolePermissions() Invalid role permissions string ${permissionsString}`,\n );\n if (permissionsString.length !== 3) {\n throw error;\n }\n\n permissionsString = permissionsString.toLowerCase();\n\n let read = false;\n if (permissionsString[0] === \"r\") {\n read = true;\n } else if (permissionsString[0] !== \"-\") {\n throw error;\n }\n\n let write = false;\n if (permissionsString[1] === \"w\") {\n write = true;\n } else if (permissionsString[1] !== \"-\") {\n throw error;\n }\n\n let execute = false;\n if (permissionsString[2] === \"x\") {\n execute = true;\n } else if (permissionsString[2] !== \"-\") {\n throw error;\n }\n\n return { read, write, execute };\n}\n\nexport function toPermissions(permissionsString?: string): PathPermissions | undefined {\n if (permissionsString === undefined || permissionsString === \"\" || permissionsString === null) {\n return undefined;\n }\n\n if (permissionsString.length !== 9 && permissionsString.length !== 10) {\n throw RangeError(`toPermissions() Invalid permissions string ${permissionsString}`);\n }\n\n let stickyBit = false;\n if (permissionsString[8] === \"t\") {\n stickyBit = true;\n const firstPart = permissionsString.substr(0, 8);\n const lastPart = permissionsString.substr(9);\n permissionsString = firstPart + \"x\" + lastPart;\n } else if (permissionsString[8] === \"T\") {\n stickyBit = true;\n const firstPart = permissionsString.substr(0, 8);\n const lastPart = permissionsString.substr(9);\n permissionsString = firstPart + \"-\" + lastPart;\n }\n\n // Case insensitive\n permissionsString = permissionsString.toLowerCase();\n\n let extendedAcls = false;\n if (permissionsString.length === 10) {\n if (permissionsString[9] === \"+\") {\n extendedAcls = true;\n } else {\n throw RangeError(\n `toPermissions() Invalid extendedAcls bit ${permissionsString[9]} in permissions string ${permissionsString}`,\n );\n }\n }\n\n const owner = toRolePermissions(permissionsString.substr(0, 3));\n const group = toRolePermissions(permissionsString.substr(3, 3));\n const other = toRolePermissions(permissionsString.substr(6, 3));\n\n return {\n owner,\n group,\n other,\n stickyBit,\n extendedAcls,\n };\n}\n\nexport function toAccessControlItem(aclItemString: string): PathAccessControlItem {\n const error = new RangeError(\n `toAccessControlItem() Parameter access control item string ${aclItemString} is not valid.`,\n );\n if (aclItemString === \"\") {\n throw error;\n }\n\n aclItemString = aclItemString.toLowerCase();\n\n const parts = aclItemString.split(\":\");\n if (parts.length < 3 || parts.length > 4) {\n throw error;\n }\n\n let defaultScope = false;\n let index = 0;\n if (parts.length === 4) {\n if (parts[index] !== \"default\") {\n throw error;\n }\n defaultScope = true;\n index++;\n }\n\n const accessControlType = parts[index++];\n if (\n accessControlType !== \"user\" &&\n accessControlType !== \"group\" &&\n accessControlType !== \"mask\" &&\n accessControlType !== \"other\"\n ) {\n throw error;\n }\n\n const entityId = parts[index++];\n const permissions = toRolePermissions(parts[index++]);\n\n return {\n defaultScope,\n accessControlType,\n entityId,\n permissions,\n };\n}\n\nexport function toRemoveAccessControlItem(aclItemString: string): RemovePathAccessControlItem {\n const error = new RangeError(\n `toAccessControlItem() Parameter access control item string \"${aclItemString}\" is not valid.`,\n );\n if (aclItemString === \"\") {\n throw error;\n }\n\n aclItemString = aclItemString.toLowerCase();\n\n const parts = aclItemString.split(\":\");\n if (parts.length < 1 || parts.length > 3) {\n throw error;\n }\n\n if (parts.length === 3) {\n if (parts[0] !== \"default\") {\n throw error;\n }\n }\n\n let defaultScope = false;\n let index = 0;\n if (parts[index] === \"default\") {\n defaultScope = true;\n index++;\n }\n\n const accessControlType = parts[index++];\n if (\n accessControlType !== \"user\" &&\n accessControlType !== \"group\" &&\n accessControlType !== \"mask\" &&\n accessControlType !== \"other\"\n ) {\n throw error;\n }\n\n const entityId = parts[index++];\n\n return {\n defaultScope,\n accessControlType,\n entityId,\n };\n}\n\nexport function toAcl(aclString?: string): PathAccessControlItem[] {\n if (aclString === undefined || aclString === \"\" || aclString === null) {\n return [];\n }\n\n const acls = [];\n const aclParts = aclString.split(\",\");\n for (const aclPart of aclParts) {\n acls.push(toAccessControlItem(aclPart));\n }\n\n return acls;\n}\n\nexport function toRemoveAcl(aclString?: string): RemovePathAccessControlItem[] {\n if (aclString === undefined || aclString === \"\" || aclString === null) {\n return [];\n }\n\n const acls = [];\n const aclParts = aclString.split(\",\");\n for (const aclPart of aclParts) {\n acls.push(toRemoveAccessControlItem(aclPart));\n }\n\n return acls;\n}\n\nexport function toAccessControlItemString(item: PathAccessControlItem): string {\n const entityIdString = item.entityId !== undefined ? `:${item.entityId}` : \"\";\n const permissionsString =\n item.permissions !== undefined ? `:${toRolePermissionsString(item.permissions)}` : \"\";\n return `${item.defaultScope ? \"default:\" : \"\"}${\n item.accessControlType\n }${entityIdString}${permissionsString}`;\n}\n\nexport function toAclString(acl: PathAccessControlItem[]): string {\n return acl.map(toAccessControlItemString).join(\",\");\n}\n\nexport function toRolePermissionsString(p: RolePermissions, stickyBit: boolean = false): string {\n return `${p.read ? \"r\" : \"-\"}${p.write ? \"w\" : \"-\"}${\n stickyBit ? (p.execute ? \"t\" : \"T\") : p.execute ? \"x\" : \"-\"\n }`;\n}\n\nexport function toPermissionsString(permissions: PathPermissions): string {\n return `${toRolePermissionsString(permissions.owner)}${toRolePermissionsString(\n permissions.group,\n )}${toRolePermissionsString(permissions.other, permissions.stickyBit)}${\n permissions.extendedAcls ? \"+\" : \"\"\n }`;\n}\n\nexport function toAccessControlChangeFailureArray(\n aclFailedEntries: AclFailedEntry[] = [],\n): AccessControlChangeError[] {\n return aclFailedEntries.map((aclFailedEntry: AclFailedEntry) => {\n return {\n name: aclFailedEntry.name || \"\",\n isDirectory: (aclFailedEntry.type || \"\").toLowerCase() === \"directory\",\n message: aclFailedEntry.errorMessage || \"\",\n };\n });\n}\n\nexport function toBlobCpkInfo(input?: CpkInfo): BlobCpkInfo | undefined {\n return input\n ? {\n encryptionKey: input.encryptionKey,\n encryptionKeySha256: input.encryptionKeySha256,\n encryptionAlgorithm: \"AES256\",\n }\n : undefined;\n}\n"]}
@@ -1,11 +1,11 @@
1
- // This file is read by tools that parse documentation comments conforming to the TSDoc standard.
2
- // It should be published with your NPM package. It should not be tracked by Git.
3
- {
4
- "tsdocVersion": "0.12",
5
- "toolPackages": [
6
- {
7
- "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.52.8"
9
- }
10
- ]
11
- }
1
+ // This file is read by tools that parse documentation comments conforming to the TSDoc standard.
2
+ // It should be published with your NPM package. It should not be tracked by Git.
3
+ {
4
+ "tsdocVersion": "0.12",
5
+ "toolPackages": [
6
+ {
7
+ "packageName": "@microsoft/api-extractor",
8
+ "packageVersion": "7.52.8"
9
+ }
10
+ ]
11
+ }