@azure/storage-file-share 12.28.0-alpha.20250717.2 → 12.28.0-alpha.20250718.2

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 (184) hide show
  1. package/dist/browser/AccountSASPermissions.js +32 -34
  2. package/dist/browser/AccountSASPermissions.js.map +1 -1
  3. package/dist/browser/AccountSASResourceTypes.js +12 -14
  4. package/dist/browser/AccountSASResourceTypes.js.map +1 -1
  5. package/dist/browser/AccountSASServices.js +16 -18
  6. package/dist/browser/AccountSASServices.js.map +1 -1
  7. package/dist/browser/Clients.js +551 -238
  8. package/dist/browser/Clients.js.map +1 -1
  9. package/dist/browser/FileSASPermissions.js +16 -18
  10. package/dist/browser/FileSASPermissions.js.map +1 -1
  11. package/dist/browser/FileSystemAttributes.js +43 -45
  12. package/dist/browser/FileSystemAttributes.js.map +1 -1
  13. package/dist/browser/Pipeline.js +27 -10
  14. package/dist/browser/Pipeline.js.map +1 -1
  15. package/dist/browser/SASQueryParameters.js +70 -0
  16. package/dist/browser/SASQueryParameters.js.map +1 -1
  17. package/dist/browser/ShareClientInternal.js +1 -0
  18. package/dist/browser/ShareClientInternal.js.map +1 -1
  19. package/dist/browser/ShareSASPermissions.js +20 -22
  20. package/dist/browser/ShareSASPermissions.js.map +1 -1
  21. package/dist/browser/ShareServiceClient.js +63 -47
  22. package/dist/browser/ShareServiceClient.js.map +1 -1
  23. package/dist/browser/StorageClient.js +23 -0
  24. package/dist/browser/StorageClient.js.map +1 -1
  25. package/dist/browser/StorageContextClient.js +1 -1
  26. package/dist/browser/StorageContextClient.js.map +1 -1
  27. package/dist/browser/generated/src/operations/directory.js +1 -0
  28. package/dist/browser/generated/src/operations/directory.js.map +1 -1
  29. package/dist/browser/generated/src/operations/file.js +1 -0
  30. package/dist/browser/generated/src/operations/file.js.map +1 -1
  31. package/dist/browser/generated/src/operations/service.js +1 -0
  32. package/dist/browser/generated/src/operations/service.js.map +1 -1
  33. package/dist/browser/generated/src/operations/share.js +1 -0
  34. package/dist/browser/generated/src/operations/share.js.map +1 -1
  35. package/dist/browser/generated/src/storageClient.js +14 -3
  36. package/dist/browser/generated/src/storageClient.js.map +1 -1
  37. package/dist/browser/utils/Batch.js +29 -21
  38. package/dist/browser/utils/Batch.js.map +1 -1
  39. package/dist/browser/utils/BufferScheduler.js +70 -44
  40. package/dist/browser/utils/BufferScheduler.js.map +1 -1
  41. package/dist/browser/utils/RetriableReadableStream.js +70 -62
  42. package/dist/browser/utils/RetriableReadableStream.js.map +1 -1
  43. package/dist/browser/utils/utils.common.js +31 -15
  44. package/dist/browser/utils/utils.common.js.map +1 -1
  45. package/dist/commonjs/AccountSASPermissions.js +32 -34
  46. package/dist/commonjs/AccountSASPermissions.js.map +1 -1
  47. package/dist/commonjs/AccountSASResourceTypes.js +12 -14
  48. package/dist/commonjs/AccountSASResourceTypes.js.map +1 -1
  49. package/dist/commonjs/AccountSASServices.js +16 -18
  50. package/dist/commonjs/AccountSASServices.js.map +1 -1
  51. package/dist/commonjs/Clients.js +551 -238
  52. package/dist/commonjs/Clients.js.map +1 -1
  53. package/dist/commonjs/FileDownloadResponse.js +2 -0
  54. package/dist/commonjs/FileDownloadResponse.js.map +1 -1
  55. package/dist/commonjs/FileSASPermissions.js +16 -18
  56. package/dist/commonjs/FileSASPermissions.js.map +1 -1
  57. package/dist/commonjs/FileSystemAttributes.js +43 -45
  58. package/dist/commonjs/FileSystemAttributes.js.map +1 -1
  59. package/dist/commonjs/Pipeline.js +27 -10
  60. package/dist/commonjs/Pipeline.js.map +1 -1
  61. package/dist/commonjs/SASQueryParameters.js +70 -0
  62. package/dist/commonjs/SASQueryParameters.js.map +1 -1
  63. package/dist/commonjs/ShareClientInternal.js +1 -0
  64. package/dist/commonjs/ShareClientInternal.js.map +1 -1
  65. package/dist/commonjs/ShareSASPermissions.js +20 -22
  66. package/dist/commonjs/ShareSASPermissions.js.map +1 -1
  67. package/dist/commonjs/ShareServiceClient.js +63 -47
  68. package/dist/commonjs/ShareServiceClient.js.map +1 -1
  69. package/dist/commonjs/StorageClient.js +23 -0
  70. package/dist/commonjs/StorageClient.js.map +1 -1
  71. package/dist/commonjs/StorageContextClient.js +1 -1
  72. package/dist/commonjs/StorageContextClient.js.map +1 -1
  73. package/dist/commonjs/generated/src/operations/directory.js +1 -0
  74. package/dist/commonjs/generated/src/operations/directory.js.map +1 -1
  75. package/dist/commonjs/generated/src/operations/file.js +1 -0
  76. package/dist/commonjs/generated/src/operations/file.js.map +1 -1
  77. package/dist/commonjs/generated/src/operations/service.js +1 -0
  78. package/dist/commonjs/generated/src/operations/service.js.map +1 -1
  79. package/dist/commonjs/generated/src/operations/share.js +1 -0
  80. package/dist/commonjs/generated/src/operations/share.js.map +1 -1
  81. package/dist/commonjs/generated/src/storageClient.js +14 -3
  82. package/dist/commonjs/generated/src/storageClient.js.map +1 -1
  83. package/dist/commonjs/tsdoc-metadata.json +11 -11
  84. package/dist/commonjs/utils/Batch.js +29 -21
  85. package/dist/commonjs/utils/Batch.js.map +1 -1
  86. package/dist/commonjs/utils/BufferScheduler.js +70 -44
  87. package/dist/commonjs/utils/BufferScheduler.js.map +1 -1
  88. package/dist/commonjs/utils/RetriableReadableStream.js +70 -62
  89. package/dist/commonjs/utils/RetriableReadableStream.js.map +1 -1
  90. package/dist/commonjs/utils/utils.common.js +31 -15
  91. package/dist/commonjs/utils/utils.common.js.map +1 -1
  92. package/dist/esm/AccountSASPermissions.js +32 -34
  93. package/dist/esm/AccountSASPermissions.js.map +1 -1
  94. package/dist/esm/AccountSASResourceTypes.js +12 -14
  95. package/dist/esm/AccountSASResourceTypes.js.map +1 -1
  96. package/dist/esm/AccountSASServices.js +16 -18
  97. package/dist/esm/AccountSASServices.js.map +1 -1
  98. package/dist/esm/Clients.js +551 -238
  99. package/dist/esm/Clients.js.map +1 -1
  100. package/dist/esm/FileDownloadResponse.js +2 -0
  101. package/dist/esm/FileDownloadResponse.js.map +1 -1
  102. package/dist/esm/FileSASPermissions.js +16 -18
  103. package/dist/esm/FileSASPermissions.js.map +1 -1
  104. package/dist/esm/FileSystemAttributes.js +43 -45
  105. package/dist/esm/FileSystemAttributes.js.map +1 -1
  106. package/dist/esm/Pipeline.js +27 -10
  107. package/dist/esm/Pipeline.js.map +1 -1
  108. package/dist/esm/SASQueryParameters.js +70 -0
  109. package/dist/esm/SASQueryParameters.js.map +1 -1
  110. package/dist/esm/ShareClientInternal.js +1 -0
  111. package/dist/esm/ShareClientInternal.js.map +1 -1
  112. package/dist/esm/ShareSASPermissions.js +20 -22
  113. package/dist/esm/ShareSASPermissions.js.map +1 -1
  114. package/dist/esm/ShareServiceClient.js +63 -47
  115. package/dist/esm/ShareServiceClient.js.map +1 -1
  116. package/dist/esm/StorageClient.js +23 -0
  117. package/dist/esm/StorageClient.js.map +1 -1
  118. package/dist/esm/StorageContextClient.js +1 -1
  119. package/dist/esm/StorageContextClient.js.map +1 -1
  120. package/dist/esm/generated/src/operations/directory.js +1 -0
  121. package/dist/esm/generated/src/operations/directory.js.map +1 -1
  122. package/dist/esm/generated/src/operations/file.js +1 -0
  123. package/dist/esm/generated/src/operations/file.js.map +1 -1
  124. package/dist/esm/generated/src/operations/service.js +1 -0
  125. package/dist/esm/generated/src/operations/service.js.map +1 -1
  126. package/dist/esm/generated/src/operations/share.js +1 -0
  127. package/dist/esm/generated/src/operations/share.js.map +1 -1
  128. package/dist/esm/generated/src/storageClient.js +14 -3
  129. package/dist/esm/generated/src/storageClient.js.map +1 -1
  130. package/dist/esm/utils/Batch.js +29 -21
  131. package/dist/esm/utils/Batch.js.map +1 -1
  132. package/dist/esm/utils/BufferScheduler.js +70 -44
  133. package/dist/esm/utils/BufferScheduler.js.map +1 -1
  134. package/dist/esm/utils/RetriableReadableStream.js +70 -62
  135. package/dist/esm/utils/RetriableReadableStream.js.map +1 -1
  136. package/dist/esm/utils/utils.common.js +31 -15
  137. package/dist/esm/utils/utils.common.js.map +1 -1
  138. package/dist/react-native/AccountSASPermissions.js +32 -34
  139. package/dist/react-native/AccountSASPermissions.js.map +1 -1
  140. package/dist/react-native/AccountSASResourceTypes.js +12 -14
  141. package/dist/react-native/AccountSASResourceTypes.js.map +1 -1
  142. package/dist/react-native/AccountSASServices.js +16 -18
  143. package/dist/react-native/AccountSASServices.js.map +1 -1
  144. package/dist/react-native/Clients.js +551 -238
  145. package/dist/react-native/Clients.js.map +1 -1
  146. package/dist/react-native/FileDownloadResponse.js +2 -0
  147. package/dist/react-native/FileDownloadResponse.js.map +1 -1
  148. package/dist/react-native/FileSASPermissions.js +16 -18
  149. package/dist/react-native/FileSASPermissions.js.map +1 -1
  150. package/dist/react-native/FileSystemAttributes.js +43 -45
  151. package/dist/react-native/FileSystemAttributes.js.map +1 -1
  152. package/dist/react-native/Pipeline.js +27 -10
  153. package/dist/react-native/Pipeline.js.map +1 -1
  154. package/dist/react-native/SASQueryParameters.js +70 -0
  155. package/dist/react-native/SASQueryParameters.js.map +1 -1
  156. package/dist/react-native/ShareClientInternal.js +1 -0
  157. package/dist/react-native/ShareClientInternal.js.map +1 -1
  158. package/dist/react-native/ShareSASPermissions.js +20 -22
  159. package/dist/react-native/ShareSASPermissions.js.map +1 -1
  160. package/dist/react-native/ShareServiceClient.js +63 -47
  161. package/dist/react-native/ShareServiceClient.js.map +1 -1
  162. package/dist/react-native/StorageClient.js +23 -0
  163. package/dist/react-native/StorageClient.js.map +1 -1
  164. package/dist/react-native/StorageContextClient.js +1 -1
  165. package/dist/react-native/StorageContextClient.js.map +1 -1
  166. package/dist/react-native/generated/src/operations/directory.js +1 -0
  167. package/dist/react-native/generated/src/operations/directory.js.map +1 -1
  168. package/dist/react-native/generated/src/operations/file.js +1 -0
  169. package/dist/react-native/generated/src/operations/file.js.map +1 -1
  170. package/dist/react-native/generated/src/operations/service.js +1 -0
  171. package/dist/react-native/generated/src/operations/service.js.map +1 -1
  172. package/dist/react-native/generated/src/operations/share.js +1 -0
  173. package/dist/react-native/generated/src/operations/share.js.map +1 -1
  174. package/dist/react-native/generated/src/storageClient.js +14 -3
  175. package/dist/react-native/generated/src/storageClient.js.map +1 -1
  176. package/dist/react-native/utils/Batch.js +29 -21
  177. package/dist/react-native/utils/Batch.js.map +1 -1
  178. package/dist/react-native/utils/BufferScheduler.js +70 -44
  179. package/dist/react-native/utils/BufferScheduler.js.map +1 -1
  180. package/dist/react-native/utils/RetriableReadableStream.js +70 -62
  181. package/dist/react-native/utils/RetriableReadableStream.js.map +1 -1
  182. package/dist/react-native/utils/utils.common.js +31 -15
  183. package/dist/react-native/utils/utils.common.js.map +1 -1
  184. package/package.json +2 -2
@@ -10,40 +10,6 @@
10
10
  * the order of the permissions is particular and this class guarantees correctness.
11
11
  */
12
12
  export class AccountSASPermissions {
13
- constructor() {
14
- /**
15
- * Permission to read resources and list queues and tables granted.
16
- */
17
- this.read = false;
18
- /**
19
- * Permission to write resources granted.
20
- */
21
- this.write = false;
22
- /**
23
- * Permission to delete blobs and files granted.
24
- */
25
- this.delete = false;
26
- /**
27
- * Permission to list blob containers, blobs, shares, directories, and files granted.
28
- */
29
- this.list = false;
30
- /**
31
- * Permission to add messages, table entities, and append to blobs granted.
32
- */
33
- this.add = false;
34
- /**
35
- * Permission to create blobs and files granted.
36
- */
37
- this.create = false;
38
- /**
39
- * Permissions to update messages and table entities granted.
40
- */
41
- this.update = false;
42
- /**
43
- * Permission to get and delete messages granted.
44
- */
45
- this.process = false;
46
- }
47
13
  /**
48
14
  * Parse initializes the AccountSASPermissions fields from a string.
49
15
  *
@@ -83,6 +49,38 @@ export class AccountSASPermissions {
83
49
  }
84
50
  return accountSASPermissions;
85
51
  }
52
+ /**
53
+ * Permission to read resources and list queues and tables granted.
54
+ */
55
+ read = false;
56
+ /**
57
+ * Permission to write resources granted.
58
+ */
59
+ write = false;
60
+ /**
61
+ * Permission to delete blobs and files granted.
62
+ */
63
+ delete = false;
64
+ /**
65
+ * Permission to list blob containers, blobs, shares, directories, and files granted.
66
+ */
67
+ list = false;
68
+ /**
69
+ * Permission to add messages, table entities, and append to blobs granted.
70
+ */
71
+ add = false;
72
+ /**
73
+ * Permission to create blobs and files granted.
74
+ */
75
+ create = false;
76
+ /**
77
+ * Permissions to update messages and table entities granted.
78
+ */
79
+ update = false;
80
+ /**
81
+ * Permission to get and delete messages granted.
82
+ */
83
+ process = false;
86
84
  /**
87
85
  * Produces the SAS permissions string for an Azure Storage account.
88
86
  * Call this method to set AccountSASSignatureValues Permissions field.
@@ -1 +1 @@
1
- {"version":3,"file":"AccountSASPermissions.js","sourceRoot":"","sources":["../../src/AccountSASPermissions.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n *\n * This is a helper class to construct a string representing the permissions granted by an AccountSAS. Setting a value\n * to true means that any SAS which uses these permissions will grant permissions for that operation. Once all the\n * values are set, this should be serialized with toString and set as the permissions field on an\n * {@link AccountSASSignatureValues} 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 AccountSASPermissions {\n /**\n * Parse initializes the AccountSASPermissions fields from a string.\n *\n * @param permissions -\n */\n public static parse(permissions: string): AccountSASPermissions {\n const accountSASPermissions = new AccountSASPermissions();\n\n for (const c of permissions) {\n switch (c) {\n case \"r\":\n accountSASPermissions.read = true;\n break;\n case \"w\":\n accountSASPermissions.write = true;\n break;\n case \"d\":\n accountSASPermissions.delete = true;\n break;\n case \"l\":\n accountSASPermissions.list = true;\n break;\n case \"a\":\n accountSASPermissions.add = true;\n break;\n case \"c\":\n accountSASPermissions.create = true;\n break;\n case \"u\":\n accountSASPermissions.update = true;\n break;\n case \"p\":\n accountSASPermissions.process = true;\n break;\n default:\n throw new RangeError(`Invalid permission character: ${c}`);\n }\n }\n\n return accountSASPermissions;\n }\n\n /**\n * Permission to read resources and list queues and tables granted.\n */\n public read: boolean = false;\n\n /**\n * Permission to write resources granted.\n */\n public write: boolean = false;\n\n /**\n * Permission to delete blobs and files granted.\n */\n public delete: boolean = false;\n\n /**\n * Permission to list blob containers, blobs, shares, directories, and files granted.\n */\n public list: boolean = false;\n\n /**\n * Permission to add messages, table entities, and append to blobs granted.\n */\n public add: boolean = false;\n\n /**\n * Permission to create blobs and files granted.\n */\n public create: boolean = false;\n\n /**\n * Permissions to update messages and table entities granted.\n */\n public update: boolean = false;\n\n /**\n * Permission to get and delete messages granted.\n */\n public process: boolean = false;\n\n /**\n * Produces the SAS permissions string for an Azure Storage account.\n * Call this method to set AccountSASSignatureValues Permissions field.\n *\n * Using this method will guarantee the resource types are in\n * an order accepted by the service.\n *\n * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas\n *\n */\n public toString(): string {\n // The order of the characters should be as specified here to ensure correctness:\n // https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas\n // Use a string array instead of string concatenating += operator for performance\n const permissions: string[] = [];\n if (this.read) {\n permissions.push(\"r\");\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.add) {\n permissions.push(\"a\");\n }\n if (this.create) {\n permissions.push(\"c\");\n }\n if (this.update) {\n permissions.push(\"u\");\n }\n if (this.process) {\n permissions.push(\"p\");\n }\n return permissions.join(\"\");\n }\n}\n"]}
1
+ {"version":3,"file":"AccountSASPermissions.js","sourceRoot":"","sources":["../../src/AccountSASPermissions.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n *\n * This is a helper class to construct a string representing the permissions granted by an AccountSAS. Setting a value\n * to true means that any SAS which uses these permissions will grant permissions for that operation. Once all the\n * values are set, this should be serialized with toString and set as the permissions field on an\n * {@link AccountSASSignatureValues} 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 AccountSASPermissions {\n /**\n * Parse initializes the AccountSASPermissions fields from a string.\n *\n * @param permissions -\n */\n public static parse(permissions: string): AccountSASPermissions {\n const accountSASPermissions = new AccountSASPermissions();\n\n for (const c of permissions) {\n switch (c) {\n case \"r\":\n accountSASPermissions.read = true;\n break;\n case \"w\":\n accountSASPermissions.write = true;\n break;\n case \"d\":\n accountSASPermissions.delete = true;\n break;\n case \"l\":\n accountSASPermissions.list = true;\n break;\n case \"a\":\n accountSASPermissions.add = true;\n break;\n case \"c\":\n accountSASPermissions.create = true;\n break;\n case \"u\":\n accountSASPermissions.update = true;\n break;\n case \"p\":\n accountSASPermissions.process = true;\n break;\n default:\n throw new RangeError(`Invalid permission character: ${c}`);\n }\n }\n\n return accountSASPermissions;\n }\n\n /**\n * Permission to read resources and list queues and tables granted.\n */\n public read: boolean = false;\n\n /**\n * Permission to write resources granted.\n */\n public write: boolean = false;\n\n /**\n * Permission to delete blobs and files granted.\n */\n public delete: boolean = false;\n\n /**\n * Permission to list blob containers, blobs, shares, directories, and files granted.\n */\n public list: boolean = false;\n\n /**\n * Permission to add messages, table entities, and append to blobs granted.\n */\n public add: boolean = false;\n\n /**\n * Permission to create blobs and files granted.\n */\n public create: boolean = false;\n\n /**\n * Permissions to update messages and table entities granted.\n */\n public update: boolean = false;\n\n /**\n * Permission to get and delete messages granted.\n */\n public process: boolean = false;\n\n /**\n * Produces the SAS permissions string for an Azure Storage account.\n * Call this method to set AccountSASSignatureValues Permissions field.\n *\n * Using this method will guarantee the resource types are in\n * an order accepted by the service.\n *\n * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas\n *\n */\n public toString(): string {\n // The order of the characters should be as specified here to ensure correctness:\n // https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas\n // Use a string array instead of string concatenating += operator for performance\n const permissions: string[] = [];\n if (this.read) {\n permissions.push(\"r\");\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.add) {\n permissions.push(\"a\");\n }\n if (this.create) {\n permissions.push(\"c\");\n }\n if (this.update) {\n permissions.push(\"u\");\n }\n if (this.process) {\n permissions.push(\"p\");\n }\n return permissions.join(\"\");\n }\n}\n"]}
@@ -10,20 +10,6 @@
10
10
  * the order of the resources is particular and this class guarantees correctness.
11
11
  */
12
12
  export class AccountSASResourceTypes {
13
- constructor() {
14
- /**
15
- * Permission to access service level APIs granted.
16
- */
17
- this.service = false;
18
- /**
19
- * Permission to access container level APIs (Blob Containers, Tables, Queues, File Shares) granted.
20
- */
21
- this.container = false;
22
- /**
23
- * Permission to access object level APIs (Blobs, Table Entities, Queue Messages, Files) granted.
24
- */
25
- this.object = false;
26
- }
27
13
  /**
28
14
  * Creates an {@link AccountSASResourceTypes} from the specified resource types string. This method will throw an
29
15
  * Error if it encounters a character that does not correspond to a valid resource type.
@@ -49,6 +35,18 @@ export class AccountSASResourceTypes {
49
35
  }
50
36
  return accountSASResourceTypes;
51
37
  }
38
+ /**
39
+ * Permission to access service level APIs granted.
40
+ */
41
+ service = false;
42
+ /**
43
+ * Permission to access container level APIs (Blob Containers, Tables, Queues, File Shares) granted.
44
+ */
45
+ container = false;
46
+ /**
47
+ * Permission to access object level APIs (Blobs, Table Entities, Queue Messages, Files) granted.
48
+ */
49
+ object = false;
52
50
  /**
53
51
  * Converts the given resource types to a string.
54
52
  *
@@ -1 +1 @@
1
- {"version":3,"file":"AccountSASResourceTypes.js","sourceRoot":"","sources":["../../src/AccountSASResourceTypes.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC;;;;;;;;GAQG;AACH,MAAM,OAAO,uBAAuB;IAApC;QA6BE;;WAEG;QACI,YAAO,GAAY,KAAK,CAAC;QAEhC;;WAEG;QACI,cAAS,GAAY,KAAK,CAAC;QAElC;;WAEG;QACI,WAAM,GAAY,KAAK,CAAC;IAqBjC,CAAC;IA9DC;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,aAAqB;QACvC,MAAM,uBAAuB,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAE9D,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;YAC9B,QAAQ,CAAC,EAAE,CAAC;gBACV,KAAK,GAAG;oBACN,uBAAuB,CAAC,OAAO,GAAG,IAAI,CAAC;oBACvC,MAAM;gBACR,KAAK,GAAG;oBACN,uBAAuB,CAAC,SAAS,GAAG,IAAI,CAAC;oBACzC,MAAM;gBACR,KAAK,GAAG;oBACN,uBAAuB,CAAC,MAAM,GAAG,IAAI,CAAC;oBACtC,MAAM;gBACR;oBACE,MAAM,IAAI,UAAU,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAED,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAiBD;;;;;OAKG;IACI,QAAQ;QACb,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n *\n * This is a helper class to construct a string representing the resources accessible by an AccountSAS. Setting a value\n * to true means that any SAS which uses these permissions will grant access to that resource type. Once all the\n * values are set, this should be serialized with toString and set as the resources field on an\n * {@link AccountSASSignatureValues} object. It is possible to construct the resources string without this class, but\n * the order of the resources is particular and this class guarantees correctness.\n */\nexport class AccountSASResourceTypes {\n /**\n * Creates an {@link AccountSASResourceTypes} from the specified resource types string. This method will throw an\n * Error if it encounters a character that does not correspond to a valid resource type.\n *\n * @param resourceTypes -\n */\n public static parse(resourceTypes: string): AccountSASResourceTypes {\n const accountSASResourceTypes = new AccountSASResourceTypes();\n\n for (const c of resourceTypes) {\n switch (c) {\n case \"s\":\n accountSASResourceTypes.service = true;\n break;\n case \"c\":\n accountSASResourceTypes.container = true;\n break;\n case \"o\":\n accountSASResourceTypes.object = true;\n break;\n default:\n throw new RangeError(`Invalid resource type: ${c}`);\n }\n }\n\n return accountSASResourceTypes;\n }\n\n /**\n * Permission to access service level APIs granted.\n */\n public service: boolean = false;\n\n /**\n * Permission to access container level APIs (Blob Containers, Tables, Queues, File Shares) granted.\n */\n public container: boolean = false;\n\n /**\n * Permission to access object level APIs (Blobs, Table Entities, Queue Messages, Files) granted.\n */\n public object: boolean = false;\n\n /**\n * Converts the given resource types to a string.\n *\n * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas\n *\n */\n public toString(): string {\n const resourceTypes: string[] = [];\n if (this.service) {\n resourceTypes.push(\"s\");\n }\n if (this.container) {\n resourceTypes.push(\"c\");\n }\n if (this.object) {\n resourceTypes.push(\"o\");\n }\n return resourceTypes.join(\"\");\n }\n}\n"]}
1
+ {"version":3,"file":"AccountSASResourceTypes.js","sourceRoot":"","sources":["../../src/AccountSASResourceTypes.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC;;;;;;;;GAQG;AACH,MAAM,OAAO,uBAAuB;IAClC;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,aAAqB;QACvC,MAAM,uBAAuB,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAE9D,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;YAC9B,QAAQ,CAAC,EAAE,CAAC;gBACV,KAAK,GAAG;oBACN,uBAAuB,CAAC,OAAO,GAAG,IAAI,CAAC;oBACvC,MAAM;gBACR,KAAK,GAAG;oBACN,uBAAuB,CAAC,SAAS,GAAG,IAAI,CAAC;oBACzC,MAAM;gBACR,KAAK,GAAG;oBACN,uBAAuB,CAAC,MAAM,GAAG,IAAI,CAAC;oBACtC,MAAM;gBACR;oBACE,MAAM,IAAI,UAAU,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAED,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED;;OAEG;IACI,OAAO,GAAY,KAAK,CAAC;IAEhC;;OAEG;IACI,SAAS,GAAY,KAAK,CAAC;IAElC;;OAEG;IACI,MAAM,GAAY,KAAK,CAAC;IAE/B;;;;;OAKG;IACI,QAAQ;QACb,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n *\n * This is a helper class to construct a string representing the resources accessible by an AccountSAS. Setting a value\n * to true means that any SAS which uses these permissions will grant access to that resource type. Once all the\n * values are set, this should be serialized with toString and set as the resources field on an\n * {@link AccountSASSignatureValues} object. It is possible to construct the resources string without this class, but\n * the order of the resources is particular and this class guarantees correctness.\n */\nexport class AccountSASResourceTypes {\n /**\n * Creates an {@link AccountSASResourceTypes} from the specified resource types string. This method will throw an\n * Error if it encounters a character that does not correspond to a valid resource type.\n *\n * @param resourceTypes -\n */\n public static parse(resourceTypes: string): AccountSASResourceTypes {\n const accountSASResourceTypes = new AccountSASResourceTypes();\n\n for (const c of resourceTypes) {\n switch (c) {\n case \"s\":\n accountSASResourceTypes.service = true;\n break;\n case \"c\":\n accountSASResourceTypes.container = true;\n break;\n case \"o\":\n accountSASResourceTypes.object = true;\n break;\n default:\n throw new RangeError(`Invalid resource type: ${c}`);\n }\n }\n\n return accountSASResourceTypes;\n }\n\n /**\n * Permission to access service level APIs granted.\n */\n public service: boolean = false;\n\n /**\n * Permission to access container level APIs (Blob Containers, Tables, Queues, File Shares) granted.\n */\n public container: boolean = false;\n\n /**\n * Permission to access object level APIs (Blobs, Table Entities, Queue Messages, Files) granted.\n */\n public object: boolean = false;\n\n /**\n * Converts the given resource types to a string.\n *\n * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas\n *\n */\n public toString(): string {\n const resourceTypes: string[] = [];\n if (this.service) {\n resourceTypes.push(\"s\");\n }\n if (this.container) {\n resourceTypes.push(\"c\");\n }\n if (this.object) {\n resourceTypes.push(\"o\");\n }\n return resourceTypes.join(\"\");\n }\n}\n"]}
@@ -10,24 +10,6 @@
10
10
  * the order of the services is particular and this class guarantees correctness.
11
11
  */
12
12
  export class AccountSASServices {
13
- constructor() {
14
- /**
15
- * Permission to access blob resources granted.
16
- */
17
- this.blob = false;
18
- /**
19
- * Permission to access file resources granted.
20
- */
21
- this.file = false;
22
- /**
23
- * Permission to access queue resources granted.
24
- */
25
- this.queue = false;
26
- /**
27
- * Permission to access table resources granted.
28
- */
29
- this.table = false;
30
- }
31
13
  /**
32
14
  * Creates an {@link AccountSASServices} from the specified services string. This method will throw an
33
15
  * Error if it encounters a character that does not correspond to a valid service.
@@ -56,6 +38,22 @@ export class AccountSASServices {
56
38
  }
57
39
  return accountSASServices;
58
40
  }
41
+ /**
42
+ * Permission to access blob resources granted.
43
+ */
44
+ blob = false;
45
+ /**
46
+ * Permission to access file resources granted.
47
+ */
48
+ file = false;
49
+ /**
50
+ * Permission to access queue resources granted.
51
+ */
52
+ queue = false;
53
+ /**
54
+ * Permission to access table resources granted.
55
+ */
56
+ table = false;
59
57
  /**
60
58
  * Converts the given services to a string.
61
59
  *
@@ -1 +1 @@
1
- {"version":3,"file":"AccountSASServices.js","sourceRoot":"","sources":["../../src/AccountSASServices.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC;;;;;;;;GAQG;AACH,MAAM,OAAO,kBAAkB;IAA/B;QAgCE;;WAEG;QACI,SAAI,GAAY,KAAK,CAAC;QAE7B;;WAEG;QACI,SAAI,GAAY,KAAK,CAAC;QAE7B;;WAEG;QACI,UAAK,GAAY,KAAK,CAAC;QAE9B;;WAEG;QACI,UAAK,GAAY,KAAK,CAAC;IAsBhC,CAAC;IAvEC;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,QAAgB;QAClC,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAEpD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,QAAQ,CAAC,EAAE,CAAC;gBACV,KAAK,GAAG;oBACN,kBAAkB,CAAC,IAAI,GAAG,IAAI,CAAC;oBAC/B,MAAM;gBACR,KAAK,GAAG;oBACN,kBAAkB,CAAC,IAAI,GAAG,IAAI,CAAC;oBAC/B,MAAM;gBACR,KAAK,GAAG;oBACN,kBAAkB,CAAC,KAAK,GAAG,IAAI,CAAC;oBAChC,MAAM;gBACR,KAAK,GAAG;oBACN,kBAAkB,CAAC,KAAK,GAAG,IAAI,CAAC;oBAChC,MAAM;gBACR;oBACE,MAAM,IAAI,UAAU,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAsBD;;;OAGG;IACI,QAAQ;QACb,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n *\n * This is a helper class to construct a string representing the services accessible by an AccountSAS. Setting a value\n * to true means that any SAS which uses these permissions will grant access to that service. Once all the\n * values are set, this should be serialized with toString and set as the services field on an\n * {@link AccountSASSignatureValues} object. It is possible to construct the services string without this class, but\n * the order of the services is particular and this class guarantees correctness.\n */\nexport class AccountSASServices {\n /**\n * Creates an {@link AccountSASServices} from the specified services string. This method will throw an\n * Error if it encounters a character that does not correspond to a valid service.\n *\n * @param services -\n */\n public static parse(services: string): AccountSASServices {\n const accountSASServices = new AccountSASServices();\n\n for (const c of services) {\n switch (c) {\n case \"b\":\n accountSASServices.blob = true;\n break;\n case \"f\":\n accountSASServices.file = true;\n break;\n case \"q\":\n accountSASServices.queue = true;\n break;\n case \"t\":\n accountSASServices.table = true;\n break;\n default:\n throw new RangeError(`Invalid service character: ${c}`);\n }\n }\n\n return accountSASServices;\n }\n\n /**\n * Permission to access blob resources granted.\n */\n public blob: boolean = false;\n\n /**\n * Permission to access file resources granted.\n */\n public file: boolean = false;\n\n /**\n * Permission to access queue resources granted.\n */\n public queue: boolean = false;\n\n /**\n * Permission to access table resources granted.\n */\n public table: boolean = false;\n\n /**\n * Converts the given services to a string.\n *\n */\n public toString(): string {\n const services: string[] = [];\n if (this.blob) {\n services.push(\"b\");\n }\n if (this.table) {\n services.push(\"t\");\n }\n if (this.queue) {\n services.push(\"q\");\n }\n if (this.file) {\n services.push(\"f\");\n }\n return services.join(\"\");\n }\n}\n"]}
1
+ {"version":3,"file":"AccountSASServices.js","sourceRoot":"","sources":["../../src/AccountSASServices.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC;;;;;;;;GAQG;AACH,MAAM,OAAO,kBAAkB;IAC7B;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,QAAgB;QAClC,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAEpD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,QAAQ,CAAC,EAAE,CAAC;gBACV,KAAK,GAAG;oBACN,kBAAkB,CAAC,IAAI,GAAG,IAAI,CAAC;oBAC/B,MAAM;gBACR,KAAK,GAAG;oBACN,kBAAkB,CAAC,IAAI,GAAG,IAAI,CAAC;oBAC/B,MAAM;gBACR,KAAK,GAAG;oBACN,kBAAkB,CAAC,KAAK,GAAG,IAAI,CAAC;oBAChC,MAAM;gBACR,KAAK,GAAG;oBACN,kBAAkB,CAAC,KAAK,GAAG,IAAI,CAAC;oBAChC,MAAM;gBACR;oBACE,MAAM,IAAI,UAAU,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED;;OAEG;IACI,IAAI,GAAY,KAAK,CAAC;IAE7B;;OAEG;IACI,IAAI,GAAY,KAAK,CAAC;IAE7B;;OAEG;IACI,KAAK,GAAY,KAAK,CAAC;IAE9B;;OAEG;IACI,KAAK,GAAY,KAAK,CAAC;IAE9B;;;OAGG;IACI,QAAQ;QACb,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n *\n * This is a helper class to construct a string representing the services accessible by an AccountSAS. Setting a value\n * to true means that any SAS which uses these permissions will grant access to that service. Once all the\n * values are set, this should be serialized with toString and set as the services field on an\n * {@link AccountSASSignatureValues} object. It is possible to construct the services string without this class, but\n * the order of the services is particular and this class guarantees correctness.\n */\nexport class AccountSASServices {\n /**\n * Creates an {@link AccountSASServices} from the specified services string. This method will throw an\n * Error if it encounters a character that does not correspond to a valid service.\n *\n * @param services -\n */\n public static parse(services: string): AccountSASServices {\n const accountSASServices = new AccountSASServices();\n\n for (const c of services) {\n switch (c) {\n case \"b\":\n accountSASServices.blob = true;\n break;\n case \"f\":\n accountSASServices.file = true;\n break;\n case \"q\":\n accountSASServices.queue = true;\n break;\n case \"t\":\n accountSASServices.table = true;\n break;\n default:\n throw new RangeError(`Invalid service character: ${c}`);\n }\n }\n\n return accountSASServices;\n }\n\n /**\n * Permission to access blob resources granted.\n */\n public blob: boolean = false;\n\n /**\n * Permission to access file resources granted.\n */\n public file: boolean = false;\n\n /**\n * Permission to access queue resources granted.\n */\n public queue: boolean = false;\n\n /**\n * Permission to access table resources granted.\n */\n public table: boolean = false;\n\n /**\n * Converts the given services to a string.\n *\n */\n public toString(): string {\n const services: string[] = [];\n if (this.blob) {\n services.push(\"b\");\n }\n if (this.table) {\n services.push(\"t\");\n }\n if (this.queue) {\n services.push(\"q\");\n }\n if (this.file) {\n services.push(\"f\");\n }\n return services.join(\"\");\n }\n}\n"]}