@aws-amplify/storage 6.0.17-unstable.e316a2e.0 → 6.0.17

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 (185) hide show
  1. package/dist/cjs/providers/s3/apis/internal/getProperties.js +1 -1
  2. package/dist/cjs/providers/s3/apis/internal/getProperties.js.map +1 -1
  3. package/dist/cjs/providers/s3/apis/internal/getUrl.js +6 -6
  4. package/dist/cjs/providers/s3/apis/internal/getUrl.js.map +1 -1
  5. package/dist/cjs/providers/s3/apis/internal/list.js +2 -2
  6. package/dist/cjs/providers/s3/apis/internal/list.js.map +1 -1
  7. package/dist/cjs/providers/s3/apis/uploadData/multipart/initialUpload.js +1 -1
  8. package/dist/cjs/providers/s3/apis/uploadData/multipart/initialUpload.js.map +1 -1
  9. package/dist/cjs/providers/s3/apis/uploadData/multipart/uploadHandlers.js +25 -25
  10. package/dist/cjs/providers/s3/apis/uploadData/multipart/uploadHandlers.js.map +1 -1
  11. package/dist/cjs/providers/s3/utils/client/base.js +1 -1
  12. package/dist/cjs/providers/s3/utils/client/base.js.map +1 -1
  13. package/dist/cjs/providers/s3/utils/client/runtime/base64/index.native.js +1 -1
  14. package/dist/cjs/providers/s3/utils/client/runtime/base64/index.native.js.map +1 -1
  15. package/dist/cjs/providers/s3/utils/client/runtime/contentSha256middleware.js +3 -3
  16. package/dist/cjs/providers/s3/utils/client/runtime/contentSha256middleware.js.map +1 -1
  17. package/dist/cjs/providers/s3/utils/client/runtime/s3TransferHandler/fetch.js +1 -1
  18. package/dist/cjs/providers/s3/utils/client/runtime/s3TransferHandler/fetch.js.map +1 -1
  19. package/dist/cjs/providers/s3/utils/client/runtime/s3TransferHandler/xhr.js +4 -4
  20. package/dist/cjs/providers/s3/utils/client/runtime/s3TransferHandler/xhr.js.map +1 -1
  21. package/dist/cjs/providers/s3/utils/client/runtime/xhrTransferHandler.js +4 -4
  22. package/dist/cjs/providers/s3/utils/client/runtime/xhrTransferHandler.js.map +1 -1
  23. package/dist/cjs/providers/s3/utils/client/runtime/xmlParser/dom.js +4 -7
  24. package/dist/cjs/providers/s3/utils/client/runtime/xmlParser/dom.js.map +1 -1
  25. package/dist/cjs/providers/s3/utils/client/runtime/xmlParser/pureJs.js +6 -5
  26. package/dist/cjs/providers/s3/utils/client/runtime/xmlParser/pureJs.js.map +1 -1
  27. package/dist/cjs/providers/s3/utils/client/utils/deserializeHelpers.js +1 -1
  28. package/dist/cjs/providers/s3/utils/client/utils/deserializeHelpers.js.map +1 -1
  29. package/dist/cjs/providers/s3/utils/client/utils/parsePayload.js +2 -2
  30. package/dist/cjs/providers/s3/utils/client/utils/parsePayload.js.map +1 -1
  31. package/dist/cjs/providers/s3/utils/md5.js +8 -3
  32. package/dist/cjs/providers/s3/utils/md5.js.map +1 -1
  33. package/dist/cjs/providers/s3/utils/md5.native.js +6 -2
  34. package/dist/cjs/providers/s3/utils/md5.native.js.map +1 -1
  35. package/dist/cjs/providers/s3/utils/resolveS3ConfigAndInput.js +1 -1
  36. package/dist/cjs/providers/s3/utils/resolveS3ConfigAndInput.js.map +1 -1
  37. package/dist/cjs/providers/s3/utils/transferTask.js +10 -4
  38. package/dist/cjs/providers/s3/utils/transferTask.js.map +1 -1
  39. package/dist/esm/providers/s3/apis/getProperties.d.ts +1 -1
  40. package/dist/esm/providers/s3/apis/internal/getProperties.mjs +1 -1
  41. package/dist/esm/providers/s3/apis/internal/getProperties.mjs.map +1 -1
  42. package/dist/esm/providers/s3/apis/internal/getUrl.mjs +3 -3
  43. package/dist/esm/providers/s3/apis/internal/getUrl.mjs.map +1 -1
  44. package/dist/esm/providers/s3/apis/internal/list.d.ts +1 -1
  45. package/dist/esm/providers/s3/apis/internal/list.mjs +2 -2
  46. package/dist/esm/providers/s3/apis/internal/list.mjs.map +1 -1
  47. package/dist/esm/providers/s3/apis/list.d.ts +3 -3
  48. package/dist/esm/providers/s3/apis/server/list.d.ts +3 -3
  49. package/dist/esm/providers/s3/apis/uploadData/multipart/getDataChunker.d.ts +2 -2
  50. package/dist/esm/providers/s3/apis/uploadData/multipart/initialUpload.d.ts +4 -4
  51. package/dist/esm/providers/s3/apis/uploadData/multipart/initialUpload.mjs +1 -1
  52. package/dist/esm/providers/s3/apis/uploadData/multipart/initialUpload.mjs.map +1 -1
  53. package/dist/esm/providers/s3/apis/uploadData/multipart/progressTracker.d.ts +3 -3
  54. package/dist/esm/providers/s3/apis/uploadData/multipart/uploadCache.d.ts +6 -6
  55. package/dist/esm/providers/s3/apis/uploadData/multipart/uploadHandlers.mjs +25 -25
  56. package/dist/esm/providers/s3/apis/uploadData/multipart/uploadHandlers.mjs.map +1 -1
  57. package/dist/esm/providers/s3/apis/uploadData/multipart/uploadPartExecutor.d.ts +5 -5
  58. package/dist/esm/providers/s3/types/inputs.d.ts +2 -2
  59. package/dist/esm/providers/s3/types/options.d.ts +11 -11
  60. package/dist/esm/providers/s3/types/outputs.d.ts +1 -1
  61. package/dist/esm/providers/s3/utils/client/abortMultipartUpload.d.ts +2 -2
  62. package/dist/esm/providers/s3/utils/client/base.mjs +1 -1
  63. package/dist/esm/providers/s3/utils/client/base.mjs.map +1 -1
  64. package/dist/esm/providers/s3/utils/client/completeMultipartUpload.d.ts +2 -2
  65. package/dist/esm/providers/s3/utils/client/copyObject.d.ts +2 -2
  66. package/dist/esm/providers/s3/utils/client/copyObject.mjs.map +1 -1
  67. package/dist/esm/providers/s3/utils/client/createMultipartUpload.d.ts +3 -3
  68. package/dist/esm/providers/s3/utils/client/createMultipartUpload.mjs.map +1 -1
  69. package/dist/esm/providers/s3/utils/client/deleteObject.d.ts +2 -2
  70. package/dist/esm/providers/s3/utils/client/getObject.d.ts +3 -3
  71. package/dist/esm/providers/s3/utils/client/getObject.mjs.map +1 -1
  72. package/dist/esm/providers/s3/utils/client/headObject.d.ts +2 -2
  73. package/dist/esm/providers/s3/utils/client/listObjectsV2.d.ts +3 -3
  74. package/dist/esm/providers/s3/utils/client/listParts.d.ts +2 -2
  75. package/dist/esm/providers/s3/utils/client/listParts.mjs.map +1 -1
  76. package/dist/esm/providers/s3/utils/client/putObject.d.ts +2 -2
  77. package/dist/esm/providers/s3/utils/client/putObject.mjs.map +1 -1
  78. package/dist/esm/providers/s3/utils/client/runtime/base64/index.native.mjs +1 -1
  79. package/dist/esm/providers/s3/utils/client/runtime/base64/index.native.mjs.map +1 -1
  80. package/dist/esm/providers/s3/utils/client/runtime/contentSha256middleware.d.ts +2 -2
  81. package/dist/esm/providers/s3/utils/client/runtime/contentSha256middleware.mjs +2 -2
  82. package/dist/esm/providers/s3/utils/client/runtime/contentSha256middleware.mjs.map +1 -1
  83. package/dist/esm/providers/s3/utils/client/runtime/s3TransferHandler/fetch.d.ts +2 -2
  84. package/dist/esm/providers/s3/utils/client/runtime/s3TransferHandler/fetch.mjs +2 -2
  85. package/dist/esm/providers/s3/utils/client/runtime/s3TransferHandler/fetch.mjs.map +1 -1
  86. package/dist/esm/providers/s3/utils/client/runtime/s3TransferHandler/xhr.d.ts +2 -2
  87. package/dist/esm/providers/s3/utils/client/runtime/s3TransferHandler/xhr.mjs +6 -6
  88. package/dist/esm/providers/s3/utils/client/runtime/s3TransferHandler/xhr.mjs.map +1 -1
  89. package/dist/esm/providers/s3/utils/client/runtime/xhrTransferHandler.d.ts +2 -2
  90. package/dist/esm/providers/s3/utils/client/runtime/xhrTransferHandler.mjs +4 -4
  91. package/dist/esm/providers/s3/utils/client/runtime/xhrTransferHandler.mjs.map +1 -1
  92. package/dist/esm/providers/s3/utils/client/runtime/xmlParser/dom.mjs +4 -7
  93. package/dist/esm/providers/s3/utils/client/runtime/xmlParser/dom.mjs.map +1 -1
  94. package/dist/esm/providers/s3/utils/client/runtime/xmlParser/pureJs.mjs +6 -5
  95. package/dist/esm/providers/s3/utils/client/runtime/xmlParser/pureJs.mjs.map +1 -1
  96. package/dist/esm/providers/s3/utils/client/types.d.ts +11 -22
  97. package/dist/esm/providers/s3/utils/client/uploadPart.d.ts +2 -2
  98. package/dist/esm/providers/s3/utils/client/uploadPart.mjs.map +1 -1
  99. package/dist/esm/providers/s3/utils/client/utils/deserializeHelpers.d.ts +1 -3
  100. package/dist/esm/providers/s3/utils/client/utils/deserializeHelpers.mjs +1 -1
  101. package/dist/esm/providers/s3/utils/client/utils/deserializeHelpers.mjs.map +1 -1
  102. package/dist/esm/providers/s3/utils/client/utils/parsePayload.mjs +2 -2
  103. package/dist/esm/providers/s3/utils/client/utils/parsePayload.mjs.map +1 -1
  104. package/dist/esm/providers/s3/utils/client/utils/serializeHelpers.d.ts +1 -1
  105. package/dist/esm/providers/s3/utils/md5.mjs +8 -3
  106. package/dist/esm/providers/s3/utils/md5.mjs.map +1 -1
  107. package/dist/esm/providers/s3/utils/md5.native.mjs +6 -2
  108. package/dist/esm/providers/s3/utils/md5.native.mjs.map +1 -1
  109. package/dist/esm/providers/s3/utils/resolveS3ConfigAndInput.d.ts +4 -4
  110. package/dist/esm/providers/s3/utils/resolveS3ConfigAndInput.mjs +1 -1
  111. package/dist/esm/providers/s3/utils/resolveS3ConfigAndInput.mjs.map +1 -1
  112. package/dist/esm/providers/s3/utils/transferTask.d.ts +10 -10
  113. package/dist/esm/providers/s3/utils/transferTask.mjs +10 -4
  114. package/dist/esm/providers/s3/utils/transferTask.mjs.map +1 -1
  115. package/dist/esm/types/common.d.ts +7 -7
  116. package/dist/esm/types/inputs.d.ts +9 -9
  117. package/dist/esm/types/options.d.ts +2 -2
  118. package/dist/esm/types/outputs.d.ts +6 -6
  119. package/dist/esm/utils/resolvePrefix.d.ts +2 -2
  120. package/package.json +107 -106
  121. package/src/errors/CanceledError.ts +1 -0
  122. package/src/errors/utils/assertValidationError.ts +1 -1
  123. package/src/providers/s3/apis/copy.ts +3 -1
  124. package/src/providers/s3/apis/downloadData.ts +5 -3
  125. package/src/providers/s3/apis/getProperties.ts +5 -2
  126. package/src/providers/s3/apis/getUrl.ts +3 -0
  127. package/src/providers/s3/apis/internal/copy.ts +5 -4
  128. package/src/providers/s3/apis/internal/getProperties.ts +8 -6
  129. package/src/providers/s3/apis/internal/getUrl.ts +11 -9
  130. package/src/providers/s3/apis/internal/list.ts +13 -10
  131. package/src/providers/s3/apis/internal/remove.ts +5 -3
  132. package/src/providers/s3/apis/list.ts +8 -4
  133. package/src/providers/s3/apis/remove.ts +4 -1
  134. package/src/providers/s3/apis/server/copy.ts +2 -1
  135. package/src/providers/s3/apis/server/getProperties.ts +3 -2
  136. package/src/providers/s3/apis/server/getUrl.ts +2 -1
  137. package/src/providers/s3/apis/server/list.ts +10 -7
  138. package/src/providers/s3/apis/server/remove.ts +2 -1
  139. package/src/providers/s3/apis/uploadData/byteLength.ts +1 -0
  140. package/src/providers/s3/apis/uploadData/index.ts +5 -2
  141. package/src/providers/s3/apis/uploadData/multipart/calculatePartSize.ts +1 -0
  142. package/src/providers/s3/apis/uploadData/multipart/getDataChunker.ts +6 -4
  143. package/src/providers/s3/apis/uploadData/multipart/initialUpload.ts +12 -9
  144. package/src/providers/s3/apis/uploadData/multipart/progressTracker.ts +5 -4
  145. package/src/providers/s3/apis/uploadData/multipart/uploadCache.ts +15 -12
  146. package/src/providers/s3/apis/uploadData/multipart/uploadHandlers.ts +42 -36
  147. package/src/providers/s3/apis/uploadData/multipart/uploadPartExecutor.ts +7 -6
  148. package/src/providers/s3/apis/uploadData/putObjectJob.ts +2 -2
  149. package/src/providers/s3/types/inputs.ts +4 -4
  150. package/src/providers/s3/types/options.ts +11 -11
  151. package/src/providers/s3/types/outputs.ts +1 -1
  152. package/src/providers/s3/utils/client/abortMultipartUpload.ts +5 -4
  153. package/src/providers/s3/utils/client/base.ts +8 -6
  154. package/src/providers/s3/utils/client/completeMultipartUpload.ts +14 -6
  155. package/src/providers/s3/utils/client/copyObject.ts +7 -4
  156. package/src/providers/s3/utils/client/createMultipartUpload.ts +7 -5
  157. package/src/providers/s3/utils/client/deleteObject.ts +6 -5
  158. package/src/providers/s3/utils/client/getObject.ts +14 -12
  159. package/src/providers/s3/utils/client/headObject.ts +6 -5
  160. package/src/providers/s3/utils/client/listObjectsV2.ts +6 -3
  161. package/src/providers/s3/utils/client/listParts.ts +9 -6
  162. package/src/providers/s3/utils/client/putObject.ts +6 -5
  163. package/src/providers/s3/utils/client/runtime/base64/index.browser.ts +2 -1
  164. package/src/providers/s3/utils/client/runtime/base64/index.native.ts +1 -1
  165. package/src/providers/s3/utils/client/runtime/contentSha256middleware.ts +6 -4
  166. package/src/providers/s3/utils/client/runtime/s3TransferHandler/fetch.ts +7 -5
  167. package/src/providers/s3/utils/client/runtime/s3TransferHandler/xhr.ts +11 -11
  168. package/src/providers/s3/utils/client/runtime/xhrTransferHandler.ts +21 -14
  169. package/src/providers/s3/utils/client/runtime/xmlParser/dom.ts +6 -7
  170. package/src/providers/s3/utils/client/runtime/xmlParser/pureJs.ts +10 -5
  171. package/src/providers/s3/utils/client/types.ts +12 -14
  172. package/src/providers/s3/utils/client/uploadPart.ts +6 -5
  173. package/src/providers/s3/utils/client/utils/deserializeHelpers.ts +13 -8
  174. package/src/providers/s3/utils/client/utils/parsePayload.ts +6 -4
  175. package/src/providers/s3/utils/client/utils/serializeHelpers.ts +8 -5
  176. package/src/providers/s3/utils/md5.native.ts +9 -3
  177. package/src/providers/s3/utils/md5.ts +12 -4
  178. package/src/providers/s3/utils/resolveS3ConfigAndInput.ts +10 -8
  179. package/src/providers/s3/utils/transferTask.ts +26 -14
  180. package/src/providers/s3/utils/userAgent.ts +1 -1
  181. package/src/types/common.ts +7 -7
  182. package/src/types/inputs.ts +11 -11
  183. package/src/types/options.ts +2 -2
  184. package/src/types/outputs.ts +6 -6
  185. package/src/utils/resolvePrefix.ts +7 -4
@@ -105,8 +105,7 @@ declare const TaggingDirective: {
105
105
  *
106
106
  * The input for {@link AbortMultipartUploadCommand}.
107
107
  */
108
- export interface AbortMultipartUploadCommandInput extends AbortMultipartUploadRequest {
109
- }
108
+ export type AbortMultipartUploadCommandInput = AbortMultipartUploadRequest;
110
109
  /**
111
110
  * @public
112
111
  *
@@ -175,8 +174,7 @@ export interface CommonPrefix {
175
174
  *
176
175
  * The input for {@link CompleteMultipartUploadCommand}.
177
176
  */
178
- export interface CompleteMultipartUploadCommandInput extends CompleteMultipartUploadRequest {
179
- }
177
+ export type CompleteMultipartUploadCommandInput = CompleteMultipartUploadRequest;
180
178
  /**
181
179
  * @public
182
180
  *
@@ -420,8 +418,7 @@ export interface CompletedPart {
420
418
  *
421
419
  * The input for {@link CopyObjectCommand}.
422
420
  */
423
- export interface CopyObjectCommandInput extends CopyObjectRequest {
424
- }
421
+ export type CopyObjectCommandInput = CopyObjectRequest;
425
422
  /**
426
423
  * @public
427
424
  *
@@ -778,8 +775,7 @@ export interface CopyObjectResult {
778
775
  *
779
776
  * The input for {@link CreateMultipartUploadCommand}.
780
777
  */
781
- export interface CreateMultipartUploadCommandInput extends CreateMultipartUploadRequest {
782
- }
778
+ export type CreateMultipartUploadCommandInput = CreateMultipartUploadRequest;
783
779
  /**
784
780
  * @public
785
781
  *
@@ -1035,8 +1031,7 @@ export interface CreateMultipartUploadRequest {
1035
1031
  *
1036
1032
  * The input for {@link DeleteObjectCommand}.
1037
1033
  */
1038
- export interface DeleteObjectCommandInput extends DeleteObjectRequest {
1039
- }
1034
+ export type DeleteObjectCommandInput = DeleteObjectRequest;
1040
1035
  /**
1041
1036
  * @public
1042
1037
  *
@@ -1114,8 +1109,7 @@ export interface DeleteObjectRequest {
1114
1109
  *
1115
1110
  * The input for {@link GetObjectCommand}.
1116
1111
  */
1117
- export interface GetObjectCommandInput extends GetObjectRequest {
1118
- }
1112
+ export type GetObjectCommandInput = GetObjectRequest;
1119
1113
  /**
1120
1114
  * @public
1121
1115
  *
@@ -1430,8 +1424,7 @@ export interface GetObjectRequest {
1430
1424
  *
1431
1425
  * The input for {@link HeadObjectCommand}.
1432
1426
  */
1433
- export interface HeadObjectCommandInput extends HeadObjectRequest {
1434
- }
1427
+ export type HeadObjectCommandInput = HeadObjectRequest;
1435
1428
  /**
1436
1429
  * @public
1437
1430
  *
@@ -1779,8 +1772,7 @@ export interface Initiator {
1779
1772
  *
1780
1773
  * The input for {@link ListObjectsV2Command}.
1781
1774
  */
1782
- export interface ListObjectsV2CommandInput extends ListObjectsV2Request {
1783
- }
1775
+ export type ListObjectsV2CommandInput = ListObjectsV2Request;
1784
1776
  /**
1785
1777
  * @public
1786
1778
  *
@@ -1937,8 +1929,7 @@ export interface ListObjectsV2Request {
1937
1929
  *
1938
1930
  * The input for {@link ListPartsCommand}.
1939
1931
  */
1940
- export interface ListPartsCommandInput extends ListPartsRequest {
1941
- }
1932
+ export type ListPartsCommandInput = ListPartsRequest;
1942
1933
  /**
1943
1934
  * @public
1944
1935
  *
@@ -2191,8 +2182,7 @@ export interface Part {
2191
2182
  /**
2192
2183
  * This interface extends from `PutObjectRequest` interface. There are more parameters than `Body` defined in {@link PutObjectRequest}
2193
2184
  */
2194
- export interface PutObjectCommandInput extends PutObjectCommandInputType {
2195
- }
2185
+ export type PutObjectCommandInput = PutObjectCommandInputType;
2196
2186
  /**
2197
2187
  * @public
2198
2188
  *
@@ -2529,8 +2519,7 @@ export interface PutObjectRequest {
2529
2519
  /**
2530
2520
  * This interface extends from `UploadPartRequest` interface. There are more parameters than `Body` defined in {@link UploadPartRequest}
2531
2521
  */
2532
- export interface UploadPartCommandInput extends UploadPartCommandInputType {
2533
- }
2522
+ export type UploadPartCommandInput = UploadPartCommandInputType;
2534
2523
  /**
2535
2524
  * @public
2536
2525
  *
@@ -19,10 +19,10 @@ export declare const uploadPart: (config: {
19
19
  onDownloadProgress?: ((event: import("../../../..").TransferProgressEvent) => void) | undefined;
20
20
  onUploadProgress?: ((event: import("../../../..").TransferProgressEvent) => void) | undefined;
21
21
  abortSignal?: AbortSignal | undefined;
22
- userAgentHeader?: string | undefined;
23
- maxAttempts?: number | undefined;
24
22
  credentials: import("@aws-amplify/core/internals/aws-client-utils").Credentials | (() => Promise<import("@aws-amplify/core/internals/aws-client-utils").Credentials>);
25
23
  region: string;
26
24
  customEndpoint?: string | undefined;
27
25
  forcePathStyle?: boolean | undefined;
26
+ userAgentHeader?: string | undefined;
27
+ maxAttempts?: number | undefined;
28
28
  }, input: UploadPartInput) => Promise<UploadPartOutput>;
@@ -1 +1 @@
1
- {"version":3,"file":"uploadPart.mjs","sources":["../../../../../../src/providers/s3/utils/client/uploadPart.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { parseMetadata, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { AmplifyUrl, AmplifyUrlSearchParams, } from '@aws-amplify/core/internals/utils';\nimport { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { defaultConfig } from './base';\nimport { buildStorageServiceError, validateS3RequiredParameter, assignStringVariables, map, parseXmlError, s3TransferHandler, serializePathnameObjectKey, } from './utils';\nconst uploadPartSerializer = async (input, endpoint) => {\n const headers = {\n ...assignStringVariables({ 'content-md5': input.ContentMD5 }),\n };\n headers['content-type'] = 'application/octet-stream';\n const url = new AmplifyUrl(endpoint.url.toString());\n validateS3RequiredParameter(!!input.Key, 'Key');\n url.pathname = serializePathnameObjectKey(url, input.Key);\n validateS3RequiredParameter(!!input.PartNumber, 'PartNumber');\n validateS3RequiredParameter(!!input.UploadId, 'UploadId');\n url.search = new AmplifyUrlSearchParams({\n partNumber: input.PartNumber + '',\n uploadId: input.UploadId,\n }).toString();\n return {\n method: 'PUT',\n headers,\n url,\n body: input.Body,\n };\n};\nconst uploadPartDeserializer = async (response) => {\n if (response.statusCode >= 300) {\n const error = (await parseXmlError(response));\n throw buildStorageServiceError(error, response.statusCode);\n }\n else {\n return {\n ...map(response.headers, {\n ETag: 'etag',\n }),\n $metadata: parseMetadata(response),\n };\n }\n};\nexport const uploadPart = composeServiceApi(s3TransferHandler, uploadPartSerializer, uploadPartDeserializer, { ...defaultConfig, responseType: 'text' });\n"],"names":[],"mappings":";;;;;;;;;;;;AAAA;AACA;AAMA,MAAM,oBAAoB,GAAG,OAAO,KAAK,EAAE,QAAQ,KAAK;AACxD,IAAI,MAAM,OAAO,GAAG;AACpB,QAAQ,GAAG,qBAAqB,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;AACrE,KAAK,CAAC;AACN,IAAI,OAAO,CAAC,cAAc,CAAC,GAAG,0BAA0B,CAAC;AACzD,IAAI,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AACxD,IAAI,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACpD,IAAI,GAAG,CAAC,QAAQ,GAAG,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AAC9D,IAAI,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AAClE,IAAI,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAC9D,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,sBAAsB,CAAC;AAC5C,QAAQ,UAAU,EAAE,KAAK,CAAC,UAAU,GAAG,EAAE;AACzC,QAAQ,QAAQ,EAAE,KAAK,CAAC,QAAQ;AAChC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;AAClB,IAAI,OAAO;AACX,QAAQ,MAAM,EAAE,KAAK;AACrB,QAAQ,OAAO;AACf,QAAQ,GAAG;AACX,QAAQ,IAAI,EAAE,KAAK,CAAC,IAAI;AACxB,KAAK,CAAC;AACN,CAAC,CAAC;AACF,MAAM,sBAAsB,GAAG,OAAO,QAAQ,KAAK;AACnD,IAAI,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;AACpC,QAAQ,MAAM,KAAK,IAAI,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtD,QAAQ,MAAM,wBAAwB,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;AACnE,KAAK;AACL,SAAS;AACT,QAAQ,OAAO;AACf,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE;AACrC,gBAAgB,IAAI,EAAE,MAAM;AAC5B,aAAa,CAAC;AACd,YAAY,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC;AAC9C,SAAS,CAAC;AACV,KAAK;AACL,CAAC,CAAC;AACU,MAAC,UAAU,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,EAAE,GAAG,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE;;;;"}
1
+ {"version":3,"file":"uploadPart.mjs","sources":["../../../../../../src/providers/s3/utils/client/uploadPart.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { parseMetadata, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { AmplifyUrl, AmplifyUrlSearchParams, } from '@aws-amplify/core/internals/utils';\nimport { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { defaultConfig } from './base';\nimport { assignStringVariables, buildStorageServiceError, map, parseXmlError, s3TransferHandler, serializePathnameObjectKey, validateS3RequiredParameter, } from './utils';\nconst uploadPartSerializer = async (input, endpoint) => {\n const headers = {\n ...assignStringVariables({ 'content-md5': input.ContentMD5 }),\n };\n headers['content-type'] = 'application/octet-stream';\n const url = new AmplifyUrl(endpoint.url.toString());\n validateS3RequiredParameter(!!input.Key, 'Key');\n url.pathname = serializePathnameObjectKey(url, input.Key);\n validateS3RequiredParameter(!!input.PartNumber, 'PartNumber');\n validateS3RequiredParameter(!!input.UploadId, 'UploadId');\n url.search = new AmplifyUrlSearchParams({\n partNumber: input.PartNumber + '',\n uploadId: input.UploadId,\n }).toString();\n return {\n method: 'PUT',\n headers,\n url,\n body: input.Body,\n };\n};\nconst uploadPartDeserializer = async (response) => {\n if (response.statusCode >= 300) {\n const error = (await parseXmlError(response));\n throw buildStorageServiceError(error, response.statusCode);\n }\n else {\n return {\n ...map(response.headers, {\n ETag: 'etag',\n }),\n $metadata: parseMetadata(response),\n };\n }\n};\nexport const uploadPart = composeServiceApi(s3TransferHandler, uploadPartSerializer, uploadPartDeserializer, { ...defaultConfig, responseType: 'text' });\n"],"names":[],"mappings":";;;;;;;;;;;;AAAA;AACA;AAMA,MAAM,oBAAoB,GAAG,OAAO,KAAK,EAAE,QAAQ,KAAK;AACxD,IAAI,MAAM,OAAO,GAAG;AACpB,QAAQ,GAAG,qBAAqB,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;AACrE,KAAK,CAAC;AACN,IAAI,OAAO,CAAC,cAAc,CAAC,GAAG,0BAA0B,CAAC;AACzD,IAAI,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AACxD,IAAI,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACpD,IAAI,GAAG,CAAC,QAAQ,GAAG,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AAC9D,IAAI,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AAClE,IAAI,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAC9D,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,sBAAsB,CAAC;AAC5C,QAAQ,UAAU,EAAE,KAAK,CAAC,UAAU,GAAG,EAAE;AACzC,QAAQ,QAAQ,EAAE,KAAK,CAAC,QAAQ;AAChC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;AAClB,IAAI,OAAO;AACX,QAAQ,MAAM,EAAE,KAAK;AACrB,QAAQ,OAAO;AACf,QAAQ,GAAG;AACX,QAAQ,IAAI,EAAE,KAAK,CAAC,IAAI;AACxB,KAAK,CAAC;AACN,CAAC,CAAC;AACF,MAAM,sBAAsB,GAAG,OAAO,QAAQ,KAAK;AACnD,IAAI,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;AACpC,QAAQ,MAAM,KAAK,IAAI,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtD,QAAQ,MAAM,wBAAwB,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;AACnE,KAAK;AACL,SAAS;AACT,QAAQ,OAAO;AACf,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE;AACrC,gBAAgB,IAAI,EAAE,MAAM;AAC5B,aAAa,CAAC;AACd,YAAY,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC;AAC9C,SAAS,CAAC;AACV,KAAK;AACL,CAAC,CAAC;AACU,MAAC,UAAU,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,EAAE,GAAG,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE;;;;"}
@@ -36,9 +36,7 @@ type InferInstructionResultType<T extends Instruction<any>> = (T extends Propert
36
36
  *
37
37
  * @internal
38
38
  */
39
- export declare const map: <Instructions extends {
40
- [key: string]: Instruction<any>;
41
- }>(obj: Record<string, any>, instructions: Instructions) => { [K in keyof Instructions]: Instructions[K] extends infer T ? T extends Instructions[K] ? T extends PropertyNameWithSubsequentDeserializer<infer R> ? R : string : never : never; };
39
+ export declare const map: <Instructions extends Record<string, Instruction<any>>>(obj: Record<string, any>, instructions: Instructions) => { [K in keyof Instructions]: Instructions[K] extends infer T ? T extends Instructions[K] ? T extends PropertyNameWithSubsequentDeserializer<infer R> ? R : string : never : never; };
42
40
  /**
43
41
  * Deserializes a string to a number. Returns undefined if input is undefined.
44
42
  *
@@ -40,7 +40,7 @@ const map = (obj, instructions) => {
40
40
  const [accessor, deserializer] = Array.isArray(instruction)
41
41
  ? instruction
42
42
  : [instruction];
43
- if (obj.hasOwnProperty(accessor)) {
43
+ if (Object.prototype.hasOwnProperty.call(obj, accessor)) {
44
44
  result[key] = deserializer
45
45
  ? deserializer(obj[accessor])
46
46
  : String(obj[accessor]);
@@ -1 +1 @@
1
- {"version":3,"file":"deserializeHelpers.mjs","sources":["../../../../../../../src/providers/s3/utils/client/utils/deserializeHelpers.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { StorageError } from '../../../../../errors/StorageError';\n/**\n * Maps an object to a new object using the provided instructions.\n * The instructions are a map of the returning mapped object's property names to a single instruction of how to map the\n * value from the original object to the new object. There are two types of instructions:\n *\n * 1. A string representing the property name of the original object to map to the new object. The value mapped from\n * the original object will be the same as the value in the new object, and it can ONLY be string.\n *\n * 2. An array of two elements. The first element is the property name of the original object to map to the new object.\n * The second element is a function that takes the value from the original object and returns the value to be mapped to\n * the new object. The function can return any type.\n *\n * Example:\n * ```typescript\n * const input = {\n * Foo: 'foo',\n * BarList: [{value: 'bar1'}, {value: 'bar2'}]\n * }\n * const output = map(input, {\n * someFoo: 'Foo',\n * bar: ['BarList', (barList) => barList.map(bar => bar.value)]\n * baz: 'Baz' // Baz does not exist in input, so it will not be in the output.\n * });\n * // output = { someFoo: 'foo', bar: ['bar1', 'bar2'] }\n * ```\n *\n * @param obj The object containing the data to compose mapped object.\n * @param instructions The instructions mapping the object values to the new object.\n * @returns A new object with the mapped values.\n *\n * @internal\n */\nexport const map = (obj, instructions) => {\n const result = {};\n for (const [key, instruction] of Object.entries(instructions)) {\n const [accessor, deserializer] = Array.isArray(instruction)\n ? instruction\n : [instruction];\n if (obj.hasOwnProperty(accessor)) {\n result[key] = deserializer\n ? deserializer(obj[accessor])\n : String(obj[accessor]);\n }\n }\n return result;\n};\n/**\n * Deserializes a string to a number. Returns undefined if input is undefined.\n *\n * @internal\n */\nexport const deserializeNumber = (value) => value ? Number(value) : undefined;\n/**\n * Deserializes a string to a boolean. Returns undefined if input is undefined. Returns true if input is 'true',\n * otherwise false.\n *\n * @internal\n */\nexport const deserializeBoolean = (value) => {\n return value ? value === 'true' : undefined;\n};\n/**\n * Deserializes a string to a Date. Returns undefined if input is undefined.\n * It supports epoch timestamp; rfc3339(cannot have a UTC, fractional precision supported); rfc7231(section 7.1.1.1)\n *\n * @see https://www.epoch101.com/\n * @see https://datatracker.ietf.org/doc/html/rfc3339.html#section-5.6\n * @see https://datatracker.ietf.org/doc/html/rfc7231.html#section-7.1.1.1\n *\n * @note For bundle size consideration, we use Date constructor to parse the timestamp string. There might be slight\n * difference among browsers.\n *\n * @internal\n */\nexport const deserializeTimestamp = (value) => {\n return value ? new Date(value) : undefined;\n};\n/**\n * Function that makes sure the deserializer receives non-empty array.\n *\n * @internal\n */\nexport const emptyArrayGuard = (value, deserializer) => {\n if (value === '') {\n return [];\n }\n const valueArray = (Array.isArray(value) ? value : [value]).filter(e => e != null);\n return deserializer(valueArray);\n};\n/**\n * @internal\n */\nexport const deserializeMetadata = (headers) => {\n const objectMetadataHeaderPrefix = 'x-amz-meta-';\n const deserialized = Object.keys(headers)\n .filter(header => header.startsWith(objectMetadataHeaderPrefix))\n .reduce((acc, header) => {\n acc[header.replace(objectMetadataHeaderPrefix, '')] = headers[header];\n return acc;\n }, {});\n return Object.keys(deserialized).length > 0 ? deserialized : undefined;\n};\n/**\n * Internal-only method to create a new StorageError from a service error.\n *\n * @internal\n */\nexport const buildStorageServiceError = (error, statusCode) => {\n const storageError = new StorageError({\n name: error.name,\n message: error.message,\n });\n if (statusCode === 404) {\n storageError.recoverySuggestion =\n 'Please add the object with this key to the bucket as the key is not found.';\n }\n return storageError;\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deserializeHelpers.mjs","sources":["../../../../../../../src/providers/s3/utils/client/utils/deserializeHelpers.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { StorageError } from '../../../../../errors/StorageError';\n/**\n * Maps an object to a new object using the provided instructions.\n * The instructions are a map of the returning mapped object's property names to a single instruction of how to map the\n * value from the original object to the new object. There are two types of instructions:\n *\n * 1. A string representing the property name of the original object to map to the new object. The value mapped from\n * the original object will be the same as the value in the new object, and it can ONLY be string.\n *\n * 2. An array of two elements. The first element is the property name of the original object to map to the new object.\n * The second element is a function that takes the value from the original object and returns the value to be mapped to\n * the new object. The function can return any type.\n *\n * Example:\n * ```typescript\n * const input = {\n * Foo: 'foo',\n * BarList: [{value: 'bar1'}, {value: 'bar2'}]\n * }\n * const output = map(input, {\n * someFoo: 'Foo',\n * bar: ['BarList', (barList) => barList.map(bar => bar.value)]\n * baz: 'Baz' // Baz does not exist in input, so it will not be in the output.\n * });\n * // output = { someFoo: 'foo', bar: ['bar1', 'bar2'] }\n * ```\n *\n * @param obj The object containing the data to compose mapped object.\n * @param instructions The instructions mapping the object values to the new object.\n * @returns A new object with the mapped values.\n *\n * @internal\n */\nexport const map = (obj, instructions) => {\n const result = {};\n for (const [key, instruction] of Object.entries(instructions)) {\n const [accessor, deserializer] = Array.isArray(instruction)\n ? instruction\n : [instruction];\n if (Object.prototype.hasOwnProperty.call(obj, accessor)) {\n result[key] = deserializer\n ? deserializer(obj[accessor])\n : String(obj[accessor]);\n }\n }\n return result;\n};\n/**\n * Deserializes a string to a number. Returns undefined if input is undefined.\n *\n * @internal\n */\nexport const deserializeNumber = (value) => value ? Number(value) : undefined;\n/**\n * Deserializes a string to a boolean. Returns undefined if input is undefined. Returns true if input is 'true',\n * otherwise false.\n *\n * @internal\n */\nexport const deserializeBoolean = (value) => {\n return value ? value === 'true' : undefined;\n};\n/**\n * Deserializes a string to a Date. Returns undefined if input is undefined.\n * It supports epoch timestamp; rfc3339(cannot have a UTC, fractional precision supported); rfc7231(section 7.1.1.1)\n *\n * @see https://www.epoch101.com/\n * @see https://datatracker.ietf.org/doc/html/rfc3339.html#section-5.6\n * @see https://datatracker.ietf.org/doc/html/rfc7231.html#section-7.1.1.1\n *\n * @note For bundle size consideration, we use Date constructor to parse the timestamp string. There might be slight\n * difference among browsers.\n *\n * @internal\n */\nexport const deserializeTimestamp = (value) => {\n return value ? new Date(value) : undefined;\n};\n/**\n * Function that makes sure the deserializer receives non-empty array.\n *\n * @internal\n */\nexport const emptyArrayGuard = (value, deserializer) => {\n if (value === '') {\n return [];\n }\n const valueArray = (Array.isArray(value) ? value : [value]).filter(e => e != null);\n return deserializer(valueArray);\n};\n/**\n * @internal\n */\nexport const deserializeMetadata = (headers) => {\n const objectMetadataHeaderPrefix = 'x-amz-meta-';\n const deserialized = Object.keys(headers)\n .filter(header => header.startsWith(objectMetadataHeaderPrefix))\n .reduce((acc, header) => {\n acc[header.replace(objectMetadataHeaderPrefix, '')] = headers[header];\n return acc;\n }, {});\n return Object.keys(deserialized).length > 0 ? deserialized : undefined;\n};\n/**\n * Internal-only method to create a new StorageError from a service error.\n *\n * @internal\n */\nexport const buildStorageServiceError = (error, statusCode) => {\n const storageError = new StorageError({\n name: error.name,\n message: error.message,\n });\n if (statusCode === 404) {\n storageError.recoverySuggestion =\n 'Please add the object with this key to the bucket as the key is not found.';\n }\n return storageError;\n};\n"],"names":[],"mappings":";;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,GAAG,GAAG,CAAC,GAAG,EAAE,YAAY,KAAK;AAC1C,IAAI,MAAM,MAAM,GAAG,EAAE,CAAC;AACtB,IAAI,KAAK,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;AACnE,QAAQ,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;AACnE,cAAc,WAAW;AACzB,cAAc,CAAC,WAAW,CAAC,CAAC;AAC5B,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE;AACjE,YAAY,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY;AACtC,kBAAkB,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC7C,kBAAkB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;AACxC,SAAS;AACT,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB,EAAE;AACF;AACA;AACA;AACA;AACA;AACY,MAAC,iBAAiB,GAAG,CAAC,KAAK,KAAK,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU;AAC9E;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,kBAAkB,GAAG,CAAC,KAAK,KAAK;AAC7C,IAAI,OAAO,KAAK,GAAG,KAAK,KAAK,MAAM,GAAG,SAAS,CAAC;AAChD,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,oBAAoB,GAAG,CAAC,KAAK,KAAK;AAC/C,IAAI,OAAO,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;AAC/C,EAAE;AACF;AACA;AACA;AACA;AACA;AACY,MAAC,eAAe,GAAG,CAAC,KAAK,EAAE,YAAY,KAAK;AACxD,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE;AACtB,QAAQ,OAAO,EAAE,CAAC;AAClB,KAAK;AACL,IAAI,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;AACvF,IAAI,OAAO,YAAY,CAAC,UAAU,CAAC,CAAC;AACpC,EAAE;AACF;AACA;AACA;AACY,MAAC,mBAAmB,GAAG,CAAC,OAAO,KAAK;AAChD,IAAI,MAAM,0BAA0B,GAAG,aAAa,CAAC;AACrD,IAAI,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;AAC7C,SAAS,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAC;AACxE,SAAS,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK;AACjC,QAAQ,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC9E,QAAQ,OAAO,GAAG,CAAC;AACnB,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,YAAY,GAAG,SAAS,CAAC;AAC3E,EAAE;AACF;AACA;AACA;AACA;AACA;AACY,MAAC,wBAAwB,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK;AAC/D,IAAI,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC;AAC1C,QAAQ,IAAI,EAAE,KAAK,CAAC,IAAI;AACxB,QAAQ,OAAO,EAAE,KAAK,CAAC,OAAO;AAC9B,KAAK,CAAC,CAAC;AACP,IAAI,IAAI,UAAU,KAAK,GAAG,EAAE;AAC5B,QAAQ,YAAY,CAAC,kBAAkB;AACvC,YAAY,4EAA4E,CAAC;AACzF,KAAK;AACL,IAAI,OAAO,YAAY,CAAC;AACxB;;;;"}
@@ -12,12 +12,12 @@ const parseXmlError = async (response) => {
12
12
  }
13
13
  const { statusCode } = response;
14
14
  const body = await parseXmlBody(response);
15
- const code = body?.['Code']
15
+ const code = body?.Code
16
16
  ? body.Code
17
17
  : statusCode === 404
18
18
  ? 'NotFound'
19
19
  : statusCode.toString();
20
- const message = body?.['message'] ?? body?.['Message'] ?? code;
20
+ const message = body?.message ?? body?.Message ?? code;
21
21
  const error = new Error(message);
22
22
  return Object.assign(error, {
23
23
  name: code,
@@ -1 +1 @@
1
- {"version":3,"file":"parsePayload.mjs","sources":["../../../../../../../src/providers/s3/utils/client/utils/parsePayload.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { parseMetadata, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { parser } from '../runtime';\nexport const parseXmlError = async (response) => {\n if (!response || response.statusCode < 300) {\n return;\n }\n const { statusCode } = response;\n const body = await parseXmlBody(response);\n const code = body?.['Code']\n ? body.Code\n : statusCode === 404\n ? 'NotFound'\n : statusCode.toString();\n const message = body?.['message'] ?? body?.['Message'] ?? code;\n const error = new Error(message);\n return Object.assign(error, {\n name: code,\n $metadata: parseMetadata(response),\n });\n};\nexport const parseXmlBody = async (response) => {\n if (!response.body) {\n // S3 can return 200 without a body indicating failure.\n throw new Error('S3 aborted request.');\n }\n const data = await response.body.text();\n if (data?.length > 0) {\n try {\n return parser.parse(data);\n }\n catch (error) {\n throw new Error('Failed to parse XML response.');\n }\n }\n return {};\n};\n"],"names":[],"mappings":";;;;;;AAAA;AACA;AAGY,MAAC,aAAa,GAAG,OAAO,QAAQ,KAAK;AACjD,IAAI,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,UAAU,GAAG,GAAG,EAAE;AAChD,QAAQ,OAAO;AACf,KAAK;AACL,IAAI,MAAM,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;AACpC,IAAI,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;AAC9C,IAAI,MAAM,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;AAC/B,UAAU,IAAI,CAAC,IAAI;AACnB,UAAU,UAAU,KAAK,GAAG;AAC5B,cAAc,UAAU;AACxB,cAAc,UAAU,CAAC,QAAQ,EAAE,CAAC;AACpC,IAAI,MAAM,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,IAAI,IAAI,GAAG,SAAS,CAAC,IAAI,IAAI,CAAC;AACnE,IAAI,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AACrC,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;AAChC,QAAQ,IAAI,EAAE,IAAI;AAClB,QAAQ,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC;AAC1C,KAAK,CAAC,CAAC;AACP,EAAE;AACU,MAAC,YAAY,GAAG,OAAO,QAAQ,KAAK;AAChD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;AACxB;AACA,QAAQ,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;AAC/C,KAAK;AACL,IAAI,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AAC5C,IAAI,IAAI,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE;AAC1B,QAAQ,IAAI;AACZ,YAAY,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACtC,SAAS;AACT,QAAQ,OAAO,KAAK,EAAE;AACtB,YAAY,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;AAC7D,SAAS;AACT,KAAK;AACL,IAAI,OAAO,EAAE,CAAC;AACd;;;;"}
1
+ {"version":3,"file":"parsePayload.mjs","sources":["../../../../../../../src/providers/s3/utils/client/utils/parsePayload.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { parseMetadata, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { parser } from '../runtime';\nexport const parseXmlError = async (response) => {\n if (!response || response.statusCode < 300) {\n return;\n }\n const { statusCode } = response;\n const body = await parseXmlBody(response);\n const code = body?.Code\n ? body.Code\n : statusCode === 404\n ? 'NotFound'\n : statusCode.toString();\n const message = body?.message ?? body?.Message ?? code;\n const error = new Error(message);\n return Object.assign(error, {\n name: code,\n $metadata: parseMetadata(response),\n });\n};\nexport const parseXmlBody = async (response) => {\n if (!response.body) {\n // S3 can return 200 without a body indicating failure.\n throw new Error('S3 aborted request.');\n }\n const data = await response.body.text();\n if (data?.length > 0) {\n try {\n return parser.parse(data);\n }\n catch (error) {\n throw new Error('Failed to parse XML response.');\n }\n }\n return {};\n};\n"],"names":[],"mappings":";;;;;;AAAA;AACA;AAGY,MAAC,aAAa,GAAG,OAAO,QAAQ,KAAK;AACjD,IAAI,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,UAAU,GAAG,GAAG,EAAE;AAChD,QAAQ,OAAO;AACf,KAAK;AACL,IAAI,MAAM,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;AACpC,IAAI,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;AAC9C,IAAI,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI;AAC3B,UAAU,IAAI,CAAC,IAAI;AACnB,UAAU,UAAU,KAAK,GAAG;AAC5B,cAAc,UAAU;AACxB,cAAc,UAAU,CAAC,QAAQ,EAAE,CAAC;AACpC,IAAI,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,IAAI,EAAE,OAAO,IAAI,IAAI,CAAC;AAC3D,IAAI,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AACrC,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;AAChC,QAAQ,IAAI,EAAE,IAAI;AAClB,QAAQ,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC;AAC1C,KAAK,CAAC,CAAC;AACP,EAAE;AACU,MAAC,YAAY,GAAG,OAAO,QAAQ,KAAK;AAChD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;AACxB;AACA,QAAQ,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;AAC/C,KAAK;AACL,IAAI,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AAC5C,IAAI,IAAI,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE;AAC1B,QAAQ,IAAI;AACZ,YAAY,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACtC,SAAS;AACT,QAAQ,OAAO,KAAK,EAAE;AACtB,YAAY,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;AAC7D,SAAS;AACT,KAAK;AACL,IAAI,OAAO,EAAE,CAAC;AACd;;;;"}
@@ -2,7 +2,7 @@
2
2
  * @internal
3
3
  */
4
4
  export declare const assignStringVariables: (values: Record<string, {
5
- toString: () => string;
5
+ toString(): string;
6
6
  } | undefined>) => Record<string, string>;
7
7
  interface ObjectConfigs {
8
8
  ACL?: string;
@@ -33,12 +33,17 @@ const readFileToBase64 = (blob) => {
33
33
  // response from readAsDataURL is always prepended with "data:*/*;base64,"
34
34
  // reference: https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readyState
35
35
  if (reader.readyState !== 2) {
36
- return reject(new Error('Reader aborted too early'));
36
+ reject(new Error('Reader aborted too early'));
37
+ return;
37
38
  }
38
39
  resolve(reader.result.split(',')[1]);
39
40
  };
40
- reader.onabort = () => reject(new Error('Read aborted'));
41
- reader.onerror = () => reject(reader.error);
41
+ reader.onabort = () => {
42
+ reject(new Error('Read aborted'));
43
+ };
44
+ reader.onerror = () => {
45
+ reject(reader.error);
46
+ };
42
47
  // reader.readAsArrayBuffer is not available in RN
43
48
  reader.readAsDataURL(blob);
44
49
  });
@@ -1 +1 @@
1
- {"version":3,"file":"md5.mjs","sources":["../../../../../src/providers/s3/utils/md5.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Md5 } from '@smithy/md5-js';\nimport { toBase64, utf8Encode } from './client/utils';\nexport const calculateContentMd5 = async (content) => {\n const hasher = new Md5();\n if (typeof content === 'string') {\n hasher.update(content);\n }\n else if (ArrayBuffer.isView(content) || content instanceof ArrayBuffer) {\n const blob = new Blob([content]);\n const buffer = await readFileToBase64(blob);\n hasher.update(buffer);\n }\n else {\n const buffer = await readFileToBase64(content);\n hasher.update(utf8Encode(buffer));\n }\n const digest = await hasher.digest();\n return toBase64(digest);\n};\nconst readFileToBase64 = (blob) => {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => {\n // reference: https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readAsDataURL\n // response from readAsDataURL is always prepended with \"data:*/*;base64,\"\n // reference: https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readyState\n if (reader.readyState !== 2) {\n return reject(new Error('Reader aborted too early'));\n }\n resolve(reader.result.split(',')[1]);\n };\n reader.onabort = () => reject(new Error('Read aborted'));\n reader.onerror = () => reject(reader.error);\n // reader.readAsArrayBuffer is not available in RN\n reader.readAsDataURL(blob);\n });\n};\n"],"names":[],"mappings":";;;;;;;;AAAA;AACA;AAGY,MAAC,mBAAmB,GAAG,OAAO,OAAO,KAAK;AACtD,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;AAC7B,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACrC,QAAQ,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC/B,KAAK;AACL,SAAS,IAAI,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,OAAO,YAAY,WAAW,EAAE;AAC5E,QAAQ,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACzC,QAAQ,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;AACpD,QAAQ,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC9B,KAAK;AACL,SAAS;AACT,QAAQ,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;AACvD,QAAQ,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,IAAI,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;AACzC,IAAI,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC5B,EAAE;AACF,MAAM,gBAAgB,GAAG,CAAC,IAAI,KAAK;AACnC,IAAI,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAC5C,QAAQ,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;AACxC,QAAQ,MAAM,CAAC,SAAS,GAAG,MAAM;AACjC;AACA;AACA;AACA,YAAY,IAAI,MAAM,CAAC,UAAU,KAAK,CAAC,EAAE;AACzC,gBAAgB,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;AACrE,aAAa;AACb,YAAY,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,SAAS,CAAC;AACV,QAAQ,MAAM,CAAC,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;AACjE,QAAQ,MAAM,CAAC,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACpD;AACA,QAAQ,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACnC,KAAK,CAAC,CAAC;AACP,CAAC;;;;"}
1
+ {"version":3,"file":"md5.mjs","sources":["../../../../../src/providers/s3/utils/md5.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Md5 } from '@smithy/md5-js';\nimport { toBase64, utf8Encode } from './client/utils';\nexport const calculateContentMd5 = async (content) => {\n const hasher = new Md5();\n if (typeof content === 'string') {\n hasher.update(content);\n }\n else if (ArrayBuffer.isView(content) || content instanceof ArrayBuffer) {\n const blob = new Blob([content]);\n const buffer = await readFileToBase64(blob);\n hasher.update(buffer);\n }\n else {\n const buffer = await readFileToBase64(content);\n hasher.update(utf8Encode(buffer));\n }\n const digest = await hasher.digest();\n return toBase64(digest);\n};\nconst readFileToBase64 = (blob) => {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => {\n // reference: https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readAsDataURL\n // response from readAsDataURL is always prepended with \"data:*/*;base64,\"\n // reference: https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readyState\n if (reader.readyState !== 2) {\n reject(new Error('Reader aborted too early'));\n return;\n }\n resolve(reader.result.split(',')[1]);\n };\n reader.onabort = () => {\n reject(new Error('Read aborted'));\n };\n reader.onerror = () => {\n reject(reader.error);\n };\n // reader.readAsArrayBuffer is not available in RN\n reader.readAsDataURL(blob);\n });\n};\n"],"names":[],"mappings":";;;;;;;;AAAA;AACA;AAGY,MAAC,mBAAmB,GAAG,OAAO,OAAO,KAAK;AACtD,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;AAC7B,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACrC,QAAQ,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC/B,KAAK;AACL,SAAS,IAAI,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,OAAO,YAAY,WAAW,EAAE;AAC5E,QAAQ,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACzC,QAAQ,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;AACpD,QAAQ,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC9B,KAAK;AACL,SAAS;AACT,QAAQ,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;AACvD,QAAQ,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,IAAI,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;AACzC,IAAI,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC5B,EAAE;AACF,MAAM,gBAAgB,GAAG,CAAC,IAAI,KAAK;AACnC,IAAI,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAC5C,QAAQ,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;AACxC,QAAQ,MAAM,CAAC,SAAS,GAAG,MAAM;AACjC;AACA;AACA;AACA,YAAY,IAAI,MAAM,CAAC,UAAU,KAAK,CAAC,EAAE;AACzC,gBAAgB,MAAM,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;AAC9D,gBAAgB,OAAO;AACvB,aAAa;AACb,YAAY,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,SAAS,CAAC;AACV,QAAQ,MAAM,CAAC,OAAO,GAAG,MAAM;AAC/B,YAAY,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;AAC9C,SAAS,CAAC;AACV,QAAQ,MAAM,CAAC,OAAO,GAAG,MAAM;AAC/B,YAAY,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACjC,SAAS,CAAC;AACV;AACA,QAAQ,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACnC,KAAK,CAAC,CAAC;AACP,CAAC;;;;"}
@@ -32,8 +32,12 @@ const readFile = (file) => {
32
32
  if (reader.result) {
33
33
  resolve(reader.result);
34
34
  }
35
- reader.onabort = () => reject(new Error('Read aborted'));
36
- reader.onerror = () => reject(reader.error);
35
+ reader.onabort = () => {
36
+ reject(new Error('Read aborted'));
37
+ };
38
+ reader.onerror = () => {
39
+ reject(reader.error);
40
+ };
37
41
  };
38
42
  if (file !== undefined)
39
43
  reader.readAsArrayBuffer(file);
@@ -1 +1 @@
1
- {"version":3,"file":"md5.native.mjs","sources":["../../../../../src/providers/s3/utils/md5.native.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Md5 } from '@smithy/md5-js';\nimport { toBase64 } from './client/utils';\nexport const calculateContentMd5 = async (content) => {\n const hasher = new Md5();\n if (typeof content === 'string') {\n hasher.update(content);\n }\n else if (ArrayBuffer.isView(content) || content instanceof ArrayBuffer) {\n const blob = new Blob([content]);\n const buffer = await readFile(blob);\n hasher.update(buffer);\n }\n else {\n const buffer = await readFile(content);\n hasher.update(buffer);\n }\n const digest = await hasher.digest();\n return toBase64(digest);\n};\nconst readFile = (file) => {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => {\n if (reader.result) {\n resolve(reader.result);\n }\n reader.onabort = () => reject(new Error('Read aborted'));\n reader.onerror = () => reject(reader.error);\n };\n if (file !== undefined)\n reader.readAsArrayBuffer(file);\n });\n};\n"],"names":[],"mappings":";;;;;;;;AAAA;AACA;AAGY,MAAC,mBAAmB,GAAG,OAAO,OAAO,KAAK;AACtD,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;AAC7B,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACrC,QAAQ,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC/B,KAAK;AACL,SAAS,IAAI,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,OAAO,YAAY,WAAW,EAAE;AAC5E,QAAQ,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACzC,QAAQ,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC5C,QAAQ,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC9B,KAAK;AACL,SAAS;AACT,QAAQ,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC/C,QAAQ,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC9B,KAAK;AACL,IAAI,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;AACzC,IAAI,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC5B,EAAE;AACF,MAAM,QAAQ,GAAG,CAAC,IAAI,KAAK;AAC3B,IAAI,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAC5C,QAAQ,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;AACxC,QAAQ,MAAM,CAAC,SAAS,GAAG,MAAM;AACjC,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE;AAC/B,gBAAgB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACvC,aAAa;AACb,YAAY,MAAM,CAAC,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;AACrE,YAAY,MAAM,CAAC,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACxD,SAAS,CAAC;AACV,QAAQ,IAAI,IAAI,KAAK,SAAS;AAC9B,YAAY,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAC3C,KAAK,CAAC,CAAC;AACP,CAAC;;;;"}
1
+ {"version":3,"file":"md5.native.mjs","sources":["../../../../../src/providers/s3/utils/md5.native.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Md5 } from '@smithy/md5-js';\nimport { toBase64 } from './client/utils';\nexport const calculateContentMd5 = async (content) => {\n const hasher = new Md5();\n if (typeof content === 'string') {\n hasher.update(content);\n }\n else if (ArrayBuffer.isView(content) || content instanceof ArrayBuffer) {\n const blob = new Blob([content]);\n const buffer = await readFile(blob);\n hasher.update(buffer);\n }\n else {\n const buffer = await readFile(content);\n hasher.update(buffer);\n }\n const digest = await hasher.digest();\n return toBase64(digest);\n};\nconst readFile = (file) => {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => {\n if (reader.result) {\n resolve(reader.result);\n }\n reader.onabort = () => {\n reject(new Error('Read aborted'));\n };\n reader.onerror = () => {\n reject(reader.error);\n };\n };\n if (file !== undefined)\n reader.readAsArrayBuffer(file);\n });\n};\n"],"names":[],"mappings":";;;;;;;;AAAA;AACA;AAGY,MAAC,mBAAmB,GAAG,OAAO,OAAO,KAAK;AACtD,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;AAC7B,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACrC,QAAQ,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC/B,KAAK;AACL,SAAS,IAAI,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,OAAO,YAAY,WAAW,EAAE;AAC5E,QAAQ,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACzC,QAAQ,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC5C,QAAQ,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC9B,KAAK;AACL,SAAS;AACT,QAAQ,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC/C,QAAQ,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC9B,KAAK;AACL,IAAI,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;AACzC,IAAI,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC5B,EAAE;AACF,MAAM,QAAQ,GAAG,CAAC,IAAI,KAAK;AAC3B,IAAI,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAC5C,QAAQ,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;AACxC,QAAQ,MAAM,CAAC,SAAS,GAAG,MAAM;AACjC,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE;AAC/B,gBAAgB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACvC,aAAa;AACb,YAAY,MAAM,CAAC,OAAO,GAAG,MAAM;AACnC,gBAAgB,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;AAClD,aAAa,CAAC;AACd,YAAY,MAAM,CAAC,OAAO,GAAG,MAAM;AACnC,gBAAgB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACrC,aAAa,CAAC;AACd,SAAS,CAAC;AACV,QAAQ,IAAI,IAAI,KAAK,SAAS;AAC9B,YAAY,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAC3C,KAAK,CAAC,CAAC;AACP,CAAC;;;;"}
@@ -1,16 +1,16 @@
1
1
  import { AmplifyClassV6, StorageAccessLevel } from '@aws-amplify/core';
2
2
  import { ResolvedS3Config } from '../types/options';
3
- type S3ApiOptions = {
3
+ interface S3ApiOptions {
4
4
  accessLevel?: StorageAccessLevel;
5
5
  targetIdentityId?: string;
6
6
  useAccelerateEndpoint?: boolean;
7
- };
8
- type ResolvedS3ConfigAndInput = {
7
+ }
8
+ interface ResolvedS3ConfigAndInput {
9
9
  s3Config: ResolvedS3Config;
10
10
  bucket: string;
11
11
  keyPrefix: string;
12
12
  isObjectLockEnabled?: boolean;
13
- };
13
+ }
14
14
  /**
15
15
  * resolve the common input options for S3 API handlers from Amplify configuration and library options.
16
16
  *
@@ -1,7 +1,7 @@
1
1
  import { assertValidationError } from '../../../errors/utils/assertValidationError.mjs';
2
2
  import { StorageValidationErrorCode } from '../../../errors/types/validation.mjs';
3
- import { DEFAULT_ACCESS_LEVEL, LOCAL_TESTING_S3_ENDPOINT } from './constants.mjs';
4
3
  import { resolvePrefix } from '../../../utils/resolvePrefix.mjs';
4
+ import { DEFAULT_ACCESS_LEVEL, LOCAL_TESTING_S3_ENDPOINT } from './constants.mjs';
5
5
 
6
6
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
7
7
  // SPDX-License-Identifier: Apache-2.0
@@ -1 +1 @@
1
- {"version":3,"file":"resolveS3ConfigAndInput.mjs","sources":["../../../../../src/providers/s3/utils/resolveS3ConfigAndInput.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { assertValidationError } from '../../../errors/utils/assertValidationError';\nimport { StorageValidationErrorCode } from '../../../errors/types/validation';\nimport { DEFAULT_ACCESS_LEVEL, LOCAL_TESTING_S3_ENDPOINT } from './constants';\nimport { resolvePrefix as defaultPrefixResolver } from '../../../utils/resolvePrefix';\n/**\n * resolve the common input options for S3 API handlers from Amplify configuration and library options.\n *\n * @param {AmplifyClassV6} amplify The Amplify instance.\n * @param {S3ApiOptions} apiOptions The input options for S3 provider.\n * @returns {Promise<ResolvedS3ConfigAndInput>} The resolved common input options for S3 API handlers.\n * @throws A {@link StorageError} with `error.name` from {@link StorageValidationErrorCode} indicating invalid\n * configurations or Amplify library options.\n *\n * @internal\n */\nexport const resolveS3ConfigAndInput = async (amplify, apiOptions) => {\n // identityId is always cached in memory if forceRefresh is not set. So we can safely make calls here.\n const { credentials, identityId } = await amplify.Auth.fetchAuthSession({\n forceRefresh: false,\n });\n assertValidationError(!!credentials, StorageValidationErrorCode.NoCredentials);\n assertValidationError(!!identityId, StorageValidationErrorCode.NoIdentityId);\n const { bucket, region, dangerouslyConnectToHttpEndpointForTesting } = amplify.getConfig()?.Storage?.S3 ?? {};\n assertValidationError(!!bucket, StorageValidationErrorCode.NoBucket);\n assertValidationError(!!region, StorageValidationErrorCode.NoRegion);\n const { defaultAccessLevel, prefixResolver = defaultPrefixResolver, isObjectLockEnabled, } = amplify.libraryOptions?.Storage?.S3 ?? {};\n const keyPrefix = await prefixResolver({\n accessLevel: apiOptions?.accessLevel ?? defaultAccessLevel ?? DEFAULT_ACCESS_LEVEL,\n // use conditional assign to make tsc happy because StorageOptions is a union type that may not have targetIdentityId\n targetIdentityId: apiOptions?.accessLevel === 'protected'\n ? apiOptions?.targetIdentityId ?? identityId\n : identityId,\n });\n return {\n s3Config: {\n credentials,\n region,\n useAccelerateEndpoint: apiOptions?.useAccelerateEndpoint,\n ...(dangerouslyConnectToHttpEndpointForTesting\n ? {\n customEndpoint: LOCAL_TESTING_S3_ENDPOINT,\n forcePathStyle: true,\n }\n : {}),\n },\n bucket,\n keyPrefix,\n isObjectLockEnabled,\n };\n};\n"],"names":["defaultPrefixResolver"],"mappings":";;;;;AAAA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,uBAAuB,GAAG,OAAO,OAAO,EAAE,UAAU,KAAK;AACtE;AACA,IAAI,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC;AAC5E,QAAQ,YAAY,EAAE,KAAK;AAC3B,KAAK,CAAC,CAAC;AACP,IAAI,qBAAqB,CAAC,CAAC,CAAC,WAAW,EAAE,0BAA0B,CAAC,aAAa,CAAC,CAAC;AACnF,IAAI,qBAAqB,CAAC,CAAC,CAAC,UAAU,EAAE,0BAA0B,CAAC,YAAY,CAAC,CAAC;AACjF,IAAI,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,0CAA0C,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC;AAClH,IAAI,qBAAqB,CAAC,CAAC,CAAC,MAAM,EAAE,0BAA0B,CAAC,QAAQ,CAAC,CAAC;AACzE,IAAI,qBAAqB,CAAC,CAAC,CAAC,MAAM,EAAE,0BAA0B,CAAC,QAAQ,CAAC,CAAC;AACzE,IAAI,MAAM,EAAE,kBAAkB,EAAE,cAAc,GAAGA,aAAqB,EAAE,mBAAmB,GAAG,GAAG,OAAO,CAAC,cAAc,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC;AAC3I,IAAI,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC;AAC3C,QAAQ,WAAW,EAAE,UAAU,EAAE,WAAW,IAAI,kBAAkB,IAAI,oBAAoB;AAC1F;AACA,QAAQ,gBAAgB,EAAE,UAAU,EAAE,WAAW,KAAK,WAAW;AACjE,cAAc,UAAU,EAAE,gBAAgB,IAAI,UAAU;AACxD,cAAc,UAAU;AACxB,KAAK,CAAC,CAAC;AACP,IAAI,OAAO;AACX,QAAQ,QAAQ,EAAE;AAClB,YAAY,WAAW;AACvB,YAAY,MAAM;AAClB,YAAY,qBAAqB,EAAE,UAAU,EAAE,qBAAqB;AACpE,YAAY,IAAI,0CAA0C;AAC1D,kBAAkB;AAClB,oBAAoB,cAAc,EAAE,yBAAyB;AAC7D,oBAAoB,cAAc,EAAE,IAAI;AACxC,iBAAiB;AACjB,kBAAkB,EAAE;AACpB,SAAS;AACT,QAAQ,MAAM;AACd,QAAQ,SAAS;AACjB,QAAQ,mBAAmB;AAC3B,KAAK,CAAC;AACN;;;;"}
1
+ {"version":3,"file":"resolveS3ConfigAndInput.mjs","sources":["../../../../../src/providers/s3/utils/resolveS3ConfigAndInput.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { assertValidationError } from '../../../errors/utils/assertValidationError';\nimport { StorageValidationErrorCode } from '../../../errors/types/validation';\nimport { resolvePrefix as defaultPrefixResolver } from '../../../utils/resolvePrefix';\nimport { DEFAULT_ACCESS_LEVEL, LOCAL_TESTING_S3_ENDPOINT } from './constants';\n/**\n * resolve the common input options for S3 API handlers from Amplify configuration and library options.\n *\n * @param {AmplifyClassV6} amplify The Amplify instance.\n * @param {S3ApiOptions} apiOptions The input options for S3 provider.\n * @returns {Promise<ResolvedS3ConfigAndInput>} The resolved common input options for S3 API handlers.\n * @throws A {@link StorageError} with `error.name` from {@link StorageValidationErrorCode} indicating invalid\n * configurations or Amplify library options.\n *\n * @internal\n */\nexport const resolveS3ConfigAndInput = async (amplify, apiOptions) => {\n // identityId is always cached in memory if forceRefresh is not set. So we can safely make calls here.\n const { credentials, identityId } = await amplify.Auth.fetchAuthSession({\n forceRefresh: false,\n });\n assertValidationError(!!credentials, StorageValidationErrorCode.NoCredentials);\n assertValidationError(!!identityId, StorageValidationErrorCode.NoIdentityId);\n const { bucket, region, dangerouslyConnectToHttpEndpointForTesting } = amplify.getConfig()?.Storage?.S3 ?? {};\n assertValidationError(!!bucket, StorageValidationErrorCode.NoBucket);\n assertValidationError(!!region, StorageValidationErrorCode.NoRegion);\n const { defaultAccessLevel, prefixResolver = defaultPrefixResolver, isObjectLockEnabled, } = amplify.libraryOptions?.Storage?.S3 ?? {};\n const keyPrefix = await prefixResolver({\n accessLevel: apiOptions?.accessLevel ?? defaultAccessLevel ?? DEFAULT_ACCESS_LEVEL,\n // use conditional assign to make tsc happy because StorageOptions is a union type that may not have targetIdentityId\n targetIdentityId: apiOptions?.accessLevel === 'protected'\n ? apiOptions?.targetIdentityId ?? identityId\n : identityId,\n });\n return {\n s3Config: {\n credentials,\n region,\n useAccelerateEndpoint: apiOptions?.useAccelerateEndpoint,\n ...(dangerouslyConnectToHttpEndpointForTesting\n ? {\n customEndpoint: LOCAL_TESTING_S3_ENDPOINT,\n forcePathStyle: true,\n }\n : {}),\n },\n bucket,\n keyPrefix,\n isObjectLockEnabled,\n };\n};\n"],"names":["defaultPrefixResolver"],"mappings":";;;;;AAAA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,uBAAuB,GAAG,OAAO,OAAO,EAAE,UAAU,KAAK;AACtE;AACA,IAAI,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC;AAC5E,QAAQ,YAAY,EAAE,KAAK;AAC3B,KAAK,CAAC,CAAC;AACP,IAAI,qBAAqB,CAAC,CAAC,CAAC,WAAW,EAAE,0BAA0B,CAAC,aAAa,CAAC,CAAC;AACnF,IAAI,qBAAqB,CAAC,CAAC,CAAC,UAAU,EAAE,0BAA0B,CAAC,YAAY,CAAC,CAAC;AACjF,IAAI,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,0CAA0C,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC;AAClH,IAAI,qBAAqB,CAAC,CAAC,CAAC,MAAM,EAAE,0BAA0B,CAAC,QAAQ,CAAC,CAAC;AACzE,IAAI,qBAAqB,CAAC,CAAC,CAAC,MAAM,EAAE,0BAA0B,CAAC,QAAQ,CAAC,CAAC;AACzE,IAAI,MAAM,EAAE,kBAAkB,EAAE,cAAc,GAAGA,aAAqB,EAAE,mBAAmB,GAAG,GAAG,OAAO,CAAC,cAAc,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC;AAC3I,IAAI,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC;AAC3C,QAAQ,WAAW,EAAE,UAAU,EAAE,WAAW,IAAI,kBAAkB,IAAI,oBAAoB;AAC1F;AACA,QAAQ,gBAAgB,EAAE,UAAU,EAAE,WAAW,KAAK,WAAW;AACjE,cAAc,UAAU,EAAE,gBAAgB,IAAI,UAAU;AACxD,cAAc,UAAU;AACxB,KAAK,CAAC,CAAC;AACP,IAAI,OAAO;AACX,QAAQ,QAAQ,EAAE;AAClB,YAAY,WAAW;AACvB,YAAY,MAAM;AAClB,YAAY,qBAAqB,EAAE,UAAU,EAAE,qBAAqB;AACpE,YAAY,IAAI,0CAA0C;AAC1D,kBAAkB;AAClB,oBAAoB,cAAc,EAAE,yBAAyB;AAC7D,oBAAoB,cAAc,EAAE,IAAI;AACxC,iBAAiB;AACjB,kBAAkB,EAAE;AACpB,SAAS;AACT,QAAQ,MAAM;AACd,QAAQ,SAAS;AACjB,QAAQ,mBAAmB;AAC3B,KAAK,CAAC;AACN;;;;"}
@@ -1,16 +1,16 @@
1
1
  import { DownloadTask, UploadTask } from '../../../types/common';
2
- type CreateCancellableTaskOptions<Result> = {
3
- job: () => Promise<Result>;
4
- onCancel: (message?: string) => void;
5
- };
2
+ interface CreateCancellableTaskOptions<Result> {
3
+ job(): Promise<Result>;
4
+ onCancel(message?: string): void;
5
+ }
6
6
  type CancellableTask<Result> = DownloadTask<Result>;
7
7
  export declare const createDownloadTask: <Result>({ job, onCancel, }: CreateCancellableTaskOptions<Result>) => CancellableTask<Result>;
8
- type CreateUploadTaskOptions<Result> = {
9
- job: () => Promise<Result>;
10
- onCancel: (message?: string) => void;
11
- onResume?: () => void;
12
- onPause?: () => void;
8
+ interface CreateUploadTaskOptions<Result> {
9
+ job(): Promise<Result>;
10
+ onCancel(message?: string): void;
11
+ onResume?(): void;
12
+ onPause?(): void;
13
13
  isMultipartUpload?: boolean;
14
- };
14
+ }
15
15
  export declare const createUploadTask: <Result>({ job, onCancel, onResume, onPause, isMultipartUpload, }: CreateUploadTaskOptions<Result>) => UploadTask<Result>;
16
16
  export {};
@@ -7,12 +7,14 @@ import { logger } from '../../../utils/logger.mjs';
7
7
  // SPDX-License-Identifier: Apache-2.0
8
8
  const createCancellableTask = ({ job, onCancel, }) => {
9
9
  const state = 'IN_PROGRESS';
10
- let canceledErrorMessage = undefined;
10
+ let canceledErrorMessage;
11
11
  const cancelableTask = {
12
12
  cancel: (message) => {
13
- const { state } = cancelableTask;
14
- if (state === 'CANCELED' || state === 'ERROR' || state === 'SUCCESS') {
15
- logger.debug(`This task cannot be canceled. State: ${state}`);
13
+ const { state: taskState } = cancelableTask;
14
+ if (taskState === 'CANCELED' ||
15
+ taskState === 'ERROR' ||
16
+ taskState === 'SUCCESS') {
17
+ logger.debug(`This task cannot be canceled. State: ${taskState}`);
16
18
  return;
17
19
  }
18
20
  cancelableTask.state = 'CANCELED';
@@ -53,6 +55,8 @@ const createUploadTask = ({ job, onCancel, onResume, onPause, isMultipartUpload,
53
55
  logger.debug(`This task cannot be paused. State: ${state}`);
54
56
  return;
55
57
  }
58
+ // TODO(eslint): remove this linter suppression.
59
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
56
60
  // @ts-ignore
57
61
  uploadTask.state = 'PAUSED';
58
62
  onPause?.();
@@ -63,6 +67,8 @@ const createUploadTask = ({ job, onCancel, onResume, onPause, isMultipartUpload,
63
67
  logger.debug(`This task cannot be resumed. State: ${state}`);
64
68
  return;
65
69
  }
70
+ // TODO(eslint): remove this linter suppression.
71
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
66
72
  // @ts-ignore
67
73
  uploadTask.state = 'IN_PROGRESS';
68
74
  onResume?.();
@@ -1 +1 @@
1
- {"version":3,"file":"transferTask.mjs","sources":["../../../../../src/providers/s3/utils/transferTask.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { isCancelError } from '../../../errors/CanceledError';\nimport { logger } from '../../../utils';\nconst createCancellableTask = ({ job, onCancel, }) => {\n const state = 'IN_PROGRESS';\n let canceledErrorMessage = undefined;\n const cancelableTask = {\n cancel: (message) => {\n const { state } = cancelableTask;\n if (state === 'CANCELED' || state === 'ERROR' || state === 'SUCCESS') {\n logger.debug(`This task cannot be canceled. State: ${state}`);\n return;\n }\n cancelableTask.state = 'CANCELED';\n canceledErrorMessage = message;\n onCancel(canceledErrorMessage);\n },\n state,\n };\n const wrappedJobPromise = (async () => {\n try {\n const result = await job();\n cancelableTask.state = 'SUCCESS';\n return result;\n }\n catch (e) {\n if (isCancelError(e)) {\n cancelableTask.state = 'CANCELED';\n e.message = canceledErrorMessage ?? e.message;\n }\n cancelableTask.state = 'ERROR';\n throw e;\n }\n })();\n return Object.assign(cancelableTask, {\n result: wrappedJobPromise,\n });\n};\nexport const createDownloadTask = createCancellableTask;\nexport const createUploadTask = ({ job, onCancel, onResume, onPause, isMultipartUpload, }) => {\n const cancellableTask = createCancellableTask({\n job,\n onCancel,\n });\n const uploadTask = Object.assign(cancellableTask, {\n pause: () => {\n const { state } = uploadTask;\n if (!isMultipartUpload || state !== 'IN_PROGRESS') {\n logger.debug(`This task cannot be paused. State: ${state}`);\n return;\n }\n // @ts-ignore\n uploadTask.state = 'PAUSED';\n onPause?.();\n },\n resume: () => {\n const { state } = uploadTask;\n if (!isMultipartUpload || state !== 'PAUSED') {\n logger.debug(`This task cannot be resumed. State: ${state}`);\n return;\n }\n // @ts-ignore\n uploadTask.state = 'IN_PROGRESS';\n onResume?.();\n },\n });\n return uploadTask;\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transferTask.mjs","sources":["../../../../../src/providers/s3/utils/transferTask.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { isCancelError } from '../../../errors/CanceledError';\nimport { logger } from '../../../utils';\nconst createCancellableTask = ({ job, onCancel, }) => {\n const state = 'IN_PROGRESS';\n let canceledErrorMessage;\n const cancelableTask = {\n cancel: (message) => {\n const { state: taskState } = cancelableTask;\n if (taskState === 'CANCELED' ||\n taskState === 'ERROR' ||\n taskState === 'SUCCESS') {\n logger.debug(`This task cannot be canceled. State: ${taskState}`);\n return;\n }\n cancelableTask.state = 'CANCELED';\n canceledErrorMessage = message;\n onCancel(canceledErrorMessage);\n },\n state,\n };\n const wrappedJobPromise = (async () => {\n try {\n const result = await job();\n cancelableTask.state = 'SUCCESS';\n return result;\n }\n catch (e) {\n if (isCancelError(e)) {\n cancelableTask.state = 'CANCELED';\n e.message = canceledErrorMessage ?? e.message;\n }\n cancelableTask.state = 'ERROR';\n throw e;\n }\n })();\n return Object.assign(cancelableTask, {\n result: wrappedJobPromise,\n });\n};\nexport const createDownloadTask = createCancellableTask;\nexport const createUploadTask = ({ job, onCancel, onResume, onPause, isMultipartUpload, }) => {\n const cancellableTask = createCancellableTask({\n job,\n onCancel,\n });\n const uploadTask = Object.assign(cancellableTask, {\n pause: () => {\n const { state } = uploadTask;\n if (!isMultipartUpload || state !== 'IN_PROGRESS') {\n logger.debug(`This task cannot be paused. State: ${state}`);\n return;\n }\n // TODO(eslint): remove this linter suppression.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n uploadTask.state = 'PAUSED';\n onPause?.();\n },\n resume: () => {\n const { state } = uploadTask;\n if (!isMultipartUpload || state !== 'PAUSED') {\n logger.debug(`This task cannot be resumed. State: ${state}`);\n return;\n }\n // TODO(eslint): remove this linter suppression.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n uploadTask.state = 'IN_PROGRESS';\n onResume?.();\n },\n });\n return uploadTask;\n};\n"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  export type TransferTaskState = 'IN_PROGRESS' | 'PAUSED' | 'CANCELED' | 'SUCCESS' | 'ERROR';
2
- export type TransferProgressEvent = {
2
+ export interface TransferProgressEvent {
3
3
  transferredBytes: number;
4
4
  totalBytes?: number;
5
- };
6
- export type TransferTask<Result> = {
5
+ }
6
+ export interface TransferTask<Result> {
7
7
  /**
8
8
  * Cancel an ongoing transfer(upload/download) task. This will reject the `result` promise with an `AbortError` by
9
9
  * default. You can use `isCancelError` to check if the error is caused by cancellation.
@@ -12,17 +12,17 @@ export type TransferTask<Result> = {
12
12
  * canceled. If provided, the `result` promise will be rejected with a {@link CanceledError} with supplied error
13
13
  * message instead.
14
14
  */
15
- cancel: (message?: string) => void;
15
+ cancel(message?: string): void;
16
16
  /**
17
17
  * Pause an ongoing transfer(upload/download) task. This method does not support the following scenarios:
18
18
  * * Downloading data or file from given key.
19
19
  */
20
- pause: () => void;
20
+ pause(): void;
21
21
  /**
22
22
  * Resume a paused transfer(upload/download) task. This method does not support the following scenarios:
23
23
  * * Downloading data or file from given key.
24
24
  */
25
- resume: () => void;
25
+ resume(): void;
26
26
  /**
27
27
  * Current state of the transfer task.
28
28
  */
@@ -31,6 +31,6 @@ export type TransferTask<Result> = {
31
31
  * Promise that resolves when the transfer task is completed. The promise will be rejected if the task is canceled.
32
32
  */
33
33
  result: Promise<Result>;
34
- };
34
+ }
35
35
  export type DownloadTask<Result> = Omit<TransferTask<Result>, 'pause' | 'resume'>;
36
36
  export type UploadTask<Result> = TransferTask<Result>;
@@ -1,26 +1,26 @@
1
- import { StorageOptions, StorageListAllOptions, StorageListPaginateOptions } from './options';
2
- export type StorageOperationInput<Options extends StorageOptions> = {
1
+ import { StorageListAllOptions, StorageListPaginateOptions, StorageOptions } from './options';
2
+ export interface StorageOperationInput<Options extends StorageOptions> {
3
3
  key: string;
4
4
  options?: Options;
5
- };
5
+ }
6
6
  export type StorageGetPropertiesInput<Options extends StorageOptions> = StorageOperationInput<Options>;
7
- export type StorageRemoveInput<Options extends StorageOptions> = {
7
+ export interface StorageRemoveInput<Options extends StorageOptions> {
8
8
  key: string;
9
9
  options?: Options;
10
- };
11
- export type StorageListInput<Options extends StorageListAllOptions | StorageListPaginateOptions> = {
10
+ }
11
+ export interface StorageListInput<Options extends StorageListAllOptions | StorageListPaginateOptions> {
12
12
  prefix?: string;
13
13
  options?: Options;
14
- };
14
+ }
15
15
  export type StorageGetUrlInput<Options extends StorageOptions> = StorageOperationInput<Options>;
16
16
  export type StorageDownloadDataInput<Options extends StorageOptions> = StorageOperationInput<Options>;
17
17
  export type StorageUploadDataInput<Options extends StorageOptions> = StorageOperationInput<Options> & {
18
18
  data: StorageUploadDataPayload;
19
19
  };
20
- export type StorageCopyInput<SourceOptions extends StorageOptions, DestinationOptions extends StorageOptions> = {
20
+ export interface StorageCopyInput<SourceOptions extends StorageOptions, DestinationOptions extends StorageOptions> {
21
21
  source: SourceOptions;
22
22
  destination: DestinationOptions;
23
- };
23
+ }
24
24
  /**
25
25
  * The data payload type for upload operation.
26
26
  */
@@ -1,7 +1,7 @@
1
1
  import { StorageAccessLevel } from '@aws-amplify/core';
2
- export type StorageOptions = {
2
+ export interface StorageOptions {
3
3
  accessLevel?: StorageAccessLevel;
4
- };
4
+ }
5
5
  export type StorageListAllOptions = StorageOptions & {
6
6
  listAll: true;
7
7
  };
@@ -1,5 +1,5 @@
1
1
  import { ResponseBodyMixin } from '@aws-amplify/core/internals/aws-client-utils';
2
- export type StorageItem = {
2
+ export interface StorageItem {
3
3
  /**
4
4
  * Key of the object
5
5
  */
@@ -22,11 +22,11 @@ export type StorageItem = {
22
22
  * @see https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMetadata.html#UserMetadata
23
23
  */
24
24
  metadata?: Record<string, string>;
25
- };
25
+ }
26
26
  export type StorageDownloadDataOutput<T extends StorageItem> = T & {
27
27
  body: ResponseBodyMixin;
28
28
  };
29
- export type StorageGetUrlOutput = {
29
+ export interface StorageGetUrlOutput {
30
30
  /**
31
31
  * presigned URL of the given object.
32
32
  */
@@ -35,8 +35,8 @@ export type StorageGetUrlOutput = {
35
35
  * expiresAt is date in which generated URL expires.
36
36
  */
37
37
  expiresAt: Date;
38
- };
38
+ }
39
39
  export type StorageUploadOutput<Item extends StorageItem> = Item;
40
- export type StorageListOutput<Item extends StorageItem> = {
40
+ export interface StorageListOutput<Item extends StorageItem> {
41
41
  items: Item[];
42
- };
42
+ }
@@ -1,7 +1,7 @@
1
1
  import { StorageAccessLevel } from '@aws-amplify/core';
2
- type ResolvePrefixOptions = {
2
+ interface ResolvePrefixOptions {
3
3
  accessLevel: StorageAccessLevel;
4
4
  targetIdentityId?: string;
5
- };
5
+ }
6
6
  export declare const resolvePrefix: ({ accessLevel, targetIdentityId, }: ResolvePrefixOptions) => string;
7
7
  export {};