@aws-amplify/storage 5.9.6-unstable.7762f1a.0 → 6.0.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.
- package/README.md +3 -0
- package/lib/errors/CanceledError.d.ts +16 -0
- package/lib/errors/CanceledError.js +31 -0
- package/lib/errors/StorageError.d.ts +4 -0
- package/lib/errors/StorageError.js +15 -0
- package/lib/errors/types/validation.d.ts +14 -0
- package/lib/errors/types/validation.js +50 -0
- package/lib/errors/utils/assertValidationError.d.ts +2 -0
- package/lib/errors/utils/assertValidationError.js +14 -0
- package/lib/index.d.ts +6 -4
- package/lib/index.js +14 -21
- package/lib/providers/s3/apis/copy.d.ts +12 -0
- package/lib/providers/s3/apis/copy.js +21 -0
- package/lib/providers/s3/apis/downloadData.d.ts +32 -0
- package/lib/providers/s3/apis/downloadData.js +81 -0
- package/lib/providers/s3/apis/getProperties.d.ts +11 -0
- package/lib/providers/s3/apis/getProperties.js +20 -0
- package/lib/providers/s3/apis/getUrl.d.ts +18 -0
- package/lib/providers/s3/apis/getUrl.js +27 -0
- package/lib/providers/s3/apis/index.d.ts +7 -0
- package/lib/providers/s3/apis/index.js +19 -0
- package/lib/providers/s3/apis/internal/copy.d.ts +3 -0
- package/lib/providers/s3/apis/internal/copy.js +33 -0
- package/lib/providers/s3/apis/internal/getProperties.d.ts +4 -0
- package/lib/providers/s3/apis/internal/getProperties.js +30 -0
- package/lib/providers/s3/apis/internal/getUrl.d.ts +3 -0
- package/lib/providers/s3/apis/internal/getUrl.js +39 -0
- package/lib/providers/s3/apis/internal/list.d.ts +3 -0
- package/lib/providers/s3/apis/internal/list.js +71 -0
- package/lib/providers/s3/apis/internal/remove.d.ts +3 -0
- package/lib/providers/s3/apis/internal/remove.js +25 -0
- package/lib/providers/s3/apis/list.d.ts +22 -0
- package/lib/providers/s3/apis/list.js +11 -0
- package/lib/providers/s3/apis/remove.d.ts +9 -0
- package/lib/providers/s3/apis/remove.js +18 -0
- package/lib/providers/s3/apis/server/copy.d.ts +3 -0
- package/lib/providers/s3/apis/server/copy.js +11 -0
- package/lib/providers/s3/apis/server/getProperties.d.ts +3 -0
- package/lib/providers/s3/apis/server/getProperties.js +11 -0
- package/lib/providers/s3/apis/server/getUrl.d.ts +3 -0
- package/lib/providers/s3/apis/server/getUrl.js +11 -0
- package/lib/providers/s3/apis/server/index.d.ts +5 -0
- package/lib/providers/s3/apis/server/index.js +15 -0
- package/lib/providers/s3/apis/server/list.d.ts +23 -0
- package/lib/providers/s3/apis/server/list.js +11 -0
- package/lib/providers/s3/apis/server/remove.d.ts +3 -0
- package/lib/providers/s3/apis/server/remove.js +11 -0
- package/lib/providers/s3/apis/uploadData/byteLength.d.ts +5 -0
- package/lib/providers/s3/apis/uploadData/byteLength.js +37 -0
- package/lib/providers/s3/apis/uploadData/index.d.ts +50 -0
- package/lib/providers/s3/apis/uploadData/index.js +88 -0
- package/lib/providers/s3/apis/uploadData/multipart/calculatePartSize.d.ts +1 -0
- package/lib/providers/s3/apis/uploadData/multipart/calculatePartSize.js +19 -0
- package/lib/providers/s3/apis/uploadData/multipart/getDataChunker.d.ts +7 -0
- package/lib/providers/s3/apis/uploadData/multipart/getDataChunker.js +52 -0
- package/lib/providers/s3/apis/uploadData/multipart/index.d.ts +1 -0
- package/lib/providers/s3/apis/uploadData/multipart/index.js +7 -0
- package/lib/providers/s3/apis/uploadData/multipart/initialUpload.d.ts +30 -0
- package/lib/providers/s3/apis/uploadData/multipart/initialUpload.js +87 -0
- package/lib/providers/s3/apis/uploadData/multipart/progressTracker.d.ts +14 -0
- package/lib/providers/s3/apis/uploadData/multipart/progressTracker.js +29 -0
- package/lib/providers/s3/apis/uploadData/multipart/uploadCache.d.ts +41 -0
- package/lib/providers/s3/apis/uploadData/multipart/uploadCache.js +82 -0
- package/lib/providers/s3/apis/uploadData/multipart/uploadHandlers.d.ts +14 -0
- package/lib/providers/s3/apis/uploadData/multipart/uploadHandlers.js +197 -0
- package/lib/providers/s3/apis/uploadData/multipart/uploadPartExecutor.d.ts +17 -0
- package/lib/providers/s3/apis/uploadData/multipart/uploadPartExecutor.js +50 -0
- package/lib/providers/s3/apis/uploadData/putObjectJob.d.ts +8 -0
- package/lib/providers/s3/apis/uploadData/putObjectJob.js +48 -0
- package/lib/providers/s3/index.d.ts +3 -0
- package/lib/providers/s3/index.js +13 -0
- package/lib/providers/s3/server.d.ts +1 -0
- package/lib/providers/s3/server.js +6 -0
- package/lib/providers/s3/types/errors.d.ts +5 -0
- package/lib/providers/s3/types/errors.js +11 -0
- package/lib/providers/s3/types/index.d.ts +4 -0
- package/lib/providers/s3/types/index.js +7 -0
- package/lib/providers/s3/types/inputs.d.ts +34 -0
- package/lib/providers/s3/types/options.d.ts +111 -0
- package/lib/providers/s3/types/outputs.d.ts +52 -0
- package/lib/{types/Storage.js → providers/s3/types/outputs.js} +0 -3
- package/lib/providers/s3/utils/client/abortMultipartUpload.d.ts +29 -0
- package/lib/providers/s3/utils/client/abortMultipartUpload.js +36 -0
- package/{lib-esm/AwsClients/S3 → lib/providers/s3/utils/client}/base.d.ts +1 -1
- package/lib/{AwsClients/S3 → providers/s3/utils/client}/base.js +22 -24
- package/lib/providers/s3/utils/client/completeMultipartUpload.d.ts +28 -0
- package/lib/providers/s3/utils/client/completeMultipartUpload.js +103 -0
- package/lib/providers/s3/utils/client/copyObject.d.ts +28 -0
- package/lib/providers/s3/utils/client/copyObject.js +40 -0
- package/lib/providers/s3/utils/client/createMultipartUpload.d.ts +29 -0
- package/lib/providers/s3/utils/client/createMultipartUpload.js +39 -0
- package/lib/providers/s3/utils/client/deleteObject.d.ts +28 -0
- package/lib/providers/s3/utils/client/deleteObject.js +39 -0
- package/lib/providers/s3/utils/client/getObject.d.ts +40 -0
- package/lib/providers/s3/utils/client/getObject.js +110 -0
- package/lib/providers/s3/utils/client/headObject.d.ts +28 -0
- package/lib/providers/s3/utils/client/headObject.js +44 -0
- package/lib/providers/s3/utils/client/listObjectsV2.d.ts +28 -0
- package/lib/providers/s3/utils/client/listObjectsV2.js +87 -0
- package/lib/providers/s3/utils/client/listParts.d.ts +28 -0
- package/lib/providers/s3/utils/client/listParts.js +51 -0
- package/lib/providers/s3/utils/client/putObject.d.ts +28 -0
- package/lib/providers/s3/utils/client/putObject.js +44 -0
- package/lib/{AwsClients/S3 → providers/s3/utils/client}/runtime/base64/index.browser.js +1 -1
- package/lib/{AwsClients/S3 → providers/s3/utils/client}/runtime/base64/index.native.js +1 -1
- package/lib/providers/s3/utils/client/runtime/contentSha256middleware.js +25 -0
- package/lib/{AwsClients/S3 → providers/s3/utils/client}/runtime/index.browser.d.ts +0 -1
- package/lib/{AwsClients/S3 → providers/s3/utils/client}/runtime/index.browser.js +1 -3
- package/{lib-esm/AwsClients/S3 → lib/providers/s3/utils/client}/runtime/index.d.ts +1 -1
- package/lib/{AwsClients/S3 → providers/s3/utils/client}/runtime/index.js +4 -3
- package/{lib-esm/AwsClients/S3 → lib/providers/s3/utils/client}/runtime/index.native.d.ts +0 -1
- package/lib/{AwsClients/S3 → providers/s3/utils/client}/runtime/index.native.js +1 -3
- package/lib/providers/s3/utils/client/runtime/package.json +14 -0
- package/lib/{AwsClients/S3 → providers/s3/utils/client}/runtime/s3TransferHandler/fetch.js +3 -3
- package/lib/{AwsClients/S3 → providers/s3/utils/client}/runtime/s3TransferHandler/xhr.js +4 -4
- package/lib/{AwsClients/S3 → providers/s3/utils/client}/runtime/xhrTransferHandler.d.ts +3 -4
- package/lib/providers/s3/utils/client/runtime/xhrTransferHandler.js +176 -0
- package/lib/{AwsClients/S3 → providers/s3/utils/client}/runtime/xmlParser/dom.js +27 -38
- package/lib/{AwsClients/S3 → providers/s3/utils/client}/runtime/xmlParser/pureJs.js +11 -13
- package/lib/providers/s3/utils/client/types.js +4 -0
- package/lib/providers/s3/utils/client/uploadPart.d.ts +28 -0
- package/lib/providers/s3/utils/client/uploadPart.js +46 -0
- package/lib/{AwsClients/S3 → providers/s3/utils/client}/utils/deserializeHelpers.d.ts +10 -3
- package/lib/{AwsClients/S3 → providers/s3/utils/client}/utils/deserializeHelpers.js +39 -61
- package/lib/providers/s3/utils/client/utils/index.d.ts +4 -0
- package/lib/{AwsClients/S3 → providers/s3/utils/client}/utils/index.js +5 -6
- package/lib/providers/s3/utils/client/utils/parsePayload.js +43 -0
- package/lib/{AwsClients/S3 → providers/s3/utils/client}/utils/serializeHelpers.d.ts +2 -9
- package/lib/providers/s3/utils/client/utils/serializeHelpers.js +67 -0
- package/lib/providers/s3/utils/constants.d.ts +9 -0
- package/lib/providers/s3/utils/constants.js +17 -0
- package/lib/providers/s3/utils/index.d.ts +3 -0
- package/lib/providers/s3/utils/index.js +12 -0
- package/lib/{common/MD5utils.d.ts → providers/s3/utils/md5.d.ts} +1 -1
- package/lib/providers/s3/utils/md5.js +43 -0
- package/lib/{common/MD5utils.native.d.ts → providers/s3/utils/md5.native.d.ts} +1 -1
- package/lib/providers/s3/utils/md5.native.js +39 -0
- package/lib/providers/s3/utils/resolveS3ConfigAndInput.d.ts +28 -0
- package/lib/providers/s3/utils/resolveS3ConfigAndInput.js +58 -0
- package/lib/providers/s3/utils/transferTask.d.ts +16 -0
- package/lib/providers/s3/utils/transferTask.js +69 -0
- package/lib/providers/s3/utils/userAgent.d.ts +2 -0
- package/lib/providers/s3/utils/userAgent.js +13 -0
- package/lib/server.d.ts +1 -0
- package/lib/server.js +6 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/types/common.d.ts +36 -0
- package/lib/types/common.js +4 -0
- package/lib/types/index.d.ts +4 -3
- package/lib/types/index.js +0 -17
- package/lib/types/inputs.d.ts +27 -0
- package/lib/types/inputs.js +4 -0
- package/lib/types/options.d.ts +13 -0
- package/lib/types/options.js +4 -0
- package/lib/types/outputs.d.ts +42 -0
- package/lib/types/outputs.js +4 -0
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/index.js +7 -0
- package/lib/utils/resolvePrefix.d.ts +7 -0
- package/lib/utils/resolvePrefix.js +21 -0
- package/lib-esm/errors/CanceledError.d.ts +16 -0
- package/lib-esm/errors/CanceledError.js +26 -0
- package/lib-esm/errors/StorageError.d.ts +4 -0
- package/lib-esm/errors/StorageError.js +11 -0
- package/lib-esm/errors/types/validation.d.ts +14 -0
- package/lib-esm/errors/types/validation.js +47 -0
- package/lib-esm/errors/utils/assertValidationError.d.ts +2 -0
- package/lib-esm/errors/utils/assertValidationError.js +10 -0
- package/lib-esm/index.d.ts +6 -4
- package/lib-esm/index.js +4 -4
- package/lib-esm/providers/s3/apis/copy.d.ts +12 -0
- package/lib-esm/providers/s3/apis/copy.js +17 -0
- package/lib-esm/providers/s3/apis/downloadData.d.ts +32 -0
- package/lib-esm/providers/s3/apis/downloadData.js +77 -0
- package/lib-esm/providers/s3/apis/getProperties.d.ts +11 -0
- package/lib-esm/providers/s3/apis/getProperties.js +16 -0
- package/lib-esm/providers/s3/apis/getUrl.d.ts +18 -0
- package/lib-esm/providers/s3/apis/getUrl.js +23 -0
- package/lib-esm/providers/s3/apis/index.d.ts +7 -0
- package/lib-esm/providers/s3/apis/index.js +9 -0
- package/lib-esm/providers/s3/apis/internal/copy.d.ts +3 -0
- package/lib-esm/providers/s3/apis/internal/copy.js +29 -0
- package/lib-esm/providers/s3/apis/internal/getProperties.d.ts +4 -0
- package/lib-esm/providers/s3/apis/internal/getProperties.js +26 -0
- package/lib-esm/providers/s3/apis/internal/getUrl.d.ts +3 -0
- package/lib-esm/providers/s3/apis/internal/getUrl.js +35 -0
- package/lib-esm/providers/s3/apis/internal/list.d.ts +3 -0
- package/lib-esm/providers/s3/apis/internal/list.js +67 -0
- package/lib-esm/providers/s3/apis/internal/remove.d.ts +3 -0
- package/lib-esm/providers/s3/apis/internal/remove.js +21 -0
- package/lib-esm/providers/s3/apis/list.d.ts +22 -0
- package/lib-esm/providers/s3/apis/list.js +7 -0
- package/lib-esm/providers/s3/apis/remove.d.ts +9 -0
- package/lib-esm/providers/s3/apis/remove.js +14 -0
- package/lib-esm/providers/s3/apis/server/copy.d.ts +3 -0
- package/lib-esm/providers/s3/apis/server/copy.js +7 -0
- package/lib-esm/providers/s3/apis/server/getProperties.d.ts +3 -0
- package/lib-esm/providers/s3/apis/server/getProperties.js +7 -0
- package/lib-esm/providers/s3/apis/server/getUrl.d.ts +3 -0
- package/lib-esm/providers/s3/apis/server/getUrl.js +7 -0
- package/lib-esm/providers/s3/apis/server/index.d.ts +5 -0
- package/lib-esm/providers/s3/apis/server/index.js +7 -0
- package/lib-esm/providers/s3/apis/server/list.d.ts +23 -0
- package/lib-esm/providers/s3/apis/server/list.js +7 -0
- package/lib-esm/providers/s3/apis/server/remove.d.ts +3 -0
- package/lib-esm/providers/s3/apis/server/remove.js +7 -0
- package/lib-esm/providers/s3/apis/uploadData/byteLength.d.ts +5 -0
- package/lib-esm/providers/s3/apis/uploadData/byteLength.js +33 -0
- package/lib-esm/providers/s3/apis/uploadData/index.d.ts +50 -0
- package/lib-esm/providers/s3/apis/uploadData/index.js +84 -0
- package/lib-esm/providers/s3/apis/uploadData/multipart/calculatePartSize.d.ts +1 -0
- package/lib-esm/providers/s3/apis/uploadData/multipart/calculatePartSize.js +15 -0
- package/lib-esm/providers/s3/apis/uploadData/multipart/getDataChunker.d.ts +7 -0
- package/lib-esm/providers/s3/apis/uploadData/multipart/getDataChunker.js +48 -0
- package/lib-esm/providers/s3/apis/uploadData/multipart/index.d.ts +1 -0
- package/lib-esm/providers/s3/apis/uploadData/multipart/index.js +3 -0
- package/lib-esm/providers/s3/apis/uploadData/multipart/initialUpload.d.ts +30 -0
- package/lib-esm/providers/s3/apis/uploadData/multipart/initialUpload.js +83 -0
- package/lib-esm/providers/s3/apis/uploadData/multipart/progressTracker.d.ts +14 -0
- package/lib-esm/providers/s3/apis/uploadData/multipart/progressTracker.js +25 -0
- package/lib-esm/providers/s3/apis/uploadData/multipart/uploadCache.d.ts +41 -0
- package/lib-esm/providers/s3/apis/uploadData/multipart/uploadCache.js +75 -0
- package/lib-esm/providers/s3/apis/uploadData/multipart/uploadHandlers.d.ts +14 -0
- package/lib-esm/providers/s3/apis/uploadData/multipart/uploadHandlers.js +193 -0
- package/lib-esm/providers/s3/apis/uploadData/multipart/uploadPartExecutor.d.ts +17 -0
- package/lib-esm/providers/s3/apis/uploadData/multipart/uploadPartExecutor.js +46 -0
- package/lib-esm/providers/s3/apis/uploadData/putObjectJob.d.ts +8 -0
- package/lib-esm/providers/s3/apis/uploadData/putObjectJob.js +44 -0
- package/lib-esm/providers/s3/index.d.ts +3 -0
- package/lib-esm/providers/s3/index.js +3 -0
- package/lib-esm/providers/s3/server.d.ts +1 -0
- package/lib-esm/providers/s3/server.js +3 -0
- package/lib-esm/providers/s3/types/errors.d.ts +5 -0
- package/lib-esm/providers/s3/types/errors.js +8 -0
- package/lib-esm/providers/s3/types/index.d.ts +4 -0
- package/lib-esm/providers/{index.js → s3/types/index.js} +1 -1
- package/lib-esm/providers/s3/types/inputs.d.ts +34 -0
- package/lib-esm/providers/s3/types/options.d.ts +111 -0
- package/lib-esm/providers/s3/types/outputs.d.ts +52 -0
- package/lib-esm/{types/Storage.js → providers/s3/types/outputs.js} +0 -3
- package/lib-esm/providers/s3/utils/client/abortMultipartUpload.d.ts +29 -0
- package/lib-esm/providers/s3/utils/client/abortMultipartUpload.js +33 -0
- package/{lib/AwsClients/S3 → lib-esm/providers/s3/utils/client}/base.d.ts +1 -1
- package/lib-esm/{AwsClients/S3 → providers/s3/utils/client}/base.js +20 -22
- package/lib-esm/providers/s3/utils/client/completeMultipartUpload.d.ts +28 -0
- package/lib-esm/providers/s3/utils/client/completeMultipartUpload.js +100 -0
- package/lib-esm/providers/s3/utils/client/copyObject.d.ts +28 -0
- package/lib-esm/providers/s3/utils/client/copyObject.js +37 -0
- package/lib-esm/providers/s3/utils/client/createMultipartUpload.d.ts +29 -0
- package/lib-esm/providers/s3/utils/client/createMultipartUpload.js +36 -0
- package/lib-esm/providers/s3/utils/client/deleteObject.d.ts +28 -0
- package/lib-esm/providers/s3/utils/client/deleteObject.js +36 -0
- package/lib-esm/providers/s3/utils/client/getObject.d.ts +40 -0
- package/lib-esm/providers/s3/utils/client/getObject.js +106 -0
- package/lib-esm/providers/s3/utils/client/headObject.d.ts +28 -0
- package/lib-esm/providers/s3/utils/client/headObject.js +41 -0
- package/lib-esm/providers/s3/utils/client/listObjectsV2.d.ts +28 -0
- package/lib-esm/providers/s3/utils/client/listObjectsV2.js +84 -0
- package/lib-esm/providers/s3/utils/client/listParts.d.ts +28 -0
- package/lib-esm/providers/s3/utils/client/listParts.js +48 -0
- package/lib-esm/providers/s3/utils/client/putObject.d.ts +28 -0
- package/lib-esm/providers/s3/utils/client/putObject.js +41 -0
- package/lib-esm/{AwsClients/S3 → providers/s3/utils/client}/runtime/base64/index.browser.js +1 -1
- package/lib-esm/providers/s3/utils/client/runtime/constants.js +11 -0
- package/lib-esm/providers/s3/utils/client/runtime/contentSha256middleware.js +21 -0
- package/lib-esm/{AwsClients/S3 → providers/s3/utils/client}/runtime/index.browser.d.ts +0 -1
- package/lib-esm/{AwsClients/S3 → providers/s3/utils/client}/runtime/index.browser.js +0 -1
- package/{lib/AwsClients/S3 → lib-esm/providers/s3/utils/client}/runtime/index.d.ts +1 -1
- package/lib-esm/{AwsClients/S3 → providers/s3/utils/client}/runtime/index.js +3 -1
- package/{lib/AwsClients/S3 → lib-esm/providers/s3/utils/client}/runtime/index.native.d.ts +0 -1
- package/lib-esm/{AwsClients/S3 → providers/s3/utils/client}/runtime/index.native.js +0 -1
- package/lib-esm/providers/s3/utils/client/runtime/package.json +14 -0
- package/lib-esm/{AwsClients/S3 → providers/s3/utils/client}/runtime/s3TransferHandler/fetch.js +1 -1
- package/lib-esm/{AwsClients/S3 → providers/s3/utils/client}/runtime/s3TransferHandler/xhr.js +1 -1
- package/lib-esm/{AwsClients/S3 → providers/s3/utils/client}/runtime/xhrTransferHandler.d.ts +3 -4
- package/lib-esm/providers/s3/utils/client/runtime/xhrTransferHandler.js +172 -0
- package/lib-esm/{AwsClients/S3 → providers/s3/utils/client}/runtime/xmlParser/dom.js +28 -39
- package/lib-esm/{AwsClients/S3 → providers/s3/utils/client}/runtime/xmlParser/pureJs.js +11 -13
- package/lib-esm/providers/s3/utils/client/types.js +3 -0
- package/lib-esm/providers/s3/utils/client/uploadPart.d.ts +28 -0
- package/lib-esm/providers/s3/utils/client/uploadPart.js +43 -0
- package/lib-esm/{AwsClients/S3 → providers/s3/utils/client}/utils/deserializeHelpers.d.ts +10 -3
- package/lib-esm/{AwsClients/S3 → providers/s3/utils/client}/utils/deserializeHelpers.js +37 -60
- package/lib-esm/providers/s3/utils/client/utils/index.d.ts +4 -0
- package/lib-esm/providers/s3/utils/client/utils/index.js +6 -0
- package/lib-esm/providers/s3/utils/client/utils/parsePayload.js +38 -0
- package/lib-esm/{AwsClients/S3 → providers/s3/utils/client}/utils/serializeHelpers.d.ts +2 -9
- package/lib-esm/providers/s3/utils/client/utils/serializeHelpers.js +60 -0
- package/lib-esm/providers/s3/utils/constants.d.ts +9 -0
- package/lib-esm/providers/s3/utils/constants.js +14 -0
- package/lib-esm/providers/s3/utils/index.d.ts +3 -0
- package/lib-esm/providers/s3/utils/index.js +5 -0
- package/lib-esm/{common/MD5utils.d.ts → providers/s3/utils/md5.d.ts} +1 -1
- package/lib-esm/providers/s3/utils/md5.js +39 -0
- package/lib-esm/{common/MD5utils.native.d.ts → providers/s3/utils/md5.native.d.ts} +1 -1
- package/lib-esm/providers/s3/utils/md5.native.js +35 -0
- package/lib-esm/providers/s3/utils/resolveS3ConfigAndInput.d.ts +28 -0
- package/lib-esm/providers/s3/utils/resolveS3ConfigAndInput.js +54 -0
- package/lib-esm/providers/s3/utils/transferTask.d.ts +16 -0
- package/lib-esm/providers/s3/utils/transferTask.js +65 -0
- package/lib-esm/providers/s3/utils/userAgent.d.ts +2 -0
- package/lib-esm/providers/s3/utils/userAgent.js +9 -0
- package/lib-esm/server.d.ts +1 -0
- package/lib-esm/server.js +3 -0
- package/lib-esm/tsconfig.tsbuildinfo +1 -1
- package/lib-esm/types/common.d.ts +36 -0
- package/lib-esm/types/common.js +3 -0
- package/lib-esm/types/index.d.ts +4 -3
- package/lib-esm/types/index.js +1 -3
- package/lib-esm/types/inputs.d.ts +27 -0
- package/lib-esm/types/inputs.js +3 -0
- package/lib-esm/types/options.d.ts +13 -0
- package/lib-esm/types/options.js +3 -0
- package/lib-esm/types/outputs.d.ts +42 -0
- package/lib-esm/types/outputs.js +3 -0
- package/lib-esm/utils/index.d.ts +1 -0
- package/lib-esm/utils/index.js +3 -0
- package/lib-esm/utils/resolvePrefix.d.ts +7 -0
- package/lib-esm/utils/resolvePrefix.js +17 -0
- package/package.json +163 -110
- package/s3/package.json +7 -0
- package/s3/server/package.json +7 -0
- package/server/package.json +8 -0
- package/src/errors/CanceledError.ts +32 -0
- package/src/errors/StorageError.ts +16 -0
- package/src/errors/types/validation.ts +52 -0
- package/src/errors/utils/assertValidationError.ts +19 -0
- package/src/index.ts +36 -4
- package/src/providers/s3/apis/copy.ts +21 -0
- package/src/providers/s3/apis/downloadData.ts +104 -0
- package/src/providers/s3/apis/getProperties.ts +21 -0
- package/src/providers/s3/apis/getUrl.ts +27 -0
- package/src/providers/s3/apis/index.ts +10 -0
- package/src/providers/s3/apis/internal/copy.ts +56 -0
- package/src/providers/s3/apis/internal/getProperties.ts +41 -0
- package/src/providers/s3/apis/internal/getUrl.ts +60 -0
- package/src/providers/s3/apis/internal/list.ts +113 -0
- package/src/providers/s3/apis/internal/remove.ts +35 -0
- package/src/providers/s3/apis/list.ts +37 -0
- package/src/providers/s3/apis/remove.ts +17 -0
- package/src/providers/s3/apis/server/copy.ts +16 -0
- package/src/providers/s3/apis/server/getProperties.ts +19 -0
- package/src/providers/s3/apis/server/getUrl.ts +16 -0
- package/src/providers/s3/apis/server/index.ts +8 -0
- package/src/providers/s3/apis/server/list.ts +50 -0
- package/src/providers/s3/apis/server/remove.ts +16 -0
- package/src/providers/s3/apis/uploadData/byteLength.ts +30 -0
- package/src/providers/s3/apis/uploadData/index.ts +92 -0
- package/src/providers/s3/apis/uploadData/multipart/calculatePartSize.ts +17 -0
- package/src/providers/s3/apis/uploadData/multipart/getDataChunker.ts +68 -0
- package/src/providers/s3/apis/uploadData/multipart/index.ts +4 -0
- package/src/providers/s3/apis/uploadData/multipart/initialUpload.ts +135 -0
- package/src/providers/s3/apis/uploadData/multipart/progressTracker.ts +42 -0
- package/src/providers/s3/apis/uploadData/multipart/uploadCache.ts +144 -0
- package/src/providers/s3/apis/uploadData/multipart/uploadHandlers.ts +255 -0
- package/src/providers/s3/apis/uploadData/multipart/uploadPartExecutor.ts +78 -0
- package/src/providers/s3/apis/uploadData/putObjectJob.ts +68 -0
- package/src/providers/s3/index.ts +34 -0
- package/src/providers/s3/server.ts +4 -0
- package/src/providers/s3/types/errors.ts +8 -0
- package/src/providers/s3/types/index.ts +36 -0
- package/src/providers/s3/types/inputs.ts +68 -0
- package/src/providers/s3/types/options.ts +139 -0
- package/src/providers/s3/types/outputs.ts +72 -0
- package/src/{AwsClients/S3 → providers/s3/utils/client}/abortMultipartUpload.ts +12 -4
- package/src/{AwsClients/S3 → providers/s3/utils/client}/base.ts +7 -4
- package/src/{AwsClients/S3 → providers/s3/utils/client}/completeMultipartUpload.ts +27 -21
- package/src/{AwsClients/S3 → providers/s3/utils/client}/copyObject.ts +10 -17
- package/src/{AwsClients/S3 → providers/s3/utils/client}/createMultipartUpload.ts +7 -3
- package/src/{AwsClients/S3 → providers/s3/utils/client}/deleteObject.ts +9 -3
- package/src/{AwsClients/S3 → providers/s3/utils/client}/getObject.ts +38 -36
- package/src/{AwsClients/S3 → providers/s3/utils/client}/headObject.ts +16 -22
- package/src/{AwsClients/S3 → providers/s3/utils/client}/listObjectsV2.ts +10 -5
- package/src/{AwsClients/S3 → providers/s3/utils/client}/listParts.ts +14 -13
- package/src/{AwsClients/S3 → providers/s3/utils/client}/putObject.ts +7 -13
- package/src/{AwsClients/S3 → providers/s3/utils/client}/runtime/index.browser.ts +0 -1
- package/src/{AwsClients/S3 → providers/s3/utils/client}/runtime/index.native.ts +0 -1
- package/src/{AwsClients/S3 → providers/s3/utils/client}/runtime/index.ts +4 -1
- package/src/providers/s3/utils/client/runtime/package.json +14 -0
- package/src/{AwsClients/S3 → providers/s3/utils/client}/runtime/s3TransferHandler/fetch.ts +6 -4
- package/src/{AwsClients/S3 → providers/s3/utils/client}/runtime/xhrTransferHandler.ts +39 -56
- package/src/{AwsClients/S3 → providers/s3/utils/client}/runtime/xmlParser/dom.ts +1 -1
- package/src/{AwsClients/S3 → providers/s3/utils/client}/runtime/xmlParser/pureJs.ts +1 -1
- package/src/{AwsClients/S3 → providers/s3/utils/client}/uploadPart.ts +14 -16
- package/src/{AwsClients/S3 → providers/s3/utils/client}/utils/deserializeHelpers.ts +28 -6
- package/src/{AwsClients/S3 → providers/s3/utils/client}/utils/index.ts +4 -3
- package/src/{AwsClients/S3 → providers/s3/utils/client}/utils/serializeHelpers.ts +21 -40
- package/src/providers/s3/utils/constants.ts +21 -0
- package/src/providers/s3/utils/index.ts +6 -0
- package/src/{common/MD5utils.ts → providers/s3/utils/md5.native.ts} +7 -3
- package/src/{common/MD5utils.native.ts → providers/s3/utils/md5.ts} +7 -3
- package/src/providers/s3/utils/resolveS3ConfigAndInput.ts +89 -0
- package/src/providers/s3/utils/transferTask.ts +101 -0
- package/src/providers/s3/utils/userAgent.ts +14 -0
- package/src/server.ts +4 -0
- package/src/types/common.ts +57 -0
- package/src/types/index.ts +30 -3
- package/src/types/inputs.ts +56 -0
- package/src/types/options.ts +20 -0
- package/src/types/outputs.ts +50 -0
- package/src/{providers → utils}/index.ts +2 -1
- package/src/utils/resolvePrefix.ts +32 -0
- package/lib/AwsClients/S3/abortMultipartUpload.d.ts +0 -21
- package/lib/AwsClients/S3/abortMultipartUpload.js +0 -85
- package/lib/AwsClients/S3/completeMultipartUpload.d.ts +0 -20
- package/lib/AwsClients/S3/completeMultipartUpload.js +0 -162
- package/lib/AwsClients/S3/copyObject.d.ts +0 -24
- package/lib/AwsClients/S3/copyObject.js +0 -98
- package/lib/AwsClients/S3/createMultipartUpload.d.ts +0 -21
- package/lib/AwsClients/S3/createMultipartUpload.js +0 -95
- package/lib/AwsClients/S3/deleteObject.d.ts +0 -20
- package/lib/AwsClients/S3/deleteObject.js +0 -86
- package/lib/AwsClients/S3/getObject.d.ts +0 -27
- package/lib/AwsClients/S3/getObject.js +0 -216
- package/lib/AwsClients/S3/headObject.d.ts +0 -20
- package/lib/AwsClients/S3/headObject.js +0 -96
- package/lib/AwsClients/S3/index.native.d.ts +0 -14
- package/lib/AwsClients/S3/index.native.js +0 -31
- package/lib/AwsClients/S3/listObjectsV2.d.ts +0 -20
- package/lib/AwsClients/S3/listObjectsV2.js +0 -146
- package/lib/AwsClients/S3/listParts.d.ts +0 -20
- package/lib/AwsClients/S3/listParts.js +0 -110
- package/lib/AwsClients/S3/putObject.d.ts +0 -23
- package/lib/AwsClients/S3/putObject.js +0 -95
- package/lib/AwsClients/S3/runtime/contentSha256middleware.js +0 -70
- package/lib/AwsClients/S3/runtime/xhrTransferHandler.js +0 -201
- package/lib/AwsClients/S3/uploadPart.d.ts +0 -20
- package/lib/AwsClients/S3/uploadPart.js +0 -98
- package/lib/AwsClients/S3/utils/index.d.ts +0 -5
- package/lib/AwsClients/S3/utils/parsePayload.js +0 -96
- package/lib/AwsClients/S3/utils/serializeHelpers.js +0 -183
- package/lib/Storage.d.ts +0 -107
- package/lib/Storage.js +0 -283
- package/lib/common/MD5utils.js +0 -79
- package/lib/common/MD5utils.native.js +0 -83
- package/lib/common/S3ClientUtils.d.ts +0 -47
- package/lib/common/S3ClientUtils.js +0 -148
- package/lib/common/StorageConstants.d.ts +0 -3
- package/lib/common/StorageConstants.js +0 -10
- package/lib/common/StorageErrorStrings.d.ts +0 -16
- package/lib/common/StorageErrorStrings.js +0 -24
- package/lib/common/StorageUtils.d.ts +0 -4
- package/lib/common/StorageUtils.js +0 -47
- package/lib/providers/AWSS3Provider.d.ts +0 -88
- package/lib/providers/AWSS3Provider.js +0 -800
- package/lib/providers/AWSS3ProviderManagedUpload.d.ts +0 -40
- package/lib/providers/AWSS3ProviderManagedUpload.js +0 -425
- package/lib/providers/AWSS3UploadTask.d.ts +0 -107
- package/lib/providers/AWSS3UploadTask.js +0 -657
- package/lib/providers/index.d.ts +0 -1
- package/lib/providers/index.js +0 -7
- package/lib/types/AWSS3Provider.d.ts +0 -152
- package/lib/types/AWSS3Provider.js +0 -2
- package/lib/types/Provider.d.ts +0 -26
- package/lib/types/Storage.d.ts +0 -85
- package/lib-esm/AwsClients/S3/abortMultipartUpload.d.ts +0 -21
- package/lib-esm/AwsClients/S3/abortMultipartUpload.js +0 -82
- package/lib-esm/AwsClients/S3/completeMultipartUpload.d.ts +0 -20
- package/lib-esm/AwsClients/S3/completeMultipartUpload.js +0 -159
- package/lib-esm/AwsClients/S3/copyObject.d.ts +0 -24
- package/lib-esm/AwsClients/S3/copyObject.js +0 -95
- package/lib-esm/AwsClients/S3/createMultipartUpload.d.ts +0 -21
- package/lib-esm/AwsClients/S3/createMultipartUpload.js +0 -92
- package/lib-esm/AwsClients/S3/deleteObject.d.ts +0 -20
- package/lib-esm/AwsClients/S3/deleteObject.js +0 -83
- package/lib-esm/AwsClients/S3/getObject.d.ts +0 -27
- package/lib-esm/AwsClients/S3/getObject.js +0 -212
- package/lib-esm/AwsClients/S3/headObject.d.ts +0 -20
- package/lib-esm/AwsClients/S3/headObject.js +0 -93
- package/lib-esm/AwsClients/S3/index.native.d.ts +0 -14
- package/lib-esm/AwsClients/S3/index.native.js +0 -15
- package/lib-esm/AwsClients/S3/listObjectsV2.d.ts +0 -20
- package/lib-esm/AwsClients/S3/listObjectsV2.js +0 -143
- package/lib-esm/AwsClients/S3/listParts.d.ts +0 -20
- package/lib-esm/AwsClients/S3/listParts.js +0 -107
- package/lib-esm/AwsClients/S3/putObject.d.ts +0 -23
- package/lib-esm/AwsClients/S3/putObject.js +0 -92
- package/lib-esm/AwsClients/S3/runtime/constants.js +0 -11
- package/lib-esm/AwsClients/S3/runtime/contentSha256middleware.js +0 -66
- package/lib-esm/AwsClients/S3/runtime/xhrTransferHandler.js +0 -196
- package/lib-esm/AwsClients/S3/uploadPart.d.ts +0 -20
- package/lib-esm/AwsClients/S3/uploadPart.js +0 -95
- package/lib-esm/AwsClients/S3/utils/index.d.ts +0 -5
- package/lib-esm/AwsClients/S3/utils/index.js +0 -7
- package/lib-esm/AwsClients/S3/utils/parsePayload.js +0 -91
- package/lib-esm/AwsClients/S3/utils/serializeHelpers.js +0 -176
- package/lib-esm/Storage.d.ts +0 -107
- package/lib-esm/Storage.js +0 -280
- package/lib-esm/common/MD5utils.js +0 -75
- package/lib-esm/common/MD5utils.native.js +0 -79
- package/lib-esm/common/S3ClientUtils.d.ts +0 -47
- package/lib-esm/common/S3ClientUtils.js +0 -141
- package/lib-esm/common/StorageConstants.d.ts +0 -3
- package/lib-esm/common/StorageConstants.js +0 -7
- package/lib-esm/common/StorageErrorStrings.d.ts +0 -16
- package/lib-esm/common/StorageErrorStrings.js +0 -21
- package/lib-esm/common/StorageUtils.d.ts +0 -4
- package/lib-esm/common/StorageUtils.js +0 -40
- package/lib-esm/providers/AWSS3Provider.d.ts +0 -88
- package/lib-esm/providers/AWSS3Provider.js +0 -774
- package/lib-esm/providers/AWSS3ProviderManagedUpload.d.ts +0 -40
- package/lib-esm/providers/AWSS3ProviderManagedUpload.js +0 -422
- package/lib-esm/providers/AWSS3UploadTask.d.ts +0 -107
- package/lib-esm/providers/AWSS3UploadTask.js +0 -654
- package/lib-esm/providers/index.d.ts +0 -1
- package/lib-esm/types/AWSS3Provider.d.ts +0 -152
- package/lib-esm/types/AWSS3Provider.js +0 -1
- package/lib-esm/types/Provider.d.ts +0 -26
- package/lib-esm/types/Storage.d.ts +0 -85
- package/src/AwsClients/S3/index.native.ts +0 -42
- package/src/Storage.ts +0 -467
- package/src/common/S3ClientUtils.ts +0 -137
- package/src/common/StorageConstants.ts +0 -11
- package/src/common/StorageErrorStrings.ts +0 -20
- package/src/common/StorageUtils.ts +0 -53
- package/src/providers/AWSS3Provider.ts +0 -940
- package/src/providers/AWSS3ProviderManagedUpload.ts +0 -345
- package/src/providers/AWSS3UploadTask.ts +0 -550
- package/src/types/AWSS3Provider.ts +0 -203
- package/src/types/Provider.ts +0 -77
- package/src/types/Storage.ts +0 -215
- /package/lib/{AwsClients/S3/types.js → providers/s3/types/inputs.js} +0 -0
- /package/lib/{types/Provider.js → providers/s3/types/options.js} +0 -0
- /package/lib/{AwsClients/S3 → providers/s3/utils/client}/index.d.ts +0 -0
- /package/lib/{AwsClients/S3 → providers/s3/utils/client}/index.js +0 -0
- /package/lib/{AwsClients/S3 → providers/s3/utils/client}/runtime/base64/index.browser.d.ts +0 -0
- /package/lib/{AwsClients/S3 → providers/s3/utils/client}/runtime/base64/index.native.d.ts +0 -0
- /package/lib/{AwsClients/S3 → providers/s3/utils/client}/runtime/constants.d.ts +0 -0
- /package/lib/{AwsClients/S3 → providers/s3/utils/client}/runtime/constants.js +0 -0
- /package/lib/{AwsClients/S3 → providers/s3/utils/client}/runtime/contentSha256middleware.d.ts +0 -0
- /package/lib/{AwsClients/S3 → providers/s3/utils/client}/runtime/s3TransferHandler/fetch.d.ts +0 -0
- /package/lib/{AwsClients/S3 → providers/s3/utils/client}/runtime/s3TransferHandler/xhr.d.ts +0 -0
- /package/lib/{AwsClients/S3 → providers/s3/utils/client}/runtime/xmlParser/dom.d.ts +0 -0
- /package/lib/{AwsClients/S3 → providers/s3/utils/client}/runtime/xmlParser/pureJs.d.ts +0 -0
- /package/lib/{AwsClients/S3 → providers/s3/utils/client}/types.d.ts +0 -0
- /package/lib/{AwsClients/S3 → providers/s3/utils/client}/utils/parsePayload.d.ts +0 -0
- /package/lib-esm/{AwsClients/S3/types.js → providers/s3/types/inputs.js} +0 -0
- /package/lib-esm/{types/Provider.js → providers/s3/types/options.js} +0 -0
- /package/lib-esm/{AwsClients/S3 → providers/s3/utils/client}/index.d.ts +0 -0
- /package/lib-esm/{AwsClients/S3 → providers/s3/utils/client}/index.js +0 -0
- /package/lib-esm/{AwsClients/S3 → providers/s3/utils/client}/runtime/base64/index.browser.d.ts +0 -0
- /package/lib-esm/{AwsClients/S3 → providers/s3/utils/client}/runtime/base64/index.native.d.ts +0 -0
- /package/lib-esm/{AwsClients/S3 → providers/s3/utils/client}/runtime/base64/index.native.js +0 -0
- /package/lib-esm/{AwsClients/S3 → providers/s3/utils/client}/runtime/constants.d.ts +0 -0
- /package/lib-esm/{AwsClients/S3 → providers/s3/utils/client}/runtime/contentSha256middleware.d.ts +0 -0
- /package/lib-esm/{AwsClients/S3 → providers/s3/utils/client}/runtime/s3TransferHandler/fetch.d.ts +0 -0
- /package/lib-esm/{AwsClients/S3 → providers/s3/utils/client}/runtime/s3TransferHandler/xhr.d.ts +0 -0
- /package/lib-esm/{AwsClients/S3 → providers/s3/utils/client}/runtime/xmlParser/dom.d.ts +0 -0
- /package/lib-esm/{AwsClients/S3 → providers/s3/utils/client}/runtime/xmlParser/pureJs.d.ts +0 -0
- /package/lib-esm/{AwsClients/S3 → providers/s3/utils/client}/types.d.ts +0 -0
- /package/lib-esm/{AwsClients/S3 → providers/s3/utils/client}/utils/parsePayload.d.ts +0 -0
- /package/src/{AwsClients/S3 → providers/s3/utils/client}/index.ts +0 -0
- /package/src/{AwsClients/S3 → providers/s3/utils/client}/runtime/base64/index.browser.ts +0 -0
- /package/src/{AwsClients/S3 → providers/s3/utils/client}/runtime/base64/index.native.ts +0 -0
- /package/src/{AwsClients/S3 → providers/s3/utils/client}/runtime/constants.ts +0 -0
- /package/src/{AwsClients/S3 → providers/s3/utils/client}/runtime/contentSha256middleware.ts +0 -0
- /package/src/{AwsClients/S3 → providers/s3/utils/client}/runtime/s3TransferHandler/xhr.ts +0 -0
- /package/src/{AwsClients/S3 → providers/s3/utils/client}/types.ts +0 -0
- /package/src/{AwsClients/S3 → providers/s3/utils/client}/utils/parsePayload.ts +0 -0
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.list = void 0;
|
|
6
|
+
const utils_1 = require("@aws-amplify/core/internals/utils");
|
|
7
|
+
const utils_2 = require("../../utils");
|
|
8
|
+
const client_1 = require("../../utils/client");
|
|
9
|
+
const userAgent_1 = require("../../utils/userAgent");
|
|
10
|
+
const MAX_PAGE_SIZE = 1000;
|
|
11
|
+
const list = async (amplify, input) => {
|
|
12
|
+
const { options = {}, prefix: path = '' } = input ?? {};
|
|
13
|
+
const { s3Config, bucket, keyPrefix: prefix, } = await (0, utils_2.resolveS3ConfigAndInput)(amplify, options);
|
|
14
|
+
const listParams = {
|
|
15
|
+
Bucket: bucket,
|
|
16
|
+
Prefix: `${prefix}${path}`,
|
|
17
|
+
MaxKeys: options?.listAll ? undefined : options?.pageSize,
|
|
18
|
+
ContinuationToken: options?.listAll ? undefined : options?.nextToken,
|
|
19
|
+
};
|
|
20
|
+
return options.listAll
|
|
21
|
+
? await _listAll({ s3Config, listParams, prefix })
|
|
22
|
+
: await _list({ s3Config, listParams, prefix });
|
|
23
|
+
};
|
|
24
|
+
exports.list = list;
|
|
25
|
+
const _listAll = async ({ s3Config, listParams, prefix, }) => {
|
|
26
|
+
// TODO(ashwinkumar6) V6-logger: pageSize and nextToken aren't required when listing all items
|
|
27
|
+
const listResult = [];
|
|
28
|
+
let continuationToken = listParams.ContinuationToken;
|
|
29
|
+
do {
|
|
30
|
+
const { items: pageResults, nextToken: pageNextToken } = await _list({
|
|
31
|
+
prefix,
|
|
32
|
+
s3Config,
|
|
33
|
+
listParams: {
|
|
34
|
+
...listParams,
|
|
35
|
+
ContinuationToken: continuationToken,
|
|
36
|
+
MaxKeys: MAX_PAGE_SIZE,
|
|
37
|
+
},
|
|
38
|
+
});
|
|
39
|
+
listResult.push(...pageResults);
|
|
40
|
+
continuationToken = pageNextToken;
|
|
41
|
+
} while (continuationToken);
|
|
42
|
+
return {
|
|
43
|
+
items: listResult,
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
const _list = async ({ s3Config, listParams, prefix, }) => {
|
|
47
|
+
const listParamsClone = { ...listParams };
|
|
48
|
+
if (!listParamsClone.MaxKeys || listParamsClone.MaxKeys > MAX_PAGE_SIZE) {
|
|
49
|
+
listParamsClone.MaxKeys = MAX_PAGE_SIZE;
|
|
50
|
+
// TODO(ashwinkumar6) V6-logger: defaulting pageSize to ${MAX_PAGE_SIZE}.
|
|
51
|
+
}
|
|
52
|
+
const response = await (0, client_1.listObjectsV2)({
|
|
53
|
+
...s3Config,
|
|
54
|
+
userAgentValue: (0, userAgent_1.getStorageUserAgentValue)(utils_1.StorageAction.List)
|
|
55
|
+
}, listParamsClone);
|
|
56
|
+
if (!response?.Contents) {
|
|
57
|
+
return {
|
|
58
|
+
items: [],
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
const listResult = response.Contents.map(item => ({
|
|
62
|
+
key: item.Key.substring(prefix.length),
|
|
63
|
+
eTag: item.ETag,
|
|
64
|
+
lastModified: item.LastModified,
|
|
65
|
+
size: item.Size,
|
|
66
|
+
}));
|
|
67
|
+
return {
|
|
68
|
+
items: listResult,
|
|
69
|
+
nextToken: response.NextContinuationToken,
|
|
70
|
+
};
|
|
71
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.remove = void 0;
|
|
6
|
+
const utils_1 = require("@aws-amplify/core/internals/utils");
|
|
7
|
+
const utils_2 = require("../../utils");
|
|
8
|
+
const client_1 = require("../../utils/client");
|
|
9
|
+
const userAgent_1 = require("../../utils/userAgent");
|
|
10
|
+
const remove = async (amplify, input) => {
|
|
11
|
+
const { key, options = {} } = input;
|
|
12
|
+
const { s3Config, keyPrefix, bucket } = await (0, utils_2.resolveS3ConfigAndInput)(amplify, options);
|
|
13
|
+
// TODO(ashwinkumar6) V6-logger: debug `remove ${key} from ${finalKey}`
|
|
14
|
+
await (0, client_1.deleteObject)({
|
|
15
|
+
...s3Config,
|
|
16
|
+
userAgentValue: (0, userAgent_1.getStorageUserAgentValue)(utils_1.StorageAction.Remove)
|
|
17
|
+
}, {
|
|
18
|
+
Bucket: bucket,
|
|
19
|
+
Key: `${keyPrefix}${key}`
|
|
20
|
+
});
|
|
21
|
+
return {
|
|
22
|
+
key,
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
exports.remove = remove;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ListAllInput, ListPaginateInput, ListAllOutput, ListPaginateOutput } from '../types';
|
|
2
|
+
type ListApi = {
|
|
3
|
+
/**
|
|
4
|
+
* List files with given prefix in pages
|
|
5
|
+
* pageSize defaulted to 1000. Additionally, the result will include a nextToken if there are more items to retrieve.
|
|
6
|
+
* @param input - The ListPaginateInput object.
|
|
7
|
+
* @returns A list of keys and metadata with
|
|
8
|
+
* @throws service: {@link S3Exception} - S3 service errors thrown when checking for existence of bucket
|
|
9
|
+
* @throws validation: {@link StorageValidationErrorCode } - thrown when there are issues with credentials
|
|
10
|
+
*/
|
|
11
|
+
(input?: ListPaginateInput): Promise<ListPaginateOutput>;
|
|
12
|
+
/**
|
|
13
|
+
* List all files from S3. You can set `listAll` to true in `options` to get all the files from S3.
|
|
14
|
+
* @param input - The ListAllInput object.
|
|
15
|
+
* @returns A list of keys and metadata for all objects in path
|
|
16
|
+
* @throws service: {@link S3Exception} - S3 service errors thrown when checking for existence of bucket
|
|
17
|
+
* @throws validation: {@link StorageValidationErrorCode } - thrown when there are issues with credentials
|
|
18
|
+
*/
|
|
19
|
+
(input?: ListAllInput): Promise<ListAllOutput>;
|
|
20
|
+
};
|
|
21
|
+
export declare const list: ListApi;
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.list = void 0;
|
|
6
|
+
const core_1 = require("@aws-amplify/core");
|
|
7
|
+
const list_1 = require("./internal/list");
|
|
8
|
+
const list = (input) => {
|
|
9
|
+
return (0, list_1.list)(core_1.Amplify, input ?? {});
|
|
10
|
+
};
|
|
11
|
+
exports.list = list;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { RemoveInput, RemoveOutput } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Remove a file from your S3 bucket.
|
|
4
|
+
* @param input - The RemoveInput object.
|
|
5
|
+
* @return Output containing the removed object key
|
|
6
|
+
* @throws service: {@link S3Exception} - S3 service errors thrown while getting properties
|
|
7
|
+
* @throws validation: {@link StorageValidationErrorCode } - Validation errors thrown
|
|
8
|
+
*/
|
|
9
|
+
export declare const remove: (input: RemoveInput) => Promise<RemoveOutput>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.remove = void 0;
|
|
6
|
+
const core_1 = require("@aws-amplify/core");
|
|
7
|
+
const remove_1 = require("./internal/remove");
|
|
8
|
+
/**
|
|
9
|
+
* Remove a file from your S3 bucket.
|
|
10
|
+
* @param input - The RemoveInput object.
|
|
11
|
+
* @return Output containing the removed object key
|
|
12
|
+
* @throws service: {@link S3Exception} - S3 service errors thrown while getting properties
|
|
13
|
+
* @throws validation: {@link StorageValidationErrorCode } - Validation errors thrown
|
|
14
|
+
*/
|
|
15
|
+
const remove = (input) => {
|
|
16
|
+
return (0, remove_1.remove)(core_1.Amplify, input);
|
|
17
|
+
};
|
|
18
|
+
exports.remove = remove;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.copy = void 0;
|
|
6
|
+
const adapter_core_1 = require("@aws-amplify/core/internals/adapter-core");
|
|
7
|
+
const copy_1 = require("../internal/copy");
|
|
8
|
+
const copy = async (contextSpec, input) => {
|
|
9
|
+
return (0, copy_1.copy)((0, adapter_core_1.getAmplifyServerContext)(contextSpec).amplify, input);
|
|
10
|
+
};
|
|
11
|
+
exports.copy = copy;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { AmplifyServer } from '@aws-amplify/core/internals/adapter-core';
|
|
2
|
+
import { GetPropertiesInput, GetPropertiesOutput } from '../../types';
|
|
3
|
+
export declare const getProperties: (contextSpec: AmplifyServer.ContextSpec, input: GetPropertiesInput) => Promise<GetPropertiesOutput>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.getProperties = void 0;
|
|
6
|
+
const adapter_core_1 = require("@aws-amplify/core/internals/adapter-core");
|
|
7
|
+
const getProperties_1 = require("../internal/getProperties");
|
|
8
|
+
const getProperties = (contextSpec, input) => {
|
|
9
|
+
return (0, getProperties_1.getProperties)((0, adapter_core_1.getAmplifyServerContext)(contextSpec).amplify, input);
|
|
10
|
+
};
|
|
11
|
+
exports.getProperties = getProperties;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.getUrl = void 0;
|
|
6
|
+
const adapter_core_1 = require("@aws-amplify/core/internals/adapter-core");
|
|
7
|
+
const getUrl_1 = require("../internal/getUrl");
|
|
8
|
+
const getUrl = async (contextSpec, input) => {
|
|
9
|
+
return (0, getUrl_1.getUrl)((0, adapter_core_1.getAmplifyServerContext)(contextSpec).amplify, input);
|
|
10
|
+
};
|
|
11
|
+
exports.getUrl = getUrl;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.copy = exports.remove = exports.list = exports.getUrl = exports.getProperties = void 0;
|
|
6
|
+
var getProperties_1 = require("./getProperties");
|
|
7
|
+
Object.defineProperty(exports, "getProperties", { enumerable: true, get: function () { return getProperties_1.getProperties; } });
|
|
8
|
+
var getUrl_1 = require("./getUrl");
|
|
9
|
+
Object.defineProperty(exports, "getUrl", { enumerable: true, get: function () { return getUrl_1.getUrl; } });
|
|
10
|
+
var list_1 = require("./list");
|
|
11
|
+
Object.defineProperty(exports, "list", { enumerable: true, get: function () { return list_1.list; } });
|
|
12
|
+
var remove_1 = require("./remove");
|
|
13
|
+
Object.defineProperty(exports, "remove", { enumerable: true, get: function () { return remove_1.remove; } });
|
|
14
|
+
var copy_1 = require("./copy");
|
|
15
|
+
Object.defineProperty(exports, "copy", { enumerable: true, get: function () { return copy_1.copy; } });
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { AmplifyServer } from '@aws-amplify/core/internals/adapter-core';
|
|
2
|
+
import { ListAllInput, ListPaginateInput, ListAllOutput, ListPaginateOutput } from '../../types';
|
|
3
|
+
type ListApi = {
|
|
4
|
+
/**
|
|
5
|
+
* Lists bucket objects with pagination.
|
|
6
|
+
* @param {ListPaginateInput} The input object
|
|
7
|
+
* @return {Promise<ListPaginateOutput>} - Promise resolves to list of keys and metadata with
|
|
8
|
+
* pageSize defaulting to 1000. Additionally the result will include a nextToken if there are more items to retrieve
|
|
9
|
+
* @throws service: {@link S3Exception} - S3 service errors thrown when checking for existence of bucket
|
|
10
|
+
* @throws validation: {@link StorageValidationErrorCode } - thrown when there are issues with credentials
|
|
11
|
+
*/
|
|
12
|
+
(contextSpec: AmplifyServer.ContextSpec, input?: ListPaginateInput): Promise<ListPaginateOutput>;
|
|
13
|
+
/**
|
|
14
|
+
* Lists all bucket objects.
|
|
15
|
+
* @param {ListAllInput} The input object
|
|
16
|
+
* @return {Promise<ListAllOutput>} - Promise resolves to list of keys and metadata for all objects in path
|
|
17
|
+
* @throws service: {@link S3Exception} - S3 service errors thrown when checking for existence of bucket
|
|
18
|
+
* @throws validation: {@link StorageValidationErrorCode } - thrown when there are issues with credentials
|
|
19
|
+
*/
|
|
20
|
+
(contextSpec: AmplifyServer.ContextSpec, input?: ListAllInput): Promise<ListAllOutput>;
|
|
21
|
+
};
|
|
22
|
+
export declare const list: ListApi;
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.list = void 0;
|
|
6
|
+
const adapter_core_1 = require("@aws-amplify/core/internals/adapter-core");
|
|
7
|
+
const list_1 = require("../internal/list");
|
|
8
|
+
const list = (contextSpec, input) => {
|
|
9
|
+
return (0, list_1.list)((0, adapter_core_1.getAmplifyServerContext)(contextSpec).amplify, input ?? {});
|
|
10
|
+
};
|
|
11
|
+
exports.list = list;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.remove = void 0;
|
|
6
|
+
const adapter_core_1 = require("@aws-amplify/core/internals/adapter-core");
|
|
7
|
+
const remove_1 = require("../internal/remove");
|
|
8
|
+
const remove = (contextSpec, input) => {
|
|
9
|
+
return (0, remove_1.remove)((0, adapter_core_1.getAmplifyServerContext)(contextSpec).amplify, input);
|
|
10
|
+
};
|
|
11
|
+
exports.remove = remove;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.byteLength = void 0;
|
|
6
|
+
/**
|
|
7
|
+
* Calculate the total size of the data to be uploaded. The total size is not required for multipart upload, as it's
|
|
8
|
+
* only used in progress report.
|
|
9
|
+
*/
|
|
10
|
+
const byteLength = (input) => {
|
|
11
|
+
if (input === null || input === undefined)
|
|
12
|
+
return 0;
|
|
13
|
+
if (typeof input === 'string') {
|
|
14
|
+
let len = input.length;
|
|
15
|
+
for (let i = len - 1; i >= 0; i--) {
|
|
16
|
+
const code = input.charCodeAt(i);
|
|
17
|
+
if (code > 0x7f && code <= 0x7ff)
|
|
18
|
+
len++;
|
|
19
|
+
else if (code > 0x7ff && code <= 0xffff)
|
|
20
|
+
len += 2;
|
|
21
|
+
if (code >= 0xdc00 && code <= 0xdfff)
|
|
22
|
+
i--; // trail surrogate
|
|
23
|
+
}
|
|
24
|
+
return len;
|
|
25
|
+
}
|
|
26
|
+
else if (typeof input.byteLength === 'number') {
|
|
27
|
+
// handles Uint8Array, ArrayBuffer, Buffer, and ArrayBufferView
|
|
28
|
+
return input.byteLength;
|
|
29
|
+
}
|
|
30
|
+
else if (typeof input.size === 'number') {
|
|
31
|
+
// handles browser File object
|
|
32
|
+
return input.size;
|
|
33
|
+
}
|
|
34
|
+
// TODO: support Node.js stream size
|
|
35
|
+
return undefined;
|
|
36
|
+
};
|
|
37
|
+
exports.byteLength = byteLength;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { UploadDataInput, UploadDataOutput } from '../../types';
|
|
2
|
+
/**
|
|
3
|
+
* Upload data to specified S3 object. By default, it uses single PUT operation to upload if the data is less than 5MB.
|
|
4
|
+
* Otherwise, it uses multipart upload to upload the data. If the data length is unknown, it uses multipart upload.
|
|
5
|
+
*
|
|
6
|
+
* Limitations:
|
|
7
|
+
* * Maximum object size is 5TB.
|
|
8
|
+
* * Maximum object size if the size cannot be determined before upload is 50GB.
|
|
9
|
+
*
|
|
10
|
+
* @param input - The UploadDataInput object.
|
|
11
|
+
* @returns A cancelable and resumable task exposing result promise from `result`
|
|
12
|
+
* property.
|
|
13
|
+
* @throws service: {@link S3Exception} - thrown when checking for existence of the object
|
|
14
|
+
* @throws validation: {@link StorageValidationErrorCode } - Validation errors.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* // Upload a file to s3 bucket
|
|
19
|
+
* await uploadData({ key, data: file, options: {
|
|
20
|
+
* onProgress, // Optional progress callback.
|
|
21
|
+
* } }).result;
|
|
22
|
+
* ```
|
|
23
|
+
* @example
|
|
24
|
+
* ```ts
|
|
25
|
+
* // Cancel a task
|
|
26
|
+
* const uploadTask = uploadData({ key, data: file });
|
|
27
|
+
* //...
|
|
28
|
+
* uploadTask.cancel();
|
|
29
|
+
* try {
|
|
30
|
+
* await uploadTask.result;
|
|
31
|
+
* } catch (error) {
|
|
32
|
+
* if(isCancelError(error)) {
|
|
33
|
+
* // Handle error thrown by task cancelation.
|
|
34
|
+
* }
|
|
35
|
+
* }
|
|
36
|
+
*```
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```ts
|
|
40
|
+
* // Pause and resume a task
|
|
41
|
+
* const uploadTask = uploadData({ key, data: file });
|
|
42
|
+
* //...
|
|
43
|
+
* uploadTask.pause();
|
|
44
|
+
* //...
|
|
45
|
+
* uploadTask.resume();
|
|
46
|
+
* //...
|
|
47
|
+
* await uploadTask.result;
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export declare const uploadData: (input: UploadDataInput) => UploadDataOutput;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.uploadData = void 0;
|
|
6
|
+
const utils_1 = require("../../utils");
|
|
7
|
+
const assertValidationError_1 = require("../../../../errors/utils/assertValidationError");
|
|
8
|
+
const validation_1 = require("../../../../errors/types/validation");
|
|
9
|
+
const constants_1 = require("../../utils/constants");
|
|
10
|
+
const byteLength_1 = require("./byteLength");
|
|
11
|
+
const putObjectJob_1 = require("./putObjectJob");
|
|
12
|
+
const multipart_1 = require("./multipart");
|
|
13
|
+
/**
|
|
14
|
+
* Upload data to specified S3 object. By default, it uses single PUT operation to upload if the data is less than 5MB.
|
|
15
|
+
* Otherwise, it uses multipart upload to upload the data. If the data length is unknown, it uses multipart upload.
|
|
16
|
+
*
|
|
17
|
+
* Limitations:
|
|
18
|
+
* * Maximum object size is 5TB.
|
|
19
|
+
* * Maximum object size if the size cannot be determined before upload is 50GB.
|
|
20
|
+
*
|
|
21
|
+
* @param input - The UploadDataInput object.
|
|
22
|
+
* @returns A cancelable and resumable task exposing result promise from `result`
|
|
23
|
+
* property.
|
|
24
|
+
* @throws service: {@link S3Exception} - thrown when checking for existence of the object
|
|
25
|
+
* @throws validation: {@link StorageValidationErrorCode } - Validation errors.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```ts
|
|
29
|
+
* // Upload a file to s3 bucket
|
|
30
|
+
* await uploadData({ key, data: file, options: {
|
|
31
|
+
* onProgress, // Optional progress callback.
|
|
32
|
+
* } }).result;
|
|
33
|
+
* ```
|
|
34
|
+
* @example
|
|
35
|
+
* ```ts
|
|
36
|
+
* // Cancel a task
|
|
37
|
+
* const uploadTask = uploadData({ key, data: file });
|
|
38
|
+
* //...
|
|
39
|
+
* uploadTask.cancel();
|
|
40
|
+
* try {
|
|
41
|
+
* await uploadTask.result;
|
|
42
|
+
* } catch (error) {
|
|
43
|
+
* if(isCancelError(error)) {
|
|
44
|
+
* // Handle error thrown by task cancelation.
|
|
45
|
+
* }
|
|
46
|
+
* }
|
|
47
|
+
*```
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```ts
|
|
51
|
+
* // Pause and resume a task
|
|
52
|
+
* const uploadTask = uploadData({ key, data: file });
|
|
53
|
+
* //...
|
|
54
|
+
* uploadTask.pause();
|
|
55
|
+
* //...
|
|
56
|
+
* uploadTask.resume();
|
|
57
|
+
* //...
|
|
58
|
+
* await uploadTask.result;
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
const uploadData = (input) => {
|
|
62
|
+
const { data } = input;
|
|
63
|
+
const dataByteLength = (0, byteLength_1.byteLength)(data);
|
|
64
|
+
(0, assertValidationError_1.assertValidationError)(dataByteLength === undefined || dataByteLength <= constants_1.MAX_OBJECT_SIZE, validation_1.StorageValidationErrorCode.ObjectIsTooLarge);
|
|
65
|
+
if (dataByteLength && dataByteLength <= constants_1.DEFAULT_PART_SIZE) {
|
|
66
|
+
const abortController = new AbortController();
|
|
67
|
+
return (0, utils_1.createUploadTask)({
|
|
68
|
+
isMultipartUpload: false,
|
|
69
|
+
job: (0, putObjectJob_1.putObjectJob)(input, abortController.signal, dataByteLength),
|
|
70
|
+
onCancel: (message) => {
|
|
71
|
+
abortController.abort(message);
|
|
72
|
+
},
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
const { multipartUploadJob, onPause, onResume, onCancel } = (0, multipart_1.getMultipartUploadHandlers)(input, dataByteLength);
|
|
77
|
+
return (0, utils_1.createUploadTask)({
|
|
78
|
+
isMultipartUpload: true,
|
|
79
|
+
job: multipartUploadJob,
|
|
80
|
+
onCancel: (message) => {
|
|
81
|
+
onCancel(message);
|
|
82
|
+
},
|
|
83
|
+
onPause,
|
|
84
|
+
onResume,
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
exports.uploadData = uploadData;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const calculatePartSize: (totalSize?: number) => number;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.calculatePartSize = void 0;
|
|
6
|
+
const constants_1 = require("../../../utils/constants");
|
|
7
|
+
const calculatePartSize = (totalSize) => {
|
|
8
|
+
if (!totalSize) {
|
|
9
|
+
return constants_1.DEFAULT_PART_SIZE;
|
|
10
|
+
}
|
|
11
|
+
let partSize = constants_1.DEFAULT_PART_SIZE;
|
|
12
|
+
let partsCount = Math.ceil(totalSize / partSize);
|
|
13
|
+
while (partsCount > constants_1.MAX_PARTS_COUNT) {
|
|
14
|
+
partSize *= 2;
|
|
15
|
+
partsCount = Math.ceil(totalSize / partSize);
|
|
16
|
+
}
|
|
17
|
+
return partSize;
|
|
18
|
+
};
|
|
19
|
+
exports.calculatePartSize = calculatePartSize;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { StorageUploadDataPayload } from '../../../../../types';
|
|
2
|
+
export type PartToUpload = {
|
|
3
|
+
partNumber: number;
|
|
4
|
+
data: Blob | ArrayBuffer | string;
|
|
5
|
+
size: number;
|
|
6
|
+
};
|
|
7
|
+
export declare const getDataChunker: (data: StorageUploadDataPayload, totalSize?: number) => Generator<PartToUpload, void, undefined>;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.getDataChunker = void 0;
|
|
6
|
+
const validation_1 = require("../../../../../errors/types/validation");
|
|
7
|
+
const StorageError_1 = require("../../../../../errors/StorageError");
|
|
8
|
+
const calculatePartSize_1 = require("./calculatePartSize");
|
|
9
|
+
const getDataChunker = (data, totalSize) => {
|
|
10
|
+
const partSize = (0, calculatePartSize_1.calculatePartSize)(totalSize);
|
|
11
|
+
if (data instanceof Blob) {
|
|
12
|
+
return helper(data, 0, data.size, partSize);
|
|
13
|
+
}
|
|
14
|
+
else if (ArrayBuffer.isView(data)) {
|
|
15
|
+
return helper(data.buffer, data.byteOffset, data.byteLength, partSize);
|
|
16
|
+
}
|
|
17
|
+
else if (data instanceof ArrayBuffer) {
|
|
18
|
+
return helper(data, 0, data.byteLength, partSize);
|
|
19
|
+
}
|
|
20
|
+
else if (typeof data === 'string') {
|
|
21
|
+
return helper(data, 0, data.length, partSize);
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
throw new StorageError_1.StorageError({
|
|
25
|
+
name: validation_1.StorageValidationErrorCode.InvalidUploadSource,
|
|
26
|
+
...validation_1.validationErrorMap[validation_1.StorageValidationErrorCode.InvalidUploadSource],
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
exports.getDataChunker = getDataChunker;
|
|
31
|
+
// TODO[AllanZhengYP]: the byte length of string is incorrect here which will cause the progress tracking behave
|
|
32
|
+
// incorrectly. We should fix this in the future.
|
|
33
|
+
const helper = function* (buffer, byteOffset, byteLength, partSize) {
|
|
34
|
+
let partNumber = 1;
|
|
35
|
+
let startByte = byteOffset;
|
|
36
|
+
let endByte = byteOffset + Math.min(partSize, byteLength);
|
|
37
|
+
while (endByte < byteLength + byteOffset) {
|
|
38
|
+
yield {
|
|
39
|
+
partNumber,
|
|
40
|
+
data: buffer.slice(startByte, endByte),
|
|
41
|
+
size: partSize,
|
|
42
|
+
};
|
|
43
|
+
partNumber += 1;
|
|
44
|
+
startByte = endByte;
|
|
45
|
+
endByte = startByte + partSize;
|
|
46
|
+
}
|
|
47
|
+
yield {
|
|
48
|
+
partNumber,
|
|
49
|
+
data: buffer.slice(startByte, byteLength + byteOffset),
|
|
50
|
+
size: byteLength + byteOffset - startByte,
|
|
51
|
+
};
|
|
52
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { getMultipartUploadHandlers } from './uploadHandlers';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.getMultipartUploadHandlers = void 0;
|
|
6
|
+
var uploadHandlers_1 = require("./uploadHandlers");
|
|
7
|
+
Object.defineProperty(exports, "getMultipartUploadHandlers", { enumerable: true, get: function () { return uploadHandlers_1.getMultipartUploadHandlers; } });
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { StorageAccessLevel } from '@aws-amplify/core';
|
|
2
|
+
import { ResolvedS3Config } from '../../../types/options';
|
|
3
|
+
import { StorageUploadDataPayload } from '../../../../../types';
|
|
4
|
+
import { Part } from '../../../utils/client';
|
|
5
|
+
type LoadOrCreateMultipartUploadOptions = {
|
|
6
|
+
s3Config: ResolvedS3Config;
|
|
7
|
+
data: StorageUploadDataPayload;
|
|
8
|
+
bucket: string;
|
|
9
|
+
accessLevel: StorageAccessLevel;
|
|
10
|
+
keyPrefix: string;
|
|
11
|
+
key: string;
|
|
12
|
+
contentType?: string;
|
|
13
|
+
contentDisposition?: string;
|
|
14
|
+
contentEncoding?: string;
|
|
15
|
+
metadata?: Record<string, string>;
|
|
16
|
+
size?: number;
|
|
17
|
+
abortSignal?: AbortSignal;
|
|
18
|
+
};
|
|
19
|
+
type LoadOrCreateMultipartUploadResult = {
|
|
20
|
+
uploadId: string;
|
|
21
|
+
cachedParts: Part[];
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Load the in-progress multipart upload from local storage or async storage(RN) if it exists, or create a new multipart
|
|
25
|
+
* upload.
|
|
26
|
+
*
|
|
27
|
+
* @internal
|
|
28
|
+
*/
|
|
29
|
+
export declare const loadOrCreateMultipartUpload: ({ s3Config, data, size, contentType, bucket, accessLevel, keyPrefix, key, contentDisposition, contentEncoding, metadata, abortSignal, }: LoadOrCreateMultipartUploadOptions) => Promise<LoadOrCreateMultipartUploadResult>;
|
|
30
|
+
export {};
|