UNPKG

@uppy/aws-s3-multipart

Version:

Upload to Amazon S3 with Uppy and S3's Multipart upload strategy

49 lines (46 loc) 1.46 kB
import { expectError, expectType } from 'tsd' import Uppy from '@uppy/core' import type { UppyFile } from '@uppy/core' import AwsS3Multipart from '..' import type { AwsS3Part } from '..' { const uppy = new Uppy() uppy.use(AwsS3Multipart, { createMultipartUpload (file) { expectType<UppyFile>(file) return { uploadId: '', key: '' } }, listParts (file, opts) { expectType<UppyFile>(file) expectType<string>(opts.uploadId) expectType<string>(opts.key) return [] }, prepareUploadParts (file, partData) { expectType<UppyFile>(file) expectType<string>(partData.uploadId) expectType<string>(partData.key) expectType<[{number: number, chunk: Blob}]>(partData.parts) return { presignedUrls: {} } }, abortMultipartUpload (file, opts) { expectType<UppyFile>(file) expectType<string>(opts.uploadId) expectType<string>(opts.key) }, completeMultipartUpload (file, opts) { expectType<UppyFile>(file) expectType<string>(opts.uploadId) expectType<string>(opts.key) expectType<AwsS3Part>(opts.parts[0]) return {} }, }) } { const uppy = new Uppy() expectError(uppy.use(AwsS3Multipart, { getChunkSize: 100 })) expectError(uppy.use(AwsS3Multipart, { getChunkSize: () => 'not a number' })) uppy.use(AwsS3Multipart, { getChunkSize: () => 100 }) uppy.use(AwsS3Multipart, { getChunkSize: (file) => file.size }) }