@azure/storage-blob 12.32.0 → 12.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/README.md +5 -16
  2. package/dist/browser/Clients.d.ts +16 -32
  3. package/dist/browser/Clients.d.ts.map +1 -1
  4. package/dist/browser/Clients.js +10 -32
  5. package/dist/browser/Clients.js.map +1 -1
  6. package/dist/browser/generated/src/models/index.d.ts +6 -2
  7. package/dist/browser/generated/src/models/index.d.ts.map +1 -1
  8. package/dist/browser/generated/src/models/index.js.map +1 -1
  9. package/dist/browser/generated/src/models/mappers.d.ts.map +1 -1
  10. package/dist/browser/generated/src/models/mappers.js +34 -0
  11. package/dist/browser/generated/src/models/mappers.js.map +1 -1
  12. package/dist/browser/generated/src/models/parameters.d.ts.map +1 -1
  13. package/dist/browser/generated/src/models/parameters.js +3 -1
  14. package/dist/browser/generated/src/models/parameters.js.map +1 -1
  15. package/dist/browser/generated/src/storageClient.js +2 -2
  16. package/dist/browser/generated/src/storageClient.js.map +1 -1
  17. package/dist/browser/index.d.ts +1 -0
  18. package/dist/browser/index.d.ts.map +1 -1
  19. package/dist/browser/index.js +1 -0
  20. package/dist/browser/index.js.map +1 -1
  21. package/dist/browser/sas/BlobSASSignatureValues.d.ts +5 -0
  22. package/dist/browser/sas/BlobSASSignatureValues.d.ts.map +1 -1
  23. package/dist/browser/sas/BlobSASSignatureValues.js +166 -36
  24. package/dist/browser/sas/BlobSASSignatureValues.js.map +1 -1
  25. package/dist/browser/sas/SASQueryParameters.d.ts +10 -1
  26. package/dist/browser/sas/SASQueryParameters.d.ts.map +1 -1
  27. package/dist/browser/sas/SASQueryParameters.js +11 -1
  28. package/dist/browser/sas/SASQueryParameters.js.map +1 -1
  29. package/dist/browser/utils/constants.js +2 -2
  30. package/dist/browser/utils/constants.js.map +1 -1
  31. package/dist/browser/utils/utils.common.d.ts.map +1 -1
  32. package/dist/browser/utils/utils.common.js +15 -0
  33. package/dist/browser/utils/utils.common.js.map +1 -1
  34. package/dist/commonjs/Clients.d.ts +16 -32
  35. package/dist/commonjs/Clients.d.ts.map +1 -1
  36. package/dist/commonjs/Clients.js +10 -32
  37. package/dist/commonjs/Clients.js.map +2 -2
  38. package/dist/commonjs/generated/src/models/index.d.ts +6 -2
  39. package/dist/commonjs/generated/src/models/index.d.ts.map +1 -1
  40. package/dist/commonjs/generated/src/models/index.js.map +2 -2
  41. package/dist/commonjs/generated/src/models/mappers.d.ts.map +1 -1
  42. package/dist/commonjs/generated/src/models/mappers.js +36 -2
  43. package/dist/commonjs/generated/src/models/mappers.js.map +2 -2
  44. package/dist/commonjs/generated/src/models/parameters.d.ts.map +1 -1
  45. package/dist/commonjs/generated/src/models/parameters.js +5 -3
  46. package/dist/commonjs/generated/src/models/parameters.js.map +2 -2
  47. package/dist/commonjs/generated/src/storageClient.js +2 -2
  48. package/dist/commonjs/generated/src/storageClient.js.map +1 -1
  49. package/dist/commonjs/sas/BlobSASSignatureValues.d.ts +5 -0
  50. package/dist/commonjs/sas/BlobSASSignatureValues.d.ts.map +1 -1
  51. package/dist/commonjs/sas/BlobSASSignatureValues.js +185 -36
  52. package/dist/commonjs/sas/BlobSASSignatureValues.js.map +2 -2
  53. package/dist/commonjs/sas/SASQueryParameters.d.ts +10 -1
  54. package/dist/commonjs/sas/SASQueryParameters.d.ts.map +1 -1
  55. package/dist/commonjs/sas/SASQueryParameters.js +15 -1
  56. package/dist/commonjs/sas/SASQueryParameters.js.map +2 -2
  57. package/dist/commonjs/tsdoc-metadata.json +1 -1
  58. package/dist/commonjs/utils/constants.js +2 -2
  59. package/dist/commonjs/utils/constants.js.map +1 -1
  60. package/dist/commonjs/utils/utils.common.d.ts.map +1 -1
  61. package/dist/commonjs/utils/utils.common.js +14 -0
  62. package/dist/commonjs/utils/utils.common.js.map +2 -2
  63. package/dist/esm/Clients.d.ts +16 -32
  64. package/dist/esm/Clients.d.ts.map +1 -1
  65. package/dist/esm/Clients.js +10 -32
  66. package/dist/esm/Clients.js.map +1 -1
  67. package/dist/esm/generated/src/models/index.d.ts +6 -2
  68. package/dist/esm/generated/src/models/index.d.ts.map +1 -1
  69. package/dist/esm/generated/src/models/index.js.map +1 -1
  70. package/dist/esm/generated/src/models/mappers.d.ts.map +1 -1
  71. package/dist/esm/generated/src/models/mappers.js +34 -0
  72. package/dist/esm/generated/src/models/mappers.js.map +1 -1
  73. package/dist/esm/generated/src/models/parameters.d.ts.map +1 -1
  74. package/dist/esm/generated/src/models/parameters.js +3 -1
  75. package/dist/esm/generated/src/models/parameters.js.map +1 -1
  76. package/dist/esm/generated/src/storageClient.js +2 -2
  77. package/dist/esm/generated/src/storageClient.js.map +1 -1
  78. package/dist/esm/sas/BlobSASSignatureValues.d.ts +5 -0
  79. package/dist/esm/sas/BlobSASSignatureValues.d.ts.map +1 -1
  80. package/dist/esm/sas/BlobSASSignatureValues.js +166 -36
  81. package/dist/esm/sas/BlobSASSignatureValues.js.map +1 -1
  82. package/dist/esm/sas/SASQueryParameters.d.ts +10 -1
  83. package/dist/esm/sas/SASQueryParameters.d.ts.map +1 -1
  84. package/dist/esm/sas/SASQueryParameters.js +11 -1
  85. package/dist/esm/sas/SASQueryParameters.js.map +1 -1
  86. package/dist/esm/utils/constants.js +2 -2
  87. package/dist/esm/utils/constants.js.map +1 -1
  88. package/dist/esm/utils/utils.common.d.ts.map +1 -1
  89. package/dist/esm/utils/utils.common.js +15 -0
  90. package/dist/esm/utils/utils.common.js.map +1 -1
  91. package/dist/react-native/Clients.d.ts +16 -32
  92. package/dist/react-native/Clients.d.ts.map +1 -1
  93. package/dist/react-native/Clients.js +10 -32
  94. package/dist/react-native/Clients.js.map +1 -1
  95. package/dist/react-native/generated/src/models/index.d.ts +6 -2
  96. package/dist/react-native/generated/src/models/index.d.ts.map +1 -1
  97. package/dist/react-native/generated/src/models/index.js.map +1 -1
  98. package/dist/react-native/generated/src/models/mappers.d.ts.map +1 -1
  99. package/dist/react-native/generated/src/models/mappers.js +34 -0
  100. package/dist/react-native/generated/src/models/mappers.js.map +1 -1
  101. package/dist/react-native/generated/src/models/parameters.d.ts.map +1 -1
  102. package/dist/react-native/generated/src/models/parameters.js +3 -1
  103. package/dist/react-native/generated/src/models/parameters.js.map +1 -1
  104. package/dist/react-native/generated/src/storageClient.js +2 -2
  105. package/dist/react-native/generated/src/storageClient.js.map +1 -1
  106. package/dist/react-native/sas/BlobSASSignatureValues.d.ts +5 -0
  107. package/dist/react-native/sas/BlobSASSignatureValues.d.ts.map +1 -1
  108. package/dist/react-native/sas/BlobSASSignatureValues.js +166 -36
  109. package/dist/react-native/sas/BlobSASSignatureValues.js.map +1 -1
  110. package/dist/react-native/sas/SASQueryParameters.d.ts +10 -1
  111. package/dist/react-native/sas/SASQueryParameters.d.ts.map +1 -1
  112. package/dist/react-native/sas/SASQueryParameters.js +11 -1
  113. package/dist/react-native/sas/SASQueryParameters.js.map +1 -1
  114. package/dist/react-native/utils/constants.js +2 -2
  115. package/dist/react-native/utils/constants.js.map +1 -1
  116. package/dist/react-native/utils/utils.common.d.ts.map +1 -1
  117. package/dist/react-native/utils/utils.common.js +15 -0
  118. package/dist/react-native/utils/utils.common.js.map +1 -1
  119. package/package.json +6 -6
@@ -73,7 +73,11 @@ function generateBlobSASQueryParametersInternal(blobSASSignatureValues, sharedKe
73
73
  }
74
74
  if (version >= "2018-11-09") {
75
75
  if (sharedKeyCredential !== void 0) {
76
- return generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential);
76
+ if (version >= "2020-02-10") {
77
+ return generateBlobSASQueryParameters20200210(blobSASSignatureValues, sharedKeyCredential);
78
+ } else {
79
+ return generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential);
80
+ }
77
81
  } else {
78
82
  if (version >= "2020-02-10") {
79
83
  return generateBlobSASQueryParametersUDK20200210(
@@ -238,6 +242,94 @@ function generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKe
238
242
  stringToSign
239
243
  };
240
244
  }
245
+ function generateBlobSASQueryParameters20200210(blobSASSignatureValues, sharedKeyCredential) {
246
+ blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
247
+ if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
248
+ throw new RangeError(
249
+ "Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided."
250
+ );
251
+ }
252
+ let resource = "c";
253
+ let timestamp = blobSASSignatureValues.snapshotTime;
254
+ let directoryDepth = void 0;
255
+ if (blobSASSignatureValues.blobName) {
256
+ if (blobSASSignatureValues.isDirectory === true) {
257
+ resource = "d";
258
+ directoryDepth = trimBlobName(blobSASSignatureValues.blobName).split("/").length;
259
+ } else {
260
+ resource = "b";
261
+ if (blobSASSignatureValues.snapshotTime) {
262
+ resource = "bs";
263
+ } else if (blobSASSignatureValues.versionId) {
264
+ resource = "bv";
265
+ timestamp = blobSASSignatureValues.versionId;
266
+ }
267
+ }
268
+ }
269
+ let verifiedPermissions;
270
+ if (blobSASSignatureValues.permissions) {
271
+ if (blobSASSignatureValues.blobName) {
272
+ verifiedPermissions = import_BlobSASPermissions.BlobSASPermissions.parse(
273
+ blobSASSignatureValues.permissions.toString()
274
+ ).toString();
275
+ } else {
276
+ verifiedPermissions = import_ContainerSASPermissions.ContainerSASPermissions.parse(
277
+ blobSASSignatureValues.permissions.toString()
278
+ ).toString();
279
+ }
280
+ }
281
+ const stringToSign = [
282
+ verifiedPermissions ? verifiedPermissions : "",
283
+ blobSASSignatureValues.startsOn ? (0, import_utils_common.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
284
+ blobSASSignatureValues.expiresOn ? (0, import_utils_common.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
285
+ getCanonicalName(
286
+ sharedKeyCredential.accountName,
287
+ blobSASSignatureValues.containerName,
288
+ blobSASSignatureValues.blobName
289
+ ),
290
+ blobSASSignatureValues.identifier,
291
+ blobSASSignatureValues.ipRange ? (0, import_SasIPRange.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
292
+ blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
293
+ blobSASSignatureValues.version,
294
+ resource,
295
+ timestamp,
296
+ blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
297
+ blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
298
+ blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
299
+ blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
300
+ blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : ""
301
+ ].join("\n");
302
+ const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
303
+ return {
304
+ sasQueryParameters: new import_SASQueryParameters.SASQueryParameters(
305
+ blobSASSignatureValues.version,
306
+ signature,
307
+ verifiedPermissions,
308
+ void 0,
309
+ void 0,
310
+ blobSASSignatureValues.protocol,
311
+ blobSASSignatureValues.startsOn,
312
+ blobSASSignatureValues.expiresOn,
313
+ blobSASSignatureValues.ipRange,
314
+ blobSASSignatureValues.identifier,
315
+ resource,
316
+ blobSASSignatureValues.cacheControl,
317
+ blobSASSignatureValues.contentDisposition,
318
+ blobSASSignatureValues.contentEncoding,
319
+ blobSASSignatureValues.contentLanguage,
320
+ blobSASSignatureValues.contentType,
321
+ void 0,
322
+ void 0,
323
+ void 0,
324
+ void 0,
325
+ void 0,
326
+ void 0,
327
+ void 0,
328
+ directoryDepth
329
+ ),
330
+ stringToSign
331
+ };
332
+ }
241
333
  function generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKeyCredential) {
242
334
  blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
243
335
  if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
@@ -247,13 +339,19 @@ function generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKe
247
339
  }
248
340
  let resource = "c";
249
341
  let timestamp = blobSASSignatureValues.snapshotTime;
342
+ let directoryDepth = void 0;
250
343
  if (blobSASSignatureValues.blobName) {
251
- resource = "b";
252
- if (blobSASSignatureValues.snapshotTime) {
253
- resource = "bs";
254
- } else if (blobSASSignatureValues.versionId) {
255
- resource = "bv";
256
- timestamp = blobSASSignatureValues.versionId;
344
+ if (blobSASSignatureValues.isDirectory === true) {
345
+ resource = "d";
346
+ directoryDepth = trimBlobName(blobSASSignatureValues.blobName).split("/").length;
347
+ } else {
348
+ resource = "b";
349
+ if (blobSASSignatureValues.snapshotTime) {
350
+ resource = "bs";
351
+ } else if (blobSASSignatureValues.versionId) {
352
+ resource = "bv";
353
+ timestamp = blobSASSignatureValues.versionId;
354
+ }
257
355
  }
258
356
  }
259
357
  let verifiedPermissions;
@@ -312,7 +410,11 @@ function generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKe
312
410
  void 0,
313
411
  void 0,
314
412
  void 0,
315
- blobSASSignatureValues.encryptionScope
413
+ blobSASSignatureValues.encryptionScope,
414
+ void 0,
415
+ void 0,
416
+ void 0,
417
+ directoryDepth
316
418
  ),
317
419
  stringToSign
318
420
  };
@@ -406,13 +508,19 @@ function generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userD
406
508
  }
407
509
  let resource = "c";
408
510
  let timestamp = blobSASSignatureValues.snapshotTime;
511
+ let directoryDepth = void 0;
409
512
  if (blobSASSignatureValues.blobName) {
410
- resource = "b";
411
- if (blobSASSignatureValues.snapshotTime) {
412
- resource = "bs";
413
- } else if (blobSASSignatureValues.versionId) {
414
- resource = "bv";
415
- timestamp = blobSASSignatureValues.versionId;
513
+ if (blobSASSignatureValues.isDirectory === true) {
514
+ resource = "d";
515
+ directoryDepth = trimBlobName(blobSASSignatureValues.blobName).split("/").length;
516
+ } else {
517
+ resource = "b";
518
+ if (blobSASSignatureValues.snapshotTime) {
519
+ resource = "bs";
520
+ } else if (blobSASSignatureValues.versionId) {
521
+ resource = "bv";
522
+ timestamp = blobSASSignatureValues.versionId;
523
+ }
416
524
  }
417
525
  }
418
526
  let verifiedPermissions;
@@ -478,7 +586,12 @@ function generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userD
478
586
  blobSASSignatureValues.contentType,
479
587
  userDelegationKeyCredential.userDelegationKey,
480
588
  blobSASSignatureValues.preauthorizedAgentObjectId,
481
- blobSASSignatureValues.correlationId
589
+ blobSASSignatureValues.correlationId,
590
+ void 0,
591
+ void 0,
592
+ void 0,
593
+ void 0,
594
+ directoryDepth
482
595
  ),
483
596
  stringToSign
484
597
  };
@@ -492,13 +605,19 @@ function generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userD
492
605
  }
493
606
  let resource = "c";
494
607
  let timestamp = blobSASSignatureValues.snapshotTime;
608
+ let directoryDepth = void 0;
495
609
  if (blobSASSignatureValues.blobName) {
496
- resource = "b";
497
- if (blobSASSignatureValues.snapshotTime) {
498
- resource = "bs";
499
- } else if (blobSASSignatureValues.versionId) {
500
- resource = "bv";
501
- timestamp = blobSASSignatureValues.versionId;
610
+ if (blobSASSignatureValues.isDirectory === true) {
611
+ resource = "d";
612
+ directoryDepth = trimBlobName(blobSASSignatureValues.blobName).split("/").length;
613
+ } else {
614
+ resource = "b";
615
+ if (blobSASSignatureValues.snapshotTime) {
616
+ resource = "bs";
617
+ } else if (blobSASSignatureValues.versionId) {
618
+ resource = "bv";
619
+ timestamp = blobSASSignatureValues.versionId;
620
+ }
502
621
  }
503
622
  }
504
623
  let verifiedPermissions;
@@ -566,7 +685,11 @@ function generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userD
566
685
  userDelegationKeyCredential.userDelegationKey,
567
686
  blobSASSignatureValues.preauthorizedAgentObjectId,
568
687
  blobSASSignatureValues.correlationId,
569
- blobSASSignatureValues.encryptionScope
688
+ blobSASSignatureValues.encryptionScope,
689
+ void 0,
690
+ void 0,
691
+ void 0,
692
+ directoryDepth
570
693
  ),
571
694
  stringToSign
572
695
  };
@@ -580,13 +703,19 @@ function generateBlobSASQueryParametersUDK20250705(blobSASSignatureValues, userD
580
703
  }
581
704
  let resource = "c";
582
705
  let timestamp = blobSASSignatureValues.snapshotTime;
706
+ let directoryDepth = void 0;
583
707
  if (blobSASSignatureValues.blobName) {
584
- resource = "b";
585
- if (blobSASSignatureValues.snapshotTime) {
586
- resource = "bs";
587
- } else if (blobSASSignatureValues.versionId) {
588
- resource = "bv";
589
- timestamp = blobSASSignatureValues.versionId;
708
+ if (blobSASSignatureValues.isDirectory === true) {
709
+ resource = "d";
710
+ directoryDepth = trimBlobName(blobSASSignatureValues.blobName).split("/").length;
711
+ } else {
712
+ resource = "b";
713
+ if (blobSASSignatureValues.snapshotTime) {
714
+ resource = "bs";
715
+ } else if (blobSASSignatureValues.versionId) {
716
+ resource = "bv";
717
+ timestamp = blobSASSignatureValues.versionId;
718
+ }
590
719
  }
591
720
  }
592
721
  let verifiedPermissions;
@@ -658,7 +787,10 @@ function generateBlobSASQueryParametersUDK20250705(blobSASSignatureValues, userD
658
787
  blobSASSignatureValues.preauthorizedAgentObjectId,
659
788
  blobSASSignatureValues.correlationId,
660
789
  blobSASSignatureValues.encryptionScope,
661
- blobSASSignatureValues.delegatedUserObjectId
790
+ blobSASSignatureValues.delegatedUserObjectId,
791
+ void 0,
792
+ void 0,
793
+ directoryDepth
662
794
  ),
663
795
  stringToSign
664
796
  };
@@ -672,13 +804,19 @@ function generateBlobSASQueryParametersUDK20260406(blobSASSignatureValues, userD
672
804
  }
673
805
  let resource = "c";
674
806
  let timestamp = blobSASSignatureValues.snapshotTime;
807
+ let directoryDepth = void 0;
675
808
  if (blobSASSignatureValues.blobName) {
676
- resource = "b";
677
- if (blobSASSignatureValues.snapshotTime) {
678
- resource = "bs";
679
- } else if (blobSASSignatureValues.versionId) {
680
- resource = "bv";
681
- timestamp = blobSASSignatureValues.versionId;
809
+ if (blobSASSignatureValues.isDirectory === true) {
810
+ resource = "d";
811
+ directoryDepth = trimBlobName(blobSASSignatureValues.blobName).split("/").length;
812
+ } else {
813
+ resource = "b";
814
+ if (blobSASSignatureValues.snapshotTime) {
815
+ resource = "bs";
816
+ } else if (blobSASSignatureValues.versionId) {
817
+ resource = "bv";
818
+ timestamp = blobSASSignatureValues.versionId;
819
+ }
682
820
  }
683
821
  }
684
822
  let verifiedPermissions;
@@ -754,7 +892,8 @@ function generateBlobSASQueryParametersUDK20260406(blobSASSignatureValues, userD
754
892
  blobSASSignatureValues.encryptionScope,
755
893
  blobSASSignatureValues.delegatedUserObjectId,
756
894
  getKeysOfRequestHeaders(blobSASSignatureValues.requestHeaders),
757
- getKeysOfRequestHeaders(blobSASSignatureValues.requestQueryParameters)
895
+ getKeysOfRequestHeaders(blobSASSignatureValues.requestQueryParameters),
896
+ directoryDepth
758
897
  ),
759
898
  stringToSign
760
899
  };
@@ -844,6 +983,16 @@ function SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues) {
844
983
  blobSASSignatureValues.version = version;
845
984
  return blobSASSignatureValues;
846
985
  }
986
+ function trimBlobName(blobName) {
987
+ let internalName = blobName;
988
+ while (internalName.startsWith("/")) {
989
+ internalName = internalName.substring(1);
990
+ }
991
+ while (internalName.endsWith("/")) {
992
+ internalName = internalName.substring(0, internalName.length - 1);
993
+ }
994
+ return internalName;
995
+ }
847
996
  // Annotate the CommonJS export names for ESM import in node:
848
997
  0 && (module.exports = {
849
998
  generateBlobSASQueryParameters,