@azure/storage-queue 12.30.0-beta.1 → 12.31.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. package/dist/browser/generated/src/storageClient.js +2 -2
  2. package/dist/browser/generated/src/storageClient.js.map +1 -1
  3. package/dist/browser/utils/constants.js +2 -2
  4. package/dist/browser/utils/constants.js.map +1 -1
  5. package/dist/browser/utils/utils.common.d.ts.map +1 -1
  6. package/dist/browser/utils/utils.common.js +14 -0
  7. package/dist/browser/utils/utils.common.js.map +1 -1
  8. package/dist/commonjs/AccountSASPermissions.js +1 -0
  9. package/dist/commonjs/AccountSASPermissions.js.map +1 -1
  10. package/dist/commonjs/AccountSASResourceTypes.js +1 -0
  11. package/dist/commonjs/AccountSASResourceTypes.js.map +1 -1
  12. package/dist/commonjs/AccountSASServices.js +1 -0
  13. package/dist/commonjs/AccountSASServices.js.map +1 -1
  14. package/dist/commonjs/AccountSASSignatureValues.js +1 -0
  15. package/dist/commonjs/AccountSASSignatureValues.js.map +1 -1
  16. package/dist/commonjs/Pipeline.js +1 -0
  17. package/dist/commonjs/Pipeline.js.map +1 -1
  18. package/dist/commonjs/QueueClient.js +1 -0
  19. package/dist/commonjs/QueueClient.js.map +1 -1
  20. package/dist/commonjs/QueueSASPermissions.js +1 -0
  21. package/dist/commonjs/QueueSASPermissions.js.map +1 -1
  22. package/dist/commonjs/QueueSASSignatureValues.js +1 -0
  23. package/dist/commonjs/QueueSASSignatureValues.js.map +1 -1
  24. package/dist/commonjs/QueueServiceClient.js +1 -0
  25. package/dist/commonjs/QueueServiceClient.js.map +1 -1
  26. package/dist/commonjs/SASQueryParameters.js +1 -0
  27. package/dist/commonjs/SASQueryParameters.js.map +1 -1
  28. package/dist/commonjs/SasIPRange.js +1 -0
  29. package/dist/commonjs/SasIPRange.js.map +1 -1
  30. package/dist/commonjs/StorageClient.js +1 -0
  31. package/dist/commonjs/StorageClient.js.map +1 -1
  32. package/dist/commonjs/StorageContextClient.js +1 -0
  33. package/dist/commonjs/StorageContextClient.js.map +1 -1
  34. package/dist/commonjs/generated/src/index.js +1 -0
  35. package/dist/commonjs/generated/src/index.js.map +1 -1
  36. package/dist/commonjs/generated/src/models/index.js +1 -0
  37. package/dist/commonjs/generated/src/models/index.js.map +1 -1
  38. package/dist/commonjs/generated/src/models/mappers.js +1 -0
  39. package/dist/commonjs/generated/src/models/mappers.js.map +1 -1
  40. package/dist/commonjs/generated/src/models/parameters.js +1 -0
  41. package/dist/commonjs/generated/src/models/parameters.js.map +1 -1
  42. package/dist/commonjs/generated/src/operations/index.js +1 -0
  43. package/dist/commonjs/generated/src/operations/index.js.map +1 -1
  44. package/dist/commonjs/generated/src/operations/messageId.js +1 -0
  45. package/dist/commonjs/generated/src/operations/messageId.js.map +1 -1
  46. package/dist/commonjs/generated/src/operations/messages.js +1 -0
  47. package/dist/commonjs/generated/src/operations/messages.js.map +1 -1
  48. package/dist/commonjs/generated/src/operations/queue.js +1 -0
  49. package/dist/commonjs/generated/src/operations/queue.js.map +1 -1
  50. package/dist/commonjs/generated/src/operations/service.js +1 -0
  51. package/dist/commonjs/generated/src/operations/service.js.map +1 -1
  52. package/dist/commonjs/generated/src/operationsInterfaces/index.js +1 -0
  53. package/dist/commonjs/generated/src/operationsInterfaces/index.js.map +1 -1
  54. package/dist/commonjs/generated/src/operationsInterfaces/messageId.js +1 -0
  55. package/dist/commonjs/generated/src/operationsInterfaces/messageId.js.map +1 -1
  56. package/dist/commonjs/generated/src/operationsInterfaces/messages.js +1 -0
  57. package/dist/commonjs/generated/src/operationsInterfaces/messages.js.map +1 -1
  58. package/dist/commonjs/generated/src/operationsInterfaces/queue.js +1 -0
  59. package/dist/commonjs/generated/src/operationsInterfaces/queue.js.map +1 -1
  60. package/dist/commonjs/generated/src/operationsInterfaces/service.js +1 -0
  61. package/dist/commonjs/generated/src/operationsInterfaces/service.js.map +1 -1
  62. package/dist/commonjs/generated/src/storageClient.js +3 -2
  63. package/dist/commonjs/generated/src/storageClient.js.map +2 -2
  64. package/dist/commonjs/generatedModels.js +1 -0
  65. package/dist/commonjs/generatedModels.js.map +1 -1
  66. package/dist/commonjs/index.js +1 -0
  67. package/dist/commonjs/index.js.map +1 -1
  68. package/dist/commonjs/log.js +1 -0
  69. package/dist/commonjs/log.js.map +1 -1
  70. package/dist/commonjs/models.js +1 -0
  71. package/dist/commonjs/models.js.map +1 -1
  72. package/dist/commonjs/tsdoc-metadata.json +1 -1
  73. package/dist/commonjs/utils/constants.js +3 -2
  74. package/dist/commonjs/utils/constants.js.map +2 -2
  75. package/dist/commonjs/utils/tracing.js +1 -0
  76. package/dist/commonjs/utils/tracing.js.map +1 -1
  77. package/dist/commonjs/utils/utils.common.d.ts.map +1 -1
  78. package/dist/commonjs/utils/utils.common.js +14 -0
  79. package/dist/commonjs/utils/utils.common.js.map +3 -3
  80. package/dist/esm/AccountSASPermissions.js +123 -111
  81. package/dist/esm/AccountSASPermissions.js.map +1 -7
  82. package/dist/esm/AccountSASResourceTypes.js +67 -58
  83. package/dist/esm/AccountSASResourceTypes.js.map +1 -7
  84. package/dist/esm/AccountSASServices.js +75 -66
  85. package/dist/esm/AccountSASServices.js.map +1 -7
  86. package/dist/esm/AccountSASSignatureValues.js +63 -62
  87. package/dist/esm/AccountSASSignatureValues.js.map +1 -7
  88. package/dist/esm/Pipeline.js +239 -239
  89. package/dist/esm/Pipeline.js.map +1 -7
  90. package/dist/esm/QueueClient.js +671 -689
  91. package/dist/esm/QueueClient.js.map +1 -7
  92. package/dist/esm/QueueSASPermissions.js +77 -68
  93. package/dist/esm/QueueSASPermissions.js.map +1 -7
  94. package/dist/esm/QueueSASSignatureValues.js +103 -123
  95. package/dist/esm/QueueSASSignatureValues.js.map +1 -7
  96. package/dist/esm/QueueServiceClient.js +463 -505
  97. package/dist/esm/QueueServiceClient.js.map +1 -7
  98. package/dist/esm/SASQueryParameters.js +272 -283
  99. package/dist/esm/SASQueryParameters.js.map +1 -7
  100. package/dist/esm/SasIPRange.js +12 -5
  101. package/dist/esm/SasIPRange.js.map +1 -7
  102. package/dist/esm/StorageClient.js +59 -50
  103. package/dist/esm/StorageClient.js.map +1 -7
  104. package/dist/esm/StorageContextClient.js +15 -10
  105. package/dist/esm/StorageContextClient.js.map +1 -7
  106. package/dist/esm/generated/src/index.js +9 -4
  107. package/dist/esm/generated/src/index.js.map +1 -7
  108. package/dist/esm/generated/src/models/index.js +126 -63
  109. package/dist/esm/generated/src/models/index.js.map +1 -7
  110. package/dist/esm/generated/src/models/mappers.js +1827 -1873
  111. package/dist/esm/generated/src/models/mappers.js.map +1 -7
  112. package/dist/esm/generated/src/models/parameters.js +302 -330
  113. package/dist/esm/generated/src/models/parameters.js.map +1 -7
  114. package/dist/esm/generated/src/operations/index.js +8 -0
  115. package/dist/esm/generated/src/operations/index.js.map +1 -7
  116. package/dist/esm/generated/src/operations/messageId.js +92 -95
  117. package/dist/esm/generated/src/operations/messageId.js.map +1 -7
  118. package/dist/esm/generated/src/operations/messages.js +178 -178
  119. package/dist/esm/generated/src/operations/messages.js.map +1 -7
  120. package/dist/esm/generated/src/operations/queue.js +199 -208
  121. package/dist/esm/generated/src/operations/queue.js.map +1 -7
  122. package/dist/esm/generated/src/operations/service.js +192 -204
  123. package/dist/esm/generated/src/operations/service.js.map +1 -7
  124. package/dist/esm/generated/src/operationsInterfaces/index.js +8 -0
  125. package/dist/esm/generated/src/operationsInterfaces/index.js.map +1 -7
  126. package/dist/esm/generated/src/operationsInterfaces/messageId.js +9 -0
  127. package/dist/esm/generated/src/operationsInterfaces/messageId.js.map +1 -7
  128. package/dist/esm/generated/src/operationsInterfaces/messages.js +9 -0
  129. package/dist/esm/generated/src/operationsInterfaces/messages.js.map +1 -7
  130. package/dist/esm/generated/src/operationsInterfaces/queue.js +9 -0
  131. package/dist/esm/generated/src/operationsInterfaces/queue.js.map +1 -7
  132. package/dist/esm/generated/src/operationsInterfaces/service.js +9 -0
  133. package/dist/esm/generated/src/operationsInterfaces/service.js.map +1 -7
  134. package/dist/esm/generated/src/storageClient.js +54 -49
  135. package/dist/esm/generated/src/storageClient.js.map +1 -7
  136. package/dist/esm/generatedModels.js +4 -0
  137. package/dist/esm/generatedModels.js.map +1 -7
  138. package/dist/esm/index.js +10 -50
  139. package/dist/esm/index.js.map +1 -7
  140. package/dist/esm/log.js +7 -4
  141. package/dist/esm/log.js.map +1 -7
  142. package/dist/esm/models.js +18 -10
  143. package/dist/esm/models.js.map +1 -7
  144. package/dist/esm/utils/constants.js +111 -117
  145. package/dist/esm/utils/constants.js.map +1 -7
  146. package/dist/esm/utils/tracing.js +11 -7
  147. package/dist/esm/utils/tracing.js.map +1 -7
  148. package/dist/esm/utils/utils.common.d.ts.map +1 -1
  149. package/dist/esm/utils/utils.common.js +372 -247
  150. package/dist/esm/utils/utils.common.js.map +1 -7
  151. package/dist/react-native/generated/src/storageClient.js +2 -2
  152. package/dist/react-native/generated/src/storageClient.js.map +1 -1
  153. package/dist/react-native/utils/constants.js +2 -2
  154. package/dist/react-native/utils/constants.js.map +1 -1
  155. package/dist/react-native/utils/utils.common.d.ts.map +1 -1
  156. package/dist/react-native/utils/utils.common.js +14 -0
  157. package/dist/react-native/utils/utils.common.js.map +1 -1
  158. package/package.json +13 -9
@@ -1,3 +1,5 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
1
3
  import { AccountSASPermissions } from "./AccountSASPermissions.js";
2
4
  import { AccountSASResourceTypes } from "./AccountSASResourceTypes.js";
3
5
  import { AccountSASServices } from "./AccountSASServices.js";
@@ -5,67 +7,66 @@ import { ipRangeToString } from "./SasIPRange.js";
5
7
  import { SASQueryParameters } from "./SASQueryParameters.js";
6
8
  import { SERVICE_VERSION } from "./utils/constants.js";
7
9
  import { truncatedISO8061Date } from "./utils/utils.common.js";
8
- function generateAccountSASQueryParameters(accountSASSignatureValues, sharedKeyCredential) {
9
- return generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential).sasQueryParameters;
10
+ /**
11
+ * ONLY AVAILABLE IN NODE.JS RUNTIME.
12
+ *
13
+ * Generates a {@link SASQueryParameters} object which contains all SAS query parameters needed to make an actual
14
+ * REST request.
15
+ *
16
+ * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas
17
+ *
18
+ * @param accountSASSignatureValues - SAS Signature values of the account
19
+ * @param sharedKeyCredential - Shared key credential.
20
+ */
21
+ export function generateAccountSASQueryParameters(accountSASSignatureValues, sharedKeyCredential) {
22
+ return generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential)
23
+ .sasQueryParameters;
10
24
  }
11
- function generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential) {
12
- const version = accountSASSignatureValues.version ? accountSASSignatureValues.version : SERVICE_VERSION;
13
- const parsedPermissions = AccountSASPermissions.parse(
14
- accountSASSignatureValues.permissions.toString()
15
- ).toString();
16
- const parsedServices = AccountSASServices.parse(accountSASSignatureValues.services).toString();
17
- const parsedResourceTypes = AccountSASResourceTypes.parse(
18
- accountSASSignatureValues.resourceTypes
19
- ).toString();
20
- let stringToSign;
21
- if (version >= "2020-12-06") {
22
- stringToSign = [
23
- sharedKeyCredential.accountName,
24
- parsedPermissions,
25
- parsedServices,
26
- parsedResourceTypes,
27
- accountSASSignatureValues.startsOn ? truncatedISO8061Date(accountSASSignatureValues.startsOn, false) : "",
28
- truncatedISO8061Date(accountSASSignatureValues.expiresOn, false),
29
- accountSASSignatureValues.ipRange ? ipRangeToString(accountSASSignatureValues.ipRange) : "",
30
- accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "",
31
- version,
32
- "",
33
- // Reserved for encryption scope
34
- ""
35
- // Account SAS requires an additional newline character
36
- ].join("\n");
37
- } else {
38
- stringToSign = [
39
- sharedKeyCredential.accountName,
40
- parsedPermissions,
41
- parsedServices,
42
- parsedResourceTypes,
43
- accountSASSignatureValues.startsOn ? truncatedISO8061Date(accountSASSignatureValues.startsOn, false) : "",
44
- truncatedISO8061Date(accountSASSignatureValues.expiresOn, false),
45
- accountSASSignatureValues.ipRange ? ipRangeToString(accountSASSignatureValues.ipRange) : "",
46
- accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "",
47
- version,
48
- ""
49
- // Account SAS requires an additional newline character
50
- ].join("\n");
51
- }
52
- const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
53
- return {
54
- sasQueryParameters: new SASQueryParameters(
55
- version,
56
- signature,
57
- parsedPermissions,
58
- parsedServices,
59
- parsedResourceTypes,
60
- accountSASSignatureValues.protocol,
61
- accountSASSignatureValues.startsOn,
62
- accountSASSignatureValues.expiresOn,
63
- accountSASSignatureValues.ipRange
64
- ),
65
- stringToSign
66
- };
25
+ export function generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential) {
26
+ const version = accountSASSignatureValues.version
27
+ ? accountSASSignatureValues.version
28
+ : SERVICE_VERSION;
29
+ const parsedPermissions = AccountSASPermissions.parse(accountSASSignatureValues.permissions.toString()).toString();
30
+ const parsedServices = AccountSASServices.parse(accountSASSignatureValues.services).toString();
31
+ const parsedResourceTypes = AccountSASResourceTypes.parse(accountSASSignatureValues.resourceTypes).toString();
32
+ let stringToSign;
33
+ if (version >= "2020-12-06") {
34
+ stringToSign = [
35
+ sharedKeyCredential.accountName,
36
+ parsedPermissions,
37
+ parsedServices,
38
+ parsedResourceTypes,
39
+ accountSASSignatureValues.startsOn
40
+ ? truncatedISO8061Date(accountSASSignatureValues.startsOn, false)
41
+ : "",
42
+ truncatedISO8061Date(accountSASSignatureValues.expiresOn, false),
43
+ accountSASSignatureValues.ipRange ? ipRangeToString(accountSASSignatureValues.ipRange) : "",
44
+ accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "",
45
+ version,
46
+ "", // Reserved for encryption scope
47
+ "", // Account SAS requires an additional newline character
48
+ ].join("\n");
49
+ }
50
+ else {
51
+ stringToSign = [
52
+ sharedKeyCredential.accountName,
53
+ parsedPermissions,
54
+ parsedServices,
55
+ parsedResourceTypes,
56
+ accountSASSignatureValues.startsOn
57
+ ? truncatedISO8061Date(accountSASSignatureValues.startsOn, false)
58
+ : "",
59
+ truncatedISO8061Date(accountSASSignatureValues.expiresOn, false),
60
+ accountSASSignatureValues.ipRange ? ipRangeToString(accountSASSignatureValues.ipRange) : "",
61
+ accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "",
62
+ version,
63
+ "", // Account SAS requires an additional newline character
64
+ ].join("\n");
65
+ }
66
+ const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
67
+ return {
68
+ sasQueryParameters: new SASQueryParameters(version, signature, parsedPermissions, parsedServices, parsedResourceTypes, accountSASSignatureValues.protocol, accountSASSignatureValues.startsOn, accountSASSignatureValues.expiresOn, accountSASSignatureValues.ipRange),
69
+ stringToSign: stringToSign,
70
+ };
67
71
  }
68
- export {
69
- generateAccountSASQueryParameters,
70
- generateAccountSASQueryParametersInternal
71
- };
72
+ //# sourceMappingURL=AccountSASSignatureValues.js.map
@@ -1,7 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/storage/storage-queue/src/AccountSASSignatureValues.ts"],
4
- "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { AccountSASPermissions } from \"./AccountSASPermissions.js\";\nimport { AccountSASResourceTypes } from \"./AccountSASResourceTypes.js\";\nimport { AccountSASServices } from \"./AccountSASServices.js\";\nimport type { StorageSharedKeyCredential } from \"@azure/storage-common\";\nimport type { SasIPRange } from \"./SasIPRange.js\";\nimport { ipRangeToString } from \"./SasIPRange.js\";\nimport type { SASProtocol } from \"./SASQueryParameters.js\";\nimport { SASQueryParameters } from \"./SASQueryParameters.js\";\nimport { SERVICE_VERSION } from \"./utils/constants.js\";\nimport { truncatedISO8061Date } from \"./utils/utils.common.js\";\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n *\n * AccountSASSignatureValues is used to generate a Shared Access Signature (SAS) for an Azure Storage account. Once\n * all the values here are set appropriately, call generateSASQueryParameters() to obtain a representation of the SAS\n * which can actually be applied to queue urls. Note: that both this class and {@link SASQueryParameters} exist because\n * the former is mutable and a logical representation while the latter is immutable and used to generate actual REST\n * requests.\n *\n * @see https://learn.microsoft.com/azure/storage/common/storage-dotnet-shared-access-signature-part-1\n * for more conceptual information on SAS\n *\n * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas\n * for descriptions of the parameters, including which are required\n */\nexport interface AccountSASSignatureValues {\n /**\n * If not provided, this defaults to the service version targeted by this version of the library.\n */\n version?: string;\n\n /**\n * Optional. SAS protocols allowed.\n */\n protocol?: SASProtocol;\n\n /**\n * Optional. When the SAS will take effect.\n */\n startsOn?: Date;\n\n /**\n * The time after which the SAS will no longer work.\n */\n expiresOn: Date;\n\n /**\n * Specifies which operations the SAS user may perform. Please refer to {@link AccountSASPermissions} for help\n * constructing the permissions string.\n */\n permissions: AccountSASPermissions;\n\n /**\n * Optional. IP range allowed.\n */\n ipRange?: SasIPRange;\n\n /**\n * The values that indicate the services accessible with this SAS. Please refer to {@link AccountSASServices} to\n * construct this value.\n */\n services: string;\n\n /**\n * The values that indicate the resource types accessible with this SAS. Please refer\n * to {@link AccountSASResourceTypes} to construct this value.\n */\n resourceTypes: string;\n}\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n *\n * Generates a {@link SASQueryParameters} object which contains all SAS query parameters needed to make an actual\n * REST request.\n *\n * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas\n *\n * @param accountSASSignatureValues - SAS Signature values of the account\n * @param sharedKeyCredential - Shared key credential.\n */\nexport function generateAccountSASQueryParameters(\n accountSASSignatureValues: AccountSASSignatureValues,\n sharedKeyCredential: StorageSharedKeyCredential,\n): SASQueryParameters {\n return generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential)\n .sasQueryParameters;\n}\n\nexport function generateAccountSASQueryParametersInternal(\n accountSASSignatureValues: AccountSASSignatureValues,\n sharedKeyCredential: StorageSharedKeyCredential,\n): { sasQueryParameters: SASQueryParameters; stringToSign: string } {\n const version = accountSASSignatureValues.version\n ? accountSASSignatureValues.version\n : SERVICE_VERSION;\n\n const parsedPermissions = AccountSASPermissions.parse(\n accountSASSignatureValues.permissions.toString(),\n ).toString();\n const parsedServices = AccountSASServices.parse(accountSASSignatureValues.services).toString();\n const parsedResourceTypes = AccountSASResourceTypes.parse(\n accountSASSignatureValues.resourceTypes,\n ).toString();\n\n let stringToSign: string;\n\n if (version >= \"2020-12-06\") {\n stringToSign = [\n sharedKeyCredential.accountName,\n parsedPermissions,\n parsedServices,\n parsedResourceTypes,\n accountSASSignatureValues.startsOn\n ? truncatedISO8061Date(accountSASSignatureValues.startsOn, false)\n : \"\",\n truncatedISO8061Date(accountSASSignatureValues.expiresOn, false),\n accountSASSignatureValues.ipRange ? ipRangeToString(accountSASSignatureValues.ipRange) : \"\",\n accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : \"\",\n version,\n \"\", // Reserved for encryption scope\n \"\", // Account SAS requires an additional newline character\n ].join(\"\\n\");\n } else {\n stringToSign = [\n sharedKeyCredential.accountName,\n parsedPermissions,\n parsedServices,\n parsedResourceTypes,\n accountSASSignatureValues.startsOn\n ? truncatedISO8061Date(accountSASSignatureValues.startsOn, false)\n : \"\",\n truncatedISO8061Date(accountSASSignatureValues.expiresOn, false),\n accountSASSignatureValues.ipRange ? ipRangeToString(accountSASSignatureValues.ipRange) : \"\",\n accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : \"\",\n version,\n \"\", // Account SAS requires an additional newline character\n ].join(\"\\n\");\n }\n\n const signature: string = sharedKeyCredential.computeHMACSHA256(stringToSign);\n\n return {\n sasQueryParameters: new SASQueryParameters(\n version,\n signature,\n parsedPermissions,\n parsedServices,\n parsedResourceTypes,\n accountSASSignatureValues.protocol,\n accountSASSignatureValues.startsOn,\n accountSASSignatureValues.expiresOn,\n accountSASSignatureValues.ipRange,\n ),\n stringToSign: stringToSign,\n };\n}\n"],
5
- "mappings": "AAGA,SAAS,6BAA6B;AACtC,SAAS,+BAA+B;AACxC,SAAS,0BAA0B;AAGnC,SAAS,uBAAuB;AAEhC,SAAS,0BAA0B;AACnC,SAAS,uBAAuB;AAChC,SAAS,4BAA4B;AAyE9B,SAAS,kCACd,2BACA,qBACoB;AACpB,SAAO,0CAA0C,2BAA2B,mBAAmB,EAC5F;AACL;AAEO,SAAS,0CACd,2BACA,qBACkE;AAClE,QAAM,UAAU,0BAA0B,UACtC,0BAA0B,UAC1B;AAEJ,QAAM,oBAAoB,sBAAsB;AAAA,IAC9C,0BAA0B,YAAY,SAAS;AAAA,EACjD,EAAE,SAAS;AACX,QAAM,iBAAiB,mBAAmB,MAAM,0BAA0B,QAAQ,EAAE,SAAS;AAC7F,QAAM,sBAAsB,wBAAwB;AAAA,IAClD,0BAA0B;AAAA,EAC5B,EAAE,SAAS;AAEX,MAAI;AAEJ,MAAI,WAAW,cAAc;AAC3B,mBAAe;AAAA,MACb,oBAAoB;AAAA,MACpB;AAAA,MACA;AAAA,MACA;AAAA,MACA,0BAA0B,WACtB,qBAAqB,0BAA0B,UAAU,KAAK,IAC9D;AAAA,MACJ,qBAAqB,0BAA0B,WAAW,KAAK;AAAA,MAC/D,0BAA0B,UAAU,gBAAgB,0BAA0B,OAAO,IAAI;AAAA,MACzF,0BAA0B,WAAW,0BAA0B,WAAW;AAAA,MAC1E;AAAA,MACA;AAAA;AAAA,MACA;AAAA;AAAA,IACF,EAAE,KAAK,IAAI;AAAA,EACb,OAAO;AACL,mBAAe;AAAA,MACb,oBAAoB;AAAA,MACpB;AAAA,MACA;AAAA,MACA;AAAA,MACA,0BAA0B,WACtB,qBAAqB,0BAA0B,UAAU,KAAK,IAC9D;AAAA,MACJ,qBAAqB,0BAA0B,WAAW,KAAK;AAAA,MAC/D,0BAA0B,UAAU,gBAAgB,0BAA0B,OAAO,IAAI;AAAA,MACzF,0BAA0B,WAAW,0BAA0B,WAAW;AAAA,MAC1E;AAAA,MACA;AAAA;AAAA,IACF,EAAE,KAAK,IAAI;AAAA,EACb;AAEA,QAAM,YAAoB,oBAAoB,kBAAkB,YAAY;AAE5E,SAAO;AAAA,IACL,oBAAoB,IAAI;AAAA,MACtB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,0BAA0B;AAAA,MAC1B,0BAA0B;AAAA,MAC1B,0BAA0B;AAAA,MAC1B,0BAA0B;AAAA,IAC5B;AAAA,IACA;AAAA,EACF;AACF;",
6
- "names": []
7
- }
1
+ {"version":3,"file":"AccountSASSignatureValues.js","sourceRoot":"","sources":["../../src/AccountSASSignatureValues.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { AccountSASPermissions } from \"./AccountSASPermissions.js\";\nimport { AccountSASResourceTypes } from \"./AccountSASResourceTypes.js\";\nimport { AccountSASServices } from \"./AccountSASServices.js\";\nimport type { StorageSharedKeyCredential } from \"@azure/storage-common\";\nimport type { SasIPRange } from \"./SasIPRange.js\";\nimport { ipRangeToString } from \"./SasIPRange.js\";\nimport type { SASProtocol } from \"./SASQueryParameters.js\";\nimport { SASQueryParameters } from \"./SASQueryParameters.js\";\nimport { SERVICE_VERSION } from \"./utils/constants.js\";\nimport { truncatedISO8061Date } from \"./utils/utils.common.js\";\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n *\n * AccountSASSignatureValues is used to generate a Shared Access Signature (SAS) for an Azure Storage account. Once\n * all the values here are set appropriately, call generateSASQueryParameters() to obtain a representation of the SAS\n * which can actually be applied to queue urls. Note: that both this class and {@link SASQueryParameters} exist because\n * the former is mutable and a logical representation while the latter is immutable and used to generate actual REST\n * requests.\n *\n * @see https://learn.microsoft.com/azure/storage/common/storage-dotnet-shared-access-signature-part-1\n * for more conceptual information on SAS\n *\n * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas\n * for descriptions of the parameters, including which are required\n */\nexport interface AccountSASSignatureValues {\n /**\n * If not provided, this defaults to the service version targeted by this version of the library.\n */\n version?: string;\n\n /**\n * Optional. SAS protocols allowed.\n */\n protocol?: SASProtocol;\n\n /**\n * Optional. When the SAS will take effect.\n */\n startsOn?: Date;\n\n /**\n * The time after which the SAS will no longer work.\n */\n expiresOn: Date;\n\n /**\n * Specifies which operations the SAS user may perform. Please refer to {@link AccountSASPermissions} for help\n * constructing the permissions string.\n */\n permissions: AccountSASPermissions;\n\n /**\n * Optional. IP range allowed.\n */\n ipRange?: SasIPRange;\n\n /**\n * The values that indicate the services accessible with this SAS. Please refer to {@link AccountSASServices} to\n * construct this value.\n */\n services: string;\n\n /**\n * The values that indicate the resource types accessible with this SAS. Please refer\n * to {@link AccountSASResourceTypes} to construct this value.\n */\n resourceTypes: string;\n}\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n *\n * Generates a {@link SASQueryParameters} object which contains all SAS query parameters needed to make an actual\n * REST request.\n *\n * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas\n *\n * @param accountSASSignatureValues - SAS Signature values of the account\n * @param sharedKeyCredential - Shared key credential.\n */\nexport function generateAccountSASQueryParameters(\n accountSASSignatureValues: AccountSASSignatureValues,\n sharedKeyCredential: StorageSharedKeyCredential,\n): SASQueryParameters {\n return generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential)\n .sasQueryParameters;\n}\n\nexport function generateAccountSASQueryParametersInternal(\n accountSASSignatureValues: AccountSASSignatureValues,\n sharedKeyCredential: StorageSharedKeyCredential,\n): { sasQueryParameters: SASQueryParameters; stringToSign: string } {\n const version = accountSASSignatureValues.version\n ? accountSASSignatureValues.version\n : SERVICE_VERSION;\n\n const parsedPermissions = AccountSASPermissions.parse(\n accountSASSignatureValues.permissions.toString(),\n ).toString();\n const parsedServices = AccountSASServices.parse(accountSASSignatureValues.services).toString();\n const parsedResourceTypes = AccountSASResourceTypes.parse(\n accountSASSignatureValues.resourceTypes,\n ).toString();\n\n let stringToSign: string;\n\n if (version >= \"2020-12-06\") {\n stringToSign = [\n sharedKeyCredential.accountName,\n parsedPermissions,\n parsedServices,\n parsedResourceTypes,\n accountSASSignatureValues.startsOn\n ? truncatedISO8061Date(accountSASSignatureValues.startsOn, false)\n : \"\",\n truncatedISO8061Date(accountSASSignatureValues.expiresOn, false),\n accountSASSignatureValues.ipRange ? ipRangeToString(accountSASSignatureValues.ipRange) : \"\",\n accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : \"\",\n version,\n \"\", // Reserved for encryption scope\n \"\", // Account SAS requires an additional newline character\n ].join(\"\\n\");\n } else {\n stringToSign = [\n sharedKeyCredential.accountName,\n parsedPermissions,\n parsedServices,\n parsedResourceTypes,\n accountSASSignatureValues.startsOn\n ? truncatedISO8061Date(accountSASSignatureValues.startsOn, false)\n : \"\",\n truncatedISO8061Date(accountSASSignatureValues.expiresOn, false),\n accountSASSignatureValues.ipRange ? ipRangeToString(accountSASSignatureValues.ipRange) : \"\",\n accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : \"\",\n version,\n \"\", // Account SAS requires an additional newline character\n ].join(\"\\n\");\n }\n\n const signature: string = sharedKeyCredential.computeHMACSHA256(stringToSign);\n\n return {\n sasQueryParameters: new SASQueryParameters(\n version,\n signature,\n parsedPermissions,\n parsedServices,\n parsedResourceTypes,\n accountSASSignatureValues.protocol,\n accountSASSignatureValues.startsOn,\n accountSASSignatureValues.expiresOn,\n accountSASSignatureValues.ipRange,\n ),\n stringToSign: stringToSign,\n };\n}\n"]}