@aws-amplify/storage 6.6.5 → 6.6.6-storage-browser.4949269.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 (369) hide show
  1. package/dist/cjs/errors/constants.js +8 -0
  2. package/dist/cjs/errors/constants.js.map +1 -0
  3. package/dist/cjs/errors/types/validation.js +12 -0
  4. package/dist/cjs/errors/types/validation.js.map +1 -1
  5. package/dist/cjs/providers/s3/apis/downloadData.js +3 -3
  6. package/dist/cjs/providers/s3/apis/downloadData.js.map +1 -1
  7. package/dist/cjs/providers/s3/apis/internal/copy.js +38 -6
  8. package/dist/cjs/providers/s3/apis/internal/copy.js.map +1 -1
  9. package/dist/cjs/providers/s3/apis/internal/getProperties.js +3 -4
  10. package/dist/cjs/providers/s3/apis/internal/getProperties.js.map +1 -1
  11. package/dist/cjs/providers/s3/apis/internal/getUrl.js +3 -3
  12. package/dist/cjs/providers/s3/apis/internal/getUrl.js.map +1 -1
  13. package/dist/cjs/providers/s3/apis/internal/list.js +4 -4
  14. package/dist/cjs/providers/s3/apis/internal/list.js.map +1 -1
  15. package/dist/cjs/providers/s3/apis/internal/remove.js +3 -4
  16. package/dist/cjs/providers/s3/apis/internal/remove.js.map +1 -1
  17. package/dist/cjs/providers/s3/apis/uploadData/multipart/initialUpload.js +22 -2
  18. package/dist/cjs/providers/s3/apis/uploadData/multipart/initialUpload.js.map +1 -1
  19. package/dist/cjs/providers/s3/apis/uploadData/multipart/uploadCache.js +3 -2
  20. package/dist/cjs/providers/s3/apis/uploadData/multipart/uploadCache.js.map +1 -1
  21. package/dist/cjs/providers/s3/apis/uploadData/multipart/uploadHandlers.js +19 -8
  22. package/dist/cjs/providers/s3/apis/uploadData/multipart/uploadHandlers.js.map +1 -1
  23. package/dist/cjs/providers/s3/apis/uploadData/multipart/uploadPartExecutor.js +20 -11
  24. package/dist/cjs/providers/s3/apis/uploadData/multipart/uploadPartExecutor.js.map +1 -1
  25. package/dist/cjs/providers/s3/apis/uploadData/putObjectJob.js +20 -7
  26. package/dist/cjs/providers/s3/apis/uploadData/putObjectJob.js.map +1 -1
  27. package/dist/cjs/providers/s3/apis/uploadData/validateObjectNotExists.js +25 -0
  28. package/dist/cjs/providers/s3/apis/uploadData/validateObjectNotExists.js.map +1 -0
  29. package/dist/cjs/providers/s3/utils/client/s3control/base.js +70 -0
  30. package/dist/cjs/providers/s3/utils/client/s3control/base.js.map +1 -0
  31. package/dist/cjs/providers/s3/utils/client/s3control/getDataAccess.js +58 -0
  32. package/dist/cjs/providers/s3/utils/client/s3control/getDataAccess.js.map +1 -0
  33. package/dist/cjs/providers/s3/utils/client/s3control/index.js +11 -0
  34. package/dist/cjs/providers/s3/utils/client/s3control/index.js.map +1 -0
  35. package/dist/cjs/providers/s3/utils/client/s3control/listCallerAccessGrants.js +63 -0
  36. package/dist/cjs/providers/s3/utils/client/s3control/listCallerAccessGrants.js.map +1 -0
  37. package/dist/cjs/providers/s3/utils/client/s3control/types.js.map +1 -0
  38. package/dist/cjs/providers/s3/utils/client/{abortMultipartUpload.js → s3data/abortMultipartUpload.js} +2 -2
  39. package/dist/cjs/providers/s3/utils/client/s3data/abortMultipartUpload.js.map +1 -0
  40. package/dist/cjs/providers/s3/utils/client/{base.js → s3data/base.js} +25 -3
  41. package/dist/cjs/providers/s3/utils/client/s3data/base.js.map +1 -0
  42. package/dist/cjs/providers/s3/utils/client/{completeMultipartUpload.js → s3data/completeMultipartUpload.js} +16 -11
  43. package/dist/cjs/providers/s3/utils/client/s3data/completeMultipartUpload.js.map +1 -0
  44. package/dist/cjs/providers/s3/utils/client/{copyObject.js → s3data/copyObject.js} +2 -2
  45. package/dist/cjs/providers/s3/utils/client/s3data/copyObject.js.map +1 -0
  46. package/dist/cjs/providers/s3/utils/client/{createMultipartUpload.js → s3data/createMultipartUpload.js} +8 -3
  47. package/dist/cjs/providers/s3/utils/client/s3data/createMultipartUpload.js.map +1 -0
  48. package/dist/cjs/providers/s3/utils/client/{deleteObject.js → s3data/deleteObject.js} +2 -2
  49. package/dist/cjs/providers/s3/utils/client/s3data/deleteObject.js.map +1 -0
  50. package/dist/cjs/providers/s3/utils/client/{getObject.js → s3data/getObject.js} +3 -3
  51. package/dist/cjs/providers/s3/utils/client/s3data/getObject.js.map +1 -0
  52. package/dist/cjs/providers/s3/utils/client/{headObject.js → s3data/headObject.js} +2 -2
  53. package/dist/cjs/providers/s3/utils/client/s3data/headObject.js.map +1 -0
  54. package/dist/cjs/providers/s3/utils/client/s3data/index.js.map +1 -0
  55. package/dist/cjs/providers/s3/utils/client/{listObjectsV2.js → s3data/listObjectsV2.js} +2 -2
  56. package/dist/cjs/providers/s3/utils/client/s3data/listObjectsV2.js.map +1 -0
  57. package/dist/cjs/providers/s3/utils/client/{listParts.js → s3data/listParts.js} +3 -2
  58. package/dist/cjs/providers/s3/utils/client/s3data/listParts.js.map +1 -0
  59. package/dist/cjs/providers/s3/utils/client/{putObject.js → s3data/putObject.js} +3 -2
  60. package/dist/cjs/providers/s3/utils/client/s3data/putObject.js.map +1 -0
  61. package/dist/cjs/providers/s3/utils/client/s3data/types.js +6 -0
  62. package/dist/cjs/providers/s3/utils/client/s3data/types.js.map +1 -0
  63. package/dist/cjs/providers/s3/utils/client/{uploadPart.js → s3data/uploadPart.js} +4 -3
  64. package/dist/cjs/providers/s3/utils/client/s3data/uploadPart.js.map +1 -0
  65. package/dist/cjs/providers/s3/utils/client/utils/createRetryDecider.js +57 -0
  66. package/dist/cjs/providers/s3/utils/client/utils/createRetryDecider.js.map +1 -0
  67. package/dist/cjs/providers/s3/utils/client/utils/deserializeHelpers.js +34 -1
  68. package/dist/cjs/providers/s3/utils/client/utils/deserializeHelpers.js.map +1 -1
  69. package/dist/cjs/providers/s3/utils/client/utils/index.js +4 -2
  70. package/dist/cjs/providers/s3/utils/client/utils/index.js.map +1 -1
  71. package/dist/cjs/providers/s3/utils/client/utils/parsePayload.js +20 -6
  72. package/dist/cjs/providers/s3/utils/client/utils/parsePayload.js.map +1 -1
  73. package/dist/cjs/providers/s3/utils/crc32.js +37 -0
  74. package/dist/cjs/providers/s3/utils/crc32.js.map +1 -0
  75. package/dist/cjs/providers/s3/utils/crc32.native.js +11 -0
  76. package/dist/cjs/providers/s3/utils/crc32.native.js.map +1 -0
  77. package/dist/cjs/providers/s3/utils/resolveIdentityId.js +14 -0
  78. package/dist/cjs/providers/s3/utils/resolveIdentityId.js.map +1 -0
  79. package/dist/cjs/providers/s3/utils/resolveS3ConfigAndInput.js +59 -13
  80. package/dist/cjs/providers/s3/utils/resolveS3ConfigAndInput.js.map +1 -1
  81. package/dist/cjs/providers/s3/utils/validateStorageOperationInput.js +4 -1
  82. package/dist/cjs/providers/s3/utils/validateStorageOperationInput.js.map +1 -1
  83. package/dist/cjs/providers/s3/utils/validateStorageOperationInputWithPrefix.js +4 -1
  84. package/dist/cjs/providers/s3/utils/validateStorageOperationInputWithPrefix.js.map +1 -1
  85. package/dist/cjs/storageBrowser/apis/constants.js +9 -0
  86. package/dist/cjs/storageBrowser/apis/constants.js.map +1 -0
  87. package/dist/cjs/storageBrowser/apis/getDataAccess.js +57 -0
  88. package/dist/cjs/storageBrowser/apis/getDataAccess.js.map +1 -0
  89. package/dist/cjs/storageBrowser/apis/listCallerAccessGrants.js +69 -0
  90. package/dist/cjs/storageBrowser/apis/listCallerAccessGrants.js.map +1 -0
  91. package/dist/cjs/storageBrowser/apis/types.js +6 -0
  92. package/dist/cjs/storageBrowser/apis/types.js.map +1 -0
  93. package/dist/cjs/storageBrowser/index.js +11 -0
  94. package/dist/cjs/storageBrowser/index.js.map +1 -0
  95. package/dist/cjs/storageBrowser/locationCredentialsStore/constants.js +9 -0
  96. package/dist/cjs/storageBrowser/locationCredentialsStore/constants.js.map +1 -0
  97. package/dist/cjs/storageBrowser/locationCredentialsStore/create.js +36 -0
  98. package/dist/cjs/storageBrowser/locationCredentialsStore/create.js.map +1 -0
  99. package/dist/cjs/storageBrowser/locationCredentialsStore/index.js +9 -0
  100. package/dist/cjs/storageBrowser/locationCredentialsStore/index.js.map +1 -0
  101. package/dist/cjs/storageBrowser/locationCredentialsStore/registry.js +58 -0
  102. package/dist/cjs/storageBrowser/locationCredentialsStore/registry.js.map +1 -0
  103. package/dist/cjs/storageBrowser/locationCredentialsStore/store.js +99 -0
  104. package/dist/cjs/storageBrowser/locationCredentialsStore/store.js.map +1 -0
  105. package/dist/cjs/storageBrowser/managedAuthConfigAdapter/createListLocationsHandler.js +15 -0
  106. package/dist/cjs/storageBrowser/managedAuthConfigAdapter/createListLocationsHandler.js.map +1 -0
  107. package/dist/cjs/storageBrowser/managedAuthConfigAdapter/createLocationCredentialsHandler.js +29 -0
  108. package/dist/cjs/storageBrowser/managedAuthConfigAdapter/createLocationCredentialsHandler.js.map +1 -0
  109. package/dist/cjs/storageBrowser/managedAuthConfigAdapter/createManagedAuthConfigAdapter.js +32 -0
  110. package/dist/cjs/storageBrowser/managedAuthConfigAdapter/createManagedAuthConfigAdapter.js.map +1 -0
  111. package/dist/cjs/storageBrowser/managedAuthConfigAdapter/index.js +9 -0
  112. package/dist/cjs/storageBrowser/managedAuthConfigAdapter/index.js.map +1 -0
  113. package/dist/cjs/storageBrowser/types.js +6 -0
  114. package/dist/cjs/storageBrowser/types.js.map +1 -0
  115. package/dist/esm/errors/constants.d.ts +1 -0
  116. package/dist/esm/errors/constants.mjs +6 -0
  117. package/dist/esm/errors/constants.mjs.map +1 -0
  118. package/dist/esm/errors/types/validation.d.ts +4 -1
  119. package/dist/esm/errors/types/validation.mjs +12 -0
  120. package/dist/esm/errors/types/validation.mjs.map +1 -1
  121. package/dist/esm/providers/s3/apis/downloadData.mjs +13 -13
  122. package/dist/esm/providers/s3/apis/downloadData.mjs.map +1 -1
  123. package/dist/esm/providers/s3/apis/internal/copy.mjs +48 -16
  124. package/dist/esm/providers/s3/apis/internal/copy.mjs.map +1 -1
  125. package/dist/esm/providers/s3/apis/internal/getProperties.mjs +13 -14
  126. package/dist/esm/providers/s3/apis/internal/getProperties.mjs.map +1 -1
  127. package/dist/esm/providers/s3/apis/internal/getUrl.mjs +13 -13
  128. package/dist/esm/providers/s3/apis/internal/getUrl.mjs.map +1 -1
  129. package/dist/esm/providers/s3/apis/internal/list.mjs +13 -13
  130. package/dist/esm/providers/s3/apis/internal/list.mjs.map +1 -1
  131. package/dist/esm/providers/s3/apis/internal/remove.mjs +13 -14
  132. package/dist/esm/providers/s3/apis/internal/remove.mjs.map +1 -1
  133. package/dist/esm/providers/s3/apis/uploadData/multipart/initialUpload.d.ts +2 -1
  134. package/dist/esm/providers/s3/apis/uploadData/multipart/initialUpload.mjs +32 -12
  135. package/dist/esm/providers/s3/apis/uploadData/multipart/initialUpload.mjs.map +1 -1
  136. package/dist/esm/providers/s3/apis/uploadData/multipart/uploadCache.d.ts +3 -1
  137. package/dist/esm/providers/s3/apis/uploadData/multipart/uploadCache.mjs +13 -12
  138. package/dist/esm/providers/s3/apis/uploadData/multipart/uploadCache.mjs.map +1 -1
  139. package/dist/esm/providers/s3/apis/uploadData/multipart/uploadHandlers.mjs +27 -16
  140. package/dist/esm/providers/s3/apis/uploadData/multipart/uploadHandlers.mjs.map +1 -1
  141. package/dist/esm/providers/s3/apis/uploadData/multipart/uploadPartExecutor.d.ts +3 -2
  142. package/dist/esm/providers/s3/apis/uploadData/multipart/uploadPartExecutor.mjs +27 -18
  143. package/dist/esm/providers/s3/apis/uploadData/multipart/uploadPartExecutor.mjs.map +1 -1
  144. package/dist/esm/providers/s3/apis/uploadData/putObjectJob.mjs +30 -17
  145. package/dist/esm/providers/s3/apis/uploadData/putObjectJob.mjs.map +1 -1
  146. package/dist/esm/providers/s3/apis/uploadData/validateObjectNotExists.d.ts +3 -0
  147. package/dist/esm/providers/s3/apis/uploadData/validateObjectNotExists.mjs +34 -0
  148. package/dist/esm/providers/s3/apis/uploadData/validateObjectNotExists.mjs.map +1 -0
  149. package/dist/esm/providers/s3/types/inputs.d.ts +5 -1
  150. package/dist/esm/providers/s3/types/options.d.ts +24 -1
  151. package/dist/esm/providers/s3/utils/client/s3control/base.d.ts +56 -0
  152. package/dist/esm/providers/s3/utils/client/s3control/base.mjs +74 -0
  153. package/dist/esm/providers/s3/utils/client/s3control/base.mjs.map +1 -0
  154. package/dist/esm/providers/s3/utils/client/s3control/getDataAccess.d.ts +26 -0
  155. package/dist/esm/providers/s3/utils/client/s3control/getDataAccess.mjs +63 -0
  156. package/dist/esm/providers/s3/utils/client/s3control/getDataAccess.mjs.map +1 -0
  157. package/dist/esm/providers/s3/utils/client/s3control/index.d.ts +2 -0
  158. package/dist/esm/providers/s3/utils/client/s3control/index.mjs +3 -0
  159. package/dist/esm/providers/s3/utils/client/s3control/index.mjs.map +1 -0
  160. package/dist/esm/providers/s3/utils/client/s3control/listCallerAccessGrants.d.ts +26 -0
  161. package/dist/esm/providers/s3/utils/client/s3control/listCallerAccessGrants.mjs +67 -0
  162. package/dist/esm/providers/s3/utils/client/s3control/listCallerAccessGrants.mjs.map +1 -0
  163. package/dist/esm/providers/s3/utils/client/s3control/types.d.ts +188 -0
  164. package/dist/esm/providers/s3/utils/client/{abortMultipartUpload.d.ts → s3data/abortMultipartUpload.d.ts} +4 -4
  165. package/dist/esm/providers/s3/utils/client/{abortMultipartUpload.mjs → s3data/abortMultipartUpload.mjs} +5 -6
  166. package/dist/esm/providers/s3/utils/client/s3data/abortMultipartUpload.mjs.map +1 -0
  167. package/dist/esm/providers/s3/utils/client/{base.d.ts → s3data/base.d.ts} +23 -1
  168. package/dist/esm/providers/s3/utils/client/{base.mjs → s3data/base.mjs} +29 -6
  169. package/dist/esm/providers/s3/utils/client/s3data/base.mjs.map +1 -0
  170. package/dist/esm/providers/s3/utils/client/{completeMultipartUpload.d.ts → s3data/completeMultipartUpload.d.ts} +6 -6
  171. package/dist/esm/providers/s3/utils/client/{completeMultipartUpload.mjs → s3data/completeMultipartUpload.mjs} +19 -14
  172. package/dist/esm/providers/s3/utils/client/s3data/completeMultipartUpload.mjs.map +1 -0
  173. package/dist/esm/providers/s3/utils/client/{copyObject.d.ts → s3data/copyObject.d.ts} +4 -4
  174. package/dist/esm/providers/s3/utils/client/{copyObject.mjs → s3data/copyObject.mjs} +6 -6
  175. package/dist/esm/providers/s3/utils/client/s3data/copyObject.mjs.map +1 -0
  176. package/dist/esm/providers/s3/utils/client/{createMultipartUpload.d.ts → s3data/createMultipartUpload.d.ts} +4 -4
  177. package/dist/esm/providers/s3/utils/client/{createMultipartUpload.mjs → s3data/createMultipartUpload.mjs} +12 -7
  178. package/dist/esm/providers/s3/utils/client/s3data/createMultipartUpload.mjs.map +1 -0
  179. package/dist/esm/providers/s3/utils/client/{deleteObject.d.ts → s3data/deleteObject.d.ts} +4 -4
  180. package/dist/esm/providers/s3/utils/client/{deleteObject.mjs → s3data/deleteObject.mjs} +5 -6
  181. package/dist/esm/providers/s3/utils/client/s3data/deleteObject.mjs.map +1 -0
  182. package/dist/esm/providers/s3/utils/client/{getObject.d.ts → s3data/getObject.d.ts} +4 -4
  183. package/dist/esm/providers/s3/utils/client/{getObject.mjs → s3data/getObject.mjs} +7 -8
  184. package/dist/esm/providers/s3/utils/client/s3data/getObject.mjs.map +1 -0
  185. package/dist/esm/providers/s3/utils/client/{headObject.d.ts → s3data/headObject.d.ts} +4 -4
  186. package/dist/esm/providers/s3/utils/client/{headObject.mjs → s3data/headObject.mjs} +5 -6
  187. package/dist/esm/providers/s3/utils/client/s3data/headObject.mjs.map +1 -0
  188. package/dist/esm/providers/s3/utils/client/{listObjectsV2.d.ts → s3data/listObjectsV2.d.ts} +4 -4
  189. package/dist/esm/providers/s3/utils/client/{listObjectsV2.mjs → s3data/listObjectsV2.mjs} +6 -6
  190. package/dist/esm/providers/s3/utils/client/s3data/listObjectsV2.mjs.map +1 -0
  191. package/dist/esm/providers/s3/utils/client/{listParts.d.ts → s3data/listParts.d.ts} +4 -4
  192. package/dist/esm/providers/s3/utils/client/{listParts.mjs → s3data/listParts.mjs} +7 -6
  193. package/dist/esm/providers/s3/utils/client/s3data/listParts.mjs.map +1 -0
  194. package/dist/esm/providers/s3/utils/client/{putObject.d.ts → s3data/putObject.d.ts} +5 -5
  195. package/dist/esm/providers/s3/utils/client/{putObject.mjs → s3data/putObject.mjs} +6 -6
  196. package/dist/esm/providers/s3/utils/client/s3data/putObject.mjs.map +1 -0
  197. package/dist/esm/providers/s3/utils/client/s3data/types.mjs +2 -0
  198. package/dist/esm/providers/s3/utils/client/s3data/types.mjs.map +1 -0
  199. package/dist/esm/providers/s3/utils/client/{uploadPart.d.ts → s3data/uploadPart.d.ts} +5 -5
  200. package/dist/esm/providers/s3/utils/client/{uploadPart.mjs → s3data/uploadPart.mjs} +7 -7
  201. package/dist/esm/providers/s3/utils/client/s3data/uploadPart.mjs.map +1 -0
  202. package/dist/esm/providers/s3/utils/client/utils/createRetryDecider.d.ts +22 -0
  203. package/dist/esm/providers/s3/utils/client/utils/createRetryDecider.mjs +55 -0
  204. package/dist/esm/providers/s3/utils/client/utils/createRetryDecider.mjs.map +1 -0
  205. package/dist/esm/providers/s3/utils/client/utils/deserializeHelpers.d.ts +17 -0
  206. package/dist/esm/providers/s3/utils/client/utils/deserializeHelpers.mjs +33 -1
  207. package/dist/esm/providers/s3/utils/client/utils/deserializeHelpers.mjs.map +1 -1
  208. package/dist/esm/providers/s3/utils/client/utils/index.d.ts +2 -1
  209. package/dist/esm/providers/s3/utils/client/utils/index.mjs +2 -1
  210. package/dist/esm/providers/s3/utils/client/utils/index.mjs.map +1 -1
  211. package/dist/esm/providers/s3/utils/client/utils/parsePayload.d.ts +16 -1
  212. package/dist/esm/providers/s3/utils/client/utils/parsePayload.mjs +19 -5
  213. package/dist/esm/providers/s3/utils/client/utils/parsePayload.mjs.map +1 -1
  214. package/dist/esm/providers/s3/utils/crc32.d.ts +6 -0
  215. package/dist/esm/providers/s3/utils/crc32.mjs +34 -0
  216. package/dist/esm/providers/s3/utils/crc32.mjs.map +1 -0
  217. package/dist/esm/providers/s3/utils/crc32.native.d.ts +2 -0
  218. package/dist/esm/providers/s3/utils/crc32.native.mjs +8 -0
  219. package/dist/esm/providers/s3/utils/crc32.native.mjs.map +1 -0
  220. package/dist/esm/providers/s3/utils/resolveIdentityId.d.ts +1 -0
  221. package/dist/esm/providers/s3/utils/resolveIdentityId.mjs +12 -0
  222. package/dist/esm/providers/s3/utils/resolveIdentityId.mjs.map +1 -0
  223. package/dist/esm/providers/s3/utils/resolveS3ConfigAndInput.d.ts +10 -2
  224. package/dist/esm/providers/s3/utils/resolveS3ConfigAndInput.mjs +57 -11
  225. package/dist/esm/providers/s3/utils/resolveS3ConfigAndInput.mjs.map +1 -1
  226. package/dist/esm/providers/s3/utils/validateStorageOperationInput.mjs +4 -1
  227. package/dist/esm/providers/s3/utils/validateStorageOperationInput.mjs.map +1 -1
  228. package/dist/esm/providers/s3/utils/validateStorageOperationInputWithPrefix.mjs +4 -1
  229. package/dist/esm/providers/s3/utils/validateStorageOperationInputWithPrefix.mjs.map +1 -1
  230. package/dist/esm/storageBrowser/apis/constants.d.ts +2 -0
  231. package/dist/esm/storageBrowser/apis/constants.mjs +7 -0
  232. package/dist/esm/storageBrowser/apis/constants.mjs.map +1 -0
  233. package/dist/esm/storageBrowser/apis/getDataAccess.d.ts +2 -0
  234. package/dist/esm/storageBrowser/apis/getDataAccess.mjs +57 -0
  235. package/dist/esm/storageBrowser/apis/getDataAccess.mjs.map +1 -0
  236. package/dist/esm/storageBrowser/apis/listCallerAccessGrants.d.ts +2 -0
  237. package/dist/esm/storageBrowser/apis/listCallerAccessGrants.mjs +69 -0
  238. package/dist/esm/storageBrowser/apis/listCallerAccessGrants.mjs.map +1 -0
  239. package/dist/esm/storageBrowser/apis/types.d.ts +18 -0
  240. package/dist/esm/storageBrowser/apis/types.mjs +2 -0
  241. package/dist/esm/storageBrowser/apis/types.mjs.map +1 -0
  242. package/dist/esm/storageBrowser/index.d.ts +6 -0
  243. package/dist/esm/storageBrowser/index.mjs +3 -0
  244. package/dist/esm/storageBrowser/index.mjs.map +1 -0
  245. package/dist/esm/storageBrowser/locationCredentialsStore/constants.d.ts +2 -0
  246. package/dist/esm/storageBrowser/locationCredentialsStore/constants.mjs +7 -0
  247. package/dist/esm/storageBrowser/locationCredentialsStore/constants.mjs.map +1 -0
  248. package/dist/esm/storageBrowser/locationCredentialsStore/create.d.ts +2 -0
  249. package/dist/esm/storageBrowser/locationCredentialsStore/create.mjs +34 -0
  250. package/dist/esm/storageBrowser/locationCredentialsStore/create.mjs.map +1 -0
  251. package/dist/esm/storageBrowser/locationCredentialsStore/index.d.ts +1 -0
  252. package/dist/esm/storageBrowser/locationCredentialsStore/index.mjs +2 -0
  253. package/dist/esm/storageBrowser/locationCredentialsStore/index.mjs.map +1 -0
  254. package/dist/esm/storageBrowser/locationCredentialsStore/registry.d.ts +23 -0
  255. package/dist/esm/storageBrowser/locationCredentialsStore/registry.mjs +54 -0
  256. package/dist/esm/storageBrowser/locationCredentialsStore/registry.mjs.map +1 -0
  257. package/dist/esm/storageBrowser/locationCredentialsStore/store.d.ts +35 -0
  258. package/dist/esm/storageBrowser/locationCredentialsStore/store.mjs +95 -0
  259. package/dist/esm/storageBrowser/locationCredentialsStore/store.mjs.map +1 -0
  260. package/dist/esm/storageBrowser/managedAuthConfigAdapter/createListLocationsHandler.d.ts +8 -0
  261. package/dist/esm/storageBrowser/managedAuthConfigAdapter/createListLocationsHandler.mjs +13 -0
  262. package/dist/esm/storageBrowser/managedAuthConfigAdapter/createListLocationsHandler.mjs.map +1 -0
  263. package/dist/esm/storageBrowser/managedAuthConfigAdapter/createLocationCredentialsHandler.d.ts +8 -0
  264. package/dist/esm/storageBrowser/managedAuthConfigAdapter/createLocationCredentialsHandler.mjs +27 -0
  265. package/dist/esm/storageBrowser/managedAuthConfigAdapter/createLocationCredentialsHandler.mjs.map +1 -0
  266. package/dist/esm/storageBrowser/managedAuthConfigAdapter/createManagedAuthConfigAdapter.d.ts +19 -0
  267. package/dist/esm/storageBrowser/managedAuthConfigAdapter/createManagedAuthConfigAdapter.mjs +30 -0
  268. package/dist/esm/storageBrowser/managedAuthConfigAdapter/createManagedAuthConfigAdapter.mjs.map +1 -0
  269. package/dist/esm/storageBrowser/managedAuthConfigAdapter/index.d.ts +1 -0
  270. package/dist/esm/storageBrowser/managedAuthConfigAdapter/index.mjs +2 -0
  271. package/dist/esm/storageBrowser/managedAuthConfigAdapter/index.mjs.map +1 -0
  272. package/dist/esm/storageBrowser/types.d.ts +92 -0
  273. package/dist/esm/storageBrowser/types.mjs +2 -0
  274. package/dist/esm/storageBrowser/types.mjs.map +1 -0
  275. package/package.json +117 -107
  276. package/src/errors/constants.ts +4 -0
  277. package/src/errors/types/validation.ts +12 -0
  278. package/src/providers/s3/apis/downloadData.ts +2 -2
  279. package/src/providers/s3/apis/internal/copy.ts +42 -12
  280. package/src/providers/s3/apis/internal/getProperties.ts +2 -3
  281. package/src/providers/s3/apis/internal/getUrl.ts +2 -2
  282. package/src/providers/s3/apis/internal/list.ts +3 -3
  283. package/src/providers/s3/apis/internal/remove.ts +2 -3
  284. package/src/providers/s3/apis/uploadData/multipart/initialUpload.ts +30 -1
  285. package/src/providers/s3/apis/uploadData/multipart/uploadCache.ts +4 -1
  286. package/src/providers/s3/apis/uploadData/multipart/uploadHandlers.ts +36 -17
  287. package/src/providers/s3/apis/uploadData/multipart/uploadPartExecutor.ts +23 -7
  288. package/src/providers/s3/apis/uploadData/putObjectJob.ts +22 -5
  289. package/src/providers/s3/apis/uploadData/validateObjectNotExists.ts +25 -0
  290. package/src/providers/s3/types/inputs.ts +7 -1
  291. package/src/providers/s3/types/options.ts +35 -1
  292. package/src/providers/s3/utils/client/s3control/base.ts +97 -0
  293. package/src/providers/s3/utils/client/s3control/getDataAccess.ts +96 -0
  294. package/src/providers/s3/utils/client/s3control/index.ts +13 -0
  295. package/src/providers/s3/utils/client/s3control/listCallerAccessGrants.ts +107 -0
  296. package/src/providers/s3/utils/client/s3control/types.ts +216 -0
  297. package/src/providers/s3/utils/client/{abortMultipartUpload.ts → s3data/abortMultipartUpload.ts} +4 -4
  298. package/src/providers/s3/utils/client/{base.ts → s3data/base.ts} +26 -3
  299. package/src/providers/s3/utils/client/{completeMultipartUpload.ts → s3data/completeMultipartUpload.ts} +28 -19
  300. package/src/providers/s3/utils/client/{copyObject.ts → s3data/copyObject.ts} +4 -4
  301. package/src/providers/s3/utils/client/{createMultipartUpload.ts → s3data/createMultipartUpload.ts} +15 -9
  302. package/src/providers/s3/utils/client/{deleteObject.ts → s3data/deleteObject.ts} +7 -7
  303. package/src/providers/s3/utils/client/{getObject.ts → s3data/getObject.ts} +13 -9
  304. package/src/providers/s3/utils/client/{headObject.ts → s3data/headObject.ts} +4 -4
  305. package/src/providers/s3/utils/client/{listObjectsV2.ts → s3data/listObjectsV2.ts} +7 -7
  306. package/src/providers/s3/utils/client/{listParts.ts → s3data/listParts.ts} +9 -8
  307. package/src/providers/s3/utils/client/{putObject.ts → s3data/putObject.ts} +6 -4
  308. package/src/providers/s3/utils/client/{uploadPart.ts → s3data/uploadPart.ts} +13 -6
  309. package/src/providers/s3/utils/client/utils/createRetryDecider.ts +96 -0
  310. package/src/providers/s3/utils/client/utils/deserializeHelpers.ts +41 -0
  311. package/src/providers/s3/utils/client/utils/index.ts +2 -1
  312. package/src/providers/s3/utils/client/utils/parsePayload.ts +36 -18
  313. package/src/providers/s3/utils/crc32.native.ts +11 -0
  314. package/src/providers/s3/utils/crc32.ts +51 -0
  315. package/src/providers/s3/utils/resolveIdentityId.ts +11 -0
  316. package/src/providers/s3/utils/resolveS3ConfigAndInput.ts +109 -14
  317. package/src/providers/s3/utils/validateStorageOperationInput.ts +5 -1
  318. package/src/providers/s3/utils/validateStorageOperationInputWithPrefix.ts +5 -1
  319. package/src/storageBrowser/apis/constants.ts +5 -0
  320. package/src/storageBrowser/apis/getDataAccess.ts +79 -0
  321. package/src/storageBrowser/apis/listCallerAccessGrants.ts +94 -0
  322. package/src/storageBrowser/apis/types.ts +33 -0
  323. package/src/storageBrowser/index.ts +25 -0
  324. package/src/storageBrowser/locationCredentialsStore/constants.ts +5 -0
  325. package/src/storageBrowser/locationCredentialsStore/create.ts +54 -0
  326. package/src/storageBrowser/locationCredentialsStore/index.ts +4 -0
  327. package/src/storageBrowser/locationCredentialsStore/registry.ts +88 -0
  328. package/src/storageBrowser/locationCredentialsStore/store.ts +161 -0
  329. package/src/storageBrowser/managedAuthConfigAdapter/createListLocationsHandler.ts +21 -0
  330. package/src/storageBrowser/managedAuthConfigAdapter/createLocationCredentialsHandler.ts +40 -0
  331. package/src/storageBrowser/managedAuthConfigAdapter/createManagedAuthConfigAdapter.ts +53 -0
  332. package/src/storageBrowser/managedAuthConfigAdapter/index.ts +8 -0
  333. package/src/storageBrowser/types.ts +117 -0
  334. package/dist/cjs/providers/s3/utils/client/abortMultipartUpload.js.map +0 -1
  335. package/dist/cjs/providers/s3/utils/client/base.js.map +0 -1
  336. package/dist/cjs/providers/s3/utils/client/completeMultipartUpload.js.map +0 -1
  337. package/dist/cjs/providers/s3/utils/client/copyObject.js.map +0 -1
  338. package/dist/cjs/providers/s3/utils/client/createMultipartUpload.js.map +0 -1
  339. package/dist/cjs/providers/s3/utils/client/deleteObject.js.map +0 -1
  340. package/dist/cjs/providers/s3/utils/client/getObject.js.map +0 -1
  341. package/dist/cjs/providers/s3/utils/client/headObject.js.map +0 -1
  342. package/dist/cjs/providers/s3/utils/client/index.js.map +0 -1
  343. package/dist/cjs/providers/s3/utils/client/listObjectsV2.js.map +0 -1
  344. package/dist/cjs/providers/s3/utils/client/listParts.js.map +0 -1
  345. package/dist/cjs/providers/s3/utils/client/putObject.js.map +0 -1
  346. package/dist/cjs/providers/s3/utils/client/types.js.map +0 -1
  347. package/dist/cjs/providers/s3/utils/client/uploadPart.js.map +0 -1
  348. package/dist/esm/providers/s3/utils/client/abortMultipartUpload.mjs.map +0 -1
  349. package/dist/esm/providers/s3/utils/client/base.mjs.map +0 -1
  350. package/dist/esm/providers/s3/utils/client/completeMultipartUpload.mjs.map +0 -1
  351. package/dist/esm/providers/s3/utils/client/copyObject.mjs.map +0 -1
  352. package/dist/esm/providers/s3/utils/client/createMultipartUpload.mjs.map +0 -1
  353. package/dist/esm/providers/s3/utils/client/deleteObject.mjs.map +0 -1
  354. package/dist/esm/providers/s3/utils/client/getObject.mjs.map +0 -1
  355. package/dist/esm/providers/s3/utils/client/headObject.mjs.map +0 -1
  356. package/dist/esm/providers/s3/utils/client/listObjectsV2.mjs.map +0 -1
  357. package/dist/esm/providers/s3/utils/client/listParts.mjs.map +0 -1
  358. package/dist/esm/providers/s3/utils/client/putObject.mjs.map +0 -1
  359. package/dist/esm/providers/s3/utils/client/uploadPart.mjs.map +0 -1
  360. /package/dist/cjs/providers/s3/utils/client/{types.js → s3control/types.js} +0 -0
  361. /package/dist/cjs/providers/s3/utils/client/{index.js → s3data/index.js} +0 -0
  362. /package/dist/esm/providers/s3/utils/client/{types.mjs → s3control/types.mjs} +0 -0
  363. /package/dist/esm/providers/s3/utils/client/{types.mjs.map → s3control/types.mjs.map} +0 -0
  364. /package/dist/esm/providers/s3/utils/client/{index.d.ts → s3data/index.d.ts} +0 -0
  365. /package/dist/esm/providers/s3/utils/client/{index.mjs → s3data/index.mjs} +0 -0
  366. /package/dist/esm/providers/s3/utils/client/{index.mjs.map → s3data/index.mjs.map} +0 -0
  367. /package/dist/esm/providers/s3/utils/client/{types.d.ts → s3data/types.d.ts} +0 -0
  368. /package/src/providers/s3/utils/client/{index.ts → s3data/index.ts} +0 -0
  369. /package/src/providers/s3/utils/client/{types.ts → s3data/types.ts} +0 -0
@@ -0,0 +1,27 @@
1
+ import { getDataAccess } from '../apis/getDataAccess.mjs';
2
+
3
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ // SPDX-License-Identifier: Apache-2.0
5
+ const createLocationCredentialsHandler = (handlerInput) => {
6
+ const { accountId, region, credentialsProvider } = handlerInput;
7
+ /**
8
+ * Retrieves credentials for the specified scope & permission.
9
+ *
10
+ * @param input - An object specifying the requested scope & permission.
11
+ *
12
+ * @returns A promise which will resolve with the requested credentials.
13
+ */
14
+ return (input) => {
15
+ const { scope, permission } = input;
16
+ return getDataAccess({
17
+ accountId,
18
+ credentialsProvider,
19
+ permission,
20
+ region,
21
+ scope,
22
+ });
23
+ };
24
+ };
25
+
26
+ export { createLocationCredentialsHandler };
27
+ //# sourceMappingURL=createLocationCredentialsHandler.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createLocationCredentialsHandler.mjs","sources":["../../../../src/storageBrowser/managedAuthConfigAdapter/createLocationCredentialsHandler.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { getDataAccess } from '../apis/getDataAccess';\nexport const createLocationCredentialsHandler = (handlerInput) => {\n const { accountId, region, credentialsProvider } = handlerInput;\n /**\n * Retrieves credentials for the specified scope & permission.\n *\n * @param input - An object specifying the requested scope & permission.\n *\n * @returns A promise which will resolve with the requested credentials.\n */\n return (input) => {\n const { scope, permission } = input;\n return getDataAccess({\n accountId,\n credentialsProvider,\n permission,\n region,\n scope,\n });\n };\n};\n"],"names":[],"mappings":";;AAAA;AACA;AAEY,MAAC,gCAAgC,GAAG,CAAC,YAAY,KAAK;AAClE,IAAI,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,mBAAmB,EAAE,GAAG,YAAY,CAAC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO,CAAC,KAAK,KAAK;AACtB,QAAQ,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;AAC5C,QAAQ,OAAO,aAAa,CAAC;AAC7B,YAAY,SAAS;AACrB,YAAY,mBAAmB;AAC/B,YAAY,UAAU;AACtB,YAAY,MAAM;AAClB,YAAY,KAAK;AACjB,SAAS,CAAC,CAAC;AACX,KAAK,CAAC;AACN;;;;"}
@@ -0,0 +1,19 @@
1
+ import { CredentialsProvider, GetLocationCredentials, ListLocations } from '../types';
2
+ export interface CreateManagedAuthConfigAdapterInput {
3
+ accountId: string;
4
+ region: string;
5
+ credentialsProvider: CredentialsProvider;
6
+ }
7
+ export interface AuthConfigAdapter {
8
+ listLocations: ListLocations;
9
+ getLocationCredentials: GetLocationCredentials;
10
+ region: string;
11
+ }
12
+ /**
13
+ * Create configuration including handlers to call S3 Access Grant APIs to list and get
14
+ * credentials for different locations.
15
+ *
16
+ * @param options - Configuration options for the adapter.
17
+ * @returns - An object containing the handlers to call S3 Access Grant APIs and region
18
+ */
19
+ export declare const createManagedAuthConfigAdapter: ({ credentialsProvider, region, accountId, }: CreateManagedAuthConfigAdapterInput) => AuthConfigAdapter;
@@ -0,0 +1,30 @@
1
+ import { createListLocationsHandler } from './createListLocationsHandler.mjs';
2
+ import { createLocationCredentialsHandler } from './createLocationCredentialsHandler.mjs';
3
+
4
+ /**
5
+ * Create configuration including handlers to call S3 Access Grant APIs to list and get
6
+ * credentials for different locations.
7
+ *
8
+ * @param options - Configuration options for the adapter.
9
+ * @returns - An object containing the handlers to call S3 Access Grant APIs and region
10
+ */
11
+ const createManagedAuthConfigAdapter = ({ credentialsProvider, region, accountId, }) => {
12
+ const listLocations = createListLocationsHandler({
13
+ credentialsProvider,
14
+ accountId,
15
+ region,
16
+ });
17
+ const getLocationCredentials = createLocationCredentialsHandler({
18
+ credentialsProvider,
19
+ accountId,
20
+ region,
21
+ });
22
+ return {
23
+ listLocations,
24
+ getLocationCredentials,
25
+ region,
26
+ };
27
+ };
28
+
29
+ export { createManagedAuthConfigAdapter };
30
+ //# sourceMappingURL=createManagedAuthConfigAdapter.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createManagedAuthConfigAdapter.mjs","sources":["../../../../src/storageBrowser/managedAuthConfigAdapter/createManagedAuthConfigAdapter.ts"],"sourcesContent":["import { createListLocationsHandler } from './createListLocationsHandler';\nimport { createLocationCredentialsHandler } from './createLocationCredentialsHandler';\n/**\n * Create configuration including handlers to call S3 Access Grant APIs to list and get\n * credentials for different locations.\n *\n * @param options - Configuration options for the adapter.\n * @returns - An object containing the handlers to call S3 Access Grant APIs and region\n */\nexport const createManagedAuthConfigAdapter = ({ credentialsProvider, region, accountId, }) => {\n const listLocations = createListLocationsHandler({\n credentialsProvider,\n accountId,\n region,\n });\n const getLocationCredentials = createLocationCredentialsHandler({\n credentialsProvider,\n accountId,\n region,\n });\n return {\n listLocations,\n getLocationCredentials,\n region,\n };\n};\n"],"names":[],"mappings":";;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,8BAA8B,GAAG,CAAC,EAAE,mBAAmB,EAAE,MAAM,EAAE,SAAS,GAAG,KAAK;AAC/F,IAAI,MAAM,aAAa,GAAG,0BAA0B,CAAC;AACrD,QAAQ,mBAAmB;AAC3B,QAAQ,SAAS;AACjB,QAAQ,MAAM;AACd,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,sBAAsB,GAAG,gCAAgC,CAAC;AACpE,QAAQ,mBAAmB;AAC3B,QAAQ,SAAS;AACjB,QAAQ,MAAM;AACd,KAAK,CAAC,CAAC;AACP,IAAI,OAAO;AACX,QAAQ,aAAa;AACrB,QAAQ,sBAAsB;AAC9B,QAAQ,MAAM;AACd,KAAK,CAAC;AACN;;;;"}
@@ -0,0 +1 @@
1
+ export { AuthConfigAdapter, createManagedAuthConfigAdapter, CreateManagedAuthConfigAdapterInput, } from './createManagedAuthConfigAdapter';
@@ -0,0 +1,2 @@
1
+ export { createManagedAuthConfigAdapter } from './createManagedAuthConfigAdapter.mjs';
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,92 @@
1
+ import { AWSTemporaryCredentials, LocationCredentialsProvider } from '../providers/s3/types/options';
2
+ /**
3
+ * @internal
4
+ */
5
+ export type Permission = 'READ' | 'READWRITE' | 'WRITE';
6
+ /**
7
+ * @internal
8
+ */
9
+ export type CredentialsProvider = LocationCredentialsProvider;
10
+ /**
11
+ * @internal
12
+ */
13
+ export type LocationType = 'BUCKET' | 'PREFIX' | 'OBJECT';
14
+ /**
15
+ * @internal
16
+ */
17
+ export type Privilege = 'Default' | 'Minimal';
18
+ /**
19
+ * @internal
20
+ */
21
+ export type PrefixType = 'Object';
22
+ export interface LocationScope {
23
+ /**
24
+ * Scope of storage location. For S3 service, it's the S3 path of the data to
25
+ * which the access is granted. It can be in following formats:
26
+ *
27
+ * @example Bucket 's3://<bucket>/*'
28
+ * @example Prefix 's3://<bucket>/<prefix-with-path>*'
29
+ * @example Object 's3://<bucket>/<prefix-with-path>/<object>'
30
+ */
31
+ readonly scope: string;
32
+ }
33
+ export interface CredentialsLocation extends LocationScope {
34
+ /**
35
+ * The type of access granted to your Storage data. Can be either of READ,
36
+ * WRITE or READWRITE
37
+ */
38
+ readonly permission: Permission;
39
+ }
40
+ /**
41
+ * @internal
42
+ */
43
+ export interface LocationAccess extends CredentialsLocation {
44
+ /**
45
+ * Parse location type parsed from scope format:
46
+ * * BUCKET: `'s3://<bucket>/*'`
47
+ * * PREFIX: `'s3://<bucket>/<prefix-with-path>*'`
48
+ * * OBJECT: `'s3://<bucket>/<prefix-with-path>/<object>'`
49
+ */
50
+ readonly type: LocationType;
51
+ }
52
+ export interface LocationCredentials extends Partial<LocationScope> {
53
+ /**
54
+ * AWS credentials which can be used to access the specified location.
55
+ */
56
+ readonly credentials: AWSTemporaryCredentials;
57
+ }
58
+ /**
59
+ * @internal
60
+ */
61
+ export interface ListLocationsInput {
62
+ pageSize?: number;
63
+ nextToken?: string;
64
+ }
65
+ /**
66
+ * @internal
67
+ */
68
+ export interface ListLocationsOutput {
69
+ locations: LocationAccess[];
70
+ nextToken?: string;
71
+ }
72
+ export type ListLocations = (input?: ListLocationsInput) => Promise<ListLocationsOutput>;
73
+ export type GetLocationCredentialsInput = CredentialsLocation;
74
+ export type GetLocationCredentialsOutput = LocationCredentials;
75
+ export type GetLocationCredentials = (input: GetLocationCredentialsInput) => Promise<GetLocationCredentialsOutput>;
76
+ export interface CreateLocationCredentialsStoreInput {
77
+ handler: GetLocationCredentials;
78
+ }
79
+ export interface LocationCredentialsStore {
80
+ /**
81
+ * Get location-specific credentials. It uses a cache internally to optimize performance when
82
+ * getting credentials for the same location. It will refresh credentials if they expire or
83
+ * when forced to.
84
+ */
85
+ getProvider(option: CredentialsLocation): LocationCredentialsProvider;
86
+ /**
87
+ * Invalidate cached credentials and force subsequent calls to get location-specific
88
+ * credentials to throw. It also makes subsequent calls to `getCredentialsProviderForLocation`
89
+ * to throw.
90
+ */
91
+ destroy(): void;
92
+ }
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,109 +1,119 @@
1
1
  {
2
- "name": "@aws-amplify/storage",
3
- "version": "6.6.5",
4
- "description": "Storage category of aws-amplify",
5
- "main": "./dist/cjs/index.js",
6
- "module": "./dist/esm/index.mjs",
7
- "react-native": {
8
- "./dist/cjs/index": "./src/index.ts",
9
- "fast-xml-parser": "fast-xml-parser",
10
- "buffer": "buffer"
11
- },
12
- "typings": "./dist/esm/index.d.ts",
13
- "browser": {
14
- "./dist/esm/providers/s3/utils/client/runtime/base64/index.native.mjs": "./dist/esm/providers/s3/utils/client/runtime/base64/index.browser.mjs",
15
- "./dist/esm/providers/s3/utils/client/runtime/s3TransferHandler/fetch.mjs": "./dist/esm/providers/s3/utils/client/runtime/s3TransferHandler/xhr.mjs",
16
- "./dist/esm/providers/s3/utils/client/runtime/xmlParser/pureJs.mjs": "./dist/esm/providers/s3/utils/client/runtime/xmlParser/dom.mjs",
17
- "fast-xml-parser": false,
18
- "buffer": false
19
- },
20
- "sideEffects": false,
21
- "publishConfig": {
22
- "access": "public"
23
- },
24
- "scripts": {
25
- "test": "npm run lint && jest -w 1 --coverage --logHeapUsage",
26
- "build-with-test": "npm test && npm run build",
27
- "build:umd": "webpack && webpack --config ./webpack.config.dev.js",
28
- "build:esm-cjs": "rollup --forceExit -c rollup.config.mjs",
29
- "build:watch": "npm run build:esm-cjs -- --watch",
30
- "build": "npm run clean && npm run build:esm-cjs && npm run build:umd",
31
- "clean": "npm run clean:size && rimraf lib-esm lib dist",
32
- "clean:size": "rimraf dual-publish-tmp tmp*",
33
- "format": "echo \"Not implemented\"",
34
- "lint": "eslint '**/*.{ts,tsx}' && npm run ts-coverage",
35
- "lint:fix": "eslint '**/*.{ts,tsx}' --fix",
36
- "ts-coverage": "typescript-coverage-report -p ./tsconfig.build.json -t 90.31"
37
- },
38
- "typesVersions": {
39
- ">=4.2": {
40
- "s3": [
41
- "./dist/esm/providers/s3/index.d.ts"
42
- ],
43
- "server": [
44
- "./dist/esm/server.d.ts"
45
- ],
46
- "s3/server": [
47
- "./dist/esm/providers/s3/server.d.ts"
48
- ]
49
- }
50
- },
51
- "repository": {
52
- "type": "git",
53
- "url": "https://github.com/aws-amplify/amplify-js.git"
54
- },
55
- "author": "Amazon Web Services",
56
- "license": "Apache-2.0",
57
- "bugs": {
58
- "url": "https://github.com/aws/aws-amplify/issues"
59
- },
60
- "homepage": "https://aws-amplify.github.io/",
61
- "files": [
62
- "dist/cjs",
63
- "dist/esm",
64
- "src",
65
- "server",
66
- "s3"
67
- ],
68
- "dependencies": {
69
- "@aws-sdk/types": "3.398.0",
70
- "@smithy/md5-js": "2.0.7",
71
- "buffer": "4.9.2",
72
- "fast-xml-parser": "^4.4.1",
73
- "tslib": "^2.5.0"
74
- },
75
- "exports": {
76
- ".": {
77
- "types": "./dist/esm/index.d.ts",
78
- "import": "./dist/esm/index.mjs",
79
- "require": "./dist/cjs/index.js",
80
- "react-native": "./src/index.ts"
81
- },
82
- "./server": {
83
- "types": "./dist/esm/server.d.ts",
84
- "import": "./dist/esm/server.mjs",
85
- "require": "./dist/cjs/server.js"
86
- },
87
- "./s3": {
88
- "types": "./dist/esm/providers/s3/index.d.ts",
89
- "import": "./dist/esm/providers/s3/index.mjs",
90
- "require": "./dist/cjs/providers/s3/index.js",
91
- "react-native": "./src/providers/s3/index.ts"
92
- },
93
- "./s3/server": {
94
- "types": "./dist/esm/providers/s3/server.d.ts",
95
- "import": "./dist/esm/providers/s3/server.mjs",
96
- "require": "./dist/cjs/providers/s3/server.js"
97
- },
98
- "./package.json": "./package.json"
99
- },
100
- "peerDependencies": {
101
- "@aws-amplify/core": "^6.1.0"
102
- },
103
- "devDependencies": {
104
- "@aws-amplify/core": "6.4.0",
105
- "@aws-amplify/react-native": "1.1.5",
106
- "typescript": "5.0.2"
107
- },
108
- "gitHead": "af7e31a49fc1ad9f4e093d0d6129ea9c6b750d89"
2
+ "name": "@aws-amplify/storage",
3
+ "version": "6.6.6-storage-browser.4949269.0+4949269",
4
+ "description": "Storage category of aws-amplify",
5
+ "main": "./dist/cjs/index.js",
6
+ "module": "./dist/esm/index.mjs",
7
+ "react-native": {
8
+ "./dist/cjs/index": "./src/index.ts",
9
+ "fast-xml-parser": "fast-xml-parser",
10
+ "buffer": "buffer"
11
+ },
12
+ "typings": "./dist/esm/index.d.ts",
13
+ "browser": {
14
+ "./dist/esm/providers/s3/utils/client/runtime/base64/index.native.mjs": "./dist/esm/providers/s3/utils/client/runtime/base64/index.browser.mjs",
15
+ "./dist/esm/providers/s3/utils/client/runtime/s3TransferHandler/fetch.mjs": "./dist/esm/providers/s3/utils/client/runtime/s3TransferHandler/xhr.mjs",
16
+ "./dist/esm/providers/s3/utils/client/runtime/xmlParser/pureJs.mjs": "./dist/esm/providers/s3/utils/client/runtime/xmlParser/dom.mjs",
17
+ "fast-xml-parser": false,
18
+ "buffer": false
19
+ },
20
+ "sideEffects": false,
21
+ "publishConfig": {
22
+ "access": "public"
23
+ },
24
+ "scripts": {
25
+ "test": "npm run lint && jest -w 1 --coverage --logHeapUsage",
26
+ "build-with-test": "npm test && npm run build",
27
+ "build:umd": "webpack && webpack --config ./webpack.config.dev.js",
28
+ "build:esm-cjs": "rollup --forceExit -c rollup.config.mjs",
29
+ "build:watch": "npm run build:esm-cjs -- --watch",
30
+ "build": "npm run clean && npm run build:esm-cjs && npm run build:umd",
31
+ "clean": "npm run clean:size && rimraf lib-esm lib dist",
32
+ "clean:size": "rimraf dual-publish-tmp tmp*",
33
+ "format": "echo \"Not implemented\"",
34
+ "lint": "eslint '**/*.{ts,tsx}' && npm run ts-coverage",
35
+ "lint:fix": "eslint '**/*.{ts,tsx}' --fix",
36
+ "ts-coverage": "typescript-coverage-report -p ./tsconfig.build.json -t 90.31"
37
+ },
38
+ "typesVersions": {
39
+ ">=4.2": {
40
+ "s3": [
41
+ "./dist/esm/providers/s3/index.d.ts"
42
+ ],
43
+ "server": [
44
+ "./dist/esm/server.d.ts"
45
+ ],
46
+ "s3/server": [
47
+ "./dist/esm/providers/s3/server.d.ts"
48
+ ],
49
+ "storage-browser": [
50
+ "./dist/esm/storageBrowser/index.d.ts"
51
+ ]
52
+ }
53
+ },
54
+ "repository": {
55
+ "type": "git",
56
+ "url": "https://github.com/aws-amplify/amplify-js.git"
57
+ },
58
+ "author": "Amazon Web Services",
59
+ "license": "Apache-2.0",
60
+ "bugs": {
61
+ "url": "https://github.com/aws/aws-amplify/issues"
62
+ },
63
+ "homepage": "https://aws-amplify.github.io/",
64
+ "files": [
65
+ "dist/cjs",
66
+ "dist/esm",
67
+ "src",
68
+ "server",
69
+ "s3"
70
+ ],
71
+ "dependencies": {
72
+ "@aws-sdk/types": "3.398.0",
73
+ "@smithy/md5-js": "2.0.7",
74
+ "buffer": "4.9.2",
75
+ "crc-32": "1.2.2",
76
+ "fast-xml-parser": "^4.4.1",
77
+ "tslib": "^2.5.0"
78
+ },
79
+ "exports": {
80
+ ".": {
81
+ "types": "./dist/esm/index.d.ts",
82
+ "import": "./dist/esm/index.mjs",
83
+ "require": "./dist/cjs/index.js",
84
+ "react-native": "./src/index.ts"
85
+ },
86
+ "./server": {
87
+ "types": "./dist/esm/server.d.ts",
88
+ "import": "./dist/esm/server.mjs",
89
+ "require": "./dist/cjs/server.js"
90
+ },
91
+ "./s3": {
92
+ "types": "./dist/esm/providers/s3/index.d.ts",
93
+ "import": "./dist/esm/providers/s3/index.mjs",
94
+ "require": "./dist/cjs/providers/s3/index.js",
95
+ "react-native": "./src/providers/s3/index.ts"
96
+ },
97
+ "./s3/server": {
98
+ "types": "./dist/esm/providers/s3/server.d.ts",
99
+ "import": "./dist/esm/providers/s3/server.mjs",
100
+ "require": "./dist/cjs/providers/s3/server.js"
101
+ },
102
+ "./storage-browser": {
103
+ "types": "./dist/esm/storageBrowser/index.d.ts",
104
+ "import": "./dist/esm/storageBrowser/index.mjs",
105
+ "require": "./dist/cjs/storageBrowser/index.js"
106
+ },
107
+ "./package.json": "./package.json"
108
+ },
109
+ "peerDependencies": {
110
+ "@aws-amplify/core": "6.4.1-storage-browser.4949269.0+4949269"
111
+ },
112
+ "devDependencies": {
113
+ "@aws-amplify/core": "6.4.1-storage-browser.4949269.0+4949269",
114
+ "@aws-amplify/react-native": "1.1.6-storage-browser.4949269.0+4949269",
115
+ "@types/node": "20.14.12",
116
+ "typescript": "5.0.2"
117
+ },
118
+ "gitHead": "494926910fd3b23678b76e8f3d910e350af31ad6"
109
119
  }
@@ -0,0 +1,4 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ export const INVALID_STORAGE_INPUT = 'InvalidStorageInput';
@@ -21,6 +21,9 @@ export enum StorageValidationErrorCode {
21
21
  InvalidUploadSource = 'InvalidUploadSource',
22
22
  ObjectIsTooLarge = 'ObjectIsTooLarge',
23
23
  UrlExpirationMaxLimitExceed = 'UrlExpirationMaxLimitExceed',
24
+ InvalidLocationCredentialsCacheSize = 'InvalidLocationCredentialsCacheSize',
25
+ LocationCredentialsStoreDestroyed = 'LocationCredentialsStoreDestroyed',
26
+ InvalidS3Uri = 'InvalidS3Uri',
24
27
  }
25
28
 
26
29
  export const validationErrorMap: AmplifyErrorMap<StorageValidationErrorCode> = {
@@ -72,6 +75,15 @@ export const validationErrorMap: AmplifyErrorMap<StorageValidationErrorCode> = {
72
75
  [StorageValidationErrorCode.InvalidStoragePathInput]: {
73
76
  message: 'Input `path` does not allow a leading slash (/).',
74
77
  },
78
+ [StorageValidationErrorCode.InvalidLocationCredentialsCacheSize]: {
79
+ message: 'locationCredentialsCacheSize must be a positive integer.',
80
+ },
81
+ [StorageValidationErrorCode.LocationCredentialsStoreDestroyed]: {
82
+ message: `Location-specific credentials store has been destroyed.`,
83
+ },
84
+ [StorageValidationErrorCode.InvalidS3Uri]: {
85
+ message: 'Invalid S3 URI.',
86
+ },
75
87
  [StorageValidationErrorCode.InvalidStorageBucket]: {
76
88
  message:
77
89
  'Unable to lookup bucket from provided name in Amplify configuration.',
@@ -12,7 +12,7 @@ import {
12
12
  } from '../types';
13
13
  import { resolveS3ConfigAndInput } from '../utils/resolveS3ConfigAndInput';
14
14
  import { createDownloadTask, validateStorageOperationInput } from '../utils';
15
- import { getObject } from '../utils/client';
15
+ import { getObject } from '../utils/client/s3data';
16
16
  import { getStorageUserAgentValue } from '../utils/userAgent';
17
17
  import { logger } from '../../../utils';
18
18
  import {
@@ -115,7 +115,7 @@ const downloadDataJob =
115
115
  > => {
116
116
  const { options: downloadDataOptions } = downloadDataInput;
117
117
  const { bucket, keyPrefix, s3Config, identityId } =
118
- await resolveS3ConfigAndInput(Amplify, downloadDataOptions);
118
+ await resolveS3ConfigAndInput(Amplify, downloadDataInput);
119
119
  const { inputType, objectKey } = validateStorageOperationInput(
120
120
  downloadDataInput,
121
121
  identityId,
@@ -18,7 +18,7 @@ import {
18
18
  } from '../../utils';
19
19
  import { StorageValidationErrorCode } from '../../../../errors/types/validation';
20
20
  import { assertValidationError } from '../../../../errors/utils/assertValidationError';
21
- import { copyObject } from '../../utils/client';
21
+ import { copyObject } from '../../utils/client/s3data';
22
22
  import { getStorageUserAgentValue } from '../../utils/userAgent';
23
23
  import { logger } from '../../../../utils';
24
24
 
@@ -59,15 +59,27 @@ const copyWithPath = async (
59
59
 
60
60
  storageBucketAssertion(source.bucket, destination.bucket);
61
61
 
62
- const { bucket: sourceBucket, identityId } = await resolveS3ConfigAndInput(
63
- amplify,
64
- input.source,
65
- );
62
+ const { bucket: sourceBucket } = await resolveS3ConfigAndInput(amplify, {
63
+ path: input.source.path,
64
+ options: {
65
+ locationCredentialsProvider: input.options?.locationCredentialsProvider,
66
+ ...input.source,
67
+ },
68
+ });
66
69
 
67
- const { s3Config, bucket: destBucket } = await resolveS3ConfigAndInput(
68
- amplify,
69
- input.destination,
70
- ); // resolveS3ConfigAndInput does not make extra API calls or storage access if called repeatedly.
70
+ // The bucket, region, credentials of s3 client are resolved from destination.
71
+ // Whereas the source bucket and path are a input parameter of S3 copy operation.
72
+ const {
73
+ s3Config,
74
+ bucket: destBucket,
75
+ identityId,
76
+ } = await resolveS3ConfigAndInput(amplify, {
77
+ path: input.destination.path,
78
+ options: {
79
+ locationCredentialsProvider: input.options?.locationCredentialsProvider,
80
+ ...input.destination,
81
+ },
82
+ }); // resolveS3ConfigAndInput does not make extra API calls or storage access if called repeatedly.
71
83
 
72
84
  assertValidationError(!!source.path, StorageValidationErrorCode.NoSourcePath);
73
85
  assertValidationError(
@@ -114,13 +126,31 @@ export const copyWithKey = async (
114
126
  );
115
127
 
116
128
  const { bucket: sourceBucket, keyPrefix: sourceKeyPrefix } =
117
- await resolveS3ConfigAndInput(amplify, source);
118
-
129
+ await resolveS3ConfigAndInput(amplify, {
130
+ ...input,
131
+ options: {
132
+ // @ts-expect-error: 'options' does not exist on type 'CopyInput'. In case of JS users set the location
133
+ // credentials provider option, resolveS3ConfigAndInput will throw validation error.
134
+ locationCredentialsProvider: input.options?.locationCredentialsProvider,
135
+ ...input.source,
136
+ },
137
+ });
138
+
139
+ // The bucket, region, credentials of s3 client are resolved from destination.
140
+ // Whereas the source bucket and path are a input parameter of S3 copy operation.
119
141
  const {
120
142
  s3Config,
121
143
  bucket: destBucket,
122
144
  keyPrefix: destinationKeyPrefix,
123
- } = await resolveS3ConfigAndInput(amplify, destination); // resolveS3ConfigAndInput does not make extra API calls or storage access if called repeatedly.
145
+ } = await resolveS3ConfigAndInput(amplify, {
146
+ ...input,
147
+ options: {
148
+ // @ts-expect-error: 'options' does not exist on type 'CopyInput'. In case of JS users set the location
149
+ // credentials provider option, resolveS3ConfigAndInput will throw validation error.
150
+ locationCredentialsProvider: input.options?.locationCredentialsProvider,
151
+ ...input.destination,
152
+ },
153
+ }); // resolveS3ConfigAndInput does not make extra API calls or storage access if called repeatedly.
124
154
 
125
155
  // TODO(ashwinkumar6) V6-logger: warn `You may copy files from another user if the source level is "protected", currently it's ${srcLevel}`
126
156
  const finalCopySource = `${sourceBucket}/${sourceKeyPrefix}${source.key}`;
@@ -14,7 +14,7 @@ import {
14
14
  resolveS3ConfigAndInput,
15
15
  validateStorageOperationInput,
16
16
  } from '../../utils';
17
- import { headObject } from '../../utils/client';
17
+ import { headObject } from '../../utils/client/s3data';
18
18
  import { getStorageUserAgentValue } from '../../utils/userAgent';
19
19
  import { logger } from '../../../../utils';
20
20
  import { STORAGE_INPUT_KEY } from '../../utils/constants';
@@ -24,9 +24,8 @@ export const getProperties = async (
24
24
  input: GetPropertiesInput | GetPropertiesWithPathInput,
25
25
  action?: StorageAction,
26
26
  ): Promise<GetPropertiesOutput | GetPropertiesWithPathOutput> => {
27
- const { options: getPropertiesOptions } = input;
28
27
  const { s3Config, bucket, keyPrefix, identityId } =
29
- await resolveS3ConfigAndInput(amplify, getPropertiesOptions);
28
+ await resolveS3ConfigAndInput(amplify, input);
30
29
  const { inputType, objectKey } = validateStorageOperationInput(
31
30
  input,
32
31
  identityId,
@@ -11,7 +11,7 @@ import {
11
11
  GetUrlWithPathOutput,
12
12
  } from '../../types';
13
13
  import { StorageValidationErrorCode } from '../../../../errors/types/validation';
14
- import { getPresignedGetObjectUrl } from '../../utils/client';
14
+ import { getPresignedGetObjectUrl } from '../../utils/client/s3data';
15
15
  import {
16
16
  resolveS3ConfigAndInput,
17
17
  validateStorageOperationInput,
@@ -32,7 +32,7 @@ export const getUrl = async (
32
32
  ): Promise<GetUrlOutput | GetUrlWithPathOutput> => {
33
33
  const { options: getUrlOptions } = input;
34
34
  const { s3Config, keyPrefix, bucket, identityId } =
35
- await resolveS3ConfigAndInput(amplify, getUrlOptions);
35
+ await resolveS3ConfigAndInput(amplify, input);
36
36
  const { inputType, objectKey } = validateStorageOperationInput(
37
37
  input,
38
38
  identityId,
@@ -29,11 +29,11 @@ import {
29
29
  ListObjectsV2Input,
30
30
  ListObjectsV2Output,
31
31
  listObjectsV2,
32
- } from '../../utils/client';
32
+ } from '../../utils/client/s3data';
33
33
  import { getStorageUserAgentValue } from '../../utils/userAgent';
34
34
  import { logger } from '../../../../utils';
35
35
  import { DEFAULT_DELIMITER, STORAGE_INPUT_PREFIX } from '../../utils/constants';
36
- import { CommonPrefix } from '../../utils/client/types';
36
+ import { CommonPrefix } from '../../utils/client/s3data/types';
37
37
 
38
38
  const MAX_PAGE_SIZE = 1000;
39
39
 
@@ -62,7 +62,7 @@ export const list = async (
62
62
  bucket,
63
63
  keyPrefix: generatedPrefix,
64
64
  identityId,
65
- } = await resolveS3ConfigAndInput(amplify, options);
65
+ } = await resolveS3ConfigAndInput(amplify, input);
66
66
 
67
67
  const { inputType, objectKey } = validateStorageOperationInputWithPrefix(
68
68
  input,