@azure/storage-file-share 12.23.0-alpha.20240110.1 → 12.23.0-alpha.20240112.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/index.js +471 -270
  2. package/dist/index.js.map +1 -1
  3. package/dist-esm/storage-blob/src/BlobBatchClient.js +3 -1
  4. package/dist-esm/storage-blob/src/BlobBatchClient.js.map +1 -1
  5. package/dist-esm/storage-blob/src/BlobLeaseClient.js +35 -30
  6. package/dist-esm/storage-blob/src/BlobLeaseClient.js.map +1 -1
  7. package/dist-esm/storage-blob/src/BlobServiceClient.js +80 -81
  8. package/dist-esm/storage-blob/src/BlobServiceClient.js.map +1 -1
  9. package/dist-esm/storage-blob/src/Clients.js +302 -193
  10. package/dist-esm/storage-blob/src/Clients.js.map +1 -1
  11. package/dist-esm/storage-blob/src/ContainerClient.js +165 -132
  12. package/dist-esm/storage-blob/src/ContainerClient.js.map +1 -1
  13. package/dist-esm/storage-blob/src/PageBlobRangeResponse.js +10 -3
  14. package/dist-esm/storage-blob/src/PageBlobRangeResponse.js.map +1 -1
  15. package/dist-esm/storage-blob/src/Pipeline.js +19 -10
  16. package/dist-esm/storage-blob/src/Pipeline.js.map +1 -1
  17. package/dist-esm/storage-blob/src/StorageContextClient.js +1 -1
  18. package/dist-esm/storage-blob/src/StorageContextClient.js.map +1 -1
  19. package/dist-esm/storage-blob/src/generated/src/storageClient.js +7 -3
  20. package/dist-esm/storage-blob/src/generated/src/storageClient.js.map +1 -1
  21. package/dist-esm/storage-blob/src/policies/StorageRetryPolicy.js +1 -1
  22. package/dist-esm/storage-blob/src/policies/StorageRetryPolicy.js.map +1 -1
  23. package/dist-esm/storage-blob/src/policies/StorageRetryPolicyV2.js +10 -12
  24. package/dist-esm/storage-blob/src/policies/StorageRetryPolicyV2.js.map +1 -1
  25. package/dist-esm/storage-blob/src/pollers/BlobStartCopyFromUrlPoller.js +6 -3
  26. package/dist-esm/storage-blob/src/pollers/BlobStartCopyFromUrlPoller.js.map +1 -1
  27. package/dist-esm/storage-blob/src/utils/utils.common.js +24 -11
  28. package/dist-esm/storage-blob/src/utils/utils.common.js.map +1 -1
  29. package/dist-esm/storage-file-share/src/Clients.js +366 -194
  30. package/dist-esm/storage-file-share/src/Clients.js.map +1 -1
  31. package/dist-esm/storage-file-share/src/ShareServiceClient.js +42 -43
  32. package/dist-esm/storage-file-share/src/ShareServiceClient.js.map +1 -1
  33. package/dist-esm/storage-file-share/src/StorageContextClient.js +1 -1
  34. package/dist-esm/storage-file-share/src/StorageContextClient.js.map +1 -1
  35. package/dist-esm/storage-file-share/src/generated/src/storageClient.js +7 -3
  36. package/dist-esm/storage-file-share/src/generated/src/storageClient.js.map +1 -1
  37. package/dist-esm/storage-file-share/src/utils/utils.common.js +26 -10
  38. package/dist-esm/storage-file-share/src/utils/utils.common.js.map +1 -1
  39. package/package.json +1 -1
@@ -1,6 +1,5 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT license.
3
- import { __asyncDelegator, __asyncGenerator, __asyncValues, __await } from "tslib";
4
3
  import { getDefaultProxySettings, } from "@azure/core-rest-pipeline";
5
4
  import { isTokenCredential } from "@azure/core-auth";
6
5
  import { isNode } from "@azure/core-util";
@@ -217,11 +216,13 @@ export class BlobClient extends StorageClient {
217
216
  options.conditions = options.conditions || {};
218
217
  ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
219
218
  return tracingClient.withSpan("BlobClient-download", options, async (updatedOptions) => {
220
- var _a;
221
219
  const res = assertResponse(await this.blobContext.download({
222
220
  abortSignal: options.abortSignal,
223
221
  leaseAccessConditions: options.conditions,
224
- modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
222
+ modifiedAccessConditions: {
223
+ ...options.conditions,
224
+ ifTags: options.conditions?.tagConditions,
225
+ },
225
226
  requestOptions: {
226
227
  onDownloadProgress: isNode ? undefined : options.onProgress, // for Node.js, progress is reported by RetriableReadableStream
227
228
  },
@@ -232,7 +233,12 @@ export class BlobClient extends StorageClient {
232
233
  cpkInfo: options.customerProvidedKey,
233
234
  tracingOptions: updatedOptions.tracingOptions,
234
235
  }));
235
- const wrappedRes = Object.assign(Object.assign({}, res), { _response: res._response, objectReplicationDestinationPolicyId: res.objectReplicationPolicyId, objectReplicationSourceProperties: parseObjectReplicationRecord(res.objectReplicationRules) });
236
+ const wrappedRes = {
237
+ ...res,
238
+ _response: res._response,
239
+ objectReplicationDestinationPolicyId: res.objectReplicationPolicyId,
240
+ objectReplicationSourceProperties: parseObjectReplicationRecord(res.objectReplicationRules),
241
+ };
236
242
  // Return browser response immediately
237
243
  if (!isNode) {
238
244
  return wrappedRes;
@@ -253,7 +259,6 @@ export class BlobClient extends StorageClient {
253
259
  throw new RangeError(`File download response doesn't contain valid etag header`);
254
260
  }
255
261
  return new BlobDownloadResponse(wrappedRes, async (start) => {
256
- var _a;
257
262
  const updatedDownloadOptions = {
258
263
  leaseAccessConditions: options.conditions,
259
264
  modifiedAccessConditions: {
@@ -261,7 +266,7 @@ export class BlobClient extends StorageClient {
261
266
  ifModifiedSince: options.conditions.ifModifiedSince,
262
267
  ifNoneMatch: options.conditions.ifNoneMatch,
263
268
  ifUnmodifiedSince: options.conditions.ifUnmodifiedSince,
264
- ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions,
269
+ ifTags: options.conditions?.tagConditions,
265
270
  },
266
271
  range: rangeToString({
267
272
  count: offset + res.contentLength - start,
@@ -278,7 +283,10 @@ export class BlobClient extends StorageClient {
278
283
  // updatedOptions.range
279
284
  // }, options: ${JSON.stringify(updatedOptions)}`
280
285
  // );
281
- return (await this.blobContext.download(Object.assign({ abortSignal: options.abortSignal }, updatedDownloadOptions))).readableStreamBody;
286
+ return (await this.blobContext.download({
287
+ abortSignal: options.abortSignal,
288
+ ...updatedDownloadOptions,
289
+ })).readableStreamBody;
282
290
  }, offset, res.contentLength, {
283
291
  maxRetryRequests: options.maxRetryRequests,
284
292
  onProgress: options.onProgress,
@@ -337,15 +345,22 @@ export class BlobClient extends StorageClient {
337
345
  options.conditions = options.conditions || {};
338
346
  ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
339
347
  return tracingClient.withSpan("BlobClient-getProperties", options, async (updatedOptions) => {
340
- var _a;
341
348
  const res = assertResponse(await this.blobContext.getProperties({
342
349
  abortSignal: options.abortSignal,
343
350
  leaseAccessConditions: options.conditions,
344
- modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
351
+ modifiedAccessConditions: {
352
+ ...options.conditions,
353
+ ifTags: options.conditions?.tagConditions,
354
+ },
345
355
  cpkInfo: options.customerProvidedKey,
346
356
  tracingOptions: updatedOptions.tracingOptions,
347
357
  }));
348
- return Object.assign(Object.assign({}, res), { _response: res._response, objectReplicationDestinationPolicyId: res.objectReplicationPolicyId, objectReplicationSourceProperties: parseObjectReplicationRecord(res.objectReplicationRules) });
358
+ return {
359
+ ...res,
360
+ _response: res._response,
361
+ objectReplicationDestinationPolicyId: res.objectReplicationPolicyId,
362
+ objectReplicationSourceProperties: parseObjectReplicationRecord(res.objectReplicationRules),
363
+ };
349
364
  });
350
365
  }
351
366
  /**
@@ -360,12 +375,14 @@ export class BlobClient extends StorageClient {
360
375
  async delete(options = {}) {
361
376
  options.conditions = options.conditions || {};
362
377
  return tracingClient.withSpan("BlobClient-delete", options, async (updatedOptions) => {
363
- var _a;
364
378
  return assertResponse(await this.blobContext.delete({
365
379
  abortSignal: options.abortSignal,
366
380
  deleteSnapshots: options.deleteSnapshots,
367
381
  leaseAccessConditions: options.conditions,
368
- modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
382
+ modifiedAccessConditions: {
383
+ ...options.conditions,
384
+ ifTags: options.conditions?.tagConditions,
385
+ },
369
386
  tracingOptions: updatedOptions.tracingOptions,
370
387
  }));
371
388
  });
@@ -381,14 +398,21 @@ export class BlobClient extends StorageClient {
381
398
  */
382
399
  async deleteIfExists(options = {}) {
383
400
  return tracingClient.withSpan("BlobClient-deleteIfExists", options, async (updatedOptions) => {
384
- var _a, _b;
385
401
  try {
386
402
  const res = assertResponse(await this.delete(updatedOptions));
387
- return Object.assign(Object.assign({ succeeded: true }, res), { _response: res._response });
403
+ return {
404
+ succeeded: true,
405
+ ...res,
406
+ _response: res._response, // _response is made non-enumerable
407
+ };
388
408
  }
389
409
  catch (e) {
390
- if (((_a = e.details) === null || _a === void 0 ? void 0 : _a.errorCode) === "BlobNotFound") {
391
- return Object.assign(Object.assign({ succeeded: false }, (_b = e.response) === null || _b === void 0 ? void 0 : _b.parsedHeaders), { _response: e.response });
410
+ if (e.details?.errorCode === "BlobNotFound") {
411
+ return {
412
+ succeeded: false,
413
+ ...e.response?.parsedHeaders,
414
+ _response: e.response,
415
+ };
392
416
  }
393
417
  throw e;
394
418
  }
@@ -429,12 +453,14 @@ export class BlobClient extends StorageClient {
429
453
  options.conditions = options.conditions || {};
430
454
  ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
431
455
  return tracingClient.withSpan("BlobClient-setHTTPHeaders", options, async (updatedOptions) => {
432
- var _a;
433
456
  return assertResponse(await this.blobContext.setHttpHeaders({
434
457
  abortSignal: options.abortSignal,
435
458
  blobHttpHeaders: blobHTTPHeaders,
436
459
  leaseAccessConditions: options.conditions,
437
- modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
460
+ modifiedAccessConditions: {
461
+ ...options.conditions,
462
+ ifTags: options.conditions?.tagConditions,
463
+ },
438
464
  // cpkInfo: options.customerProvidedKey, // CPK is not included in Swagger, should change this back when this issue is fixed in Swagger.
439
465
  tracingOptions: updatedOptions.tracingOptions,
440
466
  }));
@@ -455,12 +481,14 @@ export class BlobClient extends StorageClient {
455
481
  options.conditions = options.conditions || {};
456
482
  ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
457
483
  return tracingClient.withSpan("BlobClient-setMetadata", options, async (updatedOptions) => {
458
- var _a;
459
484
  return assertResponse(await this.blobContext.setMetadata({
460
485
  abortSignal: options.abortSignal,
461
486
  leaseAccessConditions: options.conditions,
462
487
  metadata,
463
- modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
488
+ modifiedAccessConditions: {
489
+ ...options.conditions,
490
+ ifTags: options.conditions?.tagConditions,
491
+ },
464
492
  cpkInfo: options.customerProvidedKey,
465
493
  encryptionScope: options.encryptionScope,
466
494
  tracingOptions: updatedOptions.tracingOptions,
@@ -478,11 +506,13 @@ export class BlobClient extends StorageClient {
478
506
  */
479
507
  async setTags(tags, options = {}) {
480
508
  return tracingClient.withSpan("BlobClient-setTags", options, async (updatedOptions) => {
481
- var _a;
482
509
  return assertResponse(await this.blobContext.setTags({
483
510
  abortSignal: options.abortSignal,
484
511
  leaseAccessConditions: options.conditions,
485
- modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
512
+ modifiedAccessConditions: {
513
+ ...options.conditions,
514
+ ifTags: options.conditions?.tagConditions,
515
+ },
486
516
  tracingOptions: updatedOptions.tracingOptions,
487
517
  tags: toBlobTags(tags),
488
518
  }));
@@ -495,14 +525,20 @@ export class BlobClient extends StorageClient {
495
525
  */
496
526
  async getTags(options = {}) {
497
527
  return tracingClient.withSpan("BlobClient-getTags", options, async (updatedOptions) => {
498
- var _a;
499
528
  const response = assertResponse(await this.blobContext.getTags({
500
529
  abortSignal: options.abortSignal,
501
530
  leaseAccessConditions: options.conditions,
502
- modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
531
+ modifiedAccessConditions: {
532
+ ...options.conditions,
533
+ ifTags: options.conditions?.tagConditions,
534
+ },
503
535
  tracingOptions: updatedOptions.tracingOptions,
504
536
  }));
505
- const wrappedResponse = Object.assign(Object.assign({}, response), { _response: response._response, tags: toTags({ blobTagSet: response.blobTagSet }) || {} });
537
+ const wrappedResponse = {
538
+ ...response,
539
+ _response: response._response,
540
+ tags: toTags({ blobTagSet: response.blobTagSet }) || {},
541
+ };
506
542
  return wrappedResponse;
507
543
  });
508
544
  }
@@ -525,12 +561,14 @@ export class BlobClient extends StorageClient {
525
561
  options.conditions = options.conditions || {};
526
562
  ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
527
563
  return tracingClient.withSpan("BlobClient-createSnapshot", options, async (updatedOptions) => {
528
- var _a;
529
564
  return assertResponse(await this.blobContext.createSnapshot({
530
565
  abortSignal: options.abortSignal,
531
566
  leaseAccessConditions: options.conditions,
532
567
  metadata: options.metadata,
533
- modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
568
+ modifiedAccessConditions: {
569
+ ...options.conditions,
570
+ ifTags: options.conditions?.tagConditions,
571
+ },
534
572
  cpkInfo: options.customerProvidedKey,
535
573
  encryptionScope: options.encryptionScope,
536
574
  tracingOptions: updatedOptions.tracingOptions,
@@ -657,24 +695,26 @@ export class BlobClient extends StorageClient {
657
695
  options.conditions = options.conditions || {};
658
696
  options.sourceConditions = options.sourceConditions || {};
659
697
  return tracingClient.withSpan("BlobClient-syncCopyFromURL", options, async (updatedOptions) => {
660
- var _a, _b, _c, _d, _e, _f, _g;
661
698
  return assertResponse(await this.blobContext.copyFromURL(copySource, {
662
699
  abortSignal: options.abortSignal,
663
700
  metadata: options.metadata,
664
701
  leaseAccessConditions: options.conditions,
665
- modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
702
+ modifiedAccessConditions: {
703
+ ...options.conditions,
704
+ ifTags: options.conditions?.tagConditions,
705
+ },
666
706
  sourceModifiedAccessConditions: {
667
- sourceIfMatch: (_b = options.sourceConditions) === null || _b === void 0 ? void 0 : _b.ifMatch,
668
- sourceIfModifiedSince: (_c = options.sourceConditions) === null || _c === void 0 ? void 0 : _c.ifModifiedSince,
669
- sourceIfNoneMatch: (_d = options.sourceConditions) === null || _d === void 0 ? void 0 : _d.ifNoneMatch,
670
- sourceIfUnmodifiedSince: (_e = options.sourceConditions) === null || _e === void 0 ? void 0 : _e.ifUnmodifiedSince,
707
+ sourceIfMatch: options.sourceConditions?.ifMatch,
708
+ sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
709
+ sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
710
+ sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince,
671
711
  },
672
712
  sourceContentMD5: options.sourceContentMD5,
673
713
  copySourceAuthorization: httpAuthorizationToString(options.sourceAuthorization),
674
714
  tier: toAccessTier(options.tier),
675
715
  blobTagsString: toBlobTagsString(options.tags),
676
- immutabilityPolicyExpiry: (_f = options.immutabilityPolicy) === null || _f === void 0 ? void 0 : _f.expiriesOn,
677
- immutabilityPolicyMode: (_g = options.immutabilityPolicy) === null || _g === void 0 ? void 0 : _g.policyMode,
716
+ immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
717
+ immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
678
718
  legalHold: options.legalHold,
679
719
  encryptionScope: options.encryptionScope,
680
720
  copySourceTags: options.copySourceTags,
@@ -695,18 +735,19 @@ export class BlobClient extends StorageClient {
695
735
  */
696
736
  async setAccessTier(tier, options = {}) {
697
737
  return tracingClient.withSpan("BlobClient-setAccessTier", options, async (updatedOptions) => {
698
- var _a;
699
738
  return assertResponse(await this.blobContext.setTier(toAccessTier(tier), {
700
739
  abortSignal: options.abortSignal,
701
740
  leaseAccessConditions: options.conditions,
702
- modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
741
+ modifiedAccessConditions: {
742
+ ...options.conditions,
743
+ ifTags: options.conditions?.tagConditions,
744
+ },
703
745
  rehydratePriority: options.rehydratePriority,
704
746
  tracingOptions: updatedOptions.tracingOptions,
705
747
  }));
706
748
  });
707
749
  }
708
750
  async downloadToBuffer(param1, param2, param3, param4 = {}) {
709
- var _a;
710
751
  let buffer;
711
752
  let offset = 0;
712
753
  let count = 0;
@@ -721,7 +762,7 @@ export class BlobClient extends StorageClient {
721
762
  count = typeof param2 === "number" ? param2 : 0;
722
763
  options = param3 || {};
723
764
  }
724
- let blockSize = (_a = options.blockSize) !== null && _a !== void 0 ? _a : 0;
765
+ let blockSize = options.blockSize ?? 0;
725
766
  if (blockSize < 0) {
726
767
  throw new RangeError("blockSize option must be >= 0");
727
768
  }
@@ -740,7 +781,10 @@ export class BlobClient extends StorageClient {
740
781
  return tracingClient.withSpan("BlobClient-downloadToBuffer", options, async (updatedOptions) => {
741
782
  // Customer doesn't specify length, get it
742
783
  if (!count) {
743
- const response = await this.getProperties(Object.assign(Object.assign({}, options), { tracingOptions: updatedOptions.tracingOptions }));
784
+ const response = await this.getProperties({
785
+ ...options,
786
+ tracingOptions: updatedOptions.tracingOptions,
787
+ });
744
788
  count = response.contentLength - offset;
745
789
  if (count < 0) {
746
790
  throw new RangeError(`offset ${offset} shouldn't be larger than blob size ${response.contentLength}`);
@@ -807,7 +851,10 @@ export class BlobClient extends StorageClient {
807
851
  */
808
852
  async downloadToFile(filePath, offset = 0, count, options = {}) {
809
853
  return tracingClient.withSpan("BlobClient-downloadToFile", options, async (updatedOptions) => {
810
- const response = await this.download(offset, count, Object.assign(Object.assign({}, options), { tracingOptions: updatedOptions.tracingOptions }));
854
+ const response = await this.download(offset, count, {
855
+ ...options,
856
+ tracingOptions: updatedOptions.tracingOptions,
857
+ });
811
858
  if (response.readableStreamBody) {
812
859
  await readStreamToLocalFile(response.readableStreamBody, filePath);
813
860
  }
@@ -880,14 +927,16 @@ export class BlobClient extends StorageClient {
880
927
  */
881
928
  async startCopyFromURL(copySource, options = {}) {
882
929
  return tracingClient.withSpan("BlobClient-startCopyFromURL", options, async (updatedOptions) => {
883
- var _a, _b, _c;
884
930
  options.conditions = options.conditions || {};
885
931
  options.sourceConditions = options.sourceConditions || {};
886
932
  return assertResponse(await this.blobContext.startCopyFromURL(copySource, {
887
933
  abortSignal: options.abortSignal,
888
934
  leaseAccessConditions: options.conditions,
889
935
  metadata: options.metadata,
890
- modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
936
+ modifiedAccessConditions: {
937
+ ...options.conditions,
938
+ ifTags: options.conditions?.tagConditions,
939
+ },
891
940
  sourceModifiedAccessConditions: {
892
941
  sourceIfMatch: options.sourceConditions.ifMatch,
893
942
  sourceIfModifiedSince: options.sourceConditions.ifModifiedSince,
@@ -895,8 +944,8 @@ export class BlobClient extends StorageClient {
895
944
  sourceIfUnmodifiedSince: options.sourceConditions.ifUnmodifiedSince,
896
945
  sourceIfTags: options.sourceConditions.tagConditions,
897
946
  },
898
- immutabilityPolicyExpiry: (_b = options.immutabilityPolicy) === null || _b === void 0 ? void 0 : _b.expiriesOn,
899
- immutabilityPolicyMode: (_c = options.immutabilityPolicy) === null || _c === void 0 ? void 0 : _c.policyMode,
947
+ immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
948
+ immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
900
949
  legalHold: options.legalHold,
901
950
  rehydratePriority: options.rehydratePriority,
902
951
  tier: toAccessTier(options.tier),
@@ -922,7 +971,13 @@ export class BlobClient extends StorageClient {
922
971
  if (!(this.credential instanceof StorageSharedKeyCredential)) {
923
972
  throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
924
973
  }
925
- const sas = generateBlobSASQueryParameters(Object.assign({ containerName: this._containerName, blobName: this._name, snapshotTime: this._snapshot, versionId: this._versionId }, options), this.credential).toString();
974
+ const sas = generateBlobSASQueryParameters({
975
+ containerName: this._containerName,
976
+ blobName: this._name,
977
+ snapshotTime: this._snapshot,
978
+ versionId: this._versionId,
979
+ ...options,
980
+ }, this.credential).toString();
926
981
  resolve(appendToURLQuery(this.url, sas));
927
982
  });
928
983
  }
@@ -1065,17 +1120,19 @@ export class AppendBlobClient extends BlobClient {
1065
1120
  options.conditions = options.conditions || {};
1066
1121
  ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
1067
1122
  return tracingClient.withSpan("AppendBlobClient-create", options, async (updatedOptions) => {
1068
- var _a, _b, _c;
1069
1123
  return assertResponse(await this.appendBlobContext.create(0, {
1070
1124
  abortSignal: options.abortSignal,
1071
1125
  blobHttpHeaders: options.blobHTTPHeaders,
1072
1126
  leaseAccessConditions: options.conditions,
1073
1127
  metadata: options.metadata,
1074
- modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
1128
+ modifiedAccessConditions: {
1129
+ ...options.conditions,
1130
+ ifTags: options.conditions?.tagConditions,
1131
+ },
1075
1132
  cpkInfo: options.customerProvidedKey,
1076
1133
  encryptionScope: options.encryptionScope,
1077
- immutabilityPolicyExpiry: (_b = options.immutabilityPolicy) === null || _b === void 0 ? void 0 : _b.expiriesOn,
1078
- immutabilityPolicyMode: (_c = options.immutabilityPolicy) === null || _c === void 0 ? void 0 : _c.policyMode,
1134
+ immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
1135
+ immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
1079
1136
  legalHold: options.legalHold,
1080
1137
  blobTagsString: toBlobTagsString(options.tags),
1081
1138
  tracingOptions: updatedOptions.tracingOptions,
@@ -1092,14 +1149,24 @@ export class AppendBlobClient extends BlobClient {
1092
1149
  async createIfNotExists(options = {}) {
1093
1150
  const conditions = { ifNoneMatch: ETagAny };
1094
1151
  return tracingClient.withSpan("AppendBlobClient-createIfNotExists", options, async (updatedOptions) => {
1095
- var _a, _b;
1096
1152
  try {
1097
- const res = assertResponse(await this.create(Object.assign(Object.assign({}, updatedOptions), { conditions })));
1098
- return Object.assign(Object.assign({ succeeded: true }, res), { _response: res._response });
1153
+ const res = assertResponse(await this.create({
1154
+ ...updatedOptions,
1155
+ conditions,
1156
+ }));
1157
+ return {
1158
+ succeeded: true,
1159
+ ...res,
1160
+ _response: res._response, // _response is made non-enumerable
1161
+ };
1099
1162
  }
1100
1163
  catch (e) {
1101
- if (((_a = e.details) === null || _a === void 0 ? void 0 : _a.errorCode) === "BlobAlreadyExists") {
1102
- return Object.assign(Object.assign({ succeeded: false }, (_b = e.response) === null || _b === void 0 ? void 0 : _b.parsedHeaders), { _response: e.response });
1164
+ if (e.details?.errorCode === "BlobAlreadyExists") {
1165
+ return {
1166
+ succeeded: false,
1167
+ ...e.response?.parsedHeaders,
1168
+ _response: e.response,
1169
+ };
1103
1170
  }
1104
1171
  throw e;
1105
1172
  }
@@ -1113,12 +1180,14 @@ export class AppendBlobClient extends BlobClient {
1113
1180
  async seal(options = {}) {
1114
1181
  options.conditions = options.conditions || {};
1115
1182
  return tracingClient.withSpan("AppendBlobClient-seal", options, async (updatedOptions) => {
1116
- var _a;
1117
1183
  return assertResponse(await this.appendBlobContext.seal({
1118
1184
  abortSignal: options.abortSignal,
1119
1185
  appendPositionAccessConditions: options.conditions,
1120
1186
  leaseAccessConditions: options.conditions,
1121
- modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
1187
+ modifiedAccessConditions: {
1188
+ ...options.conditions,
1189
+ ifTags: options.conditions?.tagConditions,
1190
+ },
1122
1191
  tracingOptions: updatedOptions.tracingOptions,
1123
1192
  }));
1124
1193
  });
@@ -1151,12 +1220,14 @@ export class AppendBlobClient extends BlobClient {
1151
1220
  options.conditions = options.conditions || {};
1152
1221
  ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
1153
1222
  return tracingClient.withSpan("AppendBlobClient-appendBlock", options, async (updatedOptions) => {
1154
- var _a;
1155
1223
  return assertResponse(await this.appendBlobContext.appendBlock(contentLength, body, {
1156
1224
  abortSignal: options.abortSignal,
1157
1225
  appendPositionAccessConditions: options.conditions,
1158
1226
  leaseAccessConditions: options.conditions,
1159
- modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
1227
+ modifiedAccessConditions: {
1228
+ ...options.conditions,
1229
+ ifTags: options.conditions?.tagConditions,
1230
+ },
1160
1231
  requestOptions: {
1161
1232
  onUploadProgress: options.onProgress,
1162
1233
  },
@@ -1187,7 +1258,6 @@ export class AppendBlobClient extends BlobClient {
1187
1258
  options.sourceConditions = options.sourceConditions || {};
1188
1259
  ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
1189
1260
  return tracingClient.withSpan("AppendBlobClient-appendBlockFromURL", options, async (updatedOptions) => {
1190
- var _a, _b, _c, _d, _e;
1191
1261
  return assertResponse(await this.appendBlobContext.appendBlockFromUrl(sourceURL, 0, {
1192
1262
  abortSignal: options.abortSignal,
1193
1263
  sourceRange: rangeToString({ offset: sourceOffset, count }),
@@ -1195,12 +1265,15 @@ export class AppendBlobClient extends BlobClient {
1195
1265
  sourceContentCrc64: options.sourceContentCrc64,
1196
1266
  leaseAccessConditions: options.conditions,
1197
1267
  appendPositionAccessConditions: options.conditions,
1198
- modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
1268
+ modifiedAccessConditions: {
1269
+ ...options.conditions,
1270
+ ifTags: options.conditions?.tagConditions,
1271
+ },
1199
1272
  sourceModifiedAccessConditions: {
1200
- sourceIfMatch: (_b = options.sourceConditions) === null || _b === void 0 ? void 0 : _b.ifMatch,
1201
- sourceIfModifiedSince: (_c = options.sourceConditions) === null || _c === void 0 ? void 0 : _c.ifModifiedSince,
1202
- sourceIfNoneMatch: (_d = options.sourceConditions) === null || _d === void 0 ? void 0 : _d.ifNoneMatch,
1203
- sourceIfUnmodifiedSince: (_e = options.sourceConditions) === null || _e === void 0 ? void 0 : _e.ifUnmodifiedSince,
1273
+ sourceIfMatch: options.sourceConditions?.ifMatch,
1274
+ sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
1275
+ sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
1276
+ sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince,
1204
1277
  },
1205
1278
  copySourceAuthorization: httpAuthorizationToString(options.sourceAuthorization),
1206
1279
  cpkInfo: options.customerProvidedKey,
@@ -1332,7 +1405,6 @@ export class BlockBlobClient extends BlobClient {
1332
1405
  throw new Error("This operation currently is only supported in Node.js.");
1333
1406
  }
1334
1407
  return tracingClient.withSpan("BlockBlobClient-query", options, async (updatedOptions) => {
1335
- var _a;
1336
1408
  const response = assertResponse(await this._blobContext.query({
1337
1409
  abortSignal: options.abortSignal,
1338
1410
  queryRequest: {
@@ -1342,7 +1414,10 @@ export class BlockBlobClient extends BlobClient {
1342
1414
  outputSerialization: toQuerySerialization(options.outputTextConfiguration),
1343
1415
  },
1344
1416
  leaseAccessConditions: options.conditions,
1345
- modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
1417
+ modifiedAccessConditions: {
1418
+ ...options.conditions,
1419
+ ifTags: options.conditions?.tagConditions,
1420
+ },
1346
1421
  cpkInfo: options.customerProvidedKey,
1347
1422
  tracingOptions: updatedOptions.tracingOptions,
1348
1423
  }));
@@ -1384,20 +1459,22 @@ export class BlockBlobClient extends BlobClient {
1384
1459
  options.conditions = options.conditions || {};
1385
1460
  ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
1386
1461
  return tracingClient.withSpan("BlockBlobClient-upload", options, async (updatedOptions) => {
1387
- var _a, _b, _c;
1388
1462
  return assertResponse(await this.blockBlobContext.upload(contentLength, body, {
1389
1463
  abortSignal: options.abortSignal,
1390
1464
  blobHttpHeaders: options.blobHTTPHeaders,
1391
1465
  leaseAccessConditions: options.conditions,
1392
1466
  metadata: options.metadata,
1393
- modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
1467
+ modifiedAccessConditions: {
1468
+ ...options.conditions,
1469
+ ifTags: options.conditions?.tagConditions,
1470
+ },
1394
1471
  requestOptions: {
1395
1472
  onUploadProgress: options.onProgress,
1396
1473
  },
1397
1474
  cpkInfo: options.customerProvidedKey,
1398
1475
  encryptionScope: options.encryptionScope,
1399
- immutabilityPolicyExpiry: (_b = options.immutabilityPolicy) === null || _b === void 0 ? void 0 : _b.expiriesOn,
1400
- immutabilityPolicyMode: (_c = options.immutabilityPolicy) === null || _c === void 0 ? void 0 : _c.policyMode,
1476
+ immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
1477
+ immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
1401
1478
  legalHold: options.legalHold,
1402
1479
  tier: toAccessTier(options.tier),
1403
1480
  blobTagsString: toBlobTagsString(options.tags),
@@ -1427,14 +1504,28 @@ export class BlockBlobClient extends BlobClient {
1427
1504
  options.conditions = options.conditions || {};
1428
1505
  ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
1429
1506
  return tracingClient.withSpan("BlockBlobClient-syncUploadFromURL", options, async (updatedOptions) => {
1430
- var _a, _b, _c, _d, _e, _f;
1431
- return assertResponse(await this.blockBlobContext.putBlobFromUrl(0, sourceURL, Object.assign(Object.assign({}, options), { blobHttpHeaders: options.blobHTTPHeaders, leaseAccessConditions: options.conditions, modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }), sourceModifiedAccessConditions: {
1432
- sourceIfMatch: (_b = options.sourceConditions) === null || _b === void 0 ? void 0 : _b.ifMatch,
1433
- sourceIfModifiedSince: (_c = options.sourceConditions) === null || _c === void 0 ? void 0 : _c.ifModifiedSince,
1434
- sourceIfNoneMatch: (_d = options.sourceConditions) === null || _d === void 0 ? void 0 : _d.ifNoneMatch,
1435
- sourceIfUnmodifiedSince: (_e = options.sourceConditions) === null || _e === void 0 ? void 0 : _e.ifUnmodifiedSince,
1436
- sourceIfTags: (_f = options.sourceConditions) === null || _f === void 0 ? void 0 : _f.tagConditions,
1437
- }, cpkInfo: options.customerProvidedKey, copySourceAuthorization: httpAuthorizationToString(options.sourceAuthorization), tier: toAccessTier(options.tier), blobTagsString: toBlobTagsString(options.tags), copySourceTags: options.copySourceTags, tracingOptions: updatedOptions.tracingOptions })));
1507
+ return assertResponse(await this.blockBlobContext.putBlobFromUrl(0, sourceURL, {
1508
+ ...options,
1509
+ blobHttpHeaders: options.blobHTTPHeaders,
1510
+ leaseAccessConditions: options.conditions,
1511
+ modifiedAccessConditions: {
1512
+ ...options.conditions,
1513
+ ifTags: options.conditions?.tagConditions,
1514
+ },
1515
+ sourceModifiedAccessConditions: {
1516
+ sourceIfMatch: options.sourceConditions?.ifMatch,
1517
+ sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
1518
+ sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
1519
+ sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince,
1520
+ sourceIfTags: options.sourceConditions?.tagConditions,
1521
+ },
1522
+ cpkInfo: options.customerProvidedKey,
1523
+ copySourceAuthorization: httpAuthorizationToString(options.sourceAuthorization),
1524
+ tier: toAccessTier(options.tier),
1525
+ blobTagsString: toBlobTagsString(options.tags),
1526
+ copySourceTags: options.copySourceTags,
1527
+ tracingOptions: updatedOptions.tracingOptions,
1528
+ }));
1438
1529
  });
1439
1530
  }
1440
1531
  /**
@@ -1518,17 +1609,19 @@ export class BlockBlobClient extends BlobClient {
1518
1609
  options.conditions = options.conditions || {};
1519
1610
  ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
1520
1611
  return tracingClient.withSpan("BlockBlobClient-commitBlockList", options, async (updatedOptions) => {
1521
- var _a, _b, _c;
1522
1612
  return assertResponse(await this.blockBlobContext.commitBlockList({ latest: blocks }, {
1523
1613
  abortSignal: options.abortSignal,
1524
1614
  blobHttpHeaders: options.blobHTTPHeaders,
1525
1615
  leaseAccessConditions: options.conditions,
1526
1616
  metadata: options.metadata,
1527
- modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
1617
+ modifiedAccessConditions: {
1618
+ ...options.conditions,
1619
+ ifTags: options.conditions?.tagConditions,
1620
+ },
1528
1621
  cpkInfo: options.customerProvidedKey,
1529
1622
  encryptionScope: options.encryptionScope,
1530
- immutabilityPolicyExpiry: (_b = options.immutabilityPolicy) === null || _b === void 0 ? void 0 : _b.expiriesOn,
1531
- immutabilityPolicyMode: (_c = options.immutabilityPolicy) === null || _c === void 0 ? void 0 : _c.policyMode,
1623
+ immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
1624
+ immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
1532
1625
  legalHold: options.legalHold,
1533
1626
  tier: toAccessTier(options.tier),
1534
1627
  blobTagsString: toBlobTagsString(options.tags),
@@ -1548,11 +1641,13 @@ export class BlockBlobClient extends BlobClient {
1548
1641
  */
1549
1642
  async getBlockList(listType, options = {}) {
1550
1643
  return tracingClient.withSpan("BlockBlobClient-getBlockList", options, async (updatedOptions) => {
1551
- var _a;
1552
1644
  const res = assertResponse(await this.blockBlobContext.getBlockList(listType, {
1553
1645
  abortSignal: options.abortSignal,
1554
1646
  leaseAccessConditions: options.conditions,
1555
- modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
1647
+ modifiedAccessConditions: {
1648
+ ...options.conditions,
1649
+ ifTags: options.conditions?.tagConditions,
1650
+ },
1556
1651
  tracingOptions: updatedOptions.tracingOptions,
1557
1652
  }));
1558
1653
  if (!res.committedBlocks) {
@@ -1643,12 +1738,11 @@ export class BlockBlobClient extends BlobClient {
1643
1738
  * @returns Response data for the Blob Upload operation.
1644
1739
  */
1645
1740
  async uploadSeekableInternal(bodyFactory, size, options = {}) {
1646
- var _a, _b;
1647
- let blockSize = (_a = options.blockSize) !== null && _a !== void 0 ? _a : 0;
1741
+ let blockSize = options.blockSize ?? 0;
1648
1742
  if (blockSize < 0 || blockSize > BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES) {
1649
1743
  throw new RangeError(`blockSize option must be >= 0 and <= ${BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES}`);
1650
1744
  }
1651
- const maxSingleShotSize = (_b = options.maxSingleShotSize) !== null && _b !== void 0 ? _b : BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES;
1745
+ const maxSingleShotSize = options.maxSingleShotSize ?? BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES;
1652
1746
  if (maxSingleShotSize < 0 || maxSingleShotSize > BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES) {
1653
1747
  throw new RangeError(`maxSingleShotSize option must be >= 0 and <= ${BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}`);
1654
1748
  }
@@ -1731,7 +1825,10 @@ export class BlockBlobClient extends BlobClient {
1731
1825
  end: count ? offset + count - 1 : Infinity,
1732
1826
  start: offset,
1733
1827
  });
1734
- }, size, Object.assign(Object.assign({}, options), { tracingOptions: updatedOptions.tracingOptions }));
1828
+ }, size, {
1829
+ ...options,
1830
+ tracingOptions: updatedOptions.tracingOptions,
1831
+ });
1735
1832
  });
1736
1833
  }
1737
1834
  /**
@@ -1783,7 +1880,10 @@ export class BlockBlobClient extends BlobClient {
1783
1880
  // Outgoing queue shouldn't be empty.
1784
1881
  Math.ceil((maxConcurrency / 4) * 3));
1785
1882
  await scheduler.do();
1786
- return assertResponse(await this.commitBlockList(blockList, Object.assign(Object.assign({}, options), { tracingOptions: updatedOptions.tracingOptions })));
1883
+ return assertResponse(await this.commitBlockList(blockList, {
1884
+ ...options,
1885
+ tracingOptions: updatedOptions.tracingOptions,
1886
+ }));
1787
1887
  });
1788
1888
  }
1789
1889
  }
@@ -1882,18 +1982,20 @@ export class PageBlobClient extends BlobClient {
1882
1982
  options.conditions = options.conditions || {};
1883
1983
  ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
1884
1984
  return tracingClient.withSpan("PageBlobClient-create", options, async (updatedOptions) => {
1885
- var _a, _b, _c;
1886
1985
  return assertResponse(await this.pageBlobContext.create(0, size, {
1887
1986
  abortSignal: options.abortSignal,
1888
1987
  blobHttpHeaders: options.blobHTTPHeaders,
1889
1988
  blobSequenceNumber: options.blobSequenceNumber,
1890
1989
  leaseAccessConditions: options.conditions,
1891
1990
  metadata: options.metadata,
1892
- modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
1991
+ modifiedAccessConditions: {
1992
+ ...options.conditions,
1993
+ ifTags: options.conditions?.tagConditions,
1994
+ },
1893
1995
  cpkInfo: options.customerProvidedKey,
1894
1996
  encryptionScope: options.encryptionScope,
1895
- immutabilityPolicyExpiry: (_b = options.immutabilityPolicy) === null || _b === void 0 ? void 0 : _b.expiriesOn,
1896
- immutabilityPolicyMode: (_c = options.immutabilityPolicy) === null || _c === void 0 ? void 0 : _c.policyMode,
1997
+ immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
1998
+ immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
1897
1999
  legalHold: options.legalHold,
1898
2000
  tier: toAccessTier(options.tier),
1899
2001
  blobTagsString: toBlobTagsString(options.tags),
@@ -1912,15 +2014,26 @@ export class PageBlobClient extends BlobClient {
1912
2014
  */
1913
2015
  async createIfNotExists(size, options = {}) {
1914
2016
  return tracingClient.withSpan("PageBlobClient-createIfNotExists", options, async (updatedOptions) => {
1915
- var _a, _b;
1916
2017
  try {
1917
2018
  const conditions = { ifNoneMatch: ETagAny };
1918
- const res = assertResponse(await this.create(size, Object.assign(Object.assign({}, options), { conditions, tracingOptions: updatedOptions.tracingOptions })));
1919
- return Object.assign(Object.assign({ succeeded: true }, res), { _response: res._response });
2019
+ const res = assertResponse(await this.create(size, {
2020
+ ...options,
2021
+ conditions,
2022
+ tracingOptions: updatedOptions.tracingOptions,
2023
+ }));
2024
+ return {
2025
+ succeeded: true,
2026
+ ...res,
2027
+ _response: res._response, // _response is made non-enumerable
2028
+ };
1920
2029
  }
1921
2030
  catch (e) {
1922
- if (((_a = e.details) === null || _a === void 0 ? void 0 : _a.errorCode) === "BlobAlreadyExists") {
1923
- return Object.assign(Object.assign({ succeeded: false }, (_b = e.response) === null || _b === void 0 ? void 0 : _b.parsedHeaders), { _response: e.response });
2031
+ if (e.details?.errorCode === "BlobAlreadyExists") {
2032
+ return {
2033
+ succeeded: false,
2034
+ ...e.response?.parsedHeaders,
2035
+ _response: e.response,
2036
+ };
1924
2037
  }
1925
2038
  throw e;
1926
2039
  }
@@ -1940,11 +2053,13 @@ export class PageBlobClient extends BlobClient {
1940
2053
  options.conditions = options.conditions || {};
1941
2054
  ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
1942
2055
  return tracingClient.withSpan("PageBlobClient-uploadPages", options, async (updatedOptions) => {
1943
- var _a;
1944
2056
  return assertResponse(await this.pageBlobContext.uploadPages(count, body, {
1945
2057
  abortSignal: options.abortSignal,
1946
2058
  leaseAccessConditions: options.conditions,
1947
- modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
2059
+ modifiedAccessConditions: {
2060
+ ...options.conditions,
2061
+ ifTags: options.conditions?.tagConditions,
2062
+ },
1948
2063
  requestOptions: {
1949
2064
  onUploadProgress: options.onProgress,
1950
2065
  },
@@ -1974,19 +2089,21 @@ export class PageBlobClient extends BlobClient {
1974
2089
  options.sourceConditions = options.sourceConditions || {};
1975
2090
  ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
1976
2091
  return tracingClient.withSpan("PageBlobClient-uploadPagesFromURL", options, async (updatedOptions) => {
1977
- var _a, _b, _c, _d, _e;
1978
2092
  return assertResponse(await this.pageBlobContext.uploadPagesFromURL(sourceURL, rangeToString({ offset: sourceOffset, count }), 0, rangeToString({ offset: destOffset, count }), {
1979
2093
  abortSignal: options.abortSignal,
1980
2094
  sourceContentMD5: options.sourceContentMD5,
1981
2095
  sourceContentCrc64: options.sourceContentCrc64,
1982
2096
  leaseAccessConditions: options.conditions,
1983
2097
  sequenceNumberAccessConditions: options.conditions,
1984
- modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
2098
+ modifiedAccessConditions: {
2099
+ ...options.conditions,
2100
+ ifTags: options.conditions?.tagConditions,
2101
+ },
1985
2102
  sourceModifiedAccessConditions: {
1986
- sourceIfMatch: (_b = options.sourceConditions) === null || _b === void 0 ? void 0 : _b.ifMatch,
1987
- sourceIfModifiedSince: (_c = options.sourceConditions) === null || _c === void 0 ? void 0 : _c.ifModifiedSince,
1988
- sourceIfNoneMatch: (_d = options.sourceConditions) === null || _d === void 0 ? void 0 : _d.ifNoneMatch,
1989
- sourceIfUnmodifiedSince: (_e = options.sourceConditions) === null || _e === void 0 ? void 0 : _e.ifUnmodifiedSince,
2103
+ sourceIfMatch: options.sourceConditions?.ifMatch,
2104
+ sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
2105
+ sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
2106
+ sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince,
1990
2107
  },
1991
2108
  cpkInfo: options.customerProvidedKey,
1992
2109
  encryptionScope: options.encryptionScope,
@@ -2007,11 +2124,13 @@ export class PageBlobClient extends BlobClient {
2007
2124
  async clearPages(offset = 0, count, options = {}) {
2008
2125
  options.conditions = options.conditions || {};
2009
2126
  return tracingClient.withSpan("PageBlobClient-clearPages", options, async (updatedOptions) => {
2010
- var _a;
2011
2127
  return assertResponse(await this.pageBlobContext.clearPages(0, {
2012
2128
  abortSignal: options.abortSignal,
2013
2129
  leaseAccessConditions: options.conditions,
2014
- modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
2130
+ modifiedAccessConditions: {
2131
+ ...options.conditions,
2132
+ ifTags: options.conditions?.tagConditions,
2133
+ },
2015
2134
  range: rangeToString({ offset, count }),
2016
2135
  sequenceNumberAccessConditions: options.conditions,
2017
2136
  cpkInfo: options.customerProvidedKey,
@@ -2032,11 +2151,13 @@ export class PageBlobClient extends BlobClient {
2032
2151
  async getPageRanges(offset = 0, count, options = {}) {
2033
2152
  options.conditions = options.conditions || {};
2034
2153
  return tracingClient.withSpan("PageBlobClient-getPageRanges", options, async (updatedOptions) => {
2035
- var _a;
2036
2154
  const response = assertResponse(await this.pageBlobContext.getPageRanges({
2037
2155
  abortSignal: options.abortSignal,
2038
2156
  leaseAccessConditions: options.conditions,
2039
- modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
2157
+ modifiedAccessConditions: {
2158
+ ...options.conditions,
2159
+ ifTags: options.conditions?.tagConditions,
2160
+ },
2040
2161
  range: rangeToString({ offset, count }),
2041
2162
  tracingOptions: updatedOptions.tracingOptions,
2042
2163
  }));
@@ -2057,11 +2178,13 @@ export class PageBlobClient extends BlobClient {
2057
2178
  */
2058
2179
  async listPageRangesSegment(offset = 0, count, marker, options = {}) {
2059
2180
  return tracingClient.withSpan("PageBlobClient-getPageRangesSegment", options, async (updatedOptions) => {
2060
- var _a;
2061
2181
  return assertResponse(await this.pageBlobContext.getPageRanges({
2062
2182
  abortSignal: options.abortSignal,
2063
2183
  leaseAccessConditions: options.conditions,
2064
- modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
2184
+ modifiedAccessConditions: {
2185
+ ...options.conditions,
2186
+ ifTags: options.conditions?.tagConditions,
2187
+ },
2065
2188
  range: rangeToString({ offset, count }),
2066
2189
  marker: marker,
2067
2190
  maxPageSize: options.maxPageSize,
@@ -2083,17 +2206,15 @@ export class PageBlobClient extends BlobClient {
2083
2206
  * items. The marker value is opaque to the client.
2084
2207
  * @param options - Options to List Page Ranges operation.
2085
2208
  */
2086
- listPageRangeItemSegments(offset = 0, count, marker, options = {}) {
2087
- return __asyncGenerator(this, arguments, function* listPageRangeItemSegments_1() {
2088
- let getPageRangeItemSegmentsResponse;
2089
- if (!!marker || marker === undefined) {
2090
- do {
2091
- getPageRangeItemSegmentsResponse = yield __await(this.listPageRangesSegment(offset, count, marker, options));
2092
- marker = getPageRangeItemSegmentsResponse.continuationToken;
2093
- yield yield __await(yield __await(getPageRangeItemSegmentsResponse));
2094
- } while (marker);
2095
- }
2096
- });
2209
+ async *listPageRangeItemSegments(offset = 0, count, marker, options = {}) {
2210
+ let getPageRangeItemSegmentsResponse;
2211
+ if (!!marker || marker === undefined) {
2212
+ do {
2213
+ getPageRangeItemSegmentsResponse = await this.listPageRangesSegment(offset, count, marker, options);
2214
+ marker = getPageRangeItemSegmentsResponse.continuationToken;
2215
+ yield await getPageRangeItemSegmentsResponse;
2216
+ } while (marker);
2217
+ }
2097
2218
  }
2098
2219
  /**
2099
2220
  * Returns an AsyncIterableIterator of {@link PageRangeInfo} objects
@@ -2102,26 +2223,11 @@ export class PageBlobClient extends BlobClient {
2102
2223
  * @param count - Number of bytes to get.
2103
2224
  * @param options - Options to List Page Ranges operation.
2104
2225
  */
2105
- listPageRangeItems(offset = 0, count, options = {}) {
2106
- return __asyncGenerator(this, arguments, function* listPageRangeItems_1() {
2107
- var _a, e_1, _b, _c;
2108
- let marker;
2109
- try {
2110
- for (var _d = true, _e = __asyncValues(this.listPageRangeItemSegments(offset, count, marker, options)), _f; _f = yield __await(_e.next()), _a = _f.done, !_a; _d = true) {
2111
- _c = _f.value;
2112
- _d = false;
2113
- const getPageRangesSegment = _c;
2114
- yield __await(yield* __asyncDelegator(__asyncValues(ExtractPageRangeInfoItems(getPageRangesSegment))));
2115
- }
2116
- }
2117
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
2118
- finally {
2119
- try {
2120
- if (!_d && !_a && (_b = _e.return)) yield __await(_b.call(_e));
2121
- }
2122
- finally { if (e_1) throw e_1.error; }
2123
- }
2124
- });
2226
+ async *listPageRangeItems(offset = 0, count, options = {}) {
2227
+ let marker;
2228
+ for await (const getPageRangesSegment of this.listPageRangeItemSegments(offset, count, marker, options)) {
2229
+ yield* ExtractPageRangeInfoItems(getPageRangesSegment);
2230
+ }
2125
2231
  }
2126
2232
  /**
2127
2233
  * Returns an async iterable iterator to list of page ranges for a page blob.
@@ -2215,7 +2321,10 @@ export class PageBlobClient extends BlobClient {
2215
2321
  * Return an AsyncIterableIterator that works a page at a time
2216
2322
  */
2217
2323
  byPage: (settings = {}) => {
2218
- return this.listPageRangeItemSegments(offset, count, settings.continuationToken, Object.assign({ maxPageSize: settings.maxPageSize }, options));
2324
+ return this.listPageRangeItemSegments(offset, count, settings.continuationToken, {
2325
+ maxPageSize: settings.maxPageSize,
2326
+ ...options,
2327
+ });
2219
2328
  },
2220
2329
  };
2221
2330
  }
@@ -2232,11 +2341,13 @@ export class PageBlobClient extends BlobClient {
2232
2341
  async getPageRangesDiff(offset, count, prevSnapshot, options = {}) {
2233
2342
  options.conditions = options.conditions || {};
2234
2343
  return tracingClient.withSpan("PageBlobClient-getPageRangesDiff", options, async (updatedOptions) => {
2235
- var _a;
2236
2344
  const result = assertResponse(await this.pageBlobContext.getPageRangesDiff({
2237
2345
  abortSignal: options.abortSignal,
2238
2346
  leaseAccessConditions: options.conditions,
2239
- modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
2347
+ modifiedAccessConditions: {
2348
+ ...options.conditions,
2349
+ ifTags: options.conditions?.tagConditions,
2350
+ },
2240
2351
  prevsnapshot: prevSnapshot,
2241
2352
  range: rangeToString({ offset, count }),
2242
2353
  tracingOptions: updatedOptions.tracingOptions,
@@ -2260,18 +2371,20 @@ export class PageBlobClient extends BlobClient {
2260
2371
  */
2261
2372
  async listPageRangesDiffSegment(offset, count, prevSnapshotOrUrl, marker, options = {}) {
2262
2373
  return tracingClient.withSpan("PageBlobClient-getPageRangesDiffSegment", options, async (updatedOptions) => {
2263
- var _a;
2264
2374
  return assertResponse(await this.pageBlobContext.getPageRangesDiff({
2265
- abortSignal: options === null || options === void 0 ? void 0 : options.abortSignal,
2266
- leaseAccessConditions: options === null || options === void 0 ? void 0 : options.conditions,
2267
- modifiedAccessConditions: Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.conditions), { ifTags: (_a = options === null || options === void 0 ? void 0 : options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
2375
+ abortSignal: options?.abortSignal,
2376
+ leaseAccessConditions: options?.conditions,
2377
+ modifiedAccessConditions: {
2378
+ ...options?.conditions,
2379
+ ifTags: options?.conditions?.tagConditions,
2380
+ },
2268
2381
  prevsnapshot: prevSnapshotOrUrl,
2269
2382
  range: rangeToString({
2270
2383
  offset: offset,
2271
2384
  count: count,
2272
2385
  }),
2273
2386
  marker: marker,
2274
- maxPageSize: options === null || options === void 0 ? void 0 : options.maxPageSize,
2387
+ maxPageSize: options?.maxPageSize,
2275
2388
  tracingOptions: updatedOptions.tracingOptions,
2276
2389
  }));
2277
2390
  });
@@ -2292,17 +2405,15 @@ export class PageBlobClient extends BlobClient {
2292
2405
  * items. The marker value is opaque to the client.
2293
2406
  * @param options - Options to the Page Blob Get Page Ranges Diff operation.
2294
2407
  */
2295
- listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options) {
2296
- return __asyncGenerator(this, arguments, function* listPageRangeDiffItemSegments_1() {
2297
- let getPageRangeItemSegmentsResponse;
2298
- if (!!marker || marker === undefined) {
2299
- do {
2300
- getPageRangeItemSegmentsResponse = yield __await(this.listPageRangesDiffSegment(offset, count, prevSnapshotOrUrl, marker, options));
2301
- marker = getPageRangeItemSegmentsResponse.continuationToken;
2302
- yield yield __await(yield __await(getPageRangeItemSegmentsResponse));
2303
- } while (marker);
2304
- }
2305
- });
2408
+ async *listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options) {
2409
+ let getPageRangeItemSegmentsResponse;
2410
+ if (!!marker || marker === undefined) {
2411
+ do {
2412
+ getPageRangeItemSegmentsResponse = await this.listPageRangesDiffSegment(offset, count, prevSnapshotOrUrl, marker, options);
2413
+ marker = getPageRangeItemSegmentsResponse.continuationToken;
2414
+ yield await getPageRangeItemSegmentsResponse;
2415
+ } while (marker);
2416
+ }
2306
2417
  }
2307
2418
  /**
2308
2419
  * Returns an AsyncIterableIterator of {@link PageRangeInfo} objects
@@ -2312,26 +2423,11 @@ export class PageBlobClient extends BlobClient {
2312
2423
  * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference.
2313
2424
  * @param options - Options to the Page Blob Get Page Ranges Diff operation.
2314
2425
  */
2315
- listPageRangeDiffItems(offset, count, prevSnapshotOrUrl, options) {
2316
- return __asyncGenerator(this, arguments, function* listPageRangeDiffItems_1() {
2317
- var _a, e_2, _b, _c;
2318
- let marker;
2319
- try {
2320
- for (var _d = true, _e = __asyncValues(this.listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options)), _f; _f = yield __await(_e.next()), _a = _f.done, !_a; _d = true) {
2321
- _c = _f.value;
2322
- _d = false;
2323
- const getPageRangesSegment = _c;
2324
- yield __await(yield* __asyncDelegator(__asyncValues(ExtractPageRangeInfoItems(getPageRangesSegment))));
2325
- }
2326
- }
2327
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
2328
- finally {
2329
- try {
2330
- if (!_d && !_a && (_b = _e.return)) yield __await(_b.call(_e));
2331
- }
2332
- finally { if (e_2) throw e_2.error; }
2333
- }
2334
- });
2426
+ async *listPageRangeDiffItems(offset, count, prevSnapshotOrUrl, options) {
2427
+ let marker;
2428
+ for await (const getPageRangesSegment of this.listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options)) {
2429
+ yield* ExtractPageRangeInfoItems(getPageRangesSegment);
2430
+ }
2335
2431
  }
2336
2432
  /**
2337
2433
  * Returns an async iterable iterator to list of page ranges that differ between a specified snapshot and this page blob.
@@ -2408,7 +2504,9 @@ export class PageBlobClient extends BlobClient {
2408
2504
  listPageRangesDiff(offset, count, prevSnapshot, options = {}) {
2409
2505
  options.conditions = options.conditions || {};
2410
2506
  // AsyncIterableIterator to iterate over blobs
2411
- const iter = this.listPageRangeDiffItems(offset, count, prevSnapshot, Object.assign({}, options));
2507
+ const iter = this.listPageRangeDiffItems(offset, count, prevSnapshot, {
2508
+ ...options,
2509
+ });
2412
2510
  return {
2413
2511
  /**
2414
2512
  * The next method, part of the iteration protocol
@@ -2426,7 +2524,10 @@ export class PageBlobClient extends BlobClient {
2426
2524
  * Return an AsyncIterableIterator that works a page at a time
2427
2525
  */
2428
2526
  byPage: (settings = {}) => {
2429
- return this.listPageRangeDiffItemSegments(offset, count, prevSnapshot, settings.continuationToken, Object.assign({ maxPageSize: settings.maxPageSize }, options));
2527
+ return this.listPageRangeDiffItemSegments(offset, count, prevSnapshot, settings.continuationToken, {
2528
+ maxPageSize: settings.maxPageSize,
2529
+ ...options,
2530
+ });
2430
2531
  },
2431
2532
  };
2432
2533
  }
@@ -2443,11 +2544,13 @@ export class PageBlobClient extends BlobClient {
2443
2544
  async getPageRangesDiffForManagedDisks(offset, count, prevSnapshotUrl, options = {}) {
2444
2545
  options.conditions = options.conditions || {};
2445
2546
  return tracingClient.withSpan("PageBlobClient-GetPageRangesDiffForManagedDisks", options, async (updatedOptions) => {
2446
- var _a;
2447
2547
  const response = assertResponse(await this.pageBlobContext.getPageRangesDiff({
2448
2548
  abortSignal: options.abortSignal,
2449
2549
  leaseAccessConditions: options.conditions,
2450
- modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
2550
+ modifiedAccessConditions: {
2551
+ ...options.conditions,
2552
+ ifTags: options.conditions?.tagConditions,
2553
+ },
2451
2554
  prevSnapshotUrl,
2452
2555
  range: rangeToString({ offset, count }),
2453
2556
  tracingOptions: updatedOptions.tracingOptions,
@@ -2466,11 +2569,13 @@ export class PageBlobClient extends BlobClient {
2466
2569
  async resize(size, options = {}) {
2467
2570
  options.conditions = options.conditions || {};
2468
2571
  return tracingClient.withSpan("PageBlobClient-resize", options, async (updatedOptions) => {
2469
- var _a;
2470
2572
  return assertResponse(await this.pageBlobContext.resize(size, {
2471
2573
  abortSignal: options.abortSignal,
2472
2574
  leaseAccessConditions: options.conditions,
2473
- modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
2575
+ modifiedAccessConditions: {
2576
+ ...options.conditions,
2577
+ ifTags: options.conditions?.tagConditions,
2578
+ },
2474
2579
  encryptionScope: options.encryptionScope,
2475
2580
  tracingOptions: updatedOptions.tracingOptions,
2476
2581
  }));
@@ -2488,12 +2593,14 @@ export class PageBlobClient extends BlobClient {
2488
2593
  async updateSequenceNumber(sequenceNumberAction, sequenceNumber, options = {}) {
2489
2594
  options.conditions = options.conditions || {};
2490
2595
  return tracingClient.withSpan("PageBlobClient-updateSequenceNumber", options, async (updatedOptions) => {
2491
- var _a;
2492
2596
  return assertResponse(await this.pageBlobContext.updateSequenceNumber(sequenceNumberAction, {
2493
2597
  abortSignal: options.abortSignal,
2494
2598
  blobSequenceNumber: sequenceNumber,
2495
2599
  leaseAccessConditions: options.conditions,
2496
- modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
2600
+ modifiedAccessConditions: {
2601
+ ...options.conditions,
2602
+ ifTags: options.conditions?.tagConditions,
2603
+ },
2497
2604
  tracingOptions: updatedOptions.tracingOptions,
2498
2605
  }));
2499
2606
  });
@@ -2513,10 +2620,12 @@ export class PageBlobClient extends BlobClient {
2513
2620
  */
2514
2621
  async startCopyIncremental(copySource, options = {}) {
2515
2622
  return tracingClient.withSpan("PageBlobClient-startCopyIncremental", options, async (updatedOptions) => {
2516
- var _a;
2517
2623
  return assertResponse(await this.pageBlobContext.copyIncremental(copySource, {
2518
2624
  abortSignal: options.abortSignal,
2519
- modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
2625
+ modifiedAccessConditions: {
2626
+ ...options.conditions,
2627
+ ifTags: options.conditions?.tagConditions,
2628
+ },
2520
2629
  tracingOptions: updatedOptions.tracingOptions,
2521
2630
  }));
2522
2631
  });