@azure/storage-file-share 12.23.0-beta.1 → 12.24.0-alpha.20240612.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (157) hide show
  1. package/dist/index.js +472 -380
  2. package/dist/index.js.map +1 -1
  3. package/dist-esm/storage-blob/src/BatchResponseParser.js.map +1 -1
  4. package/dist-esm/storage-blob/src/BatchUtils.js.map +1 -1
  5. package/dist-esm/storage-blob/src/BlobBatch.js +5 -5
  6. package/dist-esm/storage-blob/src/BlobBatch.js.map +1 -1
  7. package/dist-esm/storage-blob/src/BlobBatchClient.js.map +1 -1
  8. package/dist-esm/storage-blob/src/BlobDownloadResponse.js.map +1 -1
  9. package/dist-esm/storage-blob/src/BlobLeaseClient.js +2 -2
  10. package/dist-esm/storage-blob/src/BlobLeaseClient.js.map +1 -1
  11. package/dist-esm/storage-blob/src/BlobQueryResponse.js.map +1 -1
  12. package/dist-esm/storage-blob/src/BlobServiceClient.js +8 -8
  13. package/dist-esm/storage-blob/src/BlobServiceClient.js.map +1 -1
  14. package/dist-esm/storage-blob/src/Clients.js +27 -7
  15. package/dist-esm/storage-blob/src/Clients.js.map +1 -1
  16. package/dist-esm/storage-blob/src/ContainerClient.js +30 -12
  17. package/dist-esm/storage-blob/src/ContainerClient.js.map +1 -1
  18. package/dist-esm/storage-blob/src/PageBlobRangeResponse.js.map +1 -1
  19. package/dist-esm/storage-blob/src/Pipeline.js +1 -1
  20. package/dist-esm/storage-blob/src/Pipeline.js.map +1 -1
  21. package/dist-esm/storage-blob/src/Range.js.map +1 -1
  22. package/dist-esm/storage-blob/src/StorageContextClient.js.map +1 -1
  23. package/dist-esm/storage-blob/src/credentials/AnonymousCredential.js.map +1 -1
  24. package/dist-esm/storage-blob/src/credentials/Credential.js.map +1 -1
  25. package/dist-esm/storage-blob/src/credentials/StorageSharedKeyCredential.js.map +1 -1
  26. package/dist-esm/storage-blob/src/generated/src/models/index.js.map +1 -1
  27. package/dist-esm/storage-blob/src/generated/src/models/mappers.js +2383 -2362
  28. package/dist-esm/storage-blob/src/generated/src/models/mappers.js.map +1 -1
  29. package/dist-esm/storage-blob/src/generated/src/models/parameters.js +444 -444
  30. package/dist-esm/storage-blob/src/generated/src/models/parameters.js.map +1 -1
  31. package/dist-esm/storage-blob/src/generated/src/operations/appendBlob.js +20 -20
  32. package/dist-esm/storage-blob/src/generated/src/operations/appendBlob.js.map +1 -1
  33. package/dist-esm/storage-blob/src/generated/src/operations/blob.js +144 -136
  34. package/dist-esm/storage-blob/src/generated/src/operations/blob.js.map +1 -1
  35. package/dist-esm/storage-blob/src/generated/src/operations/blockBlob.js +33 -33
  36. package/dist-esm/storage-blob/src/generated/src/operations/blockBlob.js.map +1 -1
  37. package/dist-esm/storage-blob/src/generated/src/operations/container.js +117 -109
  38. package/dist-esm/storage-blob/src/generated/src/operations/container.js.map +1 -1
  39. package/dist-esm/storage-blob/src/generated/src/operations/pageBlob.js +47 -47
  40. package/dist-esm/storage-blob/src/generated/src/operations/pageBlob.js.map +1 -1
  41. package/dist-esm/storage-blob/src/generated/src/operations/service.js +56 -48
  42. package/dist-esm/storage-blob/src/generated/src/operations/service.js.map +1 -1
  43. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/appendBlob.js.map +1 -1
  44. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/blob.js.map +1 -1
  45. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/blockBlob.js.map +1 -1
  46. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/container.js.map +1 -1
  47. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/pageBlob.js.map +1 -1
  48. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/service.js.map +1 -1
  49. package/dist-esm/storage-blob/src/generated/src/storageClient.js +5 -5
  50. package/dist-esm/storage-blob/src/generated/src/storageClient.js.map +1 -1
  51. package/dist-esm/storage-blob/src/generatedModels.js.map +1 -1
  52. package/dist-esm/storage-blob/src/index.js +1 -1
  53. package/dist-esm/storage-blob/src/index.js.map +1 -1
  54. package/dist-esm/storage-blob/src/models.js +7 -0
  55. package/dist-esm/storage-blob/src/models.js.map +1 -1
  56. package/dist-esm/storage-blob/src/policies/RequestPolicy.js.map +1 -1
  57. package/dist-esm/storage-blob/src/policies/StorageBrowserPolicy.js.map +1 -1
  58. package/dist-esm/storage-blob/src/policies/StorageBrowserPolicyV2.js.map +1 -1
  59. package/dist-esm/storage-blob/src/policies/StorageRetryPolicy.js +15 -0
  60. package/dist-esm/storage-blob/src/policies/StorageRetryPolicy.js.map +1 -1
  61. package/dist-esm/storage-blob/src/policies/StorageRetryPolicyV2.js +15 -0
  62. package/dist-esm/storage-blob/src/policies/StorageRetryPolicyV2.js.map +1 -1
  63. package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicy.js +2 -1
  64. package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicy.js.map +1 -1
  65. package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicyV2.browser.js.map +1 -1
  66. package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicyV2.js +2 -1
  67. package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicyV2.js.map +1 -1
  68. package/dist-esm/storage-blob/src/pollers/BlobStartCopyFromUrlPoller.js.map +1 -1
  69. package/dist-esm/storage-blob/src/sas/AccountSASPermissions.js +1 -1
  70. package/dist-esm/storage-blob/src/sas/AccountSASPermissions.js.map +1 -1
  71. package/dist-esm/storage-blob/src/sas/AccountSASResourceTypes.js.map +1 -1
  72. package/dist-esm/storage-blob/src/sas/AccountSASServices.js.map +1 -1
  73. package/dist-esm/storage-blob/src/sas/AccountSASSignatureValues.js.map +1 -1
  74. package/dist-esm/storage-blob/src/sas/BlobSASPermissions.js.map +1 -1
  75. package/dist-esm/storage-blob/src/sas/BlobSASSignatureValues.js +2 -2
  76. package/dist-esm/storage-blob/src/sas/BlobSASSignatureValues.js.map +1 -1
  77. package/dist-esm/storage-blob/src/sas/ContainerSASPermissions.js.map +1 -1
  78. package/dist-esm/storage-blob/src/sas/SASQueryParameters.js +6 -6
  79. package/dist-esm/storage-blob/src/sas/SASQueryParameters.js.map +1 -1
  80. package/dist-esm/storage-blob/src/utils/Batch.js.map +1 -1
  81. package/dist-esm/storage-blob/src/utils/BlobQuickQueryStream.js.map +1 -1
  82. package/dist-esm/storage-blob/src/utils/Mutex.js.map +1 -1
  83. package/dist-esm/storage-blob/src/utils/RetriableReadableStream.js.map +1 -1
  84. package/dist-esm/storage-blob/src/utils/SharedKeyComparator.js +73 -0
  85. package/dist-esm/storage-blob/src/utils/SharedKeyComparator.js.map +1 -0
  86. package/dist-esm/storage-blob/src/utils/cache.js.map +1 -1
  87. package/dist-esm/storage-blob/src/utils/constants.js +5 -2
  88. package/dist-esm/storage-blob/src/utils/constants.js.map +1 -1
  89. package/dist-esm/storage-blob/src/utils/utils.common.js.map +1 -1
  90. package/dist-esm/storage-blob/src/utils/utils.node.js.map +1 -1
  91. package/dist-esm/storage-file-share/src/AccountSASPermissions.js.map +1 -1
  92. package/dist-esm/storage-file-share/src/AccountSASResourceTypes.js.map +1 -1
  93. package/dist-esm/storage-file-share/src/AccountSASServices.js.map +1 -1
  94. package/dist-esm/storage-file-share/src/AccountSASSignatureValues.js +1 -1
  95. package/dist-esm/storage-file-share/src/AccountSASSignatureValues.js.map +1 -1
  96. package/dist-esm/storage-file-share/src/Clients.js +19 -20
  97. package/dist-esm/storage-file-share/src/Clients.js.map +1 -1
  98. package/dist-esm/storage-file-share/src/FileDownloadResponse.js.map +1 -1
  99. package/dist-esm/storage-file-share/src/FileSASPermissions.js.map +1 -1
  100. package/dist-esm/storage-file-share/src/FileSASSignatureValues.js.map +1 -1
  101. package/dist-esm/storage-file-share/src/FileSystemAttributes.js.map +1 -1
  102. package/dist-esm/storage-file-share/src/Pipeline.js +259 -0
  103. package/dist-esm/storage-file-share/src/Pipeline.js.map +1 -0
  104. package/dist-esm/storage-file-share/src/Range.js.map +1 -1
  105. package/dist-esm/storage-file-share/src/SASQueryParameters.js.map +1 -1
  106. package/dist-esm/storage-file-share/src/ShareClientInternal.js.map +1 -1
  107. package/dist-esm/storage-file-share/src/ShareSASPermissions.js.map +1 -1
  108. package/dist-esm/storage-file-share/src/ShareServiceClient.js +6 -7
  109. package/dist-esm/storage-file-share/src/ShareServiceClient.js.map +1 -1
  110. package/dist-esm/storage-file-share/src/StorageClient.js +1 -1
  111. package/dist-esm/storage-file-share/src/StorageClient.js.map +1 -1
  112. package/dist-esm/storage-file-share/src/StorageContextClient.js.map +1 -1
  113. package/dist-esm/storage-file-share/src/StorageRetryPolicyFactory.js +26 -0
  114. package/dist-esm/storage-file-share/src/StorageRetryPolicyFactory.js.map +1 -0
  115. package/dist-esm/storage-file-share/src/generated/src/models/index.js +2 -0
  116. package/dist-esm/storage-file-share/src/generated/src/models/index.js.map +1 -1
  117. package/dist-esm/storage-file-share/src/generated/src/models/mappers.js +29 -0
  118. package/dist-esm/storage-file-share/src/generated/src/models/mappers.js.map +1 -1
  119. package/dist-esm/storage-file-share/src/generated/src/models/parameters.js +21 -1
  120. package/dist-esm/storage-file-share/src/generated/src/models/parameters.js.map +1 -1
  121. package/dist-esm/storage-file-share/src/generated/src/operations/file.js +3 -1
  122. package/dist-esm/storage-file-share/src/generated/src/operations/file.js.map +1 -1
  123. package/dist-esm/storage-file-share/src/generated/src/operations/share.js +3 -1
  124. package/dist-esm/storage-file-share/src/generated/src/operations/share.js.map +1 -1
  125. package/dist-esm/storage-file-share/src/generated/src/storageClient.js +2 -2
  126. package/dist-esm/storage-file-share/src/generated/src/storageClient.js.map +1 -1
  127. package/dist-esm/storage-file-share/src/generatedModels.js.map +1 -1
  128. package/dist-esm/storage-file-share/src/index.browser.js +2 -2
  129. package/dist-esm/storage-file-share/src/index.browser.js.map +1 -1
  130. package/dist-esm/storage-file-share/src/index.js +3 -2
  131. package/dist-esm/storage-file-share/src/index.js.map +1 -1
  132. package/dist-esm/storage-file-share/src/models.js +16 -0
  133. package/dist-esm/storage-file-share/src/models.js.map +1 -1
  134. package/dist-esm/storage-file-share/src/policies/StorageRetryPolicy.js +220 -0
  135. package/dist-esm/storage-file-share/src/policies/StorageRetryPolicy.js.map +1 -0
  136. package/dist-esm/storage-file-share/src/policies/StorageRetryPolicyV2.js +176 -0
  137. package/dist-esm/storage-file-share/src/policies/StorageRetryPolicyV2.js.map +1 -0
  138. package/dist-esm/storage-file-share/src/utils/Batch.js.map +1 -1
  139. package/dist-esm/storage-file-share/src/utils/BufferScheduler.js.map +1 -1
  140. package/dist-esm/storage-file-share/src/utils/RetriableReadableStream.js.map +1 -1
  141. package/dist-esm/storage-file-share/src/utils/constants.js +9 -2
  142. package/dist-esm/storage-file-share/src/utils/constants.js.map +1 -1
  143. package/dist-esm/storage-file-share/src/utils/utils.common.js.map +1 -1
  144. package/dist-esm/storage-file-share/src/utils/utils.node.js.map +1 -1
  145. package/package.json +19 -34
  146. package/types/latest/storage-file-share.d.ts +52 -17
  147. package/dist-esm/storage-blob/src/BatchUtils.browser.js +0 -11
  148. package/dist-esm/storage-blob/src/BatchUtils.browser.js.map +0 -1
  149. package/dist-esm/storage-blob/src/BlobDownloadResponse.browser.js +0 -7
  150. package/dist-esm/storage-blob/src/BlobDownloadResponse.browser.js.map +0 -1
  151. package/dist-esm/storage-blob/src/BlobQueryResponse.browser.js +0 -362
  152. package/dist-esm/storage-blob/src/BlobQueryResponse.browser.js.map +0 -1
  153. package/dist-esm/storage-blob/src/index.browser.js +0 -23
  154. package/dist-esm/storage-blob/src/index.browser.js.map +0 -1
  155. package/dist-esm/storage-blob/src/utils/utils.browser.js +0 -48
  156. package/dist-esm/storage-blob/src/utils/utils.browser.js.map +0 -1
  157. package/types/3.1/storage-file-share.d.ts +0 -6941
package/dist/index.js CHANGED
@@ -1,5 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
3
5
  var coreRestPipeline = require('@azure/core-rest-pipeline');
4
6
  var coreUtil = require('@azure/core-util');
5
7
  var tslib = require('tslib');
@@ -7,16 +9,14 @@ var coreAuth = require('@azure/core-auth');
7
9
  var coreHttpCompat = require('@azure/core-http-compat');
8
10
  var coreClient = require('@azure/core-client');
9
11
  var coreXml = require('@azure/core-xml');
10
- var logger$2 = require('@azure/logger');
12
+ var logger$1 = require('@azure/logger');
11
13
  var abortController = require('@azure/abort-controller');
12
14
  var crypto = require('crypto');
13
15
  var coreTracing = require('@azure/core-tracing');
14
- require('@azure/core-paging');
15
16
  var stream = require('stream');
16
17
  var events = require('events');
17
18
  var fs = require('fs');
18
19
  var util = require('util');
19
- var uuid = require('uuid');
20
20
 
21
21
  function _interopNamespaceDefault(e) {
22
22
  var n = Object.create(null);
@@ -336,13 +336,17 @@ function ipRangeToString(ipRange) {
336
336
 
337
337
  // Copyright (c) Microsoft Corporation.
338
338
  // Licensed under the MIT license.
339
- const SDK_VERSION$1 = "12.23.0-beta.1";
340
- const SERVICE_VERSION = "2023-01-03";
339
+ const SDK_VERSION = "12.24.0-beta.1";
340
+ const SERVICE_VERSION = "2024-08-04";
341
341
  const FILE_MAX_SIZE_BYTES = 4 * 1024 * 1024 * 1024 * 1024; // 4TB
342
342
  const FILE_RANGE_MAX_SIZE_BYTES = 4 * 1024 * 1024; // 4MB
343
343
  const DEFAULT_MAX_DOWNLOAD_RETRY_REQUESTS = 5;
344
344
  const DEFAULT_HIGH_LEVEL_CONCURRENCY = 5;
345
345
  const REQUEST_TIMEOUT = 100 * 1000; // In ms
346
+ /**
347
+ * The OAuth scope to use with Azure Storage.
348
+ */
349
+ const StorageOAuthScopes = "https://storage.azure.com/.default";
346
350
  const URLConstants$1 = {
347
351
  Parameters: {
348
352
  FORCE_BROWSER_NO_CACHE: "_",
@@ -353,6 +357,90 @@ const URLConstants$1 = {
353
357
  };
354
358
  const FileAttributesPreserve = "Preserve";
355
359
  const FileAttributesNone = "None";
360
+ const StorageFileLoggingAllowedHeaderNames = [
361
+ "Access-Control-Allow-Origin",
362
+ "Cache-Control",
363
+ "Content-Length",
364
+ "Content-Type",
365
+ "Date",
366
+ "Request-Id",
367
+ "traceparent",
368
+ "Transfer-Encoding",
369
+ "User-Agent",
370
+ "x-ms-client-request-id",
371
+ "x-ms-date",
372
+ "x-ms-error-code",
373
+ "x-ms-request-id",
374
+ "x-ms-return-client-request-id",
375
+ "x-ms-version",
376
+ "Accept-Ranges",
377
+ "Content-Disposition",
378
+ "Content-Encoding",
379
+ "Content-Language",
380
+ "Content-MD5",
381
+ "Content-Range",
382
+ "ETag",
383
+ "Last-Modified",
384
+ "Server",
385
+ "Vary",
386
+ "x-ms-content-crc64",
387
+ "x-ms-copy-action",
388
+ "x-ms-copy-completion-time",
389
+ "x-ms-copy-id",
390
+ "x-ms-copy-progress",
391
+ "x-ms-copy-status",
392
+ "x-ms-has-immutability-policy",
393
+ "x-ms-has-legal-hold",
394
+ "x-ms-lease-state",
395
+ "x-ms-lease-status",
396
+ "x-ms-range",
397
+ "x-ms-request-server-encrypted",
398
+ "x-ms-server-encrypted",
399
+ "x-ms-snapshot",
400
+ "x-ms-source-range",
401
+ "x-ms-cache-control",
402
+ "x-ms-content-disposition",
403
+ "x-ms-content-encoding",
404
+ "x-ms-content-language",
405
+ "x-ms-content-length",
406
+ "x-ms-content-md5",
407
+ "x-ms-content-type",
408
+ "x-ms-copy-source-error-code",
409
+ "x-ms-copy-source-status-code",
410
+ "x-ms-file-attributes",
411
+ "x-ms-file-change-time",
412
+ "x-ms-file-creation-time",
413
+ "x-ms-file-id",
414
+ "x-ms-file-last-write-time",
415
+ "x-ms-file-parent-id",
416
+ "x-ms-handle-id",
417
+ "x-ms-number-of-handles-closed",
418
+ "x-ms-recursive",
419
+ "x-ms-share-quota",
420
+ "x-ms-type",
421
+ "x-ms-write",
422
+ ];
423
+ const StorageFileLoggingAllowedQueryParameters = [
424
+ "comp",
425
+ "maxresults",
426
+ "rscc",
427
+ "rscd",
428
+ "rsce",
429
+ "rscl",
430
+ "rsct",
431
+ "se",
432
+ "si",
433
+ "sip",
434
+ "sp",
435
+ "spr",
436
+ "sr",
437
+ "srt",
438
+ "ss",
439
+ "st",
440
+ "sv",
441
+ "copyid",
442
+ "restype",
443
+ ];
356
444
  /// List of ports used for path style addressing.
357
445
  /// Path style addressing means that storage account is put in URI's Path segment in instead of in host.
358
446
  const PathStylePorts = [
@@ -606,6 +694,36 @@ function truncatedISO8061Date(date, withMilliseconds = true) {
606
694
  ? dateString.substring(0, dateString.length - 1) + "0000" + "Z"
607
695
  : dateString.substring(0, dateString.length - 5) + "Z";
608
696
  }
697
+ /**
698
+ * Delay specified time interval.
699
+ *
700
+ * @param timeInMs -
701
+ * @param aborter -
702
+ * @param abortError -
703
+ */
704
+ async function delay(timeInMs, aborter, abortError) {
705
+ return new Promise((resolve, reject) => {
706
+ /* eslint-disable-next-line prefer-const */
707
+ let timeout;
708
+ const abortHandler = () => {
709
+ if (timeout !== undefined) {
710
+ clearTimeout(timeout);
711
+ }
712
+ reject(abortError);
713
+ };
714
+ const resolveHandler = () => {
715
+ if (aborter !== undefined) {
716
+ aborter.removeEventListener("abort", abortHandler);
717
+ }
718
+ resolve();
719
+ };
720
+ /* eslint-disable-next-line prefer-const */
721
+ timeout = setTimeout(resolveHandler, timeInMs);
722
+ if (aborter !== undefined) {
723
+ aborter.addEventListener("abort", abortHandler);
724
+ }
725
+ });
726
+ }
609
727
  /**
610
728
  * Extracts account name from the url
611
729
  * @param url - url to extract the account name from
@@ -1005,7 +1123,7 @@ function generateAccountSASQueryParameters(accountSASSignatureValues, sharedKeyC
1005
1123
  accountSASSignatureValues.ipRange ? ipRangeToString(accountSASSignatureValues.ipRange) : "",
1006
1124
  accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "",
1007
1125
  version,
1008
- "",
1126
+ "", // Reserved for encryption scope
1009
1127
  "", // Account SAS requires an additional newline character
1010
1128
  ].join("\n");
1011
1129
  }
@@ -1279,7 +1397,7 @@ function getCanonicalName(accountName, shareName, filePath) {
1279
1397
  /**
1280
1398
  * The `@azure/logger` configuration for this package.
1281
1399
  */
1282
- const logger$1 = logger$2.createClientLogger("storage-blob");
1400
+ const logger = logger$1.createClientLogger("storage-file-share");
1283
1401
 
1284
1402
  // Copyright (c) Microsoft Corporation.
1285
1403
  // Licensed under the MIT license.
@@ -1321,294 +1439,6 @@ class BaseRequestPolicy {
1321
1439
  }
1322
1440
  }
1323
1441
 
1324
- // Copyright (c) Microsoft Corporation.
1325
- // Licensed under the MIT license.
1326
- const SDK_VERSION = "12.23.0-beta.1";
1327
- /**
1328
- * The OAuth scope to use with Azure Storage.
1329
- */
1330
- const StorageOAuthScopes = "https://storage.azure.com/.default";
1331
- const URLConstants = {
1332
- Parameters: {
1333
- FORCE_BROWSER_NO_CACHE: "_",
1334
- SIGNATURE: "sig",
1335
- SNAPSHOT: "snapshot",
1336
- VERSIONID: "versionid",
1337
- TIMEOUT: "timeout",
1338
- },
1339
- };
1340
- const HeaderConstants = {
1341
- AUTHORIZATION: "Authorization",
1342
- AUTHORIZATION_SCHEME: "Bearer",
1343
- CONTENT_ENCODING: "Content-Encoding",
1344
- CONTENT_ID: "Content-ID",
1345
- CONTENT_LANGUAGE: "Content-Language",
1346
- CONTENT_LENGTH: "Content-Length",
1347
- CONTENT_MD5: "Content-Md5",
1348
- CONTENT_TRANSFER_ENCODING: "Content-Transfer-Encoding",
1349
- CONTENT_TYPE: "Content-Type",
1350
- COOKIE: "Cookie",
1351
- DATE: "date",
1352
- IF_MATCH: "if-match",
1353
- IF_MODIFIED_SINCE: "if-modified-since",
1354
- IF_NONE_MATCH: "if-none-match",
1355
- IF_UNMODIFIED_SINCE: "if-unmodified-since",
1356
- PREFIX_FOR_STORAGE: "x-ms-",
1357
- RANGE: "Range",
1358
- USER_AGENT: "User-Agent",
1359
- X_MS_CLIENT_REQUEST_ID: "x-ms-client-request-id",
1360
- X_MS_COPY_SOURCE: "x-ms-copy-source",
1361
- X_MS_DATE: "x-ms-date",
1362
- X_MS_ERROR_CODE: "x-ms-error-code",
1363
- X_MS_VERSION: "x-ms-version",
1364
- };
1365
- const StorageBlobLoggingAllowedHeaderNames = [
1366
- "Access-Control-Allow-Origin",
1367
- "Cache-Control",
1368
- "Content-Length",
1369
- "Content-Type",
1370
- "Date",
1371
- "Request-Id",
1372
- "traceparent",
1373
- "Transfer-Encoding",
1374
- "User-Agent",
1375
- "x-ms-client-request-id",
1376
- "x-ms-date",
1377
- "x-ms-error-code",
1378
- "x-ms-request-id",
1379
- "x-ms-return-client-request-id",
1380
- "x-ms-version",
1381
- "Accept-Ranges",
1382
- "Content-Disposition",
1383
- "Content-Encoding",
1384
- "Content-Language",
1385
- "Content-MD5",
1386
- "Content-Range",
1387
- "ETag",
1388
- "Last-Modified",
1389
- "Server",
1390
- "Vary",
1391
- "x-ms-content-crc64",
1392
- "x-ms-copy-action",
1393
- "x-ms-copy-completion-time",
1394
- "x-ms-copy-id",
1395
- "x-ms-copy-progress",
1396
- "x-ms-copy-status",
1397
- "x-ms-has-immutability-policy",
1398
- "x-ms-has-legal-hold",
1399
- "x-ms-lease-state",
1400
- "x-ms-lease-status",
1401
- "x-ms-range",
1402
- "x-ms-request-server-encrypted",
1403
- "x-ms-server-encrypted",
1404
- "x-ms-snapshot",
1405
- "x-ms-source-range",
1406
- "If-Match",
1407
- "If-Modified-Since",
1408
- "If-None-Match",
1409
- "If-Unmodified-Since",
1410
- "x-ms-access-tier",
1411
- "x-ms-access-tier-change-time",
1412
- "x-ms-access-tier-inferred",
1413
- "x-ms-account-kind",
1414
- "x-ms-archive-status",
1415
- "x-ms-blob-append-offset",
1416
- "x-ms-blob-cache-control",
1417
- "x-ms-blob-committed-block-count",
1418
- "x-ms-blob-condition-appendpos",
1419
- "x-ms-blob-condition-maxsize",
1420
- "x-ms-blob-content-disposition",
1421
- "x-ms-blob-content-encoding",
1422
- "x-ms-blob-content-language",
1423
- "x-ms-blob-content-length",
1424
- "x-ms-blob-content-md5",
1425
- "x-ms-blob-content-type",
1426
- "x-ms-blob-public-access",
1427
- "x-ms-blob-sequence-number",
1428
- "x-ms-blob-type",
1429
- "x-ms-copy-destination-snapshot",
1430
- "x-ms-creation-time",
1431
- "x-ms-default-encryption-scope",
1432
- "x-ms-delete-snapshots",
1433
- "x-ms-delete-type-permanent",
1434
- "x-ms-deny-encryption-scope-override",
1435
- "x-ms-encryption-algorithm",
1436
- "x-ms-if-sequence-number-eq",
1437
- "x-ms-if-sequence-number-le",
1438
- "x-ms-if-sequence-number-lt",
1439
- "x-ms-incremental-copy",
1440
- "x-ms-lease-action",
1441
- "x-ms-lease-break-period",
1442
- "x-ms-lease-duration",
1443
- "x-ms-lease-id",
1444
- "x-ms-lease-time",
1445
- "x-ms-page-write",
1446
- "x-ms-proposed-lease-id",
1447
- "x-ms-range-get-content-md5",
1448
- "x-ms-rehydrate-priority",
1449
- "x-ms-sequence-number-action",
1450
- "x-ms-sku-name",
1451
- "x-ms-source-content-md5",
1452
- "x-ms-source-if-match",
1453
- "x-ms-source-if-modified-since",
1454
- "x-ms-source-if-none-match",
1455
- "x-ms-source-if-unmodified-since",
1456
- "x-ms-tag-count",
1457
- "x-ms-encryption-key-sha256",
1458
- "x-ms-if-tags",
1459
- "x-ms-source-if-tags",
1460
- ];
1461
- const StorageBlobLoggingAllowedQueryParameters = [
1462
- "comp",
1463
- "maxresults",
1464
- "rscc",
1465
- "rscd",
1466
- "rsce",
1467
- "rscl",
1468
- "rsct",
1469
- "se",
1470
- "si",
1471
- "sip",
1472
- "sp",
1473
- "spr",
1474
- "sr",
1475
- "srt",
1476
- "ss",
1477
- "st",
1478
- "sv",
1479
- "include",
1480
- "marker",
1481
- "prefix",
1482
- "copyid",
1483
- "restype",
1484
- "blockid",
1485
- "blocklisttype",
1486
- "delimiter",
1487
- "prevsnapshot",
1488
- "ske",
1489
- "skoid",
1490
- "sks",
1491
- "skt",
1492
- "sktid",
1493
- "skv",
1494
- "snapshot",
1495
- ];
1496
-
1497
- // Copyright (c) Microsoft Corporation.
1498
- // Licensed under the MIT license.
1499
- /**
1500
- * Set URL parameter name and value. If name exists in URL parameters, old value
1501
- * will be replaced by name key. If not provide value, the parameter will be deleted.
1502
- *
1503
- * @param url - Source URL string
1504
- * @param name - Parameter name
1505
- * @param value - Parameter value
1506
- * @returns An updated URL string
1507
- */
1508
- function setURLParameter(url, name, value) {
1509
- const urlParsed = new URL(url);
1510
- const encodedName = encodeURIComponent(name);
1511
- const encodedValue = value ? encodeURIComponent(value) : undefined;
1512
- // mutating searchParams will change the encoding, so we have to do this ourselves
1513
- const searchString = urlParsed.search === "" ? "?" : urlParsed.search;
1514
- const searchPieces = [];
1515
- for (const pair of searchString.slice(1).split("&")) {
1516
- if (pair) {
1517
- const [key] = pair.split("=", 2);
1518
- if (key !== encodedName) {
1519
- searchPieces.push(pair);
1520
- }
1521
- }
1522
- }
1523
- if (encodedValue) {
1524
- searchPieces.push(`${encodedName}=${encodedValue}`);
1525
- }
1526
- urlParsed.search = searchPieces.length ? `?${searchPieces.join("&")}` : "";
1527
- return urlParsed.toString();
1528
- }
1529
- /**
1530
- * Set URL host.
1531
- *
1532
- * @param url - Source URL string
1533
- * @param host - New host string
1534
- * @returns An updated URL string
1535
- */
1536
- function setURLHost(url, host) {
1537
- const urlParsed = new URL(url);
1538
- urlParsed.hostname = host;
1539
- return urlParsed.toString();
1540
- }
1541
- /**
1542
- * Get URL path from an URL string.
1543
- *
1544
- * @param url - Source URL string
1545
- */
1546
- function getURLPath(url) {
1547
- try {
1548
- const urlParsed = new URL(url);
1549
- return urlParsed.pathname;
1550
- }
1551
- catch (e) {
1552
- return undefined;
1553
- }
1554
- }
1555
- /**
1556
- * Get URL query key value pairs from an URL string.
1557
- *
1558
- * @param url -
1559
- */
1560
- function getURLQueries(url) {
1561
- let queryString = new URL(url).search;
1562
- if (!queryString) {
1563
- return {};
1564
- }
1565
- queryString = queryString.trim();
1566
- queryString = queryString.startsWith("?") ? queryString.substring(1) : queryString;
1567
- let querySubStrings = queryString.split("&");
1568
- querySubStrings = querySubStrings.filter((value) => {
1569
- const indexOfEqual = value.indexOf("=");
1570
- const lastIndexOfEqual = value.lastIndexOf("=");
1571
- return (indexOfEqual > 0 && indexOfEqual === lastIndexOfEqual && lastIndexOfEqual < value.length - 1);
1572
- });
1573
- const queries = {};
1574
- for (const querySubString of querySubStrings) {
1575
- const splitResults = querySubString.split("=");
1576
- const key = splitResults[0];
1577
- const value = splitResults[1];
1578
- queries[key] = value;
1579
- }
1580
- return queries;
1581
- }
1582
- /**
1583
- * Delay specified time interval.
1584
- *
1585
- * @param timeInMs -
1586
- * @param aborter -
1587
- * @param abortError -
1588
- */
1589
- async function delay(timeInMs, aborter, abortError) {
1590
- return new Promise((resolve, reject) => {
1591
- /* eslint-disable-next-line prefer-const */
1592
- let timeout;
1593
- const abortHandler = () => {
1594
- if (timeout !== undefined) {
1595
- clearTimeout(timeout);
1596
- }
1597
- reject(abortError);
1598
- };
1599
- const resolveHandler = () => {
1600
- if (aborter !== undefined) {
1601
- aborter.removeEventListener("abort", abortHandler);
1602
- }
1603
- resolve();
1604
- };
1605
- timeout = setTimeout(resolveHandler, timeInMs);
1606
- if (aborter !== undefined) {
1607
- aborter.addEventListener("abort", abortHandler);
1608
- }
1609
- });
1610
- }
1611
-
1612
1442
  // Copyright (c) Microsoft Corporation.
1613
1443
  // Licensed under the MIT license.
1614
1444
  /**
@@ -1631,7 +1461,6 @@ const DEFAULT_RETRY_OPTIONS$1 = {
1631
1461
  maxTries: 4,
1632
1462
  retryDelayInMs: 4 * 1000,
1633
1463
  retryPolicyType: exports.StorageRetryPolicyType.EXPONENTIAL,
1634
- secondaryHost: "",
1635
1464
  tryTimeoutInMs: undefined, // Use server side default timeout strategy
1636
1465
  };
1637
1466
  const RETRY_ABORT_ERROR$1 = new abortController.AbortError("The operation was aborted.");
@@ -1667,9 +1496,6 @@ class StorageRetryPolicy extends BaseRequestPolicy {
1667
1496
  maxRetryDelayInMs: retryOptions.maxRetryDelayInMs && retryOptions.maxRetryDelayInMs >= 0
1668
1497
  ? retryOptions.maxRetryDelayInMs
1669
1498
  : DEFAULT_RETRY_OPTIONS$1.maxRetryDelayInMs,
1670
- secondaryHost: retryOptions.secondaryHost
1671
- ? retryOptions.secondaryHost
1672
- : DEFAULT_RETRY_OPTIONS$1.secondaryHost,
1673
1499
  };
1674
1500
  }
1675
1501
  /**
@@ -1692,20 +1518,14 @@ class StorageRetryPolicy extends BaseRequestPolicy {
1692
1518
  */
1693
1519
  async attemptSendRequest(request, secondaryHas404, attempt) {
1694
1520
  const newRequest = request.clone();
1695
- const isPrimaryRetry = secondaryHas404 ||
1696
- !this.retryOptions.secondaryHost ||
1697
- !(request.method === "GET" || request.method === "HEAD" || request.method === "OPTIONS") ||
1698
- attempt % 2 === 1;
1699
- if (!isPrimaryRetry) {
1700
- newRequest.url = setURLHost(newRequest.url, this.retryOptions.secondaryHost);
1701
- }
1521
+ const isPrimaryRetry = true;
1702
1522
  // Set the server-side timeout query parameter "timeout=[seconds]"
1703
1523
  if (this.retryOptions.tryTimeoutInMs) {
1704
- newRequest.url = setURLParameter(newRequest.url, URLConstants.Parameters.TIMEOUT, Math.floor(this.retryOptions.tryTimeoutInMs / 1000).toString());
1524
+ newRequest.url = setURLParameter$1(newRequest.url, URLConstants$1.Parameters.TIMEOUT, Math.floor(this.retryOptions.tryTimeoutInMs / 1000).toString());
1705
1525
  }
1706
1526
  let response;
1707
1527
  try {
1708
- logger$1.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? "Primary" : "Secondary"}`);
1528
+ logger.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? "Primary" : "Secondary"}`);
1709
1529
  response = await this._nextPolicy.sendRequest(newRequest);
1710
1530
  if (!this.shouldRetry(isPrimaryRetry, attempt, response)) {
1711
1531
  return response;
@@ -1713,7 +1533,7 @@ class StorageRetryPolicy extends BaseRequestPolicy {
1713
1533
  secondaryHas404 = secondaryHas404 || (!isPrimaryRetry && response.status === 404);
1714
1534
  }
1715
1535
  catch (err) {
1716
- logger$1.error(`RetryPolicy: Caught error, message: ${err.message}, code: ${err.code}`);
1536
+ logger.error(`RetryPolicy: Caught error, message: ${err.message}, code: ${err.code}`);
1717
1537
  if (!this.shouldRetry(isPrimaryRetry, attempt, response, err)) {
1718
1538
  throw err;
1719
1539
  }
@@ -1731,7 +1551,7 @@ class StorageRetryPolicy extends BaseRequestPolicy {
1731
1551
  */
1732
1552
  shouldRetry(isPrimaryRetry, attempt, response, err) {
1733
1553
  if (attempt >= this.retryOptions.maxTries) {
1734
- logger$1.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${this.retryOptions
1554
+ logger.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${this.retryOptions
1735
1555
  .maxTries}, no further try.`);
1736
1556
  return false;
1737
1557
  }
@@ -1753,7 +1573,7 @@ class StorageRetryPolicy extends BaseRequestPolicy {
1753
1573
  if (err.name.toUpperCase().includes(retriableError) ||
1754
1574
  err.message.toUpperCase().includes(retriableError) ||
1755
1575
  (err.code && err.code.toString().toUpperCase() === retriableError)) {
1756
- logger$1.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);
1576
+ logger.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);
1757
1577
  return true;
1758
1578
  }
1759
1579
  }
@@ -1764,17 +1584,33 @@ class StorageRetryPolicy extends BaseRequestPolicy {
1764
1584
  if (response || err) {
1765
1585
  const statusCode = response ? response.status : err ? err.statusCode : 0;
1766
1586
  if (!isPrimaryRetry && statusCode === 404) {
1767
- logger$1.info(`RetryPolicy: Secondary access with 404, will retry.`);
1587
+ logger.info(`RetryPolicy: Secondary access with 404, will retry.`);
1768
1588
  return true;
1769
1589
  }
1770
1590
  // Server internal error or server timeout
1771
1591
  if (statusCode === 503 || statusCode === 500) {
1772
- logger$1.info(`RetryPolicy: Will retry for status code ${statusCode}.`);
1592
+ logger.info(`RetryPolicy: Will retry for status code ${statusCode}.`);
1773
1593
  return true;
1774
1594
  }
1775
1595
  }
1596
+ // [Copy source error code] Feature is pending on service side, skip retry on copy source error for now.
1597
+ // if (response) {
1598
+ // // Retry select Copy Source Error Codes.
1599
+ // if (response?.status >= 400) {
1600
+ // const copySourceError = response.headers.get(HeaderConstants.X_MS_CopySourceErrorCode);
1601
+ // if (copySourceError !== undefined) {
1602
+ // switch (copySourceError)
1603
+ // {
1604
+ // case "InternalError":
1605
+ // case "OperationTimedOut":
1606
+ // case "ServerBusy":
1607
+ // return true;
1608
+ // }
1609
+ // }
1610
+ // }
1611
+ // }
1776
1612
  if ((err === null || err === void 0 ? void 0 : err.code) === "PARSE_ERROR" && (err === null || err === void 0 ? void 0 : err.message.startsWith(`Error "Error: Unclosed root tag`))) {
1777
- logger$1.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry.");
1613
+ logger.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry.");
1778
1614
  return true;
1779
1615
  }
1780
1616
  return false;
@@ -1801,7 +1637,7 @@ class StorageRetryPolicy extends BaseRequestPolicy {
1801
1637
  else {
1802
1638
  delayTimeInMs = Math.random() * 1000;
1803
1639
  }
1804
- logger$1.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);
1640
+ logger.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);
1805
1641
  return delay(delayTimeInMs, abortSignal, RETRY_ABORT_ERROR$1);
1806
1642
  }
1807
1643
  }
@@ -1830,6 +1666,118 @@ class StorageRetryPolicyFactory {
1830
1666
  }
1831
1667
  }
1832
1668
 
1669
+ // Copyright (c) Microsoft Corporation.
1670
+ // Licensed under the MIT license.
1671
+ const URLConstants = {
1672
+ Parameters: {
1673
+ FORCE_BROWSER_NO_CACHE: "_",
1674
+ SIGNATURE: "sig",
1675
+ SNAPSHOT: "snapshot",
1676
+ VERSIONID: "versionid",
1677
+ TIMEOUT: "timeout",
1678
+ },
1679
+ };
1680
+ const HeaderConstants = {
1681
+ AUTHORIZATION: "Authorization",
1682
+ AUTHORIZATION_SCHEME: "Bearer",
1683
+ CONTENT_ENCODING: "Content-Encoding",
1684
+ CONTENT_ID: "Content-ID",
1685
+ CONTENT_LANGUAGE: "Content-Language",
1686
+ CONTENT_LENGTH: "Content-Length",
1687
+ CONTENT_MD5: "Content-Md5",
1688
+ CONTENT_TRANSFER_ENCODING: "Content-Transfer-Encoding",
1689
+ CONTENT_TYPE: "Content-Type",
1690
+ COOKIE: "Cookie",
1691
+ DATE: "date",
1692
+ IF_MATCH: "if-match",
1693
+ IF_MODIFIED_SINCE: "if-modified-since",
1694
+ IF_NONE_MATCH: "if-none-match",
1695
+ IF_UNMODIFIED_SINCE: "if-unmodified-since",
1696
+ PREFIX_FOR_STORAGE: "x-ms-",
1697
+ RANGE: "Range",
1698
+ USER_AGENT: "User-Agent",
1699
+ X_MS_CLIENT_REQUEST_ID: "x-ms-client-request-id",
1700
+ X_MS_COPY_SOURCE: "x-ms-copy-source",
1701
+ X_MS_DATE: "x-ms-date",
1702
+ X_MS_ERROR_CODE: "x-ms-error-code",
1703
+ X_MS_VERSION: "x-ms-version",
1704
+ X_MS_CopySourceErrorCode: "x-ms-copy-source-error-code",
1705
+ };
1706
+
1707
+ // Copyright (c) Microsoft Corporation.
1708
+ // Licensed under the MIT license.
1709
+ /**
1710
+ * Set URL parameter name and value. If name exists in URL parameters, old value
1711
+ * will be replaced by name key. If not provide value, the parameter will be deleted.
1712
+ *
1713
+ * @param url - Source URL string
1714
+ * @param name - Parameter name
1715
+ * @param value - Parameter value
1716
+ * @returns An updated URL string
1717
+ */
1718
+ function setURLParameter(url, name, value) {
1719
+ const urlParsed = new URL(url);
1720
+ const encodedName = encodeURIComponent(name);
1721
+ const encodedValue = value ? encodeURIComponent(value) : undefined;
1722
+ // mutating searchParams will change the encoding, so we have to do this ourselves
1723
+ const searchString = urlParsed.search === "" ? "?" : urlParsed.search;
1724
+ const searchPieces = [];
1725
+ for (const pair of searchString.slice(1).split("&")) {
1726
+ if (pair) {
1727
+ const [key] = pair.split("=", 2);
1728
+ if (key !== encodedName) {
1729
+ searchPieces.push(pair);
1730
+ }
1731
+ }
1732
+ }
1733
+ if (encodedValue) {
1734
+ searchPieces.push(`${encodedName}=${encodedValue}`);
1735
+ }
1736
+ urlParsed.search = searchPieces.length ? `?${searchPieces.join("&")}` : "";
1737
+ return urlParsed.toString();
1738
+ }
1739
+ /**
1740
+ * Get URL path from an URL string.
1741
+ *
1742
+ * @param url - Source URL string
1743
+ */
1744
+ function getURLPath(url) {
1745
+ try {
1746
+ const urlParsed = new URL(url);
1747
+ return urlParsed.pathname;
1748
+ }
1749
+ catch (e) {
1750
+ return undefined;
1751
+ }
1752
+ }
1753
+ /**
1754
+ * Get URL query key value pairs from an URL string.
1755
+ *
1756
+ * @param url -
1757
+ */
1758
+ function getURLQueries(url) {
1759
+ let queryString = new URL(url).search;
1760
+ if (!queryString) {
1761
+ return {};
1762
+ }
1763
+ queryString = queryString.trim();
1764
+ queryString = queryString.startsWith("?") ? queryString.substring(1) : queryString;
1765
+ let querySubStrings = queryString.split("&");
1766
+ querySubStrings = querySubStrings.filter((value) => {
1767
+ const indexOfEqual = value.indexOf("=");
1768
+ const lastIndexOfEqual = value.lastIndexOf("=");
1769
+ return (indexOfEqual > 0 && indexOfEqual === lastIndexOfEqual && lastIndexOfEqual < value.length - 1);
1770
+ });
1771
+ const queries = {};
1772
+ for (const querySubString of querySubStrings) {
1773
+ const splitResults = querySubString.split("=");
1774
+ const key = splitResults[0];
1775
+ const value = splitResults[1];
1776
+ queries[key] = value;
1777
+ }
1778
+ return queries;
1779
+ }
1780
+
1833
1781
  // Copyright (c) Microsoft Corporation.
1834
1782
  // Licensed under the MIT license.
1835
1783
  /**
@@ -1858,6 +1806,79 @@ class CredentialPolicy extends BaseRequestPolicy {
1858
1806
  }
1859
1807
  }
1860
1808
 
1809
+ // Copyright (c) Microsoft Corporation.
1810
+ // Licensed under the MIT license.
1811
+ /*
1812
+ * We need to imitate .Net culture-aware sorting, which is used in storage service.
1813
+ * Below tables contain sort-keys for en-US culture.
1814
+ */
1815
+ const table_lv0 = new Uint32Array([
1816
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1817
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x71c, 0x0, 0x71f, 0x721,
1818
+ 0x723, 0x725, 0x0, 0x0, 0x0, 0x72d, 0x803, 0x0, 0x0, 0x733, 0x0, 0xd03, 0xd1a, 0xd1c, 0xd1e,
1819
+ 0xd20, 0xd22, 0xd24, 0xd26, 0xd28, 0xd2a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe02, 0xe09, 0xe0a,
1820
+ 0xe1a, 0xe21, 0xe23, 0xe25, 0xe2c, 0xe32, 0xe35, 0xe36, 0xe48, 0xe51, 0xe70, 0xe7c, 0xe7e, 0xe89,
1821
+ 0xe8a, 0xe91, 0xe99, 0xe9f, 0xea2, 0xea4, 0xea6, 0xea7, 0xea9, 0x0, 0x0, 0x0, 0x743, 0x744, 0x748,
1822
+ 0xe02, 0xe09, 0xe0a, 0xe1a, 0xe21, 0xe23, 0xe25, 0xe2c, 0xe32, 0xe35, 0xe36, 0xe48, 0xe51, 0xe70,
1823
+ 0xe7c, 0xe7e, 0xe89, 0xe8a, 0xe91, 0xe99, 0xe9f, 0xea2, 0xea4, 0xea6, 0xea7, 0xea9, 0x0, 0x74c,
1824
+ 0x0, 0x750, 0x0,
1825
+ ]);
1826
+ const table_lv2 = new Uint32Array([
1827
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1828
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1829
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1830
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12,
1831
+ 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12,
1832
+ 0x12, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1833
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1834
+ ]);
1835
+ const table_lv4 = new Uint32Array([
1836
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1837
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1838
+ 0x0, 0x8012, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8212, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1839
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1840
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1841
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1842
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1843
+ ]);
1844
+ function compareHeader(lhs, rhs) {
1845
+ if (isLessThan(lhs, rhs))
1846
+ return -1;
1847
+ return 1;
1848
+ }
1849
+ function isLessThan(lhs, rhs) {
1850
+ const tables = [table_lv0, table_lv2, table_lv4];
1851
+ let curr_level = 0;
1852
+ let i = 0;
1853
+ let j = 0;
1854
+ while (curr_level < tables.length) {
1855
+ if (curr_level === tables.length - 1 && i !== j) {
1856
+ return i > j;
1857
+ }
1858
+ const weight1 = i < lhs.length ? tables[curr_level][lhs[i].charCodeAt(0)] : 0x1;
1859
+ const weight2 = j < rhs.length ? tables[curr_level][rhs[j].charCodeAt(0)] : 0x1;
1860
+ if (weight1 === 0x1 && weight2 === 0x1) {
1861
+ i = 0;
1862
+ j = 0;
1863
+ ++curr_level;
1864
+ }
1865
+ else if (weight1 === weight2) {
1866
+ ++i;
1867
+ ++j;
1868
+ }
1869
+ else if (weight1 === 0) {
1870
+ ++i;
1871
+ }
1872
+ else if (weight2 === 0) {
1873
+ ++j;
1874
+ }
1875
+ else {
1876
+ return weight1 < weight2;
1877
+ }
1878
+ }
1879
+ return false;
1880
+ }
1881
+
1861
1882
  // Copyright (c) Microsoft Corporation.
1862
1883
  // Licensed under the MIT license.
1863
1884
  /**
@@ -1949,7 +1970,7 @@ class StorageSharedKeyCredentialPolicy extends CredentialPolicy {
1949
1970
  return value.name.toLowerCase().startsWith(HeaderConstants.PREFIX_FOR_STORAGE);
1950
1971
  });
1951
1972
  headersArray.sort((a, b) => {
1952
- return a.name.toLowerCase().localeCompare(b.name.toLowerCase());
1973
+ return compareHeader(a.name.toLowerCase(), b.name.toLowerCase());
1953
1974
  });
1954
1975
  // Remove duplicate headers
1955
1976
  headersArray = headersArray.filter((value, index, array) => {
@@ -2172,17 +2193,16 @@ const RETRY_ABORT_ERROR = new abortController.AbortError("The operation was abor
2172
2193
  * Retry policy with exponential retry and linear retry implemented.
2173
2194
  */
2174
2195
  function storageRetryPolicy(options = {}) {
2175
- var _a, _b, _c, _d, _e, _f;
2196
+ var _a, _b, _c, _d, _e;
2176
2197
  const retryPolicyType = (_a = options.retryPolicyType) !== null && _a !== void 0 ? _a : DEFAULT_RETRY_OPTIONS.retryPolicyType;
2177
2198
  const maxTries = (_b = options.maxTries) !== null && _b !== void 0 ? _b : DEFAULT_RETRY_OPTIONS.maxTries;
2178
2199
  const retryDelayInMs = (_c = options.retryDelayInMs) !== null && _c !== void 0 ? _c : DEFAULT_RETRY_OPTIONS.retryDelayInMs;
2179
2200
  const maxRetryDelayInMs = (_d = options.maxRetryDelayInMs) !== null && _d !== void 0 ? _d : DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs;
2180
- const secondaryHost = (_e = options.secondaryHost) !== null && _e !== void 0 ? _e : DEFAULT_RETRY_OPTIONS.secondaryHost;
2181
- const tryTimeoutInMs = (_f = options.tryTimeoutInMs) !== null && _f !== void 0 ? _f : DEFAULT_RETRY_OPTIONS.tryTimeoutInMs;
2201
+ const tryTimeoutInMs = (_e = options.tryTimeoutInMs) !== null && _e !== void 0 ? _e : DEFAULT_RETRY_OPTIONS.tryTimeoutInMs;
2182
2202
  function shouldRetry({ isPrimaryRetry, attempt, response, error, }) {
2183
2203
  var _a, _b;
2184
2204
  if (attempt >= maxTries) {
2185
- logger$1.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${maxTries}, no further try.`);
2205
+ logger.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${maxTries}, no further try.`);
2186
2206
  return false;
2187
2207
  }
2188
2208
  if (error) {
@@ -2190,13 +2210,13 @@ function storageRetryPolicy(options = {}) {
2190
2210
  if (error.name.toUpperCase().includes(retriableError) ||
2191
2211
  error.message.toUpperCase().includes(retriableError) ||
2192
2212
  (error.code && error.code.toString().toUpperCase() === retriableError)) {
2193
- logger$1.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);
2213
+ logger.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);
2194
2214
  return true;
2195
2215
  }
2196
2216
  }
2197
2217
  if ((error === null || error === void 0 ? void 0 : error.code) === "PARSE_ERROR" &&
2198
2218
  (error === null || error === void 0 ? void 0 : error.message.startsWith(`Error "Error: Unclosed root tag`))) {
2199
- logger$1.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry.");
2219
+ logger.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry.");
2200
2220
  return true;
2201
2221
  }
2202
2222
  }
@@ -2206,20 +2226,36 @@ function storageRetryPolicy(options = {}) {
2206
2226
  if (response || error) {
2207
2227
  const statusCode = (_b = (_a = response === null || response === void 0 ? void 0 : response.status) !== null && _a !== void 0 ? _a : error === null || error === void 0 ? void 0 : error.statusCode) !== null && _b !== void 0 ? _b : 0;
2208
2228
  if (!isPrimaryRetry && statusCode === 404) {
2209
- logger$1.info(`RetryPolicy: Secondary access with 404, will retry.`);
2229
+ logger.info(`RetryPolicy: Secondary access with 404, will retry.`);
2210
2230
  return true;
2211
2231
  }
2212
2232
  // Server internal error or server timeout
2213
2233
  if (statusCode === 503 || statusCode === 500) {
2214
- logger$1.info(`RetryPolicy: Will retry for status code ${statusCode}.`);
2234
+ logger.info(`RetryPolicy: Will retry for status code ${statusCode}.`);
2215
2235
  return true;
2216
2236
  }
2217
2237
  }
2238
+ // [Copy source error code] Feature is pending on service side, skip retry on copy source error for now.
2239
+ // if (response) {
2240
+ // // Retry select Copy Source Error Codes.
2241
+ // if (response?.status >= 400) {
2242
+ // const copySourceError = response.headers.get(HeaderConstants.X_MS_CopySourceErrorCode);
2243
+ // if (copySourceError !== undefined) {
2244
+ // switch (copySourceError)
2245
+ // {
2246
+ // case "InternalError":
2247
+ // case "OperationTimedOut":
2248
+ // case "ServerBusy":
2249
+ // return true;
2250
+ // }
2251
+ // }
2252
+ // }
2253
+ // }
2218
2254
  return false;
2219
2255
  }
2220
2256
  function calculateDelay(isPrimaryRetry, attempt) {
2221
2257
  let delayTimeInMs = 0;
2222
- if (isPrimaryRetry) {
2258
+ {
2223
2259
  switch (retryPolicyType) {
2224
2260
  case StorageRetryPolicyType.EXPONENTIAL:
2225
2261
  delayTimeInMs = Math.min((Math.pow(2, attempt - 1) - 1) * retryDelayInMs, maxRetryDelayInMs);
@@ -2229,10 +2265,7 @@ function storageRetryPolicy(options = {}) {
2229
2265
  break;
2230
2266
  }
2231
2267
  }
2232
- else {
2233
- delayTimeInMs = Math.random() * 1000;
2234
- }
2235
- logger$1.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);
2268
+ logger.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);
2236
2269
  return delayTimeInMs;
2237
2270
  }
2238
2271
  return {
@@ -2240,35 +2273,31 @@ function storageRetryPolicy(options = {}) {
2240
2273
  async sendRequest(request, next) {
2241
2274
  // Set the server-side timeout query parameter "timeout=[seconds]"
2242
2275
  if (tryTimeoutInMs) {
2243
- request.url = setURLParameter(request.url, URLConstants.Parameters.TIMEOUT, String(Math.floor(tryTimeoutInMs / 1000)));
2276
+ request.url = setURLParameter$1(request.url, URLConstants$1.Parameters.TIMEOUT, String(Math.floor(tryTimeoutInMs / 1000)));
2244
2277
  }
2245
2278
  const primaryUrl = request.url;
2246
- const secondaryUrl = secondaryHost ? setURLHost(request.url, secondaryHost) : undefined;
2247
2279
  let secondaryHas404 = false;
2248
2280
  let attempt = 1;
2249
2281
  let retryAgain = true;
2250
2282
  let response;
2251
2283
  let error;
2252
2284
  while (retryAgain) {
2253
- const isPrimaryRetry = secondaryHas404 ||
2254
- !secondaryUrl ||
2255
- !["GET", "HEAD", "OPTIONS"].includes(request.method) ||
2256
- attempt % 2 === 1;
2257
- request.url = isPrimaryRetry ? primaryUrl : secondaryUrl;
2285
+ const isPrimaryRetry = true;
2286
+ request.url = primaryUrl;
2258
2287
  response = undefined;
2259
2288
  error = undefined;
2260
2289
  try {
2261
- logger$1.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? "Primary" : "Secondary"}`);
2290
+ logger.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? "Primary" : "Secondary"}`);
2262
2291
  response = await next(request);
2263
2292
  secondaryHas404 = secondaryHas404 || (!isPrimaryRetry && response.status === 404);
2264
2293
  }
2265
2294
  catch (e) {
2266
2295
  if (coreRestPipeline.isRestError(e)) {
2267
- logger$1.error(`RetryPolicy: Caught error, message: ${e.message}, code: ${e.code}`);
2296
+ logger.error(`RetryPolicy: Caught error, message: ${e.message}, code: ${e.code}`);
2268
2297
  error = e;
2269
2298
  }
2270
2299
  else {
2271
- logger$1.error(`RetryPolicy: Caught error, message: ${coreUtil.getErrorMessage(e)}`);
2300
+ logger.error(`RetryPolicy: Caught error, message: ${coreUtil.getErrorMessage(e)}`);
2272
2301
  throw e;
2273
2302
  }
2274
2303
  }
@@ -2366,7 +2395,7 @@ function storageSharedKeyCredentialPolicy(options) {
2366
2395
  }
2367
2396
  }
2368
2397
  headersArray.sort((a, b) => {
2369
- return a.name.toLowerCase().localeCompare(b.name.toLowerCase());
2398
+ return compareHeader(a.name.toLowerCase(), b.name.toLowerCase());
2370
2399
  });
2371
2400
  // Remove duplicate headers
2372
2401
  headersArray = headersArray.filter((value, index, array) => {
@@ -2577,9 +2606,9 @@ function getCoreClientOptions(pipeline) {
2577
2606
  ? `${restOptions.userAgentOptions.userAgentPrefix} ${packageDetails}`
2578
2607
  : `${packageDetails}`;
2579
2608
  corePipeline = coreClient.createClientPipeline(Object.assign(Object.assign({}, restOptions), { loggingOptions: {
2580
- additionalAllowedHeaderNames: StorageBlobLoggingAllowedHeaderNames,
2581
- additionalAllowedQueryParameters: StorageBlobLoggingAllowedQueryParameters,
2582
- logger: logger$1.info,
2609
+ additionalAllowedHeaderNames: StorageFileLoggingAllowedHeaderNames,
2610
+ additionalAllowedQueryParameters: StorageFileLoggingAllowedQueryParameters,
2611
+ logger: logger.info,
2583
2612
  }, userAgentOptions: {
2584
2613
  userAgentPrefix,
2585
2614
  }, serializationOptions: {
@@ -2625,7 +2654,7 @@ function getCoreClientOptions(pipeline) {
2625
2654
  }
2626
2655
  pipeline._corePipeline = corePipeline;
2627
2656
  }
2628
- return Object.assign(Object.assign({}, restOptions), { httpClient, pipeline: corePipeline });
2657
+ return Object.assign(Object.assign({}, restOptions), { allowInsecureConnection: true, httpClient, pipeline: corePipeline });
2629
2658
  }
2630
2659
  function getCredentialFromPipeline(pipeline) {
2631
2660
  // see if we squirreled one away on the type itself
@@ -2722,7 +2751,7 @@ function isCoreHttpPolicyFactory(factory) {
2722
2751
  */
2723
2752
  const tracingClient = coreTracing.createTracingClient({
2724
2753
  packageName: "@azure/storage-file-share",
2725
- packageVersion: SDK_VERSION$1,
2754
+ packageVersion: SDK_VERSION,
2726
2755
  namespace: "Microsoft.Storage",
2727
2756
  });
2728
2757
 
@@ -2968,6 +2997,13 @@ const StorageError = {
2968
2997
  name: "String"
2969
2998
  }
2970
2999
  },
3000
+ authenticationErrorDetail: {
3001
+ serializedName: "AuthenticationErrorDetail",
3002
+ xmlName: "AuthenticationErrorDetail",
3003
+ type: {
3004
+ name: "String"
3005
+ }
3006
+ },
2971
3007
  code: {
2972
3008
  serializedName: "Code",
2973
3009
  xmlName: "Code",
@@ -3240,6 +3276,13 @@ const SharePropertiesInternal = {
3240
3276
  name: "Enum",
3241
3277
  allowedValues: ["NoRootSquash", "RootSquash", "AllSquash"]
3242
3278
  }
3279
+ },
3280
+ enableSnapshotVirtualDirectoryAccess: {
3281
+ serializedName: "EnableSnapshotVirtualDirectoryAccess",
3282
+ xmlName: "EnableSnapshotVirtualDirectoryAccess",
3283
+ type: {
3284
+ name: "Boolean"
3285
+ }
3243
3286
  }
3244
3287
  }
3245
3288
  }
@@ -3736,6 +3779,14 @@ const HandleItem = {
3736
3779
  name: "String"
3737
3780
  }
3738
3781
  },
3782
+ clientName: {
3783
+ serializedName: "ClientName",
3784
+ required: true,
3785
+ xmlName: "ClientName",
3786
+ type: {
3787
+ name: "String"
3788
+ }
3789
+ },
3739
3790
  openTime: {
3740
3791
  serializedName: "OpenTime",
3741
3792
  required: true,
@@ -4221,6 +4272,13 @@ const ShareGetPropertiesHeaders = {
4221
4272
  allowedValues: ["NoRootSquash", "RootSquash", "AllSquash"]
4222
4273
  }
4223
4274
  },
4275
+ enableSnapshotVirtualDirectoryAccess: {
4276
+ serializedName: "x-ms-enable-snapshot-virtual-directory-access",
4277
+ xmlName: "x-ms-enable-snapshot-virtual-directory-access",
4278
+ type: {
4279
+ name: "Boolean"
4280
+ }
4281
+ },
4224
4282
  errorCode: {
4225
4283
  serializedName: "x-ms-error-code",
4226
4284
  xmlName: "x-ms-error-code",
@@ -8101,7 +8159,7 @@ const timeoutInSeconds = {
8101
8159
  const version = {
8102
8160
  parameterPath: "version",
8103
8161
  mapper: {
8104
- defaultValue: "2023-01-03",
8162
+ defaultValue: "2024-08-04",
8105
8163
  isConstant: true,
8106
8164
  serializedName: "x-ms-version",
8107
8165
  type: {
@@ -8250,6 +8308,16 @@ const rootSquash = {
8250
8308
  }
8251
8309
  }
8252
8310
  };
8311
+ const enableSnapshotVirtualDirectoryAccess = {
8312
+ parameterPath: ["options", "enableSnapshotVirtualDirectoryAccess"],
8313
+ mapper: {
8314
+ serializedName: "x-ms-enable-snapshot-virtual-directory-access",
8315
+ xmlName: "x-ms-enable-snapshot-virtual-directory-access",
8316
+ type: {
8317
+ name: "Boolean"
8318
+ }
8319
+ }
8320
+ };
8253
8321
  const shareSnapshot = {
8254
8322
  parameterPath: ["options", "shareSnapshot"],
8255
8323
  mapper: {
@@ -9130,6 +9198,16 @@ const prevsharesnapshot = {
9130
9198
  }
9131
9199
  }
9132
9200
  };
9201
+ const supportRename = {
9202
+ parameterPath: ["options", "supportRename"],
9203
+ mapper: {
9204
+ serializedName: "x-ms-file-support-rename",
9205
+ xmlName: "x-ms-file-support-rename",
9206
+ type: {
9207
+ name: "Boolean"
9208
+ }
9209
+ }
9210
+ };
9133
9211
  const filePermissionCopyMode = {
9134
9212
  parameterPath: ["options", "copyFileSmbInfo", "filePermissionCopyMode"],
9135
9213
  mapper: {
@@ -9491,7 +9569,8 @@ const createOperationSpec$2 = {
9491
9569
  quota,
9492
9570
  accessTier,
9493
9571
  enabledProtocols,
9494
- rootSquash
9572
+ rootSquash,
9573
+ enableSnapshotVirtualDirectoryAccess
9495
9574
  ],
9496
9575
  isXML: true,
9497
9576
  serializer: xmlSerializer$2
@@ -9802,6 +9881,7 @@ const setPropertiesOperationSpec$1 = {
9802
9881
  quota,
9803
9882
  accessTier,
9804
9883
  rootSquash,
9884
+ enableSnapshotVirtualDirectoryAccess,
9805
9885
  leaseId
9806
9886
  ],
9807
9887
  isXML: true,
@@ -10861,6 +10941,7 @@ const uploadRangeFromURLOperationSpec = {
10861
10941
  version,
10862
10942
  accept1,
10863
10943
  leaseId,
10944
+ fileRequestIntent,
10864
10945
  allowTrailingDot,
10865
10946
  allowSourceTrailingDot,
10866
10947
  range1,
@@ -10903,7 +10984,8 @@ const getRangeListOperationSpec = {
10903
10984
  leaseId,
10904
10985
  fileRequestIntent,
10905
10986
  allowTrailingDot,
10906
- range
10987
+ range,
10988
+ supportRename
10907
10989
  ],
10908
10990
  isXML: true,
10909
10991
  serializer: xmlSerializer
@@ -11096,7 +11178,7 @@ let StorageClient$1 = class StorageClient extends coreHttpCompat__namespace.Exte
11096
11178
  const defaults = {
11097
11179
  requestContentType: "application/json; charset=utf-8"
11098
11180
  };
11099
- const packageDetails = `azsdk-js-azure-storage-file-share/12.23.0-beta.1`;
11181
+ const packageDetails = `azsdk-js-azure-storage-file-share/12.24.0-beta.1`;
11100
11182
  const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix
11101
11183
  ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`
11102
11184
  : `${packageDetails}`;
@@ -11107,7 +11189,7 @@ let StorageClient$1 = class StorageClient extends coreHttpCompat__namespace.Exte
11107
11189
  // Parameter assignments
11108
11190
  this.url = url;
11109
11191
  // Assigning values to Constant parameters
11110
- this.version = options.version || "2023-01-03";
11192
+ this.version = options.version || "2024-08-04";
11111
11193
  this.fileRangeWriteFromUrl = options.fileRangeWriteFromUrl || "update";
11112
11194
  this.service = new ServiceImpl(this);
11113
11195
  this.share = new ShareImpl(this);
@@ -11801,13 +11883,6 @@ function rangeToString(range) {
11801
11883
  : `bytes=${range.offset}-`;
11802
11884
  }
11803
11885
 
11804
- // Copyright (c) Microsoft Corporation.
11805
- // Licensed under the MIT license.
11806
- /**
11807
- * The `@azure/logger` configuration for this package.
11808
- */
11809
- const logger = logger$2.createClientLogger("storage-file-share");
11810
-
11811
11886
  // Copyright (c) Microsoft Corporation.
11812
11887
  // Licensed under the MIT license.
11813
11888
  /**
@@ -11903,6 +11978,22 @@ function fileLastWriteTimeToString(time) {
11903
11978
  function fileChangeTimeToString(time) {
11904
11979
  return time instanceof Date ? truncatedISO8061Date(time) : time;
11905
11980
  }
11981
+ /**
11982
+ * Defines the known cloud audiences for Storage.
11983
+ */
11984
+ exports.StorageFileAudience = void 0;
11985
+ (function (StorageFileAudience) {
11986
+ /**
11987
+ * The OAuth scope to use to retrieve an AAD token for Azure Storage.
11988
+ */
11989
+ StorageFileAudience["StorageOAuthScopes"] = "https://storage.azure.com/.default";
11990
+ })(exports.StorageFileAudience || (exports.StorageFileAudience = {}));
11991
+ /**
11992
+ * To get the OAuth audience for a storage account for file service.
11993
+ */
11994
+ function getFileServiceAccountAudience(storageAccountName) {
11995
+ return `https://${storageAccountName}.file.core.windows.net/.default`;
11996
+ }
11906
11997
 
11907
11998
  // Copyright (c) Microsoft Corporation.
11908
11999
  // Licensed under the MIT license.
@@ -12382,7 +12473,7 @@ class ShareClient extends StorageClient {
12382
12473
  options) {
12383
12474
  let pipeline;
12384
12475
  let url;
12385
- if (credentialOrPipelineOrShareName instanceof Pipeline) {
12476
+ if (isPipelineLike(credentialOrPipelineOrShareName)) {
12386
12477
  // (url: string, pipeline: Pipeline)
12387
12478
  url = urlOrConnectionString;
12388
12479
  pipeline = credentialOrPipelineOrShareName;
@@ -12877,7 +12968,7 @@ class ShareDirectoryClient extends StorageClient {
12877
12968
  /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options */
12878
12969
  options = {}) {
12879
12970
  let pipeline;
12880
- if (credentialOrPipeline instanceof Pipeline) {
12971
+ if (isPipelineLike(credentialOrPipeline)) {
12881
12972
  pipeline = credentialOrPipeline;
12882
12973
  }
12883
12974
  else if (credentialOrPipeline instanceof Credential ||
@@ -13171,8 +13262,8 @@ class ShareDirectoryClient extends StorageClient {
13171
13262
  * items. The marker value is opaque to the client.
13172
13263
  * @param options - Options to list files and directories operation.
13173
13264
  */
13174
- iterateFilesAndDirectoriesSegments(marker, options = {}) {
13175
- return tslib.__asyncGenerator(this, arguments, function* iterateFilesAndDirectoriesSegments_1() {
13265
+ iterateFilesAndDirectoriesSegments(marker_1) {
13266
+ return tslib.__asyncGenerator(this, arguments, function* iterateFilesAndDirectoriesSegments_1(marker, options = {}) {
13176
13267
  if (options.prefix === "") {
13177
13268
  options.prefix = undefined;
13178
13269
  }
@@ -13189,8 +13280,8 @@ class ShareDirectoryClient extends StorageClient {
13189
13280
  *
13190
13281
  * @param options - Options to list files and directories operation.
13191
13282
  */
13192
- listFilesAndDirectoriesItems(options = {}) {
13193
- return tslib.__asyncGenerator(this, arguments, function* listFilesAndDirectoriesItems_1() {
13283
+ listFilesAndDirectoriesItems() {
13284
+ return tslib.__asyncGenerator(this, arguments, function* listFilesAndDirectoriesItems_1(options = {}) {
13194
13285
  var _a, e_1, _b, _c;
13195
13286
  if (options.prefix === "") {
13196
13287
  options.prefix = undefined;
@@ -13378,8 +13469,8 @@ class ShareDirectoryClient extends StorageClient {
13378
13469
  * set of list items.
13379
13470
  * @param options - Options to list handles operation.
13380
13471
  */
13381
- iterateHandleSegments(marker, options = {}) {
13382
- return tslib.__asyncGenerator(this, arguments, function* iterateHandleSegments_1() {
13472
+ iterateHandleSegments(marker_1) {
13473
+ return tslib.__asyncGenerator(this, arguments, function* iterateHandleSegments_1(marker, options = {}) {
13383
13474
  let listHandlesResponse;
13384
13475
  if (!!marker || marker === undefined) {
13385
13476
  do {
@@ -13395,8 +13486,8 @@ class ShareDirectoryClient extends StorageClient {
13395
13486
  *
13396
13487
  * @param options - Options to list handles operation.
13397
13488
  */
13398
- listHandleItems(options = {}) {
13399
- return tslib.__asyncGenerator(this, arguments, function* listHandleItems_1() {
13489
+ listHandleItems() {
13490
+ return tslib.__asyncGenerator(this, arguments, function* listHandleItems_1(options = {}) {
13400
13491
  var _a, e_2, _b, _c;
13401
13492
  let marker;
13402
13493
  try {
@@ -13693,7 +13784,7 @@ class ShareFileClient extends StorageClient {
13693
13784
  /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options */
13694
13785
  options) {
13695
13786
  let pipeline;
13696
- if (credentialOrPipeline instanceof Pipeline) {
13787
+ if (isPipelineLike(credentialOrPipeline)) {
13697
13788
  pipeline = credentialOrPipeline;
13698
13789
  }
13699
13790
  else if (credentialOrPipeline instanceof Credential ||
@@ -14136,7 +14227,7 @@ class ShareFileClient extends StorageClient {
14136
14227
  */
14137
14228
  async getRangeListDiff(prevShareSnapshot, options = {}) {
14138
14229
  return tracingClient.withSpan("ShareFileClient-getRangeListDiff", options, async (updatedOptions) => {
14139
- return assertResponse(await this.context.getRangeList(Object.assign(Object.assign(Object.assign({}, updatedOptions), { prevsharesnapshot: prevShareSnapshot, range: updatedOptions.range ? rangeToString(updatedOptions.range) : undefined }), this.shareClientConfig)));
14230
+ return assertResponse(await this.context.getRangeList(Object.assign(Object.assign(Object.assign({}, updatedOptions), { prevsharesnapshot: prevShareSnapshot, supportRename: options.includeRenames, range: updatedOptions.range ? rangeToString(updatedOptions.range) : undefined }), this.shareClientConfig)));
14140
14231
  });
14141
14232
  }
14142
14233
  /**
@@ -14524,8 +14615,8 @@ class ShareFileClient extends StorageClient {
14524
14615
  * set of list items.
14525
14616
  * @param options - Options to list handles operation.
14526
14617
  */
14527
- iterateHandleSegments(marker, options = {}) {
14528
- return tslib.__asyncGenerator(this, arguments, function* iterateHandleSegments_2() {
14618
+ iterateHandleSegments(marker_1) {
14619
+ return tslib.__asyncGenerator(this, arguments, function* iterateHandleSegments_2(marker, options = {}) {
14529
14620
  let listHandlesResponse;
14530
14621
  if (!!marker || marker === undefined) {
14531
14622
  do {
@@ -14541,8 +14632,8 @@ class ShareFileClient extends StorageClient {
14541
14632
  *
14542
14633
  * @param options - Options to list handles operation.
14543
14634
  */
14544
- listHandleItems(options = {}) {
14545
- return tslib.__asyncGenerator(this, arguments, function* listHandleItems_2() {
14635
+ listHandleItems() {
14636
+ return tslib.__asyncGenerator(this, arguments, function* listHandleItems_2(options = {}) {
14546
14637
  var _a, e_3, _b, _c;
14547
14638
  let marker;
14548
14639
  try {
@@ -14789,7 +14880,7 @@ class ShareLeaseClient {
14789
14880
  }
14790
14881
  this._url = client.url;
14791
14882
  if (!leaseId) {
14792
- leaseId = uuid.v4();
14883
+ leaseId = coreUtil.randomUUID();
14793
14884
  }
14794
14885
  this._leaseId = leaseId;
14795
14886
  }
@@ -14929,7 +15020,7 @@ class ShareServiceClient extends StorageClient {
14929
15020
  /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options */
14930
15021
  options) {
14931
15022
  let pipeline;
14932
- if (credentialOrPipeline instanceof Pipeline) {
15023
+ if (isPipelineLike(credentialOrPipeline)) {
14933
15024
  pipeline = credentialOrPipeline;
14934
15025
  }
14935
15026
  else if (credentialOrPipeline instanceof Credential ||
@@ -15030,8 +15121,8 @@ class ShareServiceClient extends StorageClient {
15030
15121
  * items. The marker value is opaque to the client.
15031
15122
  * @param options - Options to list shares operation.
15032
15123
  */
15033
- listSegments(marker, options = {}) {
15034
- return tslib.__asyncGenerator(this, arguments, function* listSegments_1() {
15124
+ listSegments(marker_1) {
15125
+ return tslib.__asyncGenerator(this, arguments, function* listSegments_1(marker, options = {}) {
15035
15126
  if (options.prefix === "") {
15036
15127
  options.prefix = undefined;
15037
15128
  }
@@ -15048,8 +15139,8 @@ class ShareServiceClient extends StorageClient {
15048
15139
  *
15049
15140
  * @param options - Options to list shares operation.
15050
15141
  */
15051
- listItems(options = {}) {
15052
- return tslib.__asyncGenerator(this, arguments, function* listItems_1() {
15142
+ listItems() {
15143
+ return tslib.__asyncGenerator(this, arguments, function* listItems_1(options = {}) {
15053
15144
  var _a, e_1, _b, _c;
15054
15145
  if (options.prefix === "") {
15055
15146
  options.prefix = undefined;
@@ -15269,7 +15360,7 @@ exports.KnownShareTokenIntent = void 0;
15269
15360
  KnownShareTokenIntent["Backup"] = "backup";
15270
15361
  })(exports.KnownShareTokenIntent || (exports.KnownShareTokenIntent = {}));
15271
15362
 
15272
- Object.defineProperty(exports, 'RestError', {
15363
+ Object.defineProperty(exports, "RestError", {
15273
15364
  enumerable: true,
15274
15365
  get: function () { return coreRestPipeline.RestError; }
15275
15366
  });
@@ -15300,6 +15391,7 @@ exports.StorageSharedKeyCredential = StorageSharedKeyCredential;
15300
15391
  exports.StorageSharedKeyCredentialPolicy = StorageSharedKeyCredentialPolicy;
15301
15392
  exports.generateAccountSASQueryParameters = generateAccountSASQueryParameters;
15302
15393
  exports.generateFileSASQueryParameters = generateFileSASQueryParameters;
15394
+ exports.getFileServiceAccountAudience = getFileServiceAccountAudience;
15303
15395
  exports.isPipelineLike = isPipelineLike;
15304
15396
  exports.logger = logger;
15305
15397
  exports.newPipeline = newPipeline;