@azure/storage-blob 12.32.0-beta.1 → 12.32.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 (211) hide show
  1. package/dist/browser/BlobServiceClient.d.ts +3 -3
  2. package/dist/browser/BlobServiceClient.d.ts.map +1 -1
  3. package/dist/browser/BlobServiceClient.js.map +1 -1
  4. package/dist/browser/Clients.d.ts +6 -6
  5. package/dist/browser/Clients.d.ts.map +1 -1
  6. package/dist/browser/Clients.js.map +1 -1
  7. package/dist/browser/ContainerClient.d.ts +2 -2
  8. package/dist/browser/ContainerClient.d.ts.map +1 -1
  9. package/dist/browser/ContainerClient.js.map +1 -1
  10. package/dist/browser/generated/src/storageClient.js +1 -1
  11. package/dist/browser/generated/src/storageClient.js.map +1 -1
  12. package/dist/browser/index.d.ts +1 -1
  13. package/dist/browser/index.d.ts.map +1 -1
  14. package/dist/browser/index.js.map +1 -1
  15. package/dist/browser/models.d.ts +21 -1
  16. package/dist/browser/models.d.ts.map +1 -1
  17. package/dist/browser/models.js.map +1 -1
  18. package/dist/browser/utils/constants.d.ts.map +1 -1
  19. package/dist/browser/utils/constants.js +1 -1
  20. package/dist/browser/utils/constants.js.map +1 -1
  21. package/dist/commonjs/BatchResponse.js +1 -0
  22. package/dist/commonjs/BatchResponse.js.map +1 -1
  23. package/dist/commonjs/BatchResponseParser.js +1 -0
  24. package/dist/commonjs/BatchResponseParser.js.map +1 -1
  25. package/dist/commonjs/BatchUtils.js +1 -0
  26. package/dist/commonjs/BatchUtils.js.map +1 -1
  27. package/dist/commonjs/BlobBatch.js +1 -0
  28. package/dist/commonjs/BlobBatch.js.map +1 -1
  29. package/dist/commonjs/BlobBatchClient.js +1 -0
  30. package/dist/commonjs/BlobBatchClient.js.map +1 -1
  31. package/dist/commonjs/BlobDownloadResponse.js +1 -0
  32. package/dist/commonjs/BlobDownloadResponse.js.map +1 -1
  33. package/dist/commonjs/BlobLeaseClient.js +1 -0
  34. package/dist/commonjs/BlobLeaseClient.js.map +1 -1
  35. package/dist/commonjs/BlobQueryResponse.common.js +1 -0
  36. package/dist/commonjs/BlobQueryResponse.common.js.map +1 -1
  37. package/dist/commonjs/BlobQueryResponse.js +1 -0
  38. package/dist/commonjs/BlobQueryResponse.js.map +1 -1
  39. package/dist/commonjs/BlobServiceClient.d.ts +3 -3
  40. package/dist/commonjs/BlobServiceClient.d.ts.map +1 -1
  41. package/dist/commonjs/BlobServiceClient.js +1 -0
  42. package/dist/commonjs/BlobServiceClient.js.map +2 -2
  43. package/dist/commonjs/Clients.d.ts +6 -6
  44. package/dist/commonjs/Clients.d.ts.map +1 -1
  45. package/dist/commonjs/Clients.js +1 -0
  46. package/dist/commonjs/Clients.js.map +3 -3
  47. package/dist/commonjs/ContainerClient.d.ts +2 -2
  48. package/dist/commonjs/ContainerClient.d.ts.map +1 -1
  49. package/dist/commonjs/ContainerClient.js +1 -0
  50. package/dist/commonjs/ContainerClient.js.map +2 -2
  51. package/dist/commonjs/PageBlobRangeResponse.js +1 -0
  52. package/dist/commonjs/PageBlobRangeResponse.js.map +1 -1
  53. package/dist/commonjs/Pipeline.js +1 -0
  54. package/dist/commonjs/Pipeline.js.map +1 -1
  55. package/dist/commonjs/Range.js +1 -0
  56. package/dist/commonjs/Range.js.map +1 -1
  57. package/dist/commonjs/StorageClient.js +1 -0
  58. package/dist/commonjs/StorageClient.js.map +1 -1
  59. package/dist/commonjs/StorageContextClient.js +1 -0
  60. package/dist/commonjs/StorageContextClient.js.map +1 -1
  61. package/dist/commonjs/generated/src/index.js +1 -0
  62. package/dist/commonjs/generated/src/index.js.map +1 -1
  63. package/dist/commonjs/generated/src/models/index.js +1 -0
  64. package/dist/commonjs/generated/src/models/index.js.map +1 -1
  65. package/dist/commonjs/generated/src/models/mappers.js +1 -0
  66. package/dist/commonjs/generated/src/models/mappers.js.map +1 -1
  67. package/dist/commonjs/generated/src/models/parameters.js +1 -0
  68. package/dist/commonjs/generated/src/models/parameters.js.map +1 -1
  69. package/dist/commonjs/generated/src/operations/appendBlob.js +1 -0
  70. package/dist/commonjs/generated/src/operations/appendBlob.js.map +1 -1
  71. package/dist/commonjs/generated/src/operations/blob.js +1 -0
  72. package/dist/commonjs/generated/src/operations/blob.js.map +1 -1
  73. package/dist/commonjs/generated/src/operations/blockBlob.js +1 -0
  74. package/dist/commonjs/generated/src/operations/blockBlob.js.map +1 -1
  75. package/dist/commonjs/generated/src/operations/container.js +1 -0
  76. package/dist/commonjs/generated/src/operations/container.js.map +1 -1
  77. package/dist/commonjs/generated/src/operations/index.js +1 -0
  78. package/dist/commonjs/generated/src/operations/index.js.map +1 -1
  79. package/dist/commonjs/generated/src/operations/pageBlob.js +1 -0
  80. package/dist/commonjs/generated/src/operations/pageBlob.js.map +1 -1
  81. package/dist/commonjs/generated/src/operations/service.js +1 -0
  82. package/dist/commonjs/generated/src/operations/service.js.map +1 -1
  83. package/dist/commonjs/generated/src/operationsInterfaces/appendBlob.js +1 -0
  84. package/dist/commonjs/generated/src/operationsInterfaces/appendBlob.js.map +1 -1
  85. package/dist/commonjs/generated/src/operationsInterfaces/blob.js +1 -0
  86. package/dist/commonjs/generated/src/operationsInterfaces/blob.js.map +1 -1
  87. package/dist/commonjs/generated/src/operationsInterfaces/blockBlob.js +1 -0
  88. package/dist/commonjs/generated/src/operationsInterfaces/blockBlob.js.map +1 -1
  89. package/dist/commonjs/generated/src/operationsInterfaces/container.js +1 -0
  90. package/dist/commonjs/generated/src/operationsInterfaces/container.js.map +1 -1
  91. package/dist/commonjs/generated/src/operationsInterfaces/index.js +1 -0
  92. package/dist/commonjs/generated/src/operationsInterfaces/index.js.map +1 -1
  93. package/dist/commonjs/generated/src/operationsInterfaces/pageBlob.js +1 -0
  94. package/dist/commonjs/generated/src/operationsInterfaces/pageBlob.js.map +1 -1
  95. package/dist/commonjs/generated/src/operationsInterfaces/service.js +1 -0
  96. package/dist/commonjs/generated/src/operationsInterfaces/service.js.map +1 -1
  97. package/dist/commonjs/generated/src/storageClient.js +2 -1
  98. package/dist/commonjs/generated/src/storageClient.js.map +2 -2
  99. package/dist/commonjs/generatedModels.js +1 -0
  100. package/dist/commonjs/generatedModels.js.map +1 -1
  101. package/dist/commonjs/index.d.ts +1 -1
  102. package/dist/commonjs/index.d.ts.map +1 -1
  103. package/dist/commonjs/index.js +1 -0
  104. package/dist/commonjs/index.js.map +3 -3
  105. package/dist/commonjs/internal-avro/AvroConstants.js +1 -0
  106. package/dist/commonjs/internal-avro/AvroConstants.js.map +1 -1
  107. package/dist/commonjs/internal-avro/AvroParser.js +1 -0
  108. package/dist/commonjs/internal-avro/AvroParser.js.map +1 -1
  109. package/dist/commonjs/internal-avro/AvroReadable.js +1 -0
  110. package/dist/commonjs/internal-avro/AvroReadable.js.map +1 -1
  111. package/dist/commonjs/internal-avro/AvroReadableFromBlob.js +1 -0
  112. package/dist/commonjs/internal-avro/AvroReadableFromBlob.js.map +1 -1
  113. package/dist/commonjs/internal-avro/AvroReadableFromStream.js +1 -0
  114. package/dist/commonjs/internal-avro/AvroReadableFromStream.js.map +1 -1
  115. package/dist/commonjs/internal-avro/AvroReader.js +1 -0
  116. package/dist/commonjs/internal-avro/AvroReader.js.map +1 -1
  117. package/dist/commonjs/internal-avro/index.js +1 -0
  118. package/dist/commonjs/internal-avro/index.js.map +1 -1
  119. package/dist/commonjs/internal-avro/utils/utils.common.js +1 -0
  120. package/dist/commonjs/internal-avro/utils/utils.common.js.map +1 -1
  121. package/dist/commonjs/log.js +1 -0
  122. package/dist/commonjs/log.js.map +1 -1
  123. package/dist/commonjs/models.d.ts +21 -1
  124. package/dist/commonjs/models.d.ts.map +1 -1
  125. package/dist/commonjs/models.js +1 -0
  126. package/dist/commonjs/models.js.map +2 -2
  127. package/dist/commonjs/pollers/BlobStartCopyFromUrlPoller.js +1 -0
  128. package/dist/commonjs/pollers/BlobStartCopyFromUrlPoller.js.map +1 -1
  129. package/dist/commonjs/sas/AccountSASPermissions.js +1 -0
  130. package/dist/commonjs/sas/AccountSASPermissions.js.map +1 -1
  131. package/dist/commonjs/sas/AccountSASResourceTypes.js +1 -0
  132. package/dist/commonjs/sas/AccountSASResourceTypes.js.map +1 -1
  133. package/dist/commonjs/sas/AccountSASServices.js +1 -0
  134. package/dist/commonjs/sas/AccountSASServices.js.map +1 -1
  135. package/dist/commonjs/sas/AccountSASSignatureValues.js +1 -0
  136. package/dist/commonjs/sas/AccountSASSignatureValues.js.map +1 -1
  137. package/dist/commonjs/sas/BlobSASPermissions.js +1 -0
  138. package/dist/commonjs/sas/BlobSASPermissions.js.map +1 -1
  139. package/dist/commonjs/sas/BlobSASSignatureValues.js +1 -0
  140. package/dist/commonjs/sas/BlobSASSignatureValues.js.map +1 -1
  141. package/dist/commonjs/sas/ContainerSASPermissions.js +1 -0
  142. package/dist/commonjs/sas/ContainerSASPermissions.js.map +1 -1
  143. package/dist/commonjs/sas/SASQueryParameters.js +1 -0
  144. package/dist/commonjs/sas/SASQueryParameters.js.map +1 -1
  145. package/dist/commonjs/sas/SasIPRange.js +1 -0
  146. package/dist/commonjs/sas/SasIPRange.js.map +1 -1
  147. package/dist/commonjs/tsdoc-metadata.json +1 -1
  148. package/dist/commonjs/utils/Batch.js +1 -0
  149. package/dist/commonjs/utils/Batch.js.map +1 -1
  150. package/dist/commonjs/utils/BlobQuickQueryStream.js +1 -0
  151. package/dist/commonjs/utils/BlobQuickQueryStream.js.map +1 -1
  152. package/dist/commonjs/utils/Mutex.js +1 -0
  153. package/dist/commonjs/utils/Mutex.js.map +1 -1
  154. package/dist/commonjs/utils/RetriableReadableStream.js +1 -0
  155. package/dist/commonjs/utils/RetriableReadableStream.js.map +1 -1
  156. package/dist/commonjs/utils/SharedKeyComparator.js +1 -0
  157. package/dist/commonjs/utils/SharedKeyComparator.js.map +1 -1
  158. package/dist/commonjs/utils/constants.d.ts.map +1 -1
  159. package/dist/commonjs/utils/constants.js +2 -1
  160. package/dist/commonjs/utils/constants.js.map +2 -2
  161. package/dist/commonjs/utils/tracing.js +1 -0
  162. package/dist/commonjs/utils/tracing.js.map +1 -1
  163. package/dist/commonjs/utils/utils.common.js +1 -0
  164. package/dist/commonjs/utils/utils.common.js.map +1 -1
  165. package/dist/commonjs/utils/utils.d.ts.map +1 -1
  166. package/dist/commonjs/utils/utils.js +25 -21
  167. package/dist/commonjs/utils/utils.js.map +3 -3
  168. package/dist/esm/BlobServiceClient.d.ts +3 -3
  169. package/dist/esm/BlobServiceClient.d.ts.map +1 -1
  170. package/dist/esm/BlobServiceClient.js.map +1 -1
  171. package/dist/esm/Clients.d.ts +6 -6
  172. package/dist/esm/Clients.d.ts.map +1 -1
  173. package/dist/esm/Clients.js.map +1 -1
  174. package/dist/esm/ContainerClient.d.ts +2 -2
  175. package/dist/esm/ContainerClient.d.ts.map +1 -1
  176. package/dist/esm/ContainerClient.js.map +1 -1
  177. package/dist/esm/generated/src/storageClient.js +1 -1
  178. package/dist/esm/generated/src/storageClient.js.map +1 -1
  179. package/dist/esm/index.d.ts +1 -1
  180. package/dist/esm/index.d.ts.map +1 -1
  181. package/dist/esm/index.js.map +1 -1
  182. package/dist/esm/models.d.ts +21 -1
  183. package/dist/esm/models.d.ts.map +1 -1
  184. package/dist/esm/models.js.map +1 -1
  185. package/dist/esm/utils/constants.d.ts.map +1 -1
  186. package/dist/esm/utils/constants.js +1 -1
  187. package/dist/esm/utils/constants.js.map +1 -1
  188. package/dist/esm/utils/utils.d.ts.map +1 -1
  189. package/dist/esm/utils/utils.js +32 -22
  190. package/dist/esm/utils/utils.js.map +1 -1
  191. package/dist/react-native/BlobServiceClient.d.ts +3 -3
  192. package/dist/react-native/BlobServiceClient.d.ts.map +1 -1
  193. package/dist/react-native/BlobServiceClient.js.map +1 -1
  194. package/dist/react-native/Clients.d.ts +6 -6
  195. package/dist/react-native/Clients.d.ts.map +1 -1
  196. package/dist/react-native/Clients.js.map +1 -1
  197. package/dist/react-native/ContainerClient.d.ts +2 -2
  198. package/dist/react-native/ContainerClient.d.ts.map +1 -1
  199. package/dist/react-native/ContainerClient.js.map +1 -1
  200. package/dist/react-native/generated/src/storageClient.js +1 -1
  201. package/dist/react-native/generated/src/storageClient.js.map +1 -1
  202. package/dist/react-native/index.d.ts +1 -1
  203. package/dist/react-native/index.d.ts.map +1 -1
  204. package/dist/react-native/index.js.map +1 -1
  205. package/dist/react-native/models.d.ts +21 -1
  206. package/dist/react-native/models.d.ts.map +1 -1
  207. package/dist/react-native/models.js.map +1 -1
  208. package/dist/react-native/utils/constants.d.ts.map +1 -1
  209. package/dist/react-native/utils/constants.js +1 -1
  210. package/dist/react-native/utils/constants.js.map +1 -1
  211. package/package.json +19 -9
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/storage/storage-blob/src/sas/BlobSASSignatureValues.ts"],
3
+ "sources": ["../../../src/sas/BlobSASSignatureValues.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { BlobSASPermissions } from \"./BlobSASPermissions.js\";\nimport { ContainerSASPermissions } from \"./ContainerSASPermissions.js\";\nimport type { UserDelegationKey } from \"@azure/storage-common\";\nimport { 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\";\nimport { UserDelegationKeyCredential } from \"@azure/storage-common\";\nimport { RequestHeaders, RequestQueryParameters } from \"../models.js\";\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n *\n * BlobSASSignatureValues is used to help generating Blob service SAS tokens for containers or blobs.\n */\nexport interface BlobSASSignatureValues {\n /**\n * The version of the service this SAS will target. If not specified, it will default to the version targeted by the\n * library.\n */\n version?: string;\n\n /**\n * Optional. SAS protocols, HTTPS only or HTTPSandHTTP\n */\n protocol?: SASProtocol;\n\n /**\n * Optional. When the SAS will take effect.\n */\n startsOn?: Date;\n\n /**\n * Optional only when identifier is provided. The time after which the SAS will no longer work.\n */\n expiresOn?: Date;\n\n /**\n * Optional only when identifier is provided.\n * Please refer to either {@link ContainerSASPermissions} or {@link BlobSASPermissions} depending on the resource\n * being accessed for help constructing the permissions string.\n */\n permissions?: BlobSASPermissions | ContainerSASPermissions;\n\n /**\n * Optional. IP ranges allowed in this SAS.\n */\n ipRange?: SasIPRange;\n\n /**\n * The name of the container the SAS user may access.\n */\n containerName: string;\n\n /**\n * Optional. The blob name of the SAS user may access. Required if snapshotTime or versionId is provided.\n */\n blobName?: string;\n\n /**\n * Optional. Snapshot timestamp string the SAS user may access. Only supported from API version 2018-11-09.\n */\n snapshotTime?: string;\n\n /**\n * Optional. VersionId of the blob version the SAS user may access. Only supported from API version 2019-10-10.\n */\n versionId?: string;\n\n /**\n * Optional. The name of the access policy on the container this SAS references if any.\n *\n * @see https://learn.microsoft.com/rest/api/storageservices/establishing-a-stored-access-policy\n */\n identifier?: string;\n\n /**\n * Optional. Beginning in version 2025-07-05, this value specifies the Entra ID of the user would is authorized to\n * use the resulting SAS URL. The resulting SAS URL must be used in conjunction with an Entra ID token that has been\n * issued to the user specified in this value.\n */\n delegatedUserObjectId?: string;\n\n /**\n * Optional. Encryption scope to use when sending requests authorized with this SAS URI.\n */\n encryptionScope?: string;\n\n /**\n * Optional. The cache-control header for the SAS.\n */\n cacheControl?: string;\n\n /**\n * Optional. The content-disposition header for the SAS.\n */\n contentDisposition?: string;\n\n /**\n * Optional. The content-encoding header for the SAS.\n */\n contentEncoding?: string;\n\n /**\n * Optional. The content-language header for the SAS.\n */\n contentLanguage?: string;\n\n /**\n * Optional. The content-type header for the SAS.\n */\n contentType?: string;\n\n /**\n * Optional. Beginning in version 2020-02-10, specifies the Authorized AAD Object ID in GUID format. The AAD Object ID of a user\n * authorized by the owner of the user delegation key to perform the action granted by the SAS. The Azure Storage service will\n * ensure that the owner of the user delegation key has the required permissions before granting access but no additional permission\n * check for the user specified in this value will be performed. This is only used for User Delegation SAS.\n */\n preauthorizedAgentObjectId?: string;\n\n /**\n * Optional. Beginning in version 2020-02-10, this is a GUID value that will be logged in the storage diagnostic logs and can be used to\n * correlate SAS generation with storage resource access. This is only used for User Delegation SAS.\n */\n correlationId?: string;\n /**\n * Request headers used in generating a SAS token\n */\n requestHeaders?: RequestHeaders;\n /**\n * Request query parameters used in generating a SAS token\n */\n requestQueryParameters?: RequestQueryParameters;\n}\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n *\n * Creates an instance of SASQueryParameters.\n *\n * Only accepts required settings needed to create a SAS. For optional settings please\n * set corresponding properties directly, such as permissions, startsOn and identifier.\n *\n * WARNING: When identifier is not provided, permissions and expiresOn are required.\n * You MUST assign value to identifier or expiresOn & permissions manually if you initial with\n * this constructor.\n *\n * Fill in the required details before running the following snippets.\n *\n * Example usage:\n *\n * ```ts snippet:GenerateBlobSASQueryParameters\n * import {\n * StorageSharedKeyCredential,\n * generateBlobSASQueryParameters,\n * ContainerSASPermissions,\n * SASProtocol,\n * } from \"@azure/storage-blob\";\n *\n * const account = \"<account>\";\n * const accountKey = \"<accountkey>\";\n * const sharedKeyCredential = new StorageSharedKeyCredential(account, accountKey);\n * const containerName = \"<container name>\";\n *\n * // Generate service level SAS for a container\n * const containerSAS = generateBlobSASQueryParameters(\n * {\n * containerName, // Required\n * permissions: ContainerSASPermissions.parse(\"racwdl\"), // Required\n * startsOn: new Date(), // Optional\n * expiresOn: new Date(new Date().valueOf() + 86400 * 1000), // Required. Date type\n * ipRange: { start: \"0.0.0.0\", end: \"255.255.255.255\" }, // Optional\n * protocol: SASProtocol.HttpsAndHttp, // Optional\n * version: \"2016-05-31\", // Optional\n * },\n * sharedKeyCredential,\n * ).toString();\n * ```\n *\n * Example using an identifier:\n *\n * ```ts snippet:GenerateBlobSASQueryParametersWithIdentifier\n * import {\n * StorageSharedKeyCredential,\n * BlobServiceClient,\n * ContainerSASPermissions,\n * generateBlobSASQueryParameters,\n * } from \"@azure/storage-blob\";\n *\n * const account = \"<account>\";\n * const accountKey = \"<accountkey>\";\n * const sharedKeyCredential = new StorageSharedKeyCredential(account, accountKey);\n * const blobServiceClient = new BlobServiceClient(\n * `https://${account}.blob.core.windows.net`,\n * sharedKeyCredential,\n * );\n *\n * const containerName = \"<container name>\";\n * const containerClient = blobServiceClient.getContainerClient(containerName);\n *\n * // Generate service level SAS for a container with identifier\n * // startsOn & permissions are optional when identifier is provided\n * const identifier = \"unique-id\";\n * await containerClient.setAccessPolicy(undefined, [\n * {\n * accessPolicy: {\n * expiresOn: new Date(new Date().valueOf() + 86400 * 1000), // Date type\n * permissions: ContainerSASPermissions.parse(\"racwdl\").toString(),\n * startsOn: new Date(), // Date type\n * },\n * id: identifier,\n * },\n * ]);\n *\n * const containerSAS = generateBlobSASQueryParameters(\n * {\n * containerName, // Required\n * identifier, // Required\n * },\n * sharedKeyCredential,\n * ).toString();\n * ```\n *\n * Example using a blob name:\n *\n * ```ts snippet:GenerateBlobSASQueryParametersWithBlobName\n * import {\n * StorageSharedKeyCredential,\n * generateBlobSASQueryParameters,\n * BlobSASPermissions,\n * SASProtocol,\n * } from \"@azure/storage-blob\";\n *\n * const account = \"<account>\";\n * const accountKey = \"<accountkey>\";\n * const sharedKeyCredential = new StorageSharedKeyCredential(account, accountKey);\n *\n * const containerName = \"<container name>\";\n * const blobName = \"<blob name>\";\n *\n * // Generate service level SAS for a blob\n * const blobSAS = generateBlobSASQueryParameters(\n * {\n * containerName, // Required\n * blobName, // Required\n * permissions: BlobSASPermissions.parse(\"racwd\"), // Required\n * startsOn: new Date(), // Optional\n * expiresOn: new Date(new Date().valueOf() + 86400 * 1000), // Required. Date type\n * cacheControl: \"cache-control-override\", // Optional\n * contentDisposition: \"content-disposition-override\", // Optional\n * contentEncoding: \"content-encoding-override\", // Optional\n * contentLanguage: \"content-language-override\", // Optional\n * contentType: \"content-type-override\", // Optional\n * ipRange: { start: \"0.0.0.0\", end: \"255.255.255.255\" }, // Optional\n * protocol: SASProtocol.HttpsAndHttp, // Optional\n * version: \"2016-05-31\", // Optional\n * },\n * sharedKeyCredential,\n * ).toString();\n * ```\n *\n * @param blobSASSignatureValues -\n * @param sharedKeyCredential -\n */\nexport function generateBlobSASQueryParameters(\n blobSASSignatureValues: BlobSASSignatureValues,\n sharedKeyCredential: StorageSharedKeyCredential,\n): SASQueryParameters;\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n *\n * Creates an instance of SASQueryParameters.\n * WARNING: identifier will be ignored when generating user delegation SAS, permissions and expiresOn are required.\n *\n * Example usage:\n *\n * ```ts snippet:GenerateBlobSASQueryParametersWithUserDelegationKey\n * import {\n * BlobServiceClient,\n * generateBlobSASQueryParameters,\n * ContainerSASPermissions,\n * SASProtocol,\n * } from \"@azure/storage-blob\";\n * import { DefaultAzureCredential } from \"@azure/identity\";\n *\n * const account = \"<account>\";\n * const blobServiceClient = new BlobServiceClient(\n * `https://${account}.blob.core.windows.net`,\n * new DefaultAzureCredential(),\n * );\n *\n * const containerName = \"<container name>\";\n * const accountName = \"<account name>\";\n * const startsOn = new Date();\n * const expiresOn = new Date(new Date().valueOf() + 86400 * 1000);\n *\n * // Generate user delegation SAS for a container\n * const userDelegationKey = await blobServiceClient.getUserDelegationKey(startsOn, expiresOn);\n * const containerSAS = generateBlobSASQueryParameters(\n * {\n * containerName, // Required\n * permissions: ContainerSASPermissions.parse(\"racwdl\"), // Required\n * startsOn, // Optional. Date type\n * expiresOn, // Required. Date type\n * ipRange: { start: \"0.0.0.0\", end: \"255.255.255.255\" }, // Optional\n * protocol: SASProtocol.HttpsAndHttp, // Optional\n * version: \"2018-11-09\", // Must greater than or equal to 2018-11-09 to generate user delegation SAS\n * },\n * userDelegationKey, // UserDelegationKey\n * accountName,\n * ).toString();\n * ```\n *\n * @param blobSASSignatureValues -\n * @param userDelegationKey - Return value of `blobServiceClient.getUserDelegationKey()`\n * @param accountName -\n */\nexport function generateBlobSASQueryParameters(\n blobSASSignatureValues: BlobSASSignatureValues,\n userDelegationKey: UserDelegationKey,\n accountName: string,\n): SASQueryParameters;\n\nexport function generateBlobSASQueryParameters(\n blobSASSignatureValues: BlobSASSignatureValues,\n sharedKeyCredentialOrUserDelegationKey: StorageSharedKeyCredential | UserDelegationKey,\n accountName?: string,\n): SASQueryParameters {\n return generateBlobSASQueryParametersInternal(\n blobSASSignatureValues,\n sharedKeyCredentialOrUserDelegationKey,\n accountName,\n ).sasQueryParameters;\n}\n\nexport function generateBlobSASQueryParametersInternal(\n blobSASSignatureValues: BlobSASSignatureValues,\n sharedKeyCredentialOrUserDelegationKey: StorageSharedKeyCredential | UserDelegationKey,\n accountName?: string,\n): { sasQueryParameters: SASQueryParameters; stringToSign: string } {\n const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : SERVICE_VERSION;\n\n const sharedKeyCredential =\n sharedKeyCredentialOrUserDelegationKey instanceof StorageSharedKeyCredential\n ? sharedKeyCredentialOrUserDelegationKey\n : undefined;\n let userDelegationKeyCredential: UserDelegationKeyCredential | undefined;\n\n if (sharedKeyCredential === undefined && accountName !== undefined) {\n userDelegationKeyCredential = new UserDelegationKeyCredential(\n accountName,\n sharedKeyCredentialOrUserDelegationKey as UserDelegationKey,\n );\n }\n\n if (sharedKeyCredential === undefined && userDelegationKeyCredential === undefined) {\n throw TypeError(\"Invalid sharedKeyCredential, userDelegationKey or accountName.\");\n }\n\n // Version 2020-12-06 adds support for encryptionscope in SAS.\n if (version >= \"2020-12-06\") {\n if (sharedKeyCredential !== undefined) {\n return generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKeyCredential);\n } else {\n if (version >= \"2026-04-06\") {\n return generateBlobSASQueryParametersUDK20260406(\n blobSASSignatureValues,\n userDelegationKeyCredential!,\n );\n } else if (version >= \"2025-07-05\") {\n return generateBlobSASQueryParametersUDK20250705(\n blobSASSignatureValues,\n userDelegationKeyCredential!,\n );\n } else {\n return generateBlobSASQueryParametersUDK20201206(\n blobSASSignatureValues,\n userDelegationKeyCredential!,\n );\n }\n }\n }\n\n // Version 2019-12-12 adds support for the blob tags permission.\n // Version 2018-11-09 adds support for the signed resource and signed blob snapshot time fields.\n // https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas#constructing-the-signature-string\n if (version >= \"2018-11-09\") {\n if (sharedKeyCredential !== undefined) {\n return generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential);\n } else {\n // Version 2020-02-10 delegation SAS signature construction includes preauthorizedAgentObjectId, agentObjectId, correlationId.\n if (version >= \"2020-02-10\") {\n return generateBlobSASQueryParametersUDK20200210(\n blobSASSignatureValues,\n userDelegationKeyCredential!,\n );\n } else {\n return generateBlobSASQueryParametersUDK20181109(\n blobSASSignatureValues,\n userDelegationKeyCredential!,\n );\n }\n }\n }\n\n if (version >= \"2015-04-05\") {\n if (sharedKeyCredential !== undefined) {\n return generateBlobSASQueryParameters20150405(blobSASSignatureValues, sharedKeyCredential);\n } else {\n throw new RangeError(\n \"'version' must be >= '2018-11-09' when generating user delegation SAS using user delegation key.\",\n );\n }\n }\n\n throw new RangeError(\"'version' must be >= '2015-04-05'.\");\n}\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n * IMPLEMENTATION FOR API VERSION FROM 2015-04-05 AND BEFORE 2018-11-09.\n *\n * Creates an instance of SASQueryParameters.\n *\n * Only accepts required settings needed to create a SAS. For optional settings please\n * set corresponding properties directly, such as permissions, startsOn and identifier.\n *\n * WARNING: When identifier is not provided, permissions and expiresOn are required.\n * You MUST assign value to identifier or expiresOn & permissions manually if you initial with\n * this constructor.\n *\n * @param blobSASSignatureValues -\n * @param sharedKeyCredential -\n */\nfunction generateBlobSASQueryParameters20150405(\n blobSASSignatureValues: BlobSASSignatureValues,\n sharedKeyCredential: StorageSharedKeyCredential,\n): { sasQueryParameters: SASQueryParameters; stringToSign: string } {\n blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);\n\n if (\n !blobSASSignatureValues.identifier &&\n !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)\n ) {\n throw new RangeError(\n \"Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.\",\n );\n }\n\n let resource: string = \"c\";\n if (blobSASSignatureValues.blobName) {\n resource = \"b\";\n }\n\n // Calling parse and toString guarantees the proper ordering and throws on invalid characters.\n let verifiedPermissions: string | undefined;\n if (blobSASSignatureValues.permissions) {\n if (blobSASSignatureValues.blobName) {\n verifiedPermissions = BlobSASPermissions.parse(\n blobSASSignatureValues.permissions.toString(),\n ).toString();\n } else {\n verifiedPermissions = ContainerSASPermissions.parse(\n blobSASSignatureValues.permissions.toString(),\n ).toString();\n }\n }\n\n // Signature is generated on the un-url-encoded values.\n const stringToSign = [\n verifiedPermissions ? verifiedPermissions : \"\",\n blobSASSignatureValues.startsOn\n ? truncatedISO8061Date(blobSASSignatureValues.startsOn, false)\n : \"\",\n blobSASSignatureValues.expiresOn\n ? truncatedISO8061Date(blobSASSignatureValues.expiresOn, false)\n : \"\",\n getCanonicalName(\n sharedKeyCredential.accountName,\n blobSASSignatureValues.containerName,\n blobSASSignatureValues.blobName,\n ),\n blobSASSignatureValues.identifier,\n blobSASSignatureValues.ipRange ? ipRangeToString(blobSASSignatureValues.ipRange) : \"\",\n blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : \"\",\n blobSASSignatureValues.version,\n blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : \"\",\n blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : \"\",\n blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : \"\",\n blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : \"\",\n blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : \"\",\n ].join(\"\\n\");\n\n const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);\n\n return {\n sasQueryParameters: new SASQueryParameters(\n blobSASSignatureValues.version!,\n signature,\n verifiedPermissions,\n undefined,\n undefined,\n blobSASSignatureValues.protocol,\n blobSASSignatureValues.startsOn,\n blobSASSignatureValues.expiresOn,\n blobSASSignatureValues.ipRange,\n blobSASSignatureValues.identifier,\n resource,\n blobSASSignatureValues.cacheControl,\n blobSASSignatureValues.contentDisposition,\n blobSASSignatureValues.contentEncoding,\n blobSASSignatureValues.contentLanguage,\n blobSASSignatureValues.contentType,\n ),\n stringToSign: stringToSign,\n };\n}\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n * IMPLEMENTATION FOR API VERSION FROM 2018-11-09.\n *\n * Creates an instance of SASQueryParameters.\n *\n * Only accepts required settings needed to create a SAS. For optional settings please\n * set corresponding properties directly, such as permissions, startsOn and identifier.\n *\n * WARNING: When identifier is not provided, permissions and expiresOn are required.\n * You MUST assign value to identifier or expiresOn & permissions manually if you initial with\n * this constructor.\n *\n * @param blobSASSignatureValues -\n * @param sharedKeyCredential -\n */\nfunction generateBlobSASQueryParameters20181109(\n blobSASSignatureValues: BlobSASSignatureValues,\n sharedKeyCredential: StorageSharedKeyCredential,\n): { sasQueryParameters: SASQueryParameters; stringToSign: string } {\n blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);\n\n if (\n !blobSASSignatureValues.identifier &&\n !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)\n ) {\n throw new RangeError(\n \"Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.\",\n );\n }\n\n let resource: string = \"c\";\n let timestamp = blobSASSignatureValues.snapshotTime;\n if (blobSASSignatureValues.blobName) {\n resource = \"b\";\n if (blobSASSignatureValues.snapshotTime) {\n resource = \"bs\";\n } else if (blobSASSignatureValues.versionId) {\n resource = \"bv\";\n timestamp = blobSASSignatureValues.versionId;\n }\n }\n\n // Calling parse and toString guarantees the proper ordering and throws on invalid characters.\n let verifiedPermissions: string | undefined;\n if (blobSASSignatureValues.permissions) {\n if (blobSASSignatureValues.blobName) {\n verifiedPermissions = BlobSASPermissions.parse(\n blobSASSignatureValues.permissions.toString(),\n ).toString();\n } else {\n verifiedPermissions = ContainerSASPermissions.parse(\n blobSASSignatureValues.permissions.toString(),\n ).toString();\n }\n }\n\n // Signature is generated on the un-url-encoded values.\n const stringToSign = [\n verifiedPermissions ? verifiedPermissions : \"\",\n blobSASSignatureValues.startsOn\n ? truncatedISO8061Date(blobSASSignatureValues.startsOn, false)\n : \"\",\n blobSASSignatureValues.expiresOn\n ? truncatedISO8061Date(blobSASSignatureValues.expiresOn, false)\n : \"\",\n getCanonicalName(\n sharedKeyCredential.accountName,\n blobSASSignatureValues.containerName,\n blobSASSignatureValues.blobName,\n ),\n blobSASSignatureValues.identifier,\n blobSASSignatureValues.ipRange ? ipRangeToString(blobSASSignatureValues.ipRange) : \"\",\n blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : \"\",\n blobSASSignatureValues.version,\n resource,\n timestamp,\n blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : \"\",\n blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : \"\",\n blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : \"\",\n blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : \"\",\n blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : \"\",\n ].join(\"\\n\");\n\n const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);\n\n return {\n sasQueryParameters: new SASQueryParameters(\n blobSASSignatureValues.version!,\n signature,\n verifiedPermissions,\n undefined,\n undefined,\n blobSASSignatureValues.protocol,\n blobSASSignatureValues.startsOn,\n blobSASSignatureValues.expiresOn,\n blobSASSignatureValues.ipRange,\n blobSASSignatureValues.identifier,\n resource,\n blobSASSignatureValues.cacheControl,\n blobSASSignatureValues.contentDisposition,\n blobSASSignatureValues.contentEncoding,\n blobSASSignatureValues.contentLanguage,\n blobSASSignatureValues.contentType,\n ),\n stringToSign: stringToSign,\n };\n}\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n * IMPLEMENTATION FOR API VERSION FROM 2020-12-06.\n *\n * Creates an instance of SASQueryParameters.\n *\n * Only accepts required settings needed to create a SAS. For optional settings please\n * set corresponding properties directly, such as permissions, startsOn and identifier.\n *\n * WARNING: When identifier is not provided, permissions and expiresOn are required.\n * You MUST assign value to identifier or expiresOn & permissions manually if you initial with\n * this constructor.\n *\n * @param blobSASSignatureValues -\n * @param sharedKeyCredential -\n */\nfunction generateBlobSASQueryParameters20201206(\n blobSASSignatureValues: BlobSASSignatureValues,\n sharedKeyCredential: StorageSharedKeyCredential,\n): { sasQueryParameters: SASQueryParameters; stringToSign: string } {\n blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);\n\n if (\n !blobSASSignatureValues.identifier &&\n !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)\n ) {\n throw new RangeError(\n \"Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.\",\n );\n }\n\n let resource: string = \"c\";\n let timestamp = blobSASSignatureValues.snapshotTime;\n if (blobSASSignatureValues.blobName) {\n resource = \"b\";\n if (blobSASSignatureValues.snapshotTime) {\n resource = \"bs\";\n } else if (blobSASSignatureValues.versionId) {\n resource = \"bv\";\n timestamp = blobSASSignatureValues.versionId;\n }\n }\n\n // Calling parse and toString guarantees the proper ordering and throws on invalid characters.\n let verifiedPermissions: string | undefined;\n if (blobSASSignatureValues.permissions) {\n if (blobSASSignatureValues.blobName) {\n verifiedPermissions = BlobSASPermissions.parse(\n blobSASSignatureValues.permissions.toString(),\n ).toString();\n } else {\n verifiedPermissions = ContainerSASPermissions.parse(\n blobSASSignatureValues.permissions.toString(),\n ).toString();\n }\n }\n\n // Signature is generated on the un-url-encoded values.\n const stringToSign = [\n verifiedPermissions ? verifiedPermissions : \"\",\n blobSASSignatureValues.startsOn\n ? truncatedISO8061Date(blobSASSignatureValues.startsOn, false)\n : \"\",\n blobSASSignatureValues.expiresOn\n ? truncatedISO8061Date(blobSASSignatureValues.expiresOn, false)\n : \"\",\n getCanonicalName(\n sharedKeyCredential.accountName,\n blobSASSignatureValues.containerName,\n blobSASSignatureValues.blobName,\n ),\n blobSASSignatureValues.identifier,\n blobSASSignatureValues.ipRange ? ipRangeToString(blobSASSignatureValues.ipRange) : \"\",\n blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : \"\",\n blobSASSignatureValues.version,\n resource,\n timestamp,\n blobSASSignatureValues.encryptionScope,\n blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : \"\",\n blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : \"\",\n blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : \"\",\n blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : \"\",\n blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : \"\",\n ].join(\"\\n\");\n\n const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);\n\n return {\n sasQueryParameters: new SASQueryParameters(\n blobSASSignatureValues.version!,\n signature,\n verifiedPermissions,\n undefined,\n undefined,\n blobSASSignatureValues.protocol,\n blobSASSignatureValues.startsOn,\n blobSASSignatureValues.expiresOn,\n blobSASSignatureValues.ipRange,\n blobSASSignatureValues.identifier,\n resource,\n blobSASSignatureValues.cacheControl,\n blobSASSignatureValues.contentDisposition,\n blobSASSignatureValues.contentEncoding,\n blobSASSignatureValues.contentLanguage,\n blobSASSignatureValues.contentType,\n undefined,\n undefined,\n undefined,\n blobSASSignatureValues.encryptionScope,\n ),\n stringToSign: stringToSign,\n };\n}\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n * IMPLEMENTATION FOR API VERSION FROM 2018-11-09.\n *\n * Creates an instance of SASQueryParameters.\n *\n * Only accepts required settings needed to create a SAS. For optional settings please\n * set corresponding properties directly, such as permissions, startsOn.\n *\n * WARNING: identifier will be ignored, permissions and expiresOn are required.\n *\n * @param blobSASSignatureValues -\n * @param userDelegationKeyCredential -\n */\nfunction generateBlobSASQueryParametersUDK20181109(\n blobSASSignatureValues: BlobSASSignatureValues,\n userDelegationKeyCredential: UserDelegationKeyCredential,\n): { sasQueryParameters: SASQueryParameters; stringToSign: string } {\n blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);\n\n // Stored access policies are not supported for a user delegation SAS.\n if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {\n throw new RangeError(\n \"Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.\",\n );\n }\n\n let resource: string = \"c\";\n let timestamp = blobSASSignatureValues.snapshotTime;\n if (blobSASSignatureValues.blobName) {\n resource = \"b\";\n if (blobSASSignatureValues.snapshotTime) {\n resource = \"bs\";\n } else if (blobSASSignatureValues.versionId) {\n resource = \"bv\";\n timestamp = blobSASSignatureValues.versionId;\n }\n }\n\n // Calling parse and toString guarantees the proper ordering and throws on invalid characters.\n let verifiedPermissions: string | undefined;\n if (blobSASSignatureValues.permissions) {\n if (blobSASSignatureValues.blobName) {\n verifiedPermissions = BlobSASPermissions.parse(\n blobSASSignatureValues.permissions.toString(),\n ).toString();\n } else {\n verifiedPermissions = ContainerSASPermissions.parse(\n blobSASSignatureValues.permissions.toString(),\n ).toString();\n }\n }\n\n // Signature is generated on the un-url-encoded values.\n const stringToSign = [\n verifiedPermissions ? verifiedPermissions : \"\",\n blobSASSignatureValues.startsOn\n ? truncatedISO8061Date(blobSASSignatureValues.startsOn, false)\n : \"\",\n blobSASSignatureValues.expiresOn\n ? truncatedISO8061Date(blobSASSignatureValues.expiresOn, false)\n : \"\",\n getCanonicalName(\n userDelegationKeyCredential.accountName,\n blobSASSignatureValues.containerName,\n blobSASSignatureValues.blobName,\n ),\n userDelegationKeyCredential.userDelegationKey.signedObjectId,\n userDelegationKeyCredential.userDelegationKey.signedTenantId,\n userDelegationKeyCredential.userDelegationKey.signedStartsOn\n ? truncatedISO8061Date(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false)\n : \"\",\n userDelegationKeyCredential.userDelegationKey.signedExpiresOn\n ? truncatedISO8061Date(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false)\n : \"\",\n userDelegationKeyCredential.userDelegationKey.signedService,\n userDelegationKeyCredential.userDelegationKey.signedVersion,\n blobSASSignatureValues.ipRange ? ipRangeToString(blobSASSignatureValues.ipRange) : \"\",\n blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : \"\",\n blobSASSignatureValues.version,\n resource,\n timestamp,\n blobSASSignatureValues.cacheControl,\n blobSASSignatureValues.contentDisposition,\n blobSASSignatureValues.contentEncoding,\n blobSASSignatureValues.contentLanguage,\n blobSASSignatureValues.contentType,\n ].join(\"\\n\");\n\n const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);\n return {\n sasQueryParameters: new SASQueryParameters(\n blobSASSignatureValues.version!,\n signature,\n verifiedPermissions,\n undefined,\n undefined,\n blobSASSignatureValues.protocol,\n blobSASSignatureValues.startsOn,\n blobSASSignatureValues.expiresOn,\n blobSASSignatureValues.ipRange,\n blobSASSignatureValues.identifier,\n resource,\n blobSASSignatureValues.cacheControl,\n blobSASSignatureValues.contentDisposition,\n blobSASSignatureValues.contentEncoding,\n blobSASSignatureValues.contentLanguage,\n blobSASSignatureValues.contentType,\n userDelegationKeyCredential.userDelegationKey,\n ),\n stringToSign: stringToSign,\n };\n}\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n * IMPLEMENTATION FOR API VERSION FROM 2020-02-10.\n *\n * Creates an instance of SASQueryParameters.\n *\n * Only accepts required settings needed to create a SAS. For optional settings please\n * set corresponding properties directly, such as permissions, startsOn.\n *\n * WARNING: identifier will be ignored, permissions and expiresOn are required.\n *\n * @param blobSASSignatureValues -\n * @param userDelegationKeyCredential -\n */\nfunction generateBlobSASQueryParametersUDK20200210(\n blobSASSignatureValues: BlobSASSignatureValues,\n userDelegationKeyCredential: UserDelegationKeyCredential,\n): { sasQueryParameters: SASQueryParameters; stringToSign: string } {\n blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);\n\n // Stored access policies are not supported for a user delegation SAS.\n if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {\n throw new RangeError(\n \"Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.\",\n );\n }\n\n let resource: string = \"c\";\n let timestamp = blobSASSignatureValues.snapshotTime;\n if (blobSASSignatureValues.blobName) {\n resource = \"b\";\n if (blobSASSignatureValues.snapshotTime) {\n resource = \"bs\";\n } else if (blobSASSignatureValues.versionId) {\n resource = \"bv\";\n timestamp = blobSASSignatureValues.versionId;\n }\n }\n\n // Calling parse and toString guarantees the proper ordering and throws on invalid characters.\n let verifiedPermissions: string | undefined;\n if (blobSASSignatureValues.permissions) {\n if (blobSASSignatureValues.blobName) {\n verifiedPermissions = BlobSASPermissions.parse(\n blobSASSignatureValues.permissions.toString(),\n ).toString();\n } else {\n verifiedPermissions = ContainerSASPermissions.parse(\n blobSASSignatureValues.permissions.toString(),\n ).toString();\n }\n }\n\n // Signature is generated on the un-url-encoded values.\n const stringToSign = [\n verifiedPermissions ? verifiedPermissions : \"\",\n blobSASSignatureValues.startsOn\n ? truncatedISO8061Date(blobSASSignatureValues.startsOn, false)\n : \"\",\n blobSASSignatureValues.expiresOn\n ? truncatedISO8061Date(blobSASSignatureValues.expiresOn, false)\n : \"\",\n getCanonicalName(\n userDelegationKeyCredential.accountName,\n blobSASSignatureValues.containerName,\n blobSASSignatureValues.blobName,\n ),\n userDelegationKeyCredential.userDelegationKey.signedObjectId,\n userDelegationKeyCredential.userDelegationKey.signedTenantId,\n userDelegationKeyCredential.userDelegationKey.signedStartsOn\n ? truncatedISO8061Date(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false)\n : \"\",\n userDelegationKeyCredential.userDelegationKey.signedExpiresOn\n ? truncatedISO8061Date(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false)\n : \"\",\n userDelegationKeyCredential.userDelegationKey.signedService,\n userDelegationKeyCredential.userDelegationKey.signedVersion,\n blobSASSignatureValues.preauthorizedAgentObjectId,\n undefined, // agentObjectId\n blobSASSignatureValues.correlationId,\n blobSASSignatureValues.ipRange ? ipRangeToString(blobSASSignatureValues.ipRange) : \"\",\n blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : \"\",\n blobSASSignatureValues.version,\n resource,\n timestamp,\n blobSASSignatureValues.cacheControl,\n blobSASSignatureValues.contentDisposition,\n blobSASSignatureValues.contentEncoding,\n blobSASSignatureValues.contentLanguage,\n blobSASSignatureValues.contentType,\n ].join(\"\\n\");\n\n const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);\n return {\n sasQueryParameters: new SASQueryParameters(\n blobSASSignatureValues.version!,\n signature,\n verifiedPermissions,\n undefined,\n undefined,\n blobSASSignatureValues.protocol,\n blobSASSignatureValues.startsOn,\n blobSASSignatureValues.expiresOn,\n blobSASSignatureValues.ipRange,\n blobSASSignatureValues.identifier,\n resource,\n blobSASSignatureValues.cacheControl,\n blobSASSignatureValues.contentDisposition,\n blobSASSignatureValues.contentEncoding,\n blobSASSignatureValues.contentLanguage,\n blobSASSignatureValues.contentType,\n userDelegationKeyCredential.userDelegationKey,\n blobSASSignatureValues.preauthorizedAgentObjectId,\n blobSASSignatureValues.correlationId,\n ),\n stringToSign: stringToSign,\n };\n}\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n * IMPLEMENTATION FOR API VERSION FROM 2020-12-06.\n *\n * Creates an instance of SASQueryParameters.\n *\n * Only accepts required settings needed to create a SAS. For optional settings please\n * set corresponding properties directly, such as permissions, startsOn.\n *\n * WARNING: identifier will be ignored, permissions and expiresOn are required.\n *\n * @param blobSASSignatureValues -\n * @param userDelegationKeyCredential -\n */\nfunction generateBlobSASQueryParametersUDK20201206(\n blobSASSignatureValues: BlobSASSignatureValues,\n userDelegationKeyCredential: UserDelegationKeyCredential,\n): { sasQueryParameters: SASQueryParameters; stringToSign: string } {\n blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);\n\n // Stored access policies are not supported for a user delegation SAS.\n if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {\n throw new RangeError(\n \"Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.\",\n );\n }\n\n let resource: string = \"c\";\n let timestamp = blobSASSignatureValues.snapshotTime;\n if (blobSASSignatureValues.blobName) {\n resource = \"b\";\n if (blobSASSignatureValues.snapshotTime) {\n resource = \"bs\";\n } else if (blobSASSignatureValues.versionId) {\n resource = \"bv\";\n timestamp = blobSASSignatureValues.versionId;\n }\n }\n\n // Calling parse and toString guarantees the proper ordering and throws on invalid characters.\n let verifiedPermissions: string | undefined;\n if (blobSASSignatureValues.permissions) {\n if (blobSASSignatureValues.blobName) {\n verifiedPermissions = BlobSASPermissions.parse(\n blobSASSignatureValues.permissions.toString(),\n ).toString();\n } else {\n verifiedPermissions = ContainerSASPermissions.parse(\n blobSASSignatureValues.permissions.toString(),\n ).toString();\n }\n }\n\n // Signature is generated on the un-url-encoded values.\n const stringToSign = [\n verifiedPermissions ? verifiedPermissions : \"\",\n blobSASSignatureValues.startsOn\n ? truncatedISO8061Date(blobSASSignatureValues.startsOn, false)\n : \"\",\n blobSASSignatureValues.expiresOn\n ? truncatedISO8061Date(blobSASSignatureValues.expiresOn, false)\n : \"\",\n getCanonicalName(\n userDelegationKeyCredential.accountName,\n blobSASSignatureValues.containerName,\n blobSASSignatureValues.blobName,\n ),\n userDelegationKeyCredential.userDelegationKey.signedObjectId,\n userDelegationKeyCredential.userDelegationKey.signedTenantId,\n userDelegationKeyCredential.userDelegationKey.signedStartsOn\n ? truncatedISO8061Date(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false)\n : \"\",\n userDelegationKeyCredential.userDelegationKey.signedExpiresOn\n ? truncatedISO8061Date(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false)\n : \"\",\n userDelegationKeyCredential.userDelegationKey.signedService,\n userDelegationKeyCredential.userDelegationKey.signedVersion,\n blobSASSignatureValues.preauthorizedAgentObjectId,\n undefined, // agentObjectId\n blobSASSignatureValues.correlationId,\n blobSASSignatureValues.ipRange ? ipRangeToString(blobSASSignatureValues.ipRange) : \"\",\n blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : \"\",\n blobSASSignatureValues.version,\n resource,\n timestamp,\n blobSASSignatureValues.encryptionScope,\n blobSASSignatureValues.cacheControl,\n blobSASSignatureValues.contentDisposition,\n blobSASSignatureValues.contentEncoding,\n blobSASSignatureValues.contentLanguage,\n blobSASSignatureValues.contentType,\n ].join(\"\\n\");\n\n const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);\n return {\n sasQueryParameters: new SASQueryParameters(\n blobSASSignatureValues.version!,\n signature,\n verifiedPermissions,\n undefined,\n undefined,\n blobSASSignatureValues.protocol,\n blobSASSignatureValues.startsOn,\n blobSASSignatureValues.expiresOn,\n blobSASSignatureValues.ipRange,\n blobSASSignatureValues.identifier,\n resource,\n blobSASSignatureValues.cacheControl,\n blobSASSignatureValues.contentDisposition,\n blobSASSignatureValues.contentEncoding,\n blobSASSignatureValues.contentLanguage,\n blobSASSignatureValues.contentType,\n userDelegationKeyCredential.userDelegationKey,\n blobSASSignatureValues.preauthorizedAgentObjectId,\n blobSASSignatureValues.correlationId,\n blobSASSignatureValues.encryptionScope,\n ),\n stringToSign: stringToSign,\n };\n}\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n * IMPLEMENTATION FOR API VERSION FROM 2020-12-06.\n *\n * Creates an instance of SASQueryParameters.\n *\n * Only accepts required settings needed to create a SAS. For optional settings please\n * set corresponding properties directly, such as permissions, startsOn.\n *\n * WARNING: identifier will be ignored, permissions and expiresOn are required.\n *\n * @param blobSASSignatureValues -\n * @param userDelegationKeyCredential -\n */\nfunction generateBlobSASQueryParametersUDK20250705(\n blobSASSignatureValues: BlobSASSignatureValues,\n userDelegationKeyCredential: UserDelegationKeyCredential,\n): { sasQueryParameters: SASQueryParameters; stringToSign: string } {\n blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);\n\n // Stored access policies are not supported for a user delegation SAS.\n if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {\n throw new RangeError(\n \"Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.\",\n );\n }\n\n let resource: string = \"c\";\n let timestamp = blobSASSignatureValues.snapshotTime;\n if (blobSASSignatureValues.blobName) {\n resource = \"b\";\n if (blobSASSignatureValues.snapshotTime) {\n resource = \"bs\";\n } else if (blobSASSignatureValues.versionId) {\n resource = \"bv\";\n timestamp = blobSASSignatureValues.versionId;\n }\n }\n\n // Calling parse and toString guarantees the proper ordering and throws on invalid characters.\n let verifiedPermissions: string | undefined;\n if (blobSASSignatureValues.permissions) {\n if (blobSASSignatureValues.blobName) {\n verifiedPermissions = BlobSASPermissions.parse(\n blobSASSignatureValues.permissions.toString(),\n ).toString();\n } else {\n verifiedPermissions = ContainerSASPermissions.parse(\n blobSASSignatureValues.permissions.toString(),\n ).toString();\n }\n }\n\n // Signature is generated on the un-url-encoded values.\n const stringToSign = [\n verifiedPermissions ? verifiedPermissions : \"\",\n blobSASSignatureValues.startsOn\n ? truncatedISO8061Date(blobSASSignatureValues.startsOn, false)\n : \"\",\n blobSASSignatureValues.expiresOn\n ? truncatedISO8061Date(blobSASSignatureValues.expiresOn, false)\n : \"\",\n getCanonicalName(\n userDelegationKeyCredential.accountName,\n blobSASSignatureValues.containerName,\n blobSASSignatureValues.blobName,\n ),\n userDelegationKeyCredential.userDelegationKey.signedObjectId,\n userDelegationKeyCredential.userDelegationKey.signedTenantId,\n userDelegationKeyCredential.userDelegationKey.signedStartsOn\n ? truncatedISO8061Date(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false)\n : \"\",\n userDelegationKeyCredential.userDelegationKey.signedExpiresOn\n ? truncatedISO8061Date(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false)\n : \"\",\n userDelegationKeyCredential.userDelegationKey.signedService,\n userDelegationKeyCredential.userDelegationKey.signedVersion,\n blobSASSignatureValues.preauthorizedAgentObjectId,\n undefined, // agentObjectId\n blobSASSignatureValues.correlationId,\n userDelegationKeyCredential.userDelegationKey.signedDelegatedUserTenantId, // SignedKeyDelegatedUserTenantId, will be added in a future release.\n blobSASSignatureValues.delegatedUserObjectId,\n blobSASSignatureValues.ipRange ? ipRangeToString(blobSASSignatureValues.ipRange) : \"\",\n blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : \"\",\n blobSASSignatureValues.version,\n resource,\n timestamp,\n blobSASSignatureValues.encryptionScope,\n blobSASSignatureValues.cacheControl,\n blobSASSignatureValues.contentDisposition,\n blobSASSignatureValues.contentEncoding,\n blobSASSignatureValues.contentLanguage,\n blobSASSignatureValues.contentType,\n ].join(\"\\n\");\n\n const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);\n return {\n sasQueryParameters: new SASQueryParameters(\n blobSASSignatureValues.version!,\n signature,\n verifiedPermissions,\n undefined,\n undefined,\n blobSASSignatureValues.protocol,\n blobSASSignatureValues.startsOn,\n blobSASSignatureValues.expiresOn,\n blobSASSignatureValues.ipRange,\n blobSASSignatureValues.identifier,\n resource,\n blobSASSignatureValues.cacheControl,\n blobSASSignatureValues.contentDisposition,\n blobSASSignatureValues.contentEncoding,\n blobSASSignatureValues.contentLanguage,\n blobSASSignatureValues.contentType,\n userDelegationKeyCredential.userDelegationKey,\n blobSASSignatureValues.preauthorizedAgentObjectId,\n blobSASSignatureValues.correlationId,\n blobSASSignatureValues.encryptionScope,\n blobSASSignatureValues.delegatedUserObjectId,\n ),\n stringToSign: stringToSign,\n };\n}\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n * IMPLEMENTATION FOR API VERSION FROM 2020-12-06.\n *\n * Creates an instance of SASQueryParameters.\n *\n * Only accepts required settings needed to create a SAS. For optional settings please\n * set corresponding properties directly, such as permissions, startsOn.\n *\n * WARNING: identifier will be ignored, permissions and expiresOn are required.\n *\n * @param blobSASSignatureValues -\n * @param userDelegationKeyCredential -\n */\nfunction generateBlobSASQueryParametersUDK20260406(\n blobSASSignatureValues: BlobSASSignatureValues,\n userDelegationKeyCredential: UserDelegationKeyCredential,\n): { sasQueryParameters: SASQueryParameters; stringToSign: string } {\n blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);\n\n // Stored access policies are not supported for a user delegation SAS.\n if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {\n throw new RangeError(\n \"Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.\",\n );\n }\n\n let resource: string = \"c\";\n let timestamp = blobSASSignatureValues.snapshotTime;\n if (blobSASSignatureValues.blobName) {\n resource = \"b\";\n if (blobSASSignatureValues.snapshotTime) {\n resource = \"bs\";\n } else if (blobSASSignatureValues.versionId) {\n resource = \"bv\";\n timestamp = blobSASSignatureValues.versionId;\n }\n }\n\n // Calling parse and toString guarantees the proper ordering and throws on invalid characters.\n let verifiedPermissions: string | undefined;\n if (blobSASSignatureValues.permissions) {\n if (blobSASSignatureValues.blobName) {\n verifiedPermissions = BlobSASPermissions.parse(\n blobSASSignatureValues.permissions.toString(),\n ).toString();\n } else {\n verifiedPermissions = ContainerSASPermissions.parse(\n blobSASSignatureValues.permissions.toString(),\n ).toString();\n }\n }\n\n // Signature is generated on the un-url-encoded values.\n const stringToSign = [\n verifiedPermissions ? verifiedPermissions : \"\",\n blobSASSignatureValues.startsOn\n ? truncatedISO8061Date(blobSASSignatureValues.startsOn, false)\n : \"\",\n blobSASSignatureValues.expiresOn\n ? truncatedISO8061Date(blobSASSignatureValues.expiresOn, false)\n : \"\",\n getCanonicalName(\n userDelegationKeyCredential.accountName,\n blobSASSignatureValues.containerName,\n blobSASSignatureValues.blobName,\n ),\n userDelegationKeyCredential.userDelegationKey.signedObjectId,\n userDelegationKeyCredential.userDelegationKey.signedTenantId,\n userDelegationKeyCredential.userDelegationKey.signedStartsOn\n ? truncatedISO8061Date(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false)\n : \"\",\n userDelegationKeyCredential.userDelegationKey.signedExpiresOn\n ? truncatedISO8061Date(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false)\n : \"\",\n userDelegationKeyCredential.userDelegationKey.signedService,\n userDelegationKeyCredential.userDelegationKey.signedVersion,\n blobSASSignatureValues.preauthorizedAgentObjectId,\n undefined, // agentObjectId\n blobSASSignatureValues.correlationId,\n userDelegationKeyCredential.userDelegationKey.signedDelegatedUserTenantId, // SignedKeyDelegatedUserTenantId, will be added in a future release.\n blobSASSignatureValues.delegatedUserObjectId,\n blobSASSignatureValues.ipRange ? ipRangeToString(blobSASSignatureValues.ipRange) : \"\",\n blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : \"\",\n blobSASSignatureValues.version,\n resource,\n timestamp,\n blobSASSignatureValues.encryptionScope,\n formatRequestHeadersForSasSigning(blobSASSignatureValues.requestHeaders),\n formatRequestQueryParametersForSasSigning(blobSASSignatureValues.requestQueryParameters),\n blobSASSignatureValues.cacheControl,\n blobSASSignatureValues.contentDisposition,\n blobSASSignatureValues.contentEncoding,\n blobSASSignatureValues.contentLanguage,\n blobSASSignatureValues.contentType,\n ].join(\"\\n\");\n\n const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);\n return {\n sasQueryParameters: new SASQueryParameters(\n blobSASSignatureValues.version!,\n signature,\n verifiedPermissions,\n undefined,\n undefined,\n blobSASSignatureValues.protocol,\n blobSASSignatureValues.startsOn,\n blobSASSignatureValues.expiresOn,\n blobSASSignatureValues.ipRange,\n blobSASSignatureValues.identifier,\n resource,\n blobSASSignatureValues.cacheControl,\n blobSASSignatureValues.contentDisposition,\n blobSASSignatureValues.contentEncoding,\n blobSASSignatureValues.contentLanguage,\n blobSASSignatureValues.contentType,\n userDelegationKeyCredential.userDelegationKey,\n blobSASSignatureValues.preauthorizedAgentObjectId,\n blobSASSignatureValues.correlationId,\n blobSASSignatureValues.encryptionScope,\n blobSASSignatureValues.delegatedUserObjectId,\n getKeysOfRequestHeaders(blobSASSignatureValues.requestHeaders),\n getKeysOfRequestHeaders(blobSASSignatureValues.requestQueryParameters),\n ),\n stringToSign: stringToSign,\n };\n}\n\nfunction formatRequestHeadersForSasSigning(\n requestHeaders: RequestHeaders | undefined,\n): string | undefined {\n if (requestHeaders === undefined) {\n return undefined;\n }\n\n let canonicalValue = \"\";\n Object.keys(requestHeaders).forEach(function (key) {\n // key: the name of the object key\n // index: the ordinal position of the key within the object\n canonicalValue = canonicalValue + key + \":\" + requestHeaders[key] + \"\\n\";\n });\n return canonicalValue;\n}\n\nfunction formatRequestQueryParametersForSasSigning(\n queryParameters: RequestQueryParameters | undefined,\n): string | undefined {\n if (queryParameters === undefined) {\n return undefined;\n }\n\n let canonicalValue = \"\";\n Object.keys(queryParameters).forEach(function (key) {\n // key: the name of the object key\n // index: the ordinal position of the key within the object\n canonicalValue = canonicalValue + \"\\n\" + key + \":\" + queryParameters[key];\n });\n return canonicalValue;\n}\n\nfunction getKeysOfRequestHeaders(requestHeaders: RequestHeaders | undefined): string | undefined {\n if (requestHeaders === undefined) {\n return undefined;\n }\n\n let requestKeys = \"\";\n let index = 0;\n Object.keys(requestHeaders).forEach(function (key) {\n // key: the name of the object key\n // index: the ordinal position of the key within the object\n if (index !== 0) {\n requestKeys = requestKeys + \",\";\n }\n\n requestKeys = requestKeys + key;\n ++index;\n });\n return requestKeys;\n}\n\nfunction getCanonicalName(accountName: string, containerName: string, blobName?: string): string {\n // Container: \"/blob/account/containerName\"\n // Blob: \"/blob/account/containerName/blobName\"\n const elements: string[] = [`/blob/${accountName}/${containerName}`];\n if (blobName) {\n elements.push(`/${blobName}`);\n }\n return elements.join(\"\");\n}\n\nfunction SASSignatureValuesSanityCheckAndAutofill(\n blobSASSignatureValues: BlobSASSignatureValues,\n): BlobSASSignatureValues {\n const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : SERVICE_VERSION;\n if (blobSASSignatureValues.snapshotTime && version < \"2018-11-09\") {\n throw RangeError(\"'version' must be >= '2018-11-09' when providing 'snapshotTime'.\");\n }\n if (blobSASSignatureValues.blobName === undefined && blobSASSignatureValues.snapshotTime) {\n throw RangeError(\"Must provide 'blobName' when providing 'snapshotTime'.\");\n }\n\n if (blobSASSignatureValues.versionId && version < \"2019-10-10\") {\n throw RangeError(\"'version' must be >= '2019-10-10' when providing 'versionId'.\");\n }\n if (blobSASSignatureValues.blobName === undefined && blobSASSignatureValues.versionId) {\n throw RangeError(\"Must provide 'blobName' when providing 'versionId'.\");\n }\n\n if (\n blobSASSignatureValues.permissions &&\n blobSASSignatureValues.permissions.setImmutabilityPolicy &&\n version < \"2020-08-04\"\n ) {\n throw RangeError(\"'version' must be >= '2020-08-04' when provided 'i' permission.\");\n }\n\n if (\n blobSASSignatureValues.permissions &&\n blobSASSignatureValues.permissions.deleteVersion &&\n version < \"2019-10-10\"\n ) {\n throw RangeError(\"'version' must be >= '2019-10-10' when providing 'x' permission.\");\n }\n\n if (\n blobSASSignatureValues.permissions &&\n blobSASSignatureValues.permissions.permanentDelete &&\n version < \"2019-10-10\"\n ) {\n throw RangeError(\"'version' must be >= '2019-10-10' when providing 'y' permission.\");\n }\n\n if (\n blobSASSignatureValues.permissions &&\n blobSASSignatureValues.permissions.tag &&\n version < \"2019-12-12\"\n ) {\n throw RangeError(\"'version' must be >= '2019-12-12' when providing 't' permission.\");\n }\n\n if (\n version < \"2020-02-10\" &&\n blobSASSignatureValues.permissions &&\n (blobSASSignatureValues.permissions.move || blobSASSignatureValues.permissions.execute)\n ) {\n throw RangeError(\"'version' must be >= '2020-02-10' when providing the 'm' or 'e' permission.\");\n }\n\n if (\n version < \"2021-04-10\" &&\n blobSASSignatureValues.permissions &&\n (blobSASSignatureValues.permissions as ContainerSASPermissions).filterByTags\n ) {\n throw RangeError(\"'version' must be >= '2021-04-10' when providing the 'f' permission.\");\n }\n\n if (\n version < \"2020-02-10\" &&\n (blobSASSignatureValues.preauthorizedAgentObjectId || blobSASSignatureValues.correlationId)\n ) {\n throw RangeError(\n \"'version' must be >= '2020-02-10' when providing 'preauthorizedAgentObjectId' or 'correlationId'.\",\n );\n }\n\n if (blobSASSignatureValues.encryptionScope && version < \"2020-12-06\") {\n throw RangeError(\"'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS.\");\n }\n\n blobSASSignatureValues.version = version;\n return blobSASSignatureValues;\n}\n"],
5
5
  "mappings": "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",
6
6
  "names": ["import_storage_common"]
@@ -233,3 +233,4 @@ class ContainerSASPermissions {
233
233
  0 && (module.exports = {
234
234
  ContainerSASPermissions
235
235
  });
236
+ //# sourceMappingURL=ContainerSASPermissions.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/storage/storage-blob/src/sas/ContainerSASPermissions.ts"],
3
+ "sources": ["../../../src/sas/ContainerSASPermissions.ts"],
4
4
  "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 BlobSASSignatureValues} 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 ContainerSASPermissions {\n /**\n * Creates an {@link ContainerSASPermissions} 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): ContainerSASPermissions {\n const containerSASPermissions = new ContainerSASPermissions();\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 \"t\":\n containerSASPermissions.tag = true;\n break;\n case \"x\":\n containerSASPermissions.deleteVersion = true;\n break;\n case \"m\":\n containerSASPermissions.move = true;\n break;\n case \"e\":\n containerSASPermissions.execute = true;\n break;\n case \"i\":\n containerSASPermissions.setImmutabilityPolicy = true;\n break;\n case \"y\":\n containerSASPermissions.permanentDelete = true;\n break;\n case \"f\":\n containerSASPermissions.filterByTags = true;\n break;\n default:\n throw new RangeError(`Invalid permission ${char}`);\n }\n }\n\n return containerSASPermissions;\n }\n\n /**\n * Creates a {@link ContainerSASPermissions} from a raw object which contains same keys as it\n * and boolean values for them.\n *\n * @param permissionLike -\n */\n public static from(permissionLike: ContainerSASPermissionsLike): ContainerSASPermissions {\n const containerSASPermissions = new ContainerSASPermissions();\n if (permissionLike.read) {\n containerSASPermissions.read = true;\n }\n if (permissionLike.add) {\n containerSASPermissions.add = true;\n }\n if (permissionLike.create) {\n containerSASPermissions.create = true;\n }\n if (permissionLike.write) {\n containerSASPermissions.write = true;\n }\n if (permissionLike.delete) {\n containerSASPermissions.delete = true;\n }\n if (permissionLike.list) {\n containerSASPermissions.list = true;\n }\n if (permissionLike.deleteVersion) {\n containerSASPermissions.deleteVersion = true;\n }\n if (permissionLike.tag) {\n containerSASPermissions.tag = true;\n }\n if (permissionLike.move) {\n containerSASPermissions.move = true;\n }\n if (permissionLike.execute) {\n containerSASPermissions.execute = true;\n }\n if (permissionLike.setImmutabilityPolicy) {\n containerSASPermissions.setImmutabilityPolicy = true;\n }\n if (permissionLike.permanentDelete) {\n containerSASPermissions.permanentDelete = true;\n }\n if (permissionLike.filterByTags) {\n containerSASPermissions.filterByTags = true;\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 Delete version access granted.\n */\n public deleteVersion: boolean = false;\n\n /**\n * Specifies List access granted.\n */\n public list: boolean = false;\n\n /**\n * Specfies Tag access granted.\n */\n public tag: 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 SetImmutabilityPolicy access granted.\n */\n public setImmutabilityPolicy: boolean = false;\n\n /**\n * Specifies that Permanent Delete is permitted.\n */\n public permanentDelete: boolean = false;\n\n /**\n * Specifies that Filter Blobs by Tags is permitted.\n */\n public filterByTags: 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.deleteVersion) {\n permissions.push(\"x\");\n }\n if (this.list) {\n permissions.push(\"l\");\n }\n if (this.tag) {\n permissions.push(\"t\");\n }\n if (this.move) {\n permissions.push(\"m\");\n }\n if (this.execute) {\n permissions.push(\"e\");\n }\n if (this.setImmutabilityPolicy) {\n permissions.push(\"i\");\n }\n if (this.permanentDelete) {\n permissions.push(\"y\");\n }\n if (this.filterByTags) {\n permissions.push(\"f\");\n }\n return permissions.join(\"\");\n }\n}\n\n/**\n * A type that looks like a Container SAS permission.\n * Used in {@link ContainerSASPermissions} to parse SAS permissions from raw objects.\n */\nexport interface ContainerSASPermissionsLike {\n /**\n * Specifies Read access granted.\n */\n read?: boolean;\n\n /**\n * Specifies Add access granted.\n */\n add?: boolean;\n\n /**\n * Specifies Create access granted.\n */\n create?: boolean;\n\n /**\n * Specifies Write access granted.\n */\n write?: boolean;\n\n /**\n * Specifies Delete access granted.\n */\n delete?: boolean;\n\n /**\n * Specifies Delete version access granted.\n */\n deleteVersion?: boolean;\n\n /**\n * Specifies List access granted.\n */\n list?: boolean;\n\n /**\n * Specfies Tag access granted.\n */\n tag?: boolean;\n\n /**\n * Specifies Move access granted.\n */\n move?: boolean;\n\n /**\n * Specifies Execute access granted.\n */\n execute?: boolean;\n\n /**\n * Specifies SetImmutabilityPolicy access granted.\n */\n setImmutabilityPolicy?: boolean;\n\n /**\n * Specifies that Permanent Delete is permitted.\n */\n permanentDelete?: boolean;\n\n /**\n * Specifies that Filter Blobs by Tags is permitted.\n */\n filterByTags?: boolean;\n}\n"],
5
5
  "mappings": "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",
6
6
  "names": []
@@ -427,3 +427,4 @@ class SASQueryParameters {
427
427
  SASProtocol,
428
428
  SASQueryParameters
429
429
  });
430
+ //# sourceMappingURL=SASQueryParameters.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/storage/storage-blob/src/sas/SASQueryParameters.ts"],
3
+ "sources": ["../../../src/sas/SASQueryParameters.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { SasIPRange } from \"./SasIPRange.js\";\nimport { ipRangeToString } from \"./SasIPRange.js\";\nimport { truncatedISO8061Date } from \"../utils/utils.common.js\";\nimport type { UserDelegationKey } from \"@azure/storage-common\";\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 /**\n * Optional. Beginning in version 2025-07-05, this value specifies the Entra ID of the user would is authorized to\n * use the resulting SAS URL. The resulting SAS URL must be used in conjunction with an Entra ID token that has been\n * issued to the user specified in this value.\n */\n delegatedUserObjectId?: 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 * 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 * 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 * Keys for request headers required in generating the SAS token\n */\n requestHeaderKeys?: string;\n /**\n * Keys for query parameters required in generating the SAS token\n */\n requestQueryParameterKeys?: 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. Beginning in version 2025-07-05, this value specifies the Entra ID of the user would is authorized to\n * use the resulting SAS URL. The resulting SAS URL must be used in conjunction with an Entra ID token that has been\n * issued to the user specified in this value.\n */\n public readonly delegatedUserObjectId?: 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. 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 * The delegated user tenant id in Azure AD.\n * Property of user delegation key.\n */\n private readonly signedDelegatedUserTid?: string;\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 is only used for User Delegation SAS.\n */\n public readonly preauthorizedAgentObjectId?: 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 * Keys for request headers required in the SAS token\n */\n public readonly requestHeaderKeys?: string;\n\n /**\n * Keys for request query parameters required in the SAS token\n */\n public readonly requestQueryParameterKeys?: 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 correlationId - Representing the correlation ID (only for User Delegation SAS)\n * @param encryptionScope -\n * @param delegatedUserObjectId -\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 preauthorizedAgentObjectId?: string,\n correlationId?: string,\n encryptionScope?: string,\n delegatedUserObjectId?: string,\n requestHeaderKeys?: string,\n requestQueryParameterKeys?: 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 preauthorizedAgentObjectId?: string,\n correlationId?: string,\n encryptionScope?: string,\n delegatedUserObjectId?: string,\n requestHeaderKeys?: string,\n requestQueryParameterKeys?: string,\n ) {\n this.version = version;\n this.signature = signature;\n\n if (permissionsOrOptions !== undefined && typeof permissionsOrOptions !== \"string\") {\n // SASQueryParametersOptions\n this.permissions = permissionsOrOptions.permissions;\n this.services = permissionsOrOptions.services;\n this.resourceTypes = permissionsOrOptions.resourceTypes;\n this.protocol = permissionsOrOptions.protocol;\n this.startsOn = permissionsOrOptions.startsOn;\n this.expiresOn = permissionsOrOptions.expiresOn;\n this.ipRangeInner = permissionsOrOptions.ipRange;\n this.identifier = permissionsOrOptions.identifier;\n this.delegatedUserObjectId = permissionsOrOptions.delegatedUserObjectId;\n this.encryptionScope = permissionsOrOptions.encryptionScope;\n this.resource = permissionsOrOptions.resource;\n this.cacheControl = permissionsOrOptions.cacheControl;\n this.contentDisposition = permissionsOrOptions.contentDisposition;\n this.contentEncoding = permissionsOrOptions.contentEncoding;\n this.contentLanguage = permissionsOrOptions.contentLanguage;\n this.contentType = permissionsOrOptions.contentType;\n this.requestHeaderKeys = permissionsOrOptions.requestHeaderKeys;\n this.requestQueryParameterKeys = permissionsOrOptions.requestQueryParameterKeys;\n\n if (permissionsOrOptions.userDelegationKey) {\n this.signedOid = permissionsOrOptions.userDelegationKey.signedObjectId;\n this.signedTenantId = permissionsOrOptions.userDelegationKey.signedTenantId;\n this.signedStartsOn = permissionsOrOptions.userDelegationKey.signedStartsOn;\n this.signedExpiresOn = permissionsOrOptions.userDelegationKey.signedExpiresOn;\n this.signedService = permissionsOrOptions.userDelegationKey.signedService;\n this.signedVersion = permissionsOrOptions.userDelegationKey.signedVersion;\n this.signedDelegatedUserTid =\n permissionsOrOptions.userDelegationKey.signedDelegatedUserTenantId;\n\n this.preauthorizedAgentObjectId = permissionsOrOptions.preauthorizedAgentObjectId;\n this.correlationId = permissionsOrOptions.correlationId;\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.delegatedUserObjectId = delegatedUserObjectId;\n this.encryptionScope = encryptionScope;\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.requestHeaderKeys = requestHeaderKeys;\n this.requestQueryParameterKeys = requestQueryParameterKeys;\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 this.signedDelegatedUserTid = userDelegationKey.signedDelegatedUserTenantId;\n\n this.preauthorizedAgentObjectId = preauthorizedAgentObjectId;\n this.correlationId = correlationId;\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 \"rscc\",\n \"rscd\",\n \"rsce\",\n \"rscl\",\n \"rsct\",\n \"saoid\",\n \"scid\",\n \"sduoid\", // Signed key user delegation object ID\n \"skdutid\", // Signed key user delegation tenant ID\n \"srh\", // Request Headers\n \"srq\", // Request QueryParameters\n \"sig\",\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 \"skdutid\":\n this.tryAppendQueryParameter(queries, param, this.signedDelegatedUserTid);\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 \"saoid\":\n this.tryAppendQueryParameter(queries, param, this.preauthorizedAgentObjectId);\n break;\n case \"scid\":\n this.tryAppendQueryParameter(queries, param, this.correlationId);\n break;\n case \"sduoid\":\n this.tryAppendQueryParameter(queries, param, this.delegatedUserObjectId);\n break;\n case \"srh\": // Request headers\n this.tryAppendQueryParameter(queries, param, this.requestHeaderKeys);\n break;\n case \"srq\": // Request headers\n this.tryAppendQueryParameter(queries, param, this.requestQueryParameterKeys);\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"],
5
5
  "mappings": "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",
6
6
  "names": ["SASProtocol"]
@@ -27,3 +27,4 @@ function ipRangeToString(ipRange) {
27
27
  0 && (module.exports = {
28
28
  ipRangeToString
29
29
  });
30
+ //# sourceMappingURL=SasIPRange.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/storage/storage-blob/src/sas/SasIPRange.ts"],
3
+ "sources": ["../../../src/sas/SasIPRange.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * Allowed IP range for a SAS.\n */\nexport interface SasIPRange {\n /**\n * Starting IP address in the IP range.\n * If end IP doesn't provide, start IP will the only IP allowed.\n */\n start: string;\n /**\n * Optional. IP address that ends the IP range.\n * If not provided, start IP will the only IP allowed.\n */\n end?: string;\n}\n\n/**\n * Generate SasIPRange format string. For example:\n *\n * \"8.8.8.8\" or \"1.1.1.1-255.255.255.255\"\n *\n * @param ipRange -\n */\nexport function ipRangeToString(ipRange: SasIPRange): string {\n return ipRange.end ? `${ipRange.start}-${ipRange.end}` : ipRange.start;\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA0BO,SAAS,gBAAgB,SAA6B;AAC3D,SAAO,QAAQ,MAAM,GAAG,QAAQ,KAAK,IAAI,QAAQ,GAAG,KAAK,QAAQ;AACnE;",
6
6
  "names": []
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.57.6"
8
+ "packageVersion": "7.58.7"
9
9
  }
10
10
  ]
11
11
  }
@@ -139,3 +139,4 @@ class Batch {
139
139
  0 && (module.exports = {
140
140
  Batch
141
141
  });
142
+ //# sourceMappingURL=Batch.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/storage/storage-blob/src/utils/Batch.ts"],
3
+ "sources": ["../../../src/utils/Batch.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n// In browser, during webpack or browserify bundling, this module will be replaced by 'events'\n// https://github.com/Gozala/events\nimport { EventEmitter } from \"events\";\n\n/**\n * Operation is an async function to be executed and managed by Batch.\n */\nexport declare type Operation = () => Promise<any>;\n\n/**\n * States for Batch.\n */\nenum BatchStates {\n Good,\n Error,\n}\n\n/**\n * Batch provides basic parallel execution with concurrency limits.\n * Will stop execute left operations when one of the executed operation throws an error.\n * But Batch cannot cancel ongoing operations, you need to cancel them by yourself.\n */\nexport class Batch {\n /**\n * Concurrency. Must be lager than 0.\n */\n private concurrency: number;\n\n /**\n * Number of active operations under execution.\n */\n private actives: number = 0;\n\n /**\n * Number of completed operations under execution.\n */\n private completed: number = 0;\n\n /**\n * Offset of next operation to be executed.\n */\n private offset: number = 0;\n\n /**\n * Operation array to be executed.\n */\n private operations: Operation[] = [];\n\n /**\n * States of Batch. When an error happens, state will turn into error.\n * Batch will stop execute left operations.\n */\n private state: BatchStates = BatchStates.Good;\n\n /**\n * A private emitter used to pass events inside this class.\n */\n private emitter: EventEmitter;\n\n /**\n * Creates an instance of Batch.\n * @param concurrency -\n */\n public constructor(concurrency: number = 5) {\n if (concurrency < 1) {\n throw new RangeError(\"concurrency must be larger than 0\");\n }\n this.concurrency = concurrency;\n this.emitter = new EventEmitter();\n }\n\n /**\n * Add a operation into queue.\n *\n * @param operation -\n */\n public addOperation(operation: Operation): void {\n this.operations.push(async () => {\n try {\n this.actives++;\n await operation();\n this.actives--;\n this.completed++;\n this.parallelExecute();\n } catch (error: any) {\n this.emitter.emit(\"error\", error);\n }\n });\n }\n\n /**\n * Start execute operations in the queue.\n *\n */\n public async do(): Promise<void> {\n if (this.operations.length === 0) {\n return Promise.resolve();\n }\n\n this.parallelExecute();\n\n return new Promise<void>((resolve, reject) => {\n this.emitter.on(\"finish\", resolve);\n\n this.emitter.on(\"error\", (error) => {\n this.state = BatchStates.Error;\n reject(error);\n });\n });\n }\n\n /**\n * Get next operation to be executed. Return null when reaching ends.\n *\n */\n private nextOperation(): Operation | null {\n if (this.offset < this.operations.length) {\n return this.operations[this.offset++];\n }\n return null;\n }\n\n /**\n * Start execute operations. One one the most important difference between\n * this method with do() is that do() wraps as an sync method.\n *\n */\n private parallelExecute(): void {\n if (this.state === BatchStates.Error) {\n return;\n }\n\n if (this.completed >= this.operations.length) {\n this.emitter.emit(\"finish\");\n return;\n }\n\n while (this.actives < this.concurrency) {\n const operation = this.nextOperation();\n if (operation) {\n operation();\n } else {\n return;\n }\n }\n }\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,oBAA6B;AAU7B,IAAK,cAAL,kBAAKA,iBAAL;AACE,EAAAA,0BAAA;AACA,EAAAA,0BAAA;AAFG,SAAAA;AAAA,GAAA;AAUE,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA,EAIT;AAAA;AAAA;AAAA;AAAA,EAKA,UAAkB;AAAA;AAAA;AAAA;AAAA,EAKlB,YAAoB;AAAA;AAAA;AAAA;AAAA,EAKpB,SAAiB;AAAA;AAAA;AAAA;AAAA,EAKjB,aAA0B,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,EAM3B,QAAqB;AAAA;AAAA;AAAA;AAAA,EAKrB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,YAAY,cAAsB,GAAG;AAC1C,QAAI,cAAc,GAAG;AACnB,YAAM,IAAI,WAAW,mCAAmC;AAAA,IAC1D;AACA,SAAK,cAAc;AACnB,SAAK,UAAU,IAAI,2BAAa;AAAA,EAClC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,aAAa,WAA4B;AAC9C,SAAK,WAAW,KAAK,YAAY;AAC/B,UAAI;AACF,aAAK;AACL,cAAM,UAAU;AAChB,aAAK;AACL,aAAK;AACL,aAAK,gBAAgB;AAAA,MACvB,SAAS,OAAY;AACnB,aAAK,QAAQ,KAAK,SAAS,KAAK;AAAA,MAClC;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAa,KAAoB;AAC/B,QAAI,KAAK,WAAW,WAAW,GAAG;AAChC,aAAO,QAAQ,QAAQ;AAAA,IACzB;AAEA,SAAK,gBAAgB;AAErB,WAAO,IAAI,QAAc,CAAC,SAAS,WAAW;AAC5C,WAAK,QAAQ,GAAG,UAAU,OAAO;AAEjC,WAAK,QAAQ,GAAG,SAAS,CAAC,UAAU;AAClC,aAAK,QAAQ;AACb,eAAO,KAAK;AAAA,MACd,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMQ,gBAAkC;AACxC,QAAI,KAAK,SAAS,KAAK,WAAW,QAAQ;AACxC,aAAO,KAAK,WAAW,KAAK,QAAQ;AAAA,IACtC;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOQ,kBAAwB;AAC9B,QAAI,KAAK,UAAU,eAAmB;AACpC;AAAA,IACF;AAEA,QAAI,KAAK,aAAa,KAAK,WAAW,QAAQ;AAC5C,WAAK,QAAQ,KAAK,QAAQ;AAC1B;AAAA,IACF;AAEA,WAAO,KAAK,UAAU,KAAK,aAAa;AACtC,YAAM,YAAY,KAAK,cAAc;AACrC,UAAI,WAAW;AACb,kBAAU;AAAA,MACZ,OAAO;AACL;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;",
6
6
  "names": ["BatchStates"]
@@ -132,3 +132,4 @@ class BlobQuickQueryStream extends import_node_stream.Readable {
132
132
  0 && (module.exports = {
133
133
  BlobQuickQueryStream
134
134
  });
135
+ //# sourceMappingURL=BlobQuickQueryStream.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/storage/storage-blob/src/utils/BlobQuickQueryStream.ts"],
3
+ "sources": ["../../../src/utils/BlobQuickQueryStream.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { Readable } from \"node:stream\";\nimport type { AbortSignalLike } from \"@azure/abort-controller\";\nimport type { TransferProgressEvent } from \"@azure/core-rest-pipeline\";\nimport { AvroReadableFromStream, AvroReader } from \"../internal-avro/index.js\";\nimport type { BlobQueryError } from \"../Clients.js\";\n\nexport interface BlobQuickQueryStreamOptions {\n /**\n * An implementation of the `AbortSignalLike` interface to signal the request to cancel the operation.\n * For example, use the &commat;azure/abort-controller to create an `AbortSignal`.\n */\n abortSignal?: AbortSignalLike;\n\n /**\n * Read progress event handler\n */\n onProgress?: (progress: TransferProgressEvent) => void;\n\n /**\n * Callback to receive error events during the query operaiton.\n */\n onError?: (error: BlobQueryError) => void;\n}\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n *\n * A Node.js BlobQuickQueryStream will internally parse avro data stream for blob query.\n */\nexport class BlobQuickQueryStream extends Readable {\n private source: NodeJS.ReadableStream;\n private avroReader: AvroReader;\n private avroIter: AsyncIterableIterator<unknown | null>;\n private avroPaused: boolean = true;\n private onProgress?: (progress: TransferProgressEvent) => void;\n private onError?: (error: BlobQueryError) => void;\n\n /**\n * Creates an instance of BlobQuickQueryStream.\n *\n * @param source - The current ReadableStream returned from getter\n * @param options -\n */\n public constructor(source: NodeJS.ReadableStream, options: BlobQuickQueryStreamOptions = {}) {\n super();\n this.source = source;\n this.onProgress = options.onProgress;\n this.onError = options.onError;\n this.avroReader = new AvroReader(new AvroReadableFromStream(this.source));\n this.avroIter = this.avroReader.parseObjects({ abortSignal: options.abortSignal });\n }\n\n public _read(): void {\n if (this.avroPaused) {\n this.readInternal().catch((err) => {\n this.emit(\"error\", err);\n });\n }\n }\n\n private async readInternal(): Promise<void> {\n this.avroPaused = false;\n let avroNext;\n do {\n avroNext = await this.avroIter.next();\n if (avroNext.done) {\n break;\n }\n const obj = avroNext.value;\n const schema = (obj as any).$schema;\n if (typeof schema !== \"string\") {\n throw Error(\"Missing schema in avro record.\");\n }\n\n switch (schema) {\n case \"com.microsoft.azure.storage.queryBlobContents.resultData\":\n {\n const data = (obj as any).data;\n if (data instanceof Uint8Array === false) {\n throw Error(\"Invalid data in avro result record.\");\n }\n if (!this.push(Buffer.from(data))) {\n this.avroPaused = true;\n }\n }\n break;\n case \"com.microsoft.azure.storage.queryBlobContents.progress\":\n {\n const bytesScanned = (obj as any).bytesScanned;\n if (typeof bytesScanned !== \"number\") {\n throw Error(\"Invalid bytesScanned in avro progress record.\");\n }\n if (this.onProgress) {\n this.onProgress({ loadedBytes: bytesScanned });\n }\n }\n break;\n case \"com.microsoft.azure.storage.queryBlobContents.end\":\n if (this.onProgress) {\n const totalBytes = (obj as any).totalBytes;\n if (typeof totalBytes !== \"number\") {\n throw Error(\"Invalid totalBytes in avro end record.\");\n }\n this.onProgress({ loadedBytes: totalBytes });\n }\n this.push(null);\n break;\n case \"com.microsoft.azure.storage.queryBlobContents.error\":\n if (this.onError) {\n const fatal = (obj as any).fatal;\n if (typeof fatal !== \"boolean\") {\n throw Error(\"Invalid fatal in avro error record.\");\n }\n const name = (obj as any).name;\n if (typeof name !== \"string\") {\n throw Error(\"Invalid name in avro error record.\");\n }\n const description = (obj as any).description;\n if (typeof description !== \"string\") {\n throw Error(\"Invalid description in avro error record.\");\n }\n const position = (obj as any).position;\n if (typeof position !== \"number\") {\n throw Error(\"Invalid position in avro error record.\");\n }\n this.onError({\n position,\n name,\n isFatal: fatal,\n description,\n });\n }\n break;\n default:\n throw Error(`Unknown schema ${schema} in avro progress record.`);\n }\n } while (!avroNext.done && !this.avroPaused);\n }\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,yBAAyB;AAGzB,2BAAmD;AA0B5C,MAAM,6BAA6B,4BAAS;AAAA,EACzC;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAsB;AAAA,EACtB;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQD,YAAY,QAA+B,UAAuC,CAAC,GAAG;AAC3F,UAAM;AACN,SAAK,SAAS;AACd,SAAK,aAAa,QAAQ;AAC1B,SAAK,UAAU,QAAQ;AACvB,SAAK,aAAa,IAAI,gCAAW,IAAI,4CAAuB,KAAK,MAAM,CAAC;AACxE,SAAK,WAAW,KAAK,WAAW,aAAa,EAAE,aAAa,QAAQ,YAAY,CAAC;AAAA,EACnF;AAAA,EAEO,QAAc;AACnB,QAAI,KAAK,YAAY;AACnB,WAAK,aAAa,EAAE,MAAM,CAAC,QAAQ;AACjC,aAAK,KAAK,SAAS,GAAG;AAAA,MACxB,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EAEA,MAAc,eAA8B;AAC1C,SAAK,aAAa;AAClB,QAAI;AACJ,OAAG;AACD,iBAAW,MAAM,KAAK,SAAS,KAAK;AACpC,UAAI,SAAS,MAAM;AACjB;AAAA,MACF;AACA,YAAM,MAAM,SAAS;AACrB,YAAM,SAAU,IAAY;AAC5B,UAAI,OAAO,WAAW,UAAU;AAC9B,cAAM,MAAM,gCAAgC;AAAA,MAC9C;AAEA,cAAQ,QAAQ;AAAA,QACd,KAAK;AACH;AACE,kBAAM,OAAQ,IAAY;AAC1B,gBAAI,gBAAgB,eAAe,OAAO;AACxC,oBAAM,MAAM,qCAAqC;AAAA,YACnD;AACA,gBAAI,CAAC,KAAK,KAAK,OAAO,KAAK,IAAI,CAAC,GAAG;AACjC,mBAAK,aAAa;AAAA,YACpB;AAAA,UACF;AACA;AAAA,QACF,KAAK;AACH;AACE,kBAAM,eAAgB,IAAY;AAClC,gBAAI,OAAO,iBAAiB,UAAU;AACpC,oBAAM,MAAM,+CAA+C;AAAA,YAC7D;AACA,gBAAI,KAAK,YAAY;AACnB,mBAAK,WAAW,EAAE,aAAa,aAAa,CAAC;AAAA,YAC/C;AAAA,UACF;AACA;AAAA,QACF,KAAK;AACH,cAAI,KAAK,YAAY;AACnB,kBAAM,aAAc,IAAY;AAChC,gBAAI,OAAO,eAAe,UAAU;AAClC,oBAAM,MAAM,wCAAwC;AAAA,YACtD;AACA,iBAAK,WAAW,EAAE,aAAa,WAAW,CAAC;AAAA,UAC7C;AACA,eAAK,KAAK,IAAI;AACd;AAAA,QACF,KAAK;AACH,cAAI,KAAK,SAAS;AAChB,kBAAM,QAAS,IAAY;AAC3B,gBAAI,OAAO,UAAU,WAAW;AAC9B,oBAAM,MAAM,qCAAqC;AAAA,YACnD;AACA,kBAAM,OAAQ,IAAY;AAC1B,gBAAI,OAAO,SAAS,UAAU;AAC5B,oBAAM,MAAM,oCAAoC;AAAA,YAClD;AACA,kBAAM,cAAe,IAAY;AACjC,gBAAI,OAAO,gBAAgB,UAAU;AACnC,oBAAM,MAAM,2CAA2C;AAAA,YACzD;AACA,kBAAM,WAAY,IAAY;AAC9B,gBAAI,OAAO,aAAa,UAAU;AAChC,oBAAM,MAAM,wCAAwC;AAAA,YACtD;AACA,iBAAK,QAAQ;AAAA,cACX;AAAA,cACA;AAAA,cACA,SAAS;AAAA,cACT;AAAA,YACF,CAAC;AAAA,UACH;AACA;AAAA,QACF;AACE,gBAAM,MAAM,kBAAkB,MAAM,2BAA2B;AAAA,MACnE;AAAA,IACF,SAAS,CAAC,SAAS,QAAQ,CAAC,KAAK;AAAA,EACnC;AACF;",
6
6
  "names": []
@@ -81,3 +81,4 @@ class Mutex {
81
81
  0 && (module.exports = {
82
82
  Mutex
83
83
  });
84
+ //# sourceMappingURL=Mutex.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/storage/storage-blob/src/utils/Mutex.ts"],
3
+ "sources": ["../../../src/utils/Mutex.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nenum MutexLockStatus {\n LOCKED,\n UNLOCKED,\n}\n\ntype Callback = (...args: any[]) => any;\n\n/**\n * An async mutex lock.\n */\nexport class Mutex {\n /**\n * Lock for a specific key. If the lock has been acquired by another customer, then\n * will wait until getting the lock.\n *\n * @param key - lock key\n */\n public static async lock(key: string): Promise<void> {\n return new Promise<void>((resolve) => {\n if (this.keys[key] === undefined || this.keys[key] === MutexLockStatus.UNLOCKED) {\n this.keys[key] = MutexLockStatus.LOCKED;\n resolve();\n } else {\n this.onUnlockEvent(key, () => {\n this.keys[key] = MutexLockStatus.LOCKED;\n resolve();\n });\n }\n });\n }\n\n /**\n * Unlock a key.\n *\n * @param key -\n */\n public static async unlock(key: string): Promise<void> {\n return new Promise<void>((resolve) => {\n if (this.keys[key] === MutexLockStatus.LOCKED) {\n this.emitUnlockEvent(key);\n }\n delete this.keys[key];\n resolve();\n });\n }\n\n private static keys: { [key: string]: MutexLockStatus } = {};\n private static listeners: { [key: string]: Callback[] } = {};\n\n private static onUnlockEvent(key: string, handler: Callback) {\n if (this.listeners[key] === undefined) {\n this.listeners[key] = [handler];\n } else {\n this.listeners[key].push(handler);\n }\n }\n\n private static emitUnlockEvent(key: string) {\n if (this.listeners[key] !== undefined && this.listeners[key].length > 0) {\n const handler = this.listeners[key].shift();\n setImmediate(() => {\n handler!.call(this);\n });\n }\n }\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,IAAK,kBAAL,kBAAKA,qBAAL;AACE,EAAAA,kCAAA;AACA,EAAAA,kCAAA;AAFG,SAAAA;AAAA,GAAA;AAUE,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOjB,aAAoB,KAAK,KAA4B;AACnD,WAAO,IAAI,QAAc,CAAC,YAAY;AACpC,UAAI,KAAK,KAAK,GAAG,MAAM,UAAa,KAAK,KAAK,GAAG,MAAM,kBAA0B;AAC/E,aAAK,KAAK,GAAG,IAAI;AACjB,gBAAQ;AAAA,MACV,OAAO;AACL,aAAK,cAAc,KAAK,MAAM;AAC5B,eAAK,KAAK,GAAG,IAAI;AACjB,kBAAQ;AAAA,QACV,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,aAAoB,OAAO,KAA4B;AACrD,WAAO,IAAI,QAAc,CAAC,YAAY;AACpC,UAAI,KAAK,KAAK,GAAG,MAAM,gBAAwB;AAC7C,aAAK,gBAAgB,GAAG;AAAA,MAC1B;AACA,aAAO,KAAK,KAAK,GAAG;AACpB,cAAQ;AAAA,IACV,CAAC;AAAA,EACH;AAAA,EAEA,OAAe,OAA2C,CAAC;AAAA,EAC3D,OAAe,YAA2C,CAAC;AAAA,EAE3D,OAAe,cAAc,KAAa,SAAmB;AAC3D,QAAI,KAAK,UAAU,GAAG,MAAM,QAAW;AACrC,WAAK,UAAU,GAAG,IAAI,CAAC,OAAO;AAAA,IAChC,OAAO;AACL,WAAK,UAAU,GAAG,EAAE,KAAK,OAAO;AAAA,IAClC;AAAA,EACF;AAAA,EAEA,OAAe,gBAAgB,KAAa;AAC1C,QAAI,KAAK,UAAU,GAAG,MAAM,UAAa,KAAK,UAAU,GAAG,EAAE,SAAS,GAAG;AACvE,YAAM,UAAU,KAAK,UAAU,GAAG,EAAE,MAAM;AAC1C,mBAAa,MAAM;AACjB,gBAAS,KAAK,IAAI;AAAA,MACpB,CAAC;AAAA,IACH;AAAA,EACF;AACF;",
6
6
  "names": ["MutexLockStatus"]
@@ -132,3 +132,4 @@ class RetriableReadableStream extends import_node_stream.Readable {
132
132
  0 && (module.exports = {
133
133
  RetriableReadableStream
134
134
  });
135
+ //# sourceMappingURL=RetriableReadableStream.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/storage/storage-blob/src/utils/RetriableReadableStream.ts"],
3
+ "sources": ["../../../src/utils/RetriableReadableStream.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { AbortError } from \"@azure/abort-controller\";\nimport type { TransferProgressEvent } from \"@azure/core-rest-pipeline\";\nimport { Readable } from \"node:stream\";\n\nexport type ReadableStreamGetter = (offset: number) => Promise<NodeJS.ReadableStream>;\n\nexport interface RetriableReadableStreamOptions {\n /**\n * Max retry count (greater than or equal to 0), undefined or invalid value means no retry\n */\n maxRetryRequests?: number;\n\n /**\n * Read progress event handler\n */\n onProgress?: (progress: TransferProgressEvent) => void;\n\n /**\n * Debug purpose only. Used to inject an unexpected end to existing internal stream,\n * to test stream retry works well or not.\n *\n * When assign it to true, for next incoming \"data\" event of internal stream,\n * RetriableReadableStream will try to emit an \"end\" event to existing internal\n * stream to force it end and start retry from the breaking point.\n * The value will then update to \"undefined\", once the injection works.\n */\n doInjectErrorOnce?: boolean;\n\n /**\n * A threshold, not a limit. Dictates the amount of data that a stream buffers before it stops asking for more data.\n */\n highWaterMark?: number;\n}\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n *\n * A Node.js ReadableStream will internally retry when internal ReadableStream unexpected ends.\n */\nexport class RetriableReadableStream extends Readable {\n private start: number;\n private offset: number;\n private end: number;\n private getter: ReadableStreamGetter;\n private source: NodeJS.ReadableStream;\n private retries: number = 0;\n private maxRetryRequests: number;\n private onProgress?: (progress: TransferProgressEvent) => void;\n private options: RetriableReadableStreamOptions;\n\n /**\n * Creates an instance of RetriableReadableStream.\n *\n * @param source - The current ReadableStream returned from getter\n * @param getter - A method calling downloading request returning\n * a new ReadableStream from specified offset\n * @param offset - Offset position in original data source to read\n * @param count - How much data in original data source to read\n * @param options -\n */\n public constructor(\n source: NodeJS.ReadableStream,\n getter: ReadableStreamGetter,\n offset: number,\n count: number,\n options: RetriableReadableStreamOptions = {},\n ) {\n super({ highWaterMark: options.highWaterMark });\n this.getter = getter;\n this.source = source;\n this.start = offset;\n this.offset = offset;\n this.end = offset + count - 1;\n this.maxRetryRequests =\n options.maxRetryRequests && options.maxRetryRequests >= 0 ? options.maxRetryRequests : 0;\n this.onProgress = options.onProgress;\n this.options = options;\n\n this.setSourceEventHandlers();\n }\n\n public _read(): void {\n this.source.resume();\n }\n\n private setSourceEventHandlers() {\n this.source.on(\"data\", this.sourceDataHandler);\n this.source.on(\"end\", this.sourceErrorOrEndHandler);\n this.source.on(\"error\", this.sourceErrorOrEndHandler);\n // needed for Node14\n this.source.on(\"aborted\", this.sourceAbortedHandler);\n }\n\n private removeSourceEventHandlers() {\n this.source.removeListener(\"data\", this.sourceDataHandler);\n this.source.removeListener(\"end\", this.sourceErrorOrEndHandler);\n this.source.removeListener(\"error\", this.sourceErrorOrEndHandler);\n this.source.removeListener(\"aborted\", this.sourceAbortedHandler);\n }\n\n private sourceDataHandler = (data: Buffer) => {\n if (this.options.doInjectErrorOnce) {\n this.options.doInjectErrorOnce = undefined;\n this.source.pause();\n this.sourceErrorOrEndHandler();\n (this.source as Readable).destroy();\n return;\n }\n\n // console.log(\n // `Offset: ${this.offset}, Received ${data.length} from internal stream`\n // );\n this.offset += data.length;\n if (this.onProgress) {\n this.onProgress({ loadedBytes: this.offset - this.start });\n }\n if (!this.push(data)) {\n this.source.pause();\n }\n };\n\n private sourceAbortedHandler = () => {\n const abortError = new AbortError(\"The operation was aborted.\");\n this.destroy(abortError);\n };\n\n private sourceErrorOrEndHandler = (err?: Error) => {\n if (err && err.name === \"AbortError\") {\n this.destroy(err);\n return;\n }\n\n // console.log(\n // `Source stream emits end or error, offset: ${\n // this.offset\n // }, dest end : ${this.end}`\n // );\n this.removeSourceEventHandlers();\n if (this.offset - 1 === this.end) {\n this.push(null);\n } else if (this.offset <= this.end) {\n // TODO if error is CRC64 not match, directly throw out the error.\n // console.log(\n // `retries: ${this.retries}, max retries: ${this.maxRetries}`\n // );\n if (this.retries < this.maxRetryRequests) {\n this.retries += 1;\n this.getter(this.offset)\n .then((newSource) => {\n this.source = newSource;\n this.setSourceEventHandlers();\n return;\n })\n .catch((error) => {\n this.destroy(error);\n });\n } else {\n this.destroy(\n new Error(\n `Data corruption failure: received less data than required and reached maxRetires limitation. Received data offset: ${\n this.offset - 1\n }, data needed offset: ${this.end}, retries: ${this.retries}, max retries: ${\n this.maxRetryRequests\n }`,\n ),\n );\n }\n } else {\n this.destroy(\n new Error(\n `Data corruption failure: Received more data than original request, data needed offset is ${\n this.end\n }, received offset: ${this.offset - 1}`,\n ),\n );\n }\n };\n\n _destroy(error: Error | null, callback: (error?: Error) => void): void {\n // remove listener from source and release source\n this.removeSourceEventHandlers();\n (this.source as Readable).destroy();\n\n callback(error === null ? undefined : error);\n }\n}\n"],
5
5
  "mappings": "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",
6
6
  "names": []
@@ -446,3 +446,4 @@ function isLessThan(lhs, rhs) {
446
446
  0 && (module.exports = {
447
447
  compareHeader
448
448
  });
449
+ //# sourceMappingURL=SharedKeyComparator.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/storage/storage-blob/src/utils/SharedKeyComparator.ts"],
3
+ "sources": ["../../../src/utils/SharedKeyComparator.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/*\n * We need to imitate .Net culture-aware sorting, which is used in storage service.\n * Below tables contain sort-keys for en-US culture.\n */\nconst table_lv0 = new Uint32Array([\n 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,\n 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x71c, 0x0, 0x71f, 0x721,\n 0x723, 0x725, 0x0, 0x0, 0x0, 0x72d, 0x803, 0x0, 0x0, 0x733, 0x0, 0xd03, 0xd1a, 0xd1c, 0xd1e,\n 0xd20, 0xd22, 0xd24, 0xd26, 0xd28, 0xd2a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe02, 0xe09, 0xe0a,\n 0xe1a, 0xe21, 0xe23, 0xe25, 0xe2c, 0xe32, 0xe35, 0xe36, 0xe48, 0xe51, 0xe70, 0xe7c, 0xe7e, 0xe89,\n 0xe8a, 0xe91, 0xe99, 0xe9f, 0xea2, 0xea4, 0xea6, 0xea7, 0xea9, 0x0, 0x0, 0x0, 0x743, 0x744, 0x748,\n 0xe02, 0xe09, 0xe0a, 0xe1a, 0xe21, 0xe23, 0xe25, 0xe2c, 0xe32, 0xe35, 0xe36, 0xe48, 0xe51, 0xe70,\n 0xe7c, 0xe7e, 0xe89, 0xe8a, 0xe91, 0xe99, 0xe9f, 0xea2, 0xea4, 0xea6, 0xea7, 0xea9, 0x0, 0x74c,\n 0x0, 0x750, 0x0,\n]);\nconst table_lv2 = new Uint32Array([\n 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,\n 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,\n 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,\n 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12,\n 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12,\n 0x12, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,\n 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,\n]);\nconst table_lv4 = new Uint32Array([\n 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,\n 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,\n 0x0, 0x8012, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8212, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,\n 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,\n 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,\n 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,\n 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,\n]);\n\nexport function compareHeader(lhs: string, rhs: string): number {\n if (isLessThan(lhs, rhs)) return -1;\n\n return 1;\n}\n\nfunction isLessThan(lhs: string, rhs: string): boolean {\n const tables = [table_lv0, table_lv2, table_lv4];\n let curr_level = 0;\n let i = 0;\n let j = 0;\n while (curr_level < tables.length) {\n if (curr_level === tables.length - 1 && i !== j) {\n return i > j;\n }\n const weight1 = i < lhs.length ? tables[curr_level][lhs[i].charCodeAt(0)] : 0x1;\n const weight2 = j < rhs.length ? tables[curr_level][rhs[j].charCodeAt(0)] : 0x1;\n if (weight1 === 0x1 && weight2 === 0x1) {\n i = 0;\n j = 0;\n ++curr_level;\n } else if (weight1 === weight2) {\n ++i;\n ++j;\n } else if (weight1 === 0) {\n ++i;\n } else if (weight2 === 0) {\n ++j;\n } else {\n return weight1 < weight2;\n }\n }\n return false;\n}\n"],
5
5
  "mappings": "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",
6
6
  "names": []
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,WAAW,EAAE,MAAyB,CAAC;AACpD,eAAO,MAAM,eAAe,EAAE,MAAqB,CAAC;AAEpD,eAAO,MAAM,gCAAgC,EAAE,MAA0B,CAAC;AAC1E,eAAO,MAAM,gCAAgC,EAAE,MAA2B,CAAC;AAC3E,eAAO,MAAM,qBAAqB,EAAE,MAAc,CAAC;AACnD,eAAO,MAAM,+BAA+B,EAAE,MAAwB,CAAC;AACvE,eAAO,MAAM,iCAAiC,EAAE,MAAwB,CAAC;AACzE,eAAO,MAAM,mCAAmC,EAAE,MAAU,CAAC;AAE7D,eAAO,MAAM,eAAe,EAAE,MAAmB,CAAC;AAClD;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,GAAG,MAAM,EAAyC,CAAC;AAE1F,eAAO,MAAM,YAAY;;;;;;;;CAQxB,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;CAM7B,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;CAyB3B,CAAC;AAEF,eAAO,MAAM,QAAQ,KAAK,CAAC;AAC3B,eAAO,MAAM,OAAO,MAAM,CAAC;AAE3B,eAAO,MAAM,SAAS,QAAkB,CAAC;AACzC,eAAO,MAAM,iBAAiB,MAAM,CAAC;AACrC,eAAO,MAAM,0BAA0B,QAAgB,CAAC;AACxD,eAAO,MAAM,gBAAgB,SAAS,CAAC;AACvC,eAAO,MAAM,gBAAgB,aAAa,CAAC;AAE3C,eAAO,MAAM,wBAAwB,WAAW,CAAC;AAEjD,eAAO,MAAM,2BAA2B,yNAAyN,CAAC;AAElQ,eAAO,MAAM,oCAAoC,UAiGhD,CAAC;AAEF,eAAO,MAAM,wCAAwC,UAkCpD,CAAC;AAEF,eAAO,MAAM,sCAAsC,wCAAwC,CAAC;AAC5F,eAAO,MAAM,yCAAyC,8CACT,CAAC;AAI9C,eAAO,MAAM,cAAc,UAqB1B,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,WAAW,EAAE,MAAkB,CAAC;AAC7C,eAAO,MAAM,eAAe,EAAE,MAAqB,CAAC;AAEpD,eAAO,MAAM,gCAAgC,EAAE,MAA0B,CAAC;AAC1E,eAAO,MAAM,gCAAgC,EAAE,MAA2B,CAAC;AAC3E,eAAO,MAAM,qBAAqB,EAAE,MAAc,CAAC;AACnD,eAAO,MAAM,+BAA+B,EAAE,MAAwB,CAAC;AACvE,eAAO,MAAM,iCAAiC,EAAE,MAAwB,CAAC;AACzE,eAAO,MAAM,mCAAmC,EAAE,MAAU,CAAC;AAE7D,eAAO,MAAM,eAAe,EAAE,MAAmB,CAAC;AAClD;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,GAAG,MAAM,EAAyC,CAAC;AAE1F,eAAO,MAAM,YAAY;;;;;;;;CAQxB,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;CAM7B,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;CAyB3B,CAAC;AAEF,eAAO,MAAM,QAAQ,KAAK,CAAC;AAC3B,eAAO,MAAM,OAAO,MAAM,CAAC;AAE3B,eAAO,MAAM,SAAS,QAAkB,CAAC;AACzC,eAAO,MAAM,iBAAiB,MAAM,CAAC;AACrC,eAAO,MAAM,0BAA0B,QAAgB,CAAC;AACxD,eAAO,MAAM,gBAAgB,SAAS,CAAC;AACvC,eAAO,MAAM,gBAAgB,aAAa,CAAC;AAE3C,eAAO,MAAM,wBAAwB,WAAW,CAAC;AAEjD,eAAO,MAAM,2BAA2B,yNAAyN,CAAC;AAElQ,eAAO,MAAM,oCAAoC,UAiGhD,CAAC;AAEF,eAAO,MAAM,wCAAwC,UAkCpD,CAAC;AAEF,eAAO,MAAM,sCAAsC,wCAAwC,CAAC;AAC5F,eAAO,MAAM,yCAAyC,8CACT,CAAC;AAI9C,eAAO,MAAM,cAAc,UAqB1B,CAAC"}
@@ -46,7 +46,7 @@ __export(constants_exports, {
46
46
  URLConstants: () => URLConstants
47
47
  });
48
48
  module.exports = __toCommonJS(constants_exports);
49
- const SDK_VERSION = "12.32.0-beta.1";
49
+ const SDK_VERSION = "12.32.0";
50
50
  const SERVICE_VERSION = "2026-04-06";
51
51
  const BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES = 256 * 1024 * 1024;
52
52
  const BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES = 4e3 * 1024 * 1024;
@@ -294,3 +294,4 @@ const PathStylePorts = [
294
294
  StorageOAuthScopes,
295
295
  URLConstants
296
296
  });
297
+ //# sourceMappingURL=constants.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/storage/storage-blob/src/utils/constants.ts"],
4
- "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport const SDK_VERSION: string = \"12.32.0-beta.1\";\nexport const SERVICE_VERSION: string = \"2026-04-06\";\n\nexport const BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES: number = 256 * 1024 * 1024; // 256MB\nexport const BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES: number = 4000 * 1024 * 1024; // 4000MB\nexport const BLOCK_BLOB_MAX_BLOCKS: number = 50000;\nexport const DEFAULT_BLOCK_BUFFER_SIZE_BYTES: number = 8 * 1024 * 1024; // 8MB\nexport const DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES: number = 4 * 1024 * 1024; // 4MB\nexport const DEFAULT_MAX_DOWNLOAD_RETRY_REQUESTS: number = 5;\n\nexport const REQUEST_TIMEOUT: number = 100 * 1000; // In ms\n/**\n * The OAuth scope to use with Azure Storage.\n */\nexport const StorageOAuthScopes: string | string[] = \"https://storage.azure.com/.default\";\n\nexport const URLConstants = {\n Parameters: {\n FORCE_BROWSER_NO_CACHE: \"_\",\n SIGNATURE: \"sig\",\n SNAPSHOT: \"snapshot\",\n VERSIONID: \"versionid\",\n TIMEOUT: \"timeout\",\n },\n};\n\nexport const HTTPURLConnection = {\n HTTP_ACCEPTED: 202,\n HTTP_CONFLICT: 409,\n HTTP_NOT_FOUND: 404,\n HTTP_PRECON_FAILED: 412,\n HTTP_RANGE_NOT_SATISFIABLE: 416,\n};\n\nexport const HeaderConstants = {\n AUTHORIZATION: \"Authorization\",\n AUTHORIZATION_SCHEME: \"Bearer\",\n CONTENT_ENCODING: \"Content-Encoding\",\n CONTENT_ID: \"Content-ID\",\n CONTENT_LANGUAGE: \"Content-Language\",\n CONTENT_LENGTH: \"Content-Length\",\n CONTENT_MD5: \"Content-Md5\",\n CONTENT_TRANSFER_ENCODING: \"Content-Transfer-Encoding\",\n CONTENT_TYPE: \"Content-Type\",\n COOKIE: \"Cookie\",\n DATE: \"date\",\n IF_MATCH: \"if-match\",\n IF_MODIFIED_SINCE: \"if-modified-since\",\n IF_NONE_MATCH: \"if-none-match\",\n IF_UNMODIFIED_SINCE: \"if-unmodified-since\",\n PREFIX_FOR_STORAGE: \"x-ms-\",\n RANGE: \"Range\",\n USER_AGENT: \"User-Agent\",\n X_MS_CLIENT_REQUEST_ID: \"x-ms-client-request-id\",\n X_MS_COPY_SOURCE: \"x-ms-copy-source\",\n X_MS_DATE: \"x-ms-date\",\n X_MS_ERROR_CODE: \"x-ms-error-code\",\n X_MS_VERSION: \"x-ms-version\",\n X_MS_CopySourceErrorCode: \"x-ms-copy-source-error-code\",\n};\n\nexport const ETagNone = \"\";\nexport const ETagAny = \"*\";\n\nexport const SIZE_1_MB = 1 * 1024 * 1024;\nexport const BATCH_MAX_REQUEST = 256;\nexport const BATCH_MAX_PAYLOAD_IN_BYTES = 4 * SIZE_1_MB;\nexport const HTTP_LINE_ENDING = \"\\r\\n\";\nexport const HTTP_VERSION_1_1 = \"HTTP/1.1\";\n\nexport const EncryptionAlgorithmAES25 = \"AES256\";\n\nexport const DevelopmentConnectionString = `DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;`;\n\nexport const StorageBlobLoggingAllowedHeaderNames = [\n \"Access-Control-Allow-Origin\",\n \"Cache-Control\",\n \"Content-Length\",\n \"Content-Type\",\n \"Date\",\n \"Request-Id\",\n \"traceparent\",\n \"Transfer-Encoding\",\n \"User-Agent\",\n \"x-ms-client-request-id\",\n \"x-ms-date\",\n \"x-ms-error-code\",\n \"x-ms-request-id\",\n \"x-ms-return-client-request-id\",\n \"x-ms-version\",\n \"Accept-Ranges\",\n \"Content-Disposition\",\n \"Content-Encoding\",\n \"Content-Language\",\n \"Content-MD5\",\n \"Content-Range\",\n \"ETag\",\n \"Last-Modified\",\n \"Server\",\n \"Vary\",\n \"x-ms-content-crc64\",\n \"x-ms-copy-action\",\n \"x-ms-copy-completion-time\",\n \"x-ms-copy-id\",\n \"x-ms-copy-progress\",\n \"x-ms-copy-status\",\n \"x-ms-has-immutability-policy\",\n \"x-ms-has-legal-hold\",\n \"x-ms-lease-state\",\n \"x-ms-lease-status\",\n \"x-ms-range\",\n \"x-ms-request-server-encrypted\",\n \"x-ms-server-encrypted\",\n \"x-ms-snapshot\",\n \"x-ms-source-range\",\n \"If-Match\",\n \"If-Modified-Since\",\n \"If-None-Match\",\n \"If-Unmodified-Since\",\n \"x-ms-access-tier\",\n \"x-ms-access-tier-change-time\",\n \"x-ms-access-tier-inferred\",\n \"x-ms-account-kind\",\n \"x-ms-archive-status\",\n \"x-ms-blob-append-offset\",\n \"x-ms-blob-cache-control\",\n \"x-ms-blob-committed-block-count\",\n \"x-ms-blob-condition-appendpos\",\n \"x-ms-blob-condition-maxsize\",\n \"x-ms-blob-content-disposition\",\n \"x-ms-blob-content-encoding\",\n \"x-ms-blob-content-language\",\n \"x-ms-blob-content-length\",\n \"x-ms-blob-content-md5\",\n \"x-ms-blob-content-type\",\n \"x-ms-blob-public-access\",\n \"x-ms-blob-sequence-number\",\n \"x-ms-blob-type\",\n \"x-ms-copy-destination-snapshot\",\n \"x-ms-creation-time\",\n \"x-ms-default-encryption-scope\",\n \"x-ms-delete-snapshots\",\n \"x-ms-delete-type-permanent\",\n \"x-ms-deny-encryption-scope-override\",\n \"x-ms-encryption-algorithm\",\n \"x-ms-if-sequence-number-eq\",\n \"x-ms-if-sequence-number-le\",\n \"x-ms-if-sequence-number-lt\",\n \"x-ms-incremental-copy\",\n \"x-ms-lease-action\",\n \"x-ms-lease-break-period\",\n \"x-ms-lease-duration\",\n \"x-ms-lease-id\",\n \"x-ms-lease-time\",\n \"x-ms-page-write\",\n \"x-ms-proposed-lease-id\",\n \"x-ms-range-get-content-md5\",\n \"x-ms-rehydrate-priority\",\n \"x-ms-sequence-number-action\",\n \"x-ms-sku-name\",\n \"x-ms-source-content-md5\",\n \"x-ms-source-if-match\",\n \"x-ms-source-if-modified-since\",\n \"x-ms-source-if-none-match\",\n \"x-ms-source-if-unmodified-since\",\n \"x-ms-tag-count\",\n \"x-ms-encryption-key-sha256\",\n \"x-ms-copy-source-error-code\",\n \"x-ms-copy-source-status-code\",\n \"x-ms-if-tags\",\n \"x-ms-source-if-tags\",\n];\n\nexport const StorageBlobLoggingAllowedQueryParameters = [\n \"comp\",\n \"maxresults\",\n \"rscc\",\n \"rscd\",\n \"rsce\",\n \"rscl\",\n \"rsct\",\n \"se\",\n \"si\",\n \"sip\",\n \"sp\",\n \"spr\",\n \"sr\",\n \"srt\",\n \"ss\",\n \"st\",\n \"sv\",\n \"include\",\n \"marker\",\n \"prefix\",\n \"copyid\",\n \"restype\",\n \"blockid\",\n \"blocklisttype\",\n \"delimiter\",\n \"prevsnapshot\",\n \"ske\",\n \"skoid\",\n \"sks\",\n \"skt\",\n \"sktid\",\n \"skv\",\n \"snapshot\",\n];\n\nexport const BlobUsesCustomerSpecifiedEncryptionMsg = \"BlobUsesCustomerSpecifiedEncryption\";\nexport const BlobDoesNotUseCustomerSpecifiedEncryption =\n \"BlobDoesNotUseCustomerSpecifiedEncryption\";\n\n/// List of ports used for path style addressing.\n/// Path style addressing means that storage account is put in URI's Path segment in instead of in host.\nexport const PathStylePorts = [\n \"10000\",\n \"10001\",\n \"10002\",\n \"10003\",\n \"10004\",\n \"10100\",\n \"10101\",\n \"10102\",\n \"10103\",\n \"10104\",\n \"11000\",\n \"11001\",\n \"11002\",\n \"11003\",\n \"11004\",\n \"11100\",\n \"11101\",\n \"11102\",\n \"11103\",\n \"11104\",\n];\n"],
3
+ "sources": ["../../../src/utils/constants.ts"],
4
+ "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport const SDK_VERSION: string = \"12.32.0\";\nexport const SERVICE_VERSION: string = \"2026-04-06\";\n\nexport const BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES: number = 256 * 1024 * 1024; // 256MB\nexport const BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES: number = 4000 * 1024 * 1024; // 4000MB\nexport const BLOCK_BLOB_MAX_BLOCKS: number = 50000;\nexport const DEFAULT_BLOCK_BUFFER_SIZE_BYTES: number = 8 * 1024 * 1024; // 8MB\nexport const DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES: number = 4 * 1024 * 1024; // 4MB\nexport const DEFAULT_MAX_DOWNLOAD_RETRY_REQUESTS: number = 5;\n\nexport const REQUEST_TIMEOUT: number = 100 * 1000; // In ms\n/**\n * The OAuth scope to use with Azure Storage.\n */\nexport const StorageOAuthScopes: string | string[] = \"https://storage.azure.com/.default\";\n\nexport const URLConstants = {\n Parameters: {\n FORCE_BROWSER_NO_CACHE: \"_\",\n SIGNATURE: \"sig\",\n SNAPSHOT: \"snapshot\",\n VERSIONID: \"versionid\",\n TIMEOUT: \"timeout\",\n },\n};\n\nexport const HTTPURLConnection = {\n HTTP_ACCEPTED: 202,\n HTTP_CONFLICT: 409,\n HTTP_NOT_FOUND: 404,\n HTTP_PRECON_FAILED: 412,\n HTTP_RANGE_NOT_SATISFIABLE: 416,\n};\n\nexport const HeaderConstants = {\n AUTHORIZATION: \"Authorization\",\n AUTHORIZATION_SCHEME: \"Bearer\",\n CONTENT_ENCODING: \"Content-Encoding\",\n CONTENT_ID: \"Content-ID\",\n CONTENT_LANGUAGE: \"Content-Language\",\n CONTENT_LENGTH: \"Content-Length\",\n CONTENT_MD5: \"Content-Md5\",\n CONTENT_TRANSFER_ENCODING: \"Content-Transfer-Encoding\",\n CONTENT_TYPE: \"Content-Type\",\n COOKIE: \"Cookie\",\n DATE: \"date\",\n IF_MATCH: \"if-match\",\n IF_MODIFIED_SINCE: \"if-modified-since\",\n IF_NONE_MATCH: \"if-none-match\",\n IF_UNMODIFIED_SINCE: \"if-unmodified-since\",\n PREFIX_FOR_STORAGE: \"x-ms-\",\n RANGE: \"Range\",\n USER_AGENT: \"User-Agent\",\n X_MS_CLIENT_REQUEST_ID: \"x-ms-client-request-id\",\n X_MS_COPY_SOURCE: \"x-ms-copy-source\",\n X_MS_DATE: \"x-ms-date\",\n X_MS_ERROR_CODE: \"x-ms-error-code\",\n X_MS_VERSION: \"x-ms-version\",\n X_MS_CopySourceErrorCode: \"x-ms-copy-source-error-code\",\n};\n\nexport const ETagNone = \"\";\nexport const ETagAny = \"*\";\n\nexport const SIZE_1_MB = 1 * 1024 * 1024;\nexport const BATCH_MAX_REQUEST = 256;\nexport const BATCH_MAX_PAYLOAD_IN_BYTES = 4 * SIZE_1_MB;\nexport const HTTP_LINE_ENDING = \"\\r\\n\";\nexport const HTTP_VERSION_1_1 = \"HTTP/1.1\";\n\nexport const EncryptionAlgorithmAES25 = \"AES256\";\n\nexport const DevelopmentConnectionString = `DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;`;\n\nexport const StorageBlobLoggingAllowedHeaderNames = [\n \"Access-Control-Allow-Origin\",\n \"Cache-Control\",\n \"Content-Length\",\n \"Content-Type\",\n \"Date\",\n \"Request-Id\",\n \"traceparent\",\n \"Transfer-Encoding\",\n \"User-Agent\",\n \"x-ms-client-request-id\",\n \"x-ms-date\",\n \"x-ms-error-code\",\n \"x-ms-request-id\",\n \"x-ms-return-client-request-id\",\n \"x-ms-version\",\n \"Accept-Ranges\",\n \"Content-Disposition\",\n \"Content-Encoding\",\n \"Content-Language\",\n \"Content-MD5\",\n \"Content-Range\",\n \"ETag\",\n \"Last-Modified\",\n \"Server\",\n \"Vary\",\n \"x-ms-content-crc64\",\n \"x-ms-copy-action\",\n \"x-ms-copy-completion-time\",\n \"x-ms-copy-id\",\n \"x-ms-copy-progress\",\n \"x-ms-copy-status\",\n \"x-ms-has-immutability-policy\",\n \"x-ms-has-legal-hold\",\n \"x-ms-lease-state\",\n \"x-ms-lease-status\",\n \"x-ms-range\",\n \"x-ms-request-server-encrypted\",\n \"x-ms-server-encrypted\",\n \"x-ms-snapshot\",\n \"x-ms-source-range\",\n \"If-Match\",\n \"If-Modified-Since\",\n \"If-None-Match\",\n \"If-Unmodified-Since\",\n \"x-ms-access-tier\",\n \"x-ms-access-tier-change-time\",\n \"x-ms-access-tier-inferred\",\n \"x-ms-account-kind\",\n \"x-ms-archive-status\",\n \"x-ms-blob-append-offset\",\n \"x-ms-blob-cache-control\",\n \"x-ms-blob-committed-block-count\",\n \"x-ms-blob-condition-appendpos\",\n \"x-ms-blob-condition-maxsize\",\n \"x-ms-blob-content-disposition\",\n \"x-ms-blob-content-encoding\",\n \"x-ms-blob-content-language\",\n \"x-ms-blob-content-length\",\n \"x-ms-blob-content-md5\",\n \"x-ms-blob-content-type\",\n \"x-ms-blob-public-access\",\n \"x-ms-blob-sequence-number\",\n \"x-ms-blob-type\",\n \"x-ms-copy-destination-snapshot\",\n \"x-ms-creation-time\",\n \"x-ms-default-encryption-scope\",\n \"x-ms-delete-snapshots\",\n \"x-ms-delete-type-permanent\",\n \"x-ms-deny-encryption-scope-override\",\n \"x-ms-encryption-algorithm\",\n \"x-ms-if-sequence-number-eq\",\n \"x-ms-if-sequence-number-le\",\n \"x-ms-if-sequence-number-lt\",\n \"x-ms-incremental-copy\",\n \"x-ms-lease-action\",\n \"x-ms-lease-break-period\",\n \"x-ms-lease-duration\",\n \"x-ms-lease-id\",\n \"x-ms-lease-time\",\n \"x-ms-page-write\",\n \"x-ms-proposed-lease-id\",\n \"x-ms-range-get-content-md5\",\n \"x-ms-rehydrate-priority\",\n \"x-ms-sequence-number-action\",\n \"x-ms-sku-name\",\n \"x-ms-source-content-md5\",\n \"x-ms-source-if-match\",\n \"x-ms-source-if-modified-since\",\n \"x-ms-source-if-none-match\",\n \"x-ms-source-if-unmodified-since\",\n \"x-ms-tag-count\",\n \"x-ms-encryption-key-sha256\",\n \"x-ms-copy-source-error-code\",\n \"x-ms-copy-source-status-code\",\n \"x-ms-if-tags\",\n \"x-ms-source-if-tags\",\n];\n\nexport const StorageBlobLoggingAllowedQueryParameters = [\n \"comp\",\n \"maxresults\",\n \"rscc\",\n \"rscd\",\n \"rsce\",\n \"rscl\",\n \"rsct\",\n \"se\",\n \"si\",\n \"sip\",\n \"sp\",\n \"spr\",\n \"sr\",\n \"srt\",\n \"ss\",\n \"st\",\n \"sv\",\n \"include\",\n \"marker\",\n \"prefix\",\n \"copyid\",\n \"restype\",\n \"blockid\",\n \"blocklisttype\",\n \"delimiter\",\n \"prevsnapshot\",\n \"ske\",\n \"skoid\",\n \"sks\",\n \"skt\",\n \"sktid\",\n \"skv\",\n \"snapshot\",\n];\n\nexport const BlobUsesCustomerSpecifiedEncryptionMsg = \"BlobUsesCustomerSpecifiedEncryption\";\nexport const BlobDoesNotUseCustomerSpecifiedEncryption =\n \"BlobDoesNotUseCustomerSpecifiedEncryption\";\n\n/// List of ports used for path style addressing.\n/// Path style addressing means that storage account is put in URI's Path segment in instead of in host.\nexport const PathStylePorts = [\n \"10000\",\n \"10001\",\n \"10002\",\n \"10003\",\n \"10004\",\n \"10100\",\n \"10101\",\n \"10102\",\n \"10103\",\n \"10104\",\n \"11000\",\n \"11001\",\n \"11002\",\n \"11003\",\n \"11004\",\n \"11100\",\n \"11101\",\n \"11102\",\n \"11103\",\n \"11104\",\n];\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGO,MAAM,cAAsB;AAC5B,MAAM,kBAA0B;AAEhC,MAAM,mCAA2C,MAAM,OAAO;AAC9D,MAAM,mCAA2C,MAAO,OAAO;AAC/D,MAAM,wBAAgC;AACtC,MAAM,kCAA0C,IAAI,OAAO;AAC3D,MAAM,oCAA4C,IAAI,OAAO;AAC7D,MAAM,sCAA8C;AAEpD,MAAM,kBAA0B,MAAM;AAItC,MAAM,qBAAwC;AAE9C,MAAM,eAAe;AAAA,EAC1B,YAAY;AAAA,IACV,wBAAwB;AAAA,IACxB,WAAW;AAAA,IACX,UAAU;AAAA,IACV,WAAW;AAAA,IACX,SAAS;AAAA,EACX;AACF;AAEO,MAAM,oBAAoB;AAAA,EAC/B,eAAe;AAAA,EACf,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB,4BAA4B;AAC9B;AAEO,MAAM,kBAAkB;AAAA,EAC7B,eAAe;AAAA,EACf,sBAAsB;AAAA,EACtB,kBAAkB;AAAA,EAClB,YAAY;AAAA,EACZ,kBAAkB;AAAA,EAClB,gBAAgB;AAAA,EAChB,aAAa;AAAA,EACb,2BAA2B;AAAA,EAC3B,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,UAAU;AAAA,EACV,mBAAmB;AAAA,EACnB,eAAe;AAAA,EACf,qBAAqB;AAAA,EACrB,oBAAoB;AAAA,EACpB,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,wBAAwB;AAAA,EACxB,kBAAkB;AAAA,EAClB,WAAW;AAAA,EACX,iBAAiB;AAAA,EACjB,cAAc;AAAA,EACd,0BAA0B;AAC5B;AAEO,MAAM,WAAW;AACjB,MAAM,UAAU;AAEhB,MAAM,YAAY,IAAI,OAAO;AAC7B,MAAM,oBAAoB;AAC1B,MAAM,6BAA6B,IAAI;AACvC,MAAM,mBAAmB;AACzB,MAAM,mBAAmB;AAEzB,MAAM,2BAA2B;AAEjC,MAAM,8BAA8B;AAEpC,MAAM,uCAAuC;AAAA,EAClD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,MAAM,2CAA2C;AAAA,EACtD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,MAAM,yCAAyC;AAC/C,MAAM,4CACX;AAIK,MAAM,iBAAiB;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;",
6
6
  "names": []
7
7
  }
@@ -31,3 +31,4 @@ const tracingClient = (0, import_core_tracing.createTracingClient)({
31
31
  0 && (module.exports = {
32
32
  tracingClient
33
33
  });
34
+ //# sourceMappingURL=tracing.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/storage/storage-blob/src/utils/tracing.ts"],
3
+ "sources": ["../../../src/utils/tracing.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { createTracingClient } from \"@azure/core-tracing\";\nimport { SDK_VERSION } from \"./constants.js\";\n\n/**\n * Creates a span using the global tracer.\n * @internal\n */\nexport const tracingClient = createTracingClient({\n packageName: \"@azure/storage-blob\",\n packageVersion: SDK_VERSION,\n namespace: \"Microsoft.Storage\",\n});\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAAoC;AACpC,uBAA4B;AAMrB,MAAM,oBAAgB,yCAAoB;AAAA,EAC/C,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,WAAW;AACb,CAAC;",
6
6
  "names": []
@@ -631,3 +631,4 @@ async function setUploadChecksumParameters(body, contentLength, parameters, uplo
631
631
  toTags,
632
632
  truncatedISO8061Date
633
633
  });
634
+ //# sourceMappingURL=utils.common.js.map