@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
package/README.md
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { AmplifyErrorParams } from '@aws-amplify/core/internals/utils';
|
|
2
|
+
import { StorageError } from './StorageError';
|
|
3
|
+
/**
|
|
4
|
+
* Internal-only class for CanceledError thrown by XHR handler or multipart upload when cancellation is invoked
|
|
5
|
+
* without overwriting behavior.
|
|
6
|
+
*
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
export declare class CanceledError extends StorageError {
|
|
10
|
+
constructor(params?: Partial<AmplifyErrorParams>);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Check if an error is caused by user calling `cancel()` on a upload/download task. If an overwriting error is
|
|
14
|
+
* supplied to `task.cancel(errorOverwrite)`, this function will return `false`.
|
|
15
|
+
*/
|
|
16
|
+
export declare const isCancelError: (error: unknown) => error is CanceledError;
|
|
@@ -0,0 +1,31 @@
|
|
|
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.isCancelError = exports.CanceledError = void 0;
|
|
6
|
+
const StorageError_1 = require("./StorageError");
|
|
7
|
+
/**
|
|
8
|
+
* Internal-only class for CanceledError thrown by XHR handler or multipart upload when cancellation is invoked
|
|
9
|
+
* without overwriting behavior.
|
|
10
|
+
*
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
13
|
+
class CanceledError extends StorageError_1.StorageError {
|
|
14
|
+
constructor(params = {}) {
|
|
15
|
+
super({
|
|
16
|
+
name: 'CanceledError',
|
|
17
|
+
message: 'Upload is canceled by user',
|
|
18
|
+
...params,
|
|
19
|
+
});
|
|
20
|
+
// TODO: Delete the following 2 lines after we change the build target to >= es2015
|
|
21
|
+
this.constructor = CanceledError;
|
|
22
|
+
Object.setPrototypeOf(this, CanceledError.prototype);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.CanceledError = CanceledError;
|
|
26
|
+
/**
|
|
27
|
+
* Check if an error is caused by user calling `cancel()` on a upload/download task. If an overwriting error is
|
|
28
|
+
* supplied to `task.cancel(errorOverwrite)`, this function will return `false`.
|
|
29
|
+
*/
|
|
30
|
+
const isCancelError = (error) => !!error && error instanceof CanceledError;
|
|
31
|
+
exports.isCancelError = isCancelError;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StorageError = void 0;
|
|
4
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
5
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
6
|
+
const utils_1 = require("@aws-amplify/core/internals/utils");
|
|
7
|
+
class StorageError extends utils_1.AmplifyError {
|
|
8
|
+
constructor(params) {
|
|
9
|
+
super(params);
|
|
10
|
+
// TODO: Delete the following 2 lines after we change the build target to >= es2015
|
|
11
|
+
this.constructor = StorageError;
|
|
12
|
+
Object.setPrototypeOf(this, StorageError.prototype);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.StorageError = StorageError;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { AmplifyErrorMap } from '@aws-amplify/core/internals/utils';
|
|
2
|
+
export declare enum StorageValidationErrorCode {
|
|
3
|
+
NoCredentials = "NoCredentials",
|
|
4
|
+
NoIdentityId = "NoIdentityId",
|
|
5
|
+
NoKey = "NoKey",
|
|
6
|
+
NoSourceKey = "NoSourceKey",
|
|
7
|
+
NoDestinationKey = "NoDestinationKey",
|
|
8
|
+
NoBucket = "NoBucket",
|
|
9
|
+
NoRegion = "NoRegion",
|
|
10
|
+
UrlExpirationMaxLimitExceed = "UrlExpirationMaxLimitExceed",
|
|
11
|
+
ObjectIsTooLarge = "ObjectIsTooLarge",
|
|
12
|
+
InvalidUploadSource = "InvalidUploadSource"
|
|
13
|
+
}
|
|
14
|
+
export declare const validationErrorMap: AmplifyErrorMap<StorageValidationErrorCode>;
|
|
@@ -0,0 +1,50 @@
|
|
|
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.validationErrorMap = exports.StorageValidationErrorCode = void 0;
|
|
6
|
+
var StorageValidationErrorCode;
|
|
7
|
+
(function (StorageValidationErrorCode) {
|
|
8
|
+
StorageValidationErrorCode["NoCredentials"] = "NoCredentials";
|
|
9
|
+
StorageValidationErrorCode["NoIdentityId"] = "NoIdentityId";
|
|
10
|
+
StorageValidationErrorCode["NoKey"] = "NoKey";
|
|
11
|
+
StorageValidationErrorCode["NoSourceKey"] = "NoSourceKey";
|
|
12
|
+
StorageValidationErrorCode["NoDestinationKey"] = "NoDestinationKey";
|
|
13
|
+
StorageValidationErrorCode["NoBucket"] = "NoBucket";
|
|
14
|
+
StorageValidationErrorCode["NoRegion"] = "NoRegion";
|
|
15
|
+
StorageValidationErrorCode["UrlExpirationMaxLimitExceed"] = "UrlExpirationMaxLimitExceed";
|
|
16
|
+
StorageValidationErrorCode["ObjectIsTooLarge"] = "ObjectIsTooLarge";
|
|
17
|
+
StorageValidationErrorCode["InvalidUploadSource"] = "InvalidUploadSource";
|
|
18
|
+
})(StorageValidationErrorCode = exports.StorageValidationErrorCode || (exports.StorageValidationErrorCode = {}));
|
|
19
|
+
exports.validationErrorMap = {
|
|
20
|
+
[StorageValidationErrorCode.NoCredentials]: {
|
|
21
|
+
message: 'Credentials should not be empty.',
|
|
22
|
+
},
|
|
23
|
+
[StorageValidationErrorCode.NoIdentityId]: {
|
|
24
|
+
message: 'Missing identity ID when accessing objects in protected or private access level.',
|
|
25
|
+
},
|
|
26
|
+
[StorageValidationErrorCode.NoKey]: {
|
|
27
|
+
message: 'Missing key in api call.',
|
|
28
|
+
},
|
|
29
|
+
[StorageValidationErrorCode.NoSourceKey]: {
|
|
30
|
+
message: 'Missing source key in copy api call.',
|
|
31
|
+
},
|
|
32
|
+
[StorageValidationErrorCode.NoDestinationKey]: {
|
|
33
|
+
message: 'Missing destination key in copy api call.',
|
|
34
|
+
},
|
|
35
|
+
[StorageValidationErrorCode.NoBucket]: {
|
|
36
|
+
message: 'Missing bucket name while accessing object.',
|
|
37
|
+
},
|
|
38
|
+
[StorageValidationErrorCode.NoRegion]: {
|
|
39
|
+
message: 'Missing region while accessing object.',
|
|
40
|
+
},
|
|
41
|
+
[StorageValidationErrorCode.UrlExpirationMaxLimitExceed]: {
|
|
42
|
+
message: 'Url Expiration can not be greater than 7 Days.',
|
|
43
|
+
},
|
|
44
|
+
[StorageValidationErrorCode.ObjectIsTooLarge]: {
|
|
45
|
+
message: 'Object size cannot not be greater than 5TB.',
|
|
46
|
+
},
|
|
47
|
+
[StorageValidationErrorCode.InvalidUploadSource]: {
|
|
48
|
+
message: 'Upload source type can only be a `Blob`, `File`, `ArrayBuffer`, or `string`.',
|
|
49
|
+
},
|
|
50
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
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.assertValidationError = void 0;
|
|
6
|
+
const validation_1 = require("../types/validation");
|
|
7
|
+
const StorageError_1 = require("../StorageError");
|
|
8
|
+
function assertValidationError(assertion, name) {
|
|
9
|
+
const { message, recoverySuggestion } = validation_1.validationErrorMap[name];
|
|
10
|
+
if (!assertion) {
|
|
11
|
+
throw new StorageError_1.StorageError({ name, message, recoverySuggestion });
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.assertValidationError = assertValidationError;
|
package/lib/index.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
export {
|
|
3
|
-
export {
|
|
4
|
-
export
|
|
1
|
+
export { uploadData, downloadData, remove, list, getProperties, copy, getUrl, } from './providers/s3';
|
|
2
|
+
export { UploadDataInput, DownloadDataInput, RemoveInput, ListAllInput, ListPaginateInput, GetPropertiesInput, CopyInput, GetUrlInput, } from './providers/s3/types/inputs';
|
|
3
|
+
export { UploadDataOutput, DownloadDataOutput, RemoveOutput, ListAllOutput, ListPaginateOutput, GetPropertiesOutput, CopyOutput, GetUrlOutput, } from './providers/s3/types/outputs';
|
|
4
|
+
export { TransferProgressEvent } from './types';
|
|
5
|
+
export { isCancelError } from './errors/CanceledError';
|
|
6
|
+
export { StorageError } from './errors/StorageError';
|
package/lib/index.js
CHANGED
|
@@ -1,25 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
5
|
-
if (k2 === undefined) k2 = k;
|
|
6
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
7
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
8
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
9
|
-
}
|
|
10
|
-
Object.defineProperty(o, k2, desc);
|
|
11
|
-
}) : (function(o, m, k, k2) {
|
|
12
|
-
if (k2 === undefined) k2 = k;
|
|
13
|
-
o[k2] = m[k];
|
|
14
|
-
}));
|
|
15
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
16
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
17
|
-
};
|
|
18
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
-
exports.
|
|
20
|
-
var
|
|
21
|
-
Object.defineProperty(exports, "
|
|
22
|
-
Object.defineProperty(exports, "
|
|
23
|
-
|
|
24
|
-
Object.defineProperty(exports, "
|
|
25
|
-
|
|
5
|
+
exports.StorageError = exports.isCancelError = exports.getUrl = exports.copy = exports.getProperties = exports.list = exports.remove = exports.downloadData = exports.uploadData = void 0;
|
|
6
|
+
var s3_1 = require("./providers/s3");
|
|
7
|
+
Object.defineProperty(exports, "uploadData", { enumerable: true, get: function () { return s3_1.uploadData; } });
|
|
8
|
+
Object.defineProperty(exports, "downloadData", { enumerable: true, get: function () { return s3_1.downloadData; } });
|
|
9
|
+
Object.defineProperty(exports, "remove", { enumerable: true, get: function () { return s3_1.remove; } });
|
|
10
|
+
Object.defineProperty(exports, "list", { enumerable: true, get: function () { return s3_1.list; } });
|
|
11
|
+
Object.defineProperty(exports, "getProperties", { enumerable: true, get: function () { return s3_1.getProperties; } });
|
|
12
|
+
Object.defineProperty(exports, "copy", { enumerable: true, get: function () { return s3_1.copy; } });
|
|
13
|
+
Object.defineProperty(exports, "getUrl", { enumerable: true, get: function () { return s3_1.getUrl; } });
|
|
14
|
+
// TODO[AllanZhengYP]: support isCancelError in Node.js with node-fetch
|
|
15
|
+
var CanceledError_1 = require("./errors/CanceledError");
|
|
16
|
+
Object.defineProperty(exports, "isCancelError", { enumerable: true, get: function () { return CanceledError_1.isCancelError; } });
|
|
17
|
+
var StorageError_1 = require("./errors/StorageError");
|
|
18
|
+
Object.defineProperty(exports, "StorageError", { enumerable: true, get: function () { return StorageError_1.StorageError; } });
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CopyInput, CopyOutput } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Copy an object from a source object to a new object within the same bucket. Can optionally copy files across
|
|
4
|
+
* different level or identityId (if source object's level is 'protected').
|
|
5
|
+
*
|
|
6
|
+
* @param input - The CopyInput object.
|
|
7
|
+
* @returns Output containing the destination key.
|
|
8
|
+
* @throws service: {@link S3Exception} - Thrown when checking for existence of the object
|
|
9
|
+
* @throws validation: {@link StorageValidationErrorCode } - Thrown when
|
|
10
|
+
* source or destination key are not defined.
|
|
11
|
+
*/
|
|
12
|
+
export declare const copy: (input: CopyInput) => Promise<CopyOutput>;
|
|
@@ -0,0 +1,21 @@
|
|
|
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 core_1 = require("@aws-amplify/core");
|
|
7
|
+
const copy_1 = require("./internal/copy");
|
|
8
|
+
/**
|
|
9
|
+
* Copy an object from a source object to a new object within the same bucket. Can optionally copy files across
|
|
10
|
+
* different level or identityId (if source object's level is 'protected').
|
|
11
|
+
*
|
|
12
|
+
* @param input - The CopyInput object.
|
|
13
|
+
* @returns Output containing the destination key.
|
|
14
|
+
* @throws service: {@link S3Exception} - Thrown when checking for existence of the object
|
|
15
|
+
* @throws validation: {@link StorageValidationErrorCode } - Thrown when
|
|
16
|
+
* source or destination key are not defined.
|
|
17
|
+
*/
|
|
18
|
+
const copy = async (input) => {
|
|
19
|
+
return (0, copy_1.copy)(core_1.Amplify, input);
|
|
20
|
+
};
|
|
21
|
+
exports.copy = copy;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { DownloadDataInput, DownloadDataOutput } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Download S3 object data to memory
|
|
4
|
+
*
|
|
5
|
+
* @param input - The DownloadDataInput object.
|
|
6
|
+
* @returns A cancelable task exposing result promise from `result` property.
|
|
7
|
+
* @throws service: {@link S3Exception} - thrown when checking for existence of the object
|
|
8
|
+
* @throws validation: {@link StorageValidationErrorCode } - Validation errors
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```ts
|
|
12
|
+
* // Download a file from s3 bucket
|
|
13
|
+
* const { body, eTag } = await downloadData({ key, data: file, options: {
|
|
14
|
+
* onProgress, // Optional progress callback.
|
|
15
|
+
* } }).result;
|
|
16
|
+
* ```
|
|
17
|
+
* @example
|
|
18
|
+
* ```ts
|
|
19
|
+
* // Cancel a task
|
|
20
|
+
* const downloadTask = downloadData({ key, data: file });
|
|
21
|
+
* //...
|
|
22
|
+
* downloadTask.cancel();
|
|
23
|
+
* try {
|
|
24
|
+
* await downloadTask.result;
|
|
25
|
+
* } catch (error) {
|
|
26
|
+
* if(isCancelError(error)) {
|
|
27
|
+
* // Handle error thrown by task cancelation.
|
|
28
|
+
* }
|
|
29
|
+
* }
|
|
30
|
+
*```
|
|
31
|
+
*/
|
|
32
|
+
export declare const downloadData: (input: DownloadDataInput) => DownloadDataOutput;
|
|
@@ -0,0 +1,81 @@
|
|
|
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.downloadData = void 0;
|
|
6
|
+
const core_1 = require("@aws-amplify/core");
|
|
7
|
+
const utils_1 = require("@aws-amplify/core/internals/utils");
|
|
8
|
+
const resolveS3ConfigAndInput_1 = require("../utils/resolveS3ConfigAndInput");
|
|
9
|
+
const utils_2 = require("../utils");
|
|
10
|
+
const client_1 = require("../utils/client");
|
|
11
|
+
const userAgent_1 = require("../utils/userAgent");
|
|
12
|
+
/**
|
|
13
|
+
* Download S3 object data to memory
|
|
14
|
+
*
|
|
15
|
+
* @param input - The DownloadDataInput object.
|
|
16
|
+
* @returns A cancelable task exposing result promise from `result` property.
|
|
17
|
+
* @throws service: {@link S3Exception} - thrown when checking for existence of the object
|
|
18
|
+
* @throws validation: {@link StorageValidationErrorCode } - Validation errors
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```ts
|
|
22
|
+
* // Download a file from s3 bucket
|
|
23
|
+
* const { body, eTag } = await downloadData({ key, data: file, options: {
|
|
24
|
+
* onProgress, // Optional progress callback.
|
|
25
|
+
* } }).result;
|
|
26
|
+
* ```
|
|
27
|
+
* @example
|
|
28
|
+
* ```ts
|
|
29
|
+
* // Cancel a task
|
|
30
|
+
* const downloadTask = downloadData({ key, data: file });
|
|
31
|
+
* //...
|
|
32
|
+
* downloadTask.cancel();
|
|
33
|
+
* try {
|
|
34
|
+
* await downloadTask.result;
|
|
35
|
+
* } catch (error) {
|
|
36
|
+
* if(isCancelError(error)) {
|
|
37
|
+
* // Handle error thrown by task cancelation.
|
|
38
|
+
* }
|
|
39
|
+
* }
|
|
40
|
+
*```
|
|
41
|
+
*/
|
|
42
|
+
const downloadData = (input) => {
|
|
43
|
+
const abortController = new AbortController();
|
|
44
|
+
const downloadTask = (0, utils_2.createDownloadTask)({
|
|
45
|
+
job: downloadDataJob(input, abortController.signal),
|
|
46
|
+
onCancel: (message) => {
|
|
47
|
+
abortController.abort(message);
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
return downloadTask;
|
|
51
|
+
};
|
|
52
|
+
exports.downloadData = downloadData;
|
|
53
|
+
const downloadDataJob = ({ options: downloadDataOptions, key }, abortSignal) => async () => {
|
|
54
|
+
const { bucket, keyPrefix, s3Config } = await (0, resolveS3ConfigAndInput_1.resolveS3ConfigAndInput)(core_1.Amplify, downloadDataOptions);
|
|
55
|
+
// TODO[AllanZhengYP]: support excludeSubPaths option to exclude sub paths
|
|
56
|
+
const finalKey = keyPrefix + key;
|
|
57
|
+
const { Body: body, LastModified: lastModified, ContentLength: size, ETag: eTag, Metadata: metadata, VersionId: versionId, ContentType: contentType, } = await (0, client_1.getObject)({
|
|
58
|
+
...s3Config,
|
|
59
|
+
abortSignal,
|
|
60
|
+
onDownloadProgress: downloadDataOptions?.onProgress,
|
|
61
|
+
userAgentValue: (0, userAgent_1.getStorageUserAgentValue)(utils_1.StorageAction.DownloadData),
|
|
62
|
+
}, {
|
|
63
|
+
Bucket: bucket,
|
|
64
|
+
Key: finalKey,
|
|
65
|
+
...(downloadDataOptions?.bytesRange && {
|
|
66
|
+
Range: `bytes=${downloadDataOptions.bytesRange.start}-${downloadDataOptions.bytesRange.end}`,
|
|
67
|
+
}),
|
|
68
|
+
});
|
|
69
|
+
return {
|
|
70
|
+
// Casting with ! as body always exists for getObject API.
|
|
71
|
+
// TODO[AllanZhengYP]: remove casting when we have better typing for getObject API
|
|
72
|
+
key,
|
|
73
|
+
body: body,
|
|
74
|
+
lastModified,
|
|
75
|
+
size,
|
|
76
|
+
contentType,
|
|
77
|
+
eTag,
|
|
78
|
+
metadata,
|
|
79
|
+
versionId,
|
|
80
|
+
};
|
|
81
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { GetPropertiesOutput, GetPropertiesInput } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Gets the properties of a file. The properties include S3 system metadata and
|
|
4
|
+
* the user metadata that was provided when uploading the file.
|
|
5
|
+
*
|
|
6
|
+
* @param input - The GetPropertiesInput object.
|
|
7
|
+
* @returns Requested object properties.
|
|
8
|
+
* @throws A {@link S3Exception} when the underlying S3 service returned error.
|
|
9
|
+
* @throws A {@link StorageValidationErrorCode} when API call parameters are invalid.
|
|
10
|
+
*/
|
|
11
|
+
export declare const getProperties: (input: GetPropertiesInput) => Promise<GetPropertiesOutput>;
|
|
@@ -0,0 +1,20 @@
|
|
|
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 core_1 = require("@aws-amplify/core");
|
|
7
|
+
const getProperties_1 = require("./internal/getProperties");
|
|
8
|
+
/**
|
|
9
|
+
* Gets the properties of a file. The properties include S3 system metadata and
|
|
10
|
+
* the user metadata that was provided when uploading the file.
|
|
11
|
+
*
|
|
12
|
+
* @param input - The GetPropertiesInput object.
|
|
13
|
+
* @returns Requested object properties.
|
|
14
|
+
* @throws A {@link S3Exception} when the underlying S3 service returned error.
|
|
15
|
+
* @throws A {@link StorageValidationErrorCode} when API call parameters are invalid.
|
|
16
|
+
*/
|
|
17
|
+
const getProperties = (input) => {
|
|
18
|
+
return (0, getProperties_1.getProperties)(core_1.Amplify, input);
|
|
19
|
+
};
|
|
20
|
+
exports.getProperties = getProperties;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { GetUrlInput, GetUrlOutput } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Get a temporary presigned URL to download the specified S3 object.
|
|
4
|
+
* The presigned URL expires when the associated role used to sign the request expires or
|
|
5
|
+
* the option `expiresIn` is reached. The `expiresAt` property in the output object indicates when the URL MAY expire.
|
|
6
|
+
*
|
|
7
|
+
* By default, it will not validate the object that exists in S3. If you set the `options.validateObjectExistence`
|
|
8
|
+
* to true, this method will verify the given object already exists in S3 before returning a presigned
|
|
9
|
+
* URL, and will throw {@link StorageError} if the object does not exist.
|
|
10
|
+
*
|
|
11
|
+
* @param input - The GetUrlInput object.
|
|
12
|
+
* @returns Presigned URL and timestamp when the URL MAY expire.
|
|
13
|
+
* @throws service: {@link S3Exception} - thrown when checking for existence of the object
|
|
14
|
+
* @throws validation: {@link StorageValidationErrorCode } - Validation errors
|
|
15
|
+
* thrown either username or key are not defined.
|
|
16
|
+
*
|
|
17
|
+
*/
|
|
18
|
+
export declare const getUrl: (input: GetUrlInput) => Promise<GetUrlOutput>;
|
|
@@ -0,0 +1,27 @@
|
|
|
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 core_1 = require("@aws-amplify/core");
|
|
7
|
+
const getUrl_1 = require("./internal/getUrl");
|
|
8
|
+
/**
|
|
9
|
+
* Get a temporary presigned URL to download the specified S3 object.
|
|
10
|
+
* The presigned URL expires when the associated role used to sign the request expires or
|
|
11
|
+
* the option `expiresIn` is reached. The `expiresAt` property in the output object indicates when the URL MAY expire.
|
|
12
|
+
*
|
|
13
|
+
* By default, it will not validate the object that exists in S3. If you set the `options.validateObjectExistence`
|
|
14
|
+
* to true, this method will verify the given object already exists in S3 before returning a presigned
|
|
15
|
+
* URL, and will throw {@link StorageError} if the object does not exist.
|
|
16
|
+
*
|
|
17
|
+
* @param input - The GetUrlInput object.
|
|
18
|
+
* @returns Presigned URL and timestamp when the URL MAY expire.
|
|
19
|
+
* @throws service: {@link S3Exception} - thrown when checking for existence of the object
|
|
20
|
+
* @throws validation: {@link StorageValidationErrorCode } - Validation errors
|
|
21
|
+
* thrown either username or key are not defined.
|
|
22
|
+
*
|
|
23
|
+
*/
|
|
24
|
+
const getUrl = (input) => {
|
|
25
|
+
return (0, getUrl_1.getUrl)(core_1.Amplify, input);
|
|
26
|
+
};
|
|
27
|
+
exports.getUrl = getUrl;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { uploadData } from './uploadData';
|
|
2
|
+
export { downloadData } from './downloadData';
|
|
3
|
+
export { remove } from './remove';
|
|
4
|
+
export { list } from './list';
|
|
5
|
+
export { getProperties } from './getProperties';
|
|
6
|
+
export { copy } from './copy';
|
|
7
|
+
export { getUrl } from './getUrl';
|
|
@@ -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.getUrl = exports.copy = exports.getProperties = exports.list = exports.remove = exports.downloadData = exports.uploadData = void 0;
|
|
6
|
+
var uploadData_1 = require("./uploadData");
|
|
7
|
+
Object.defineProperty(exports, "uploadData", { enumerable: true, get: function () { return uploadData_1.uploadData; } });
|
|
8
|
+
var downloadData_1 = require("./downloadData");
|
|
9
|
+
Object.defineProperty(exports, "downloadData", { enumerable: true, get: function () { return downloadData_1.downloadData; } });
|
|
10
|
+
var remove_1 = require("./remove");
|
|
11
|
+
Object.defineProperty(exports, "remove", { enumerable: true, get: function () { return remove_1.remove; } });
|
|
12
|
+
var list_1 = require("./list");
|
|
13
|
+
Object.defineProperty(exports, "list", { enumerable: true, get: function () { return list_1.list; } });
|
|
14
|
+
var getProperties_1 = require("./getProperties");
|
|
15
|
+
Object.defineProperty(exports, "getProperties", { enumerable: true, get: function () { return getProperties_1.getProperties; } });
|
|
16
|
+
var copy_1 = require("./copy");
|
|
17
|
+
Object.defineProperty(exports, "copy", { enumerable: true, get: function () { return copy_1.copy; } });
|
|
18
|
+
var getUrl_1 = require("./getUrl");
|
|
19
|
+
Object.defineProperty(exports, "getUrl", { enumerable: true, get: function () { return getUrl_1.getUrl; } });
|
|
@@ -0,0 +1,33 @@
|
|
|
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 utils_1 = require("@aws-amplify/core/internals/utils");
|
|
7
|
+
const utils_2 = require("../../utils");
|
|
8
|
+
const validation_1 = require("../../../../errors/types/validation");
|
|
9
|
+
const assertValidationError_1 = require("../../../../errors/utils/assertValidationError");
|
|
10
|
+
const client_1 = require("../../utils/client");
|
|
11
|
+
const userAgent_1 = require("../../utils/userAgent");
|
|
12
|
+
const copy = async (amplify, input) => {
|
|
13
|
+
const { source: { key: sourceKey }, destination: { key: destinationKey }, } = input;
|
|
14
|
+
(0, assertValidationError_1.assertValidationError)(!!sourceKey, validation_1.StorageValidationErrorCode.NoSourceKey);
|
|
15
|
+
(0, assertValidationError_1.assertValidationError)(!!destinationKey, validation_1.StorageValidationErrorCode.NoDestinationKey);
|
|
16
|
+
const { s3Config, bucket, keyPrefix: sourceKeyPrefix, } = await (0, utils_2.resolveS3ConfigAndInput)(amplify, input.source);
|
|
17
|
+
const { keyPrefix: destinationKeyPrefix } = await (0, utils_2.resolveS3ConfigAndInput)(amplify, input.destination); // resolveS3ConfigAndInput does not make extra API calls or storage access if called repeatedly.
|
|
18
|
+
// TODO(ashwinkumar6) V6-logger: warn `You may copy files from another user if the source level is "protected", currently it's ${srcLevel}`
|
|
19
|
+
// TODO(ashwinkumar6) V6-logger: debug `copying ${finalSrcKey} to ${finalDestKey}`
|
|
20
|
+
await (0, client_1.copyObject)({
|
|
21
|
+
...s3Config,
|
|
22
|
+
userAgentValue: (0, userAgent_1.getStorageUserAgentValue)(utils_1.StorageAction.Copy)
|
|
23
|
+
}, {
|
|
24
|
+
Bucket: bucket,
|
|
25
|
+
CopySource: `${bucket}/${sourceKeyPrefix}${sourceKey}`,
|
|
26
|
+
Key: `${destinationKeyPrefix}${destinationKey}`,
|
|
27
|
+
MetadataDirective: 'COPY', // Copies over metadata like contentType as well
|
|
28
|
+
});
|
|
29
|
+
return {
|
|
30
|
+
key: destinationKey,
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
exports.copy = copy;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { AmplifyClassV6 } from '@aws-amplify/core';
|
|
2
|
+
import { StorageAction } from '@aws-amplify/core/internals/utils';
|
|
3
|
+
import { GetPropertiesInput, GetPropertiesOutput } from '../../types';
|
|
4
|
+
export declare const getProperties: (amplify: AmplifyClassV6, input: GetPropertiesInput, action?: StorageAction) => Promise<GetPropertiesOutput>;
|
|
@@ -0,0 +1,30 @@
|
|
|
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 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 getProperties = async function (amplify, input, action) {
|
|
11
|
+
const { key, options } = input;
|
|
12
|
+
const { s3Config, bucket, keyPrefix } = await (0, utils_2.resolveS3ConfigAndInput)(amplify, options);
|
|
13
|
+
const response = await (0, client_1.headObject)({
|
|
14
|
+
...s3Config,
|
|
15
|
+
userAgentValue: (0, userAgent_1.getStorageUserAgentValue)(action ?? utils_1.StorageAction.GetProperties)
|
|
16
|
+
}, {
|
|
17
|
+
Bucket: bucket,
|
|
18
|
+
Key: `${keyPrefix}${key}`,
|
|
19
|
+
});
|
|
20
|
+
return {
|
|
21
|
+
key,
|
|
22
|
+
contentType: response.ContentType,
|
|
23
|
+
size: response.ContentLength,
|
|
24
|
+
eTag: response.ETag,
|
|
25
|
+
lastModified: response.LastModified,
|
|
26
|
+
metadata: response.Metadata,
|
|
27
|
+
versionId: response.VersionId,
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
exports.getProperties = getProperties;
|
|
@@ -0,0 +1,39 @@
|
|
|
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 validation_1 = require("../../../../errors/types/validation");
|
|
7
|
+
const client_1 = require("../../utils/client");
|
|
8
|
+
const getProperties_1 = require("./getProperties");
|
|
9
|
+
const utils_1 = require("../../utils");
|
|
10
|
+
const assertValidationError_1 = require("../../../../errors/utils/assertValidationError");
|
|
11
|
+
const constants_1 = require("../../utils/constants");
|
|
12
|
+
const utils_2 = require("@aws-amplify/core/internals/utils");
|
|
13
|
+
const getUrl = async function (amplify, input) {
|
|
14
|
+
const { key, options } = input;
|
|
15
|
+
if (options?.validateObjectExistence) {
|
|
16
|
+
await (0, getProperties_1.getProperties)(amplify, { key, options }, utils_2.StorageAction.GetUrl);
|
|
17
|
+
}
|
|
18
|
+
const { s3Config, keyPrefix, bucket } = await (0, utils_1.resolveS3ConfigAndInput)(amplify, options);
|
|
19
|
+
let urlExpirationInSec = options?.expiresIn ?? constants_1.DEFAULT_PRESIGN_EXPIRATION;
|
|
20
|
+
const awsCredExpiration = s3Config.credentials?.expiration;
|
|
21
|
+
if (awsCredExpiration) {
|
|
22
|
+
const awsCredExpirationInSec = Math.floor((awsCredExpiration.getTime() - Date.now()) / 1000);
|
|
23
|
+
urlExpirationInSec = Math.min(awsCredExpirationInSec, urlExpirationInSec);
|
|
24
|
+
}
|
|
25
|
+
const maxUrlExpirationInSec = constants_1.MAX_URL_EXPIRATION / 1000;
|
|
26
|
+
(0, assertValidationError_1.assertValidationError)(urlExpirationInSec <= maxUrlExpirationInSec, validation_1.StorageValidationErrorCode.UrlExpirationMaxLimitExceed);
|
|
27
|
+
// expiresAt is the minimum of credential expiration and url expiration
|
|
28
|
+
return {
|
|
29
|
+
url: await (0, client_1.getPresignedGetObjectUrl)({
|
|
30
|
+
...s3Config,
|
|
31
|
+
expiration: urlExpirationInSec,
|
|
32
|
+
}, {
|
|
33
|
+
Bucket: bucket,
|
|
34
|
+
Key: `${keyPrefix}${key}`,
|
|
35
|
+
}),
|
|
36
|
+
expiresAt: new Date(Date.now() + urlExpirationInSec * 1000),
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
exports.getUrl = getUrl;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { AmplifyClassV6 } from '@aws-amplify/core';
|
|
2
|
+
import { ListAllInput, ListPaginateInput, ListAllOutput, ListPaginateOutput } from '../../types';
|
|
3
|
+
export declare const list: (amplify: AmplifyClassV6, input?: ListAllInput | ListPaginateInput) => Promise<ListAllOutput | ListPaginateOutput>;
|