UNPKG

2.05 kBJavaScriptView Raw
1import '@smithy/md5-js';
2import '@aws-amplify/core/internals/aws-client-utils';
3import '../../utils/client/runtime/s3TransferHandler/fetch.mjs';
4import 'fast-xml-parser';
5import '../../utils/client/runtime/s3TransferHandler/xhr.mjs';
6import 'buffer';
7import '@aws-amplify/core/internals/utils';
8import { assertValidationError } from '../../../../errors/utils/assertValidationError.mjs';
9import { StorageValidationErrorCode } from '../../../../errors/types/validation.mjs';
10import { MAX_OBJECT_SIZE, DEFAULT_PART_SIZE } from '../../utils/constants.mjs';
11import { createUploadTask } from '../../utils/transferTask.mjs';
12import { byteLength } from './byteLength.mjs';
13import { putObjectJob } from './putObjectJob.mjs';
14import { getMultipartUploadHandlers } from './multipart/uploadHandlers.mjs';
15
16// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
17// SPDX-License-Identifier: Apache-2.0
18function uploadData(input) {
19 const { data } = input;
20 const dataByteLength = byteLength(data);
21 assertValidationError(dataByteLength === undefined || dataByteLength <= MAX_OBJECT_SIZE, StorageValidationErrorCode.ObjectIsTooLarge);
22 if (dataByteLength !== undefined && dataByteLength <= DEFAULT_PART_SIZE) {
23 // Single part upload
24 const abortController = new AbortController();
25 return createUploadTask({
26 isMultipartUpload: false,
27 job: putObjectJob(input, abortController.signal, dataByteLength),
28 onCancel: (message) => {
29 abortController.abort(message);
30 },
31 });
32 }
33 else {
34 // Multipart upload
35 const { multipartUploadJob, onPause, onResume, onCancel } = getMultipartUploadHandlers(input, dataByteLength);
36 return createUploadTask({
37 isMultipartUpload: true,
38 job: multipartUploadJob,
39 onCancel: (message) => {
40 onCancel(message);
41 },
42 onPause,
43 onResume,
44 });
45 }
46}
47
48export { uploadData };
49//# sourceMappingURL=index.mjs.map