UNPKG

@mock-filelist/filelist

Version:

This package is a mock generator of FileList and File type object.

101 lines (95 loc) 3.2 kB
type FileSourceBase = { mimeType: string; name: string; }; type BlobFileSource = FileSourceBase & { blob: Blob; }; type LocalFileSource = FileSourceBase & { filePath: string; }; type RemoteFileSource = FileSourceBase & { url: string; }; interface LocalFileListBuilderType { addBlob(file: BlobFileSource): this; addBlobs(files: BlobFileSource[]): this; addFile(file: LocalFileSource): this; addFiles(files: LocalFileSource[]): this; addFileObject(file: File): this; addFileObjects(files: File[]): this; build(): FileList; buildFileArray(): File[]; } interface RemoteFileListBuilderType { addBlob(file: BlobFileSource): this; addBlobs(files: BlobFileSource[]): this; addFile(file: RemoteFileSource): Promise<this>; addFiles(files: RemoteFileSource[]): Promise<this>; addFileObject(file: File): this; addFileObjects(files: File[]): this; build(): FileList; buildFileArray(): File[]; } interface LocalFileBuilderType { addBlob(file: BlobFileSource): this; addFile(file: LocalFileSource): this; addFileObject(file: File): this; build(): File; } interface RemoteFileBuilderType { addBlob(file: BlobFileSource): this; addFile(file: RemoteFileSource): Promise<this>; addFileObject(file: File): this; build(): File; } interface MergeFileListBuilderType { addFileObjects(files: Iterable<File>): this; build(): FileList; buildFileArray(): File[]; } declare class LocalFileListBuilder implements LocalFileListBuilderType { private files; addBlob(blob: BlobFileSource): this; addBlobs(blobs: BlobFileSource[]): this; addFile(file: LocalFileSource): this; addFiles(files: LocalFileSource[]): this; addFileObject(file: File): this; addFileObjects(files: Iterable<File>): this; build(): FileList; buildFileArray(): File[]; } declare class LocalFileBuilder implements LocalFileBuilderType { private file; constructor(); addBlob(blob: BlobFileSource): this; addFile(file: LocalFileSource): this; addFileObject(file: File): this; build(): File; } declare class RemoteFileListBuilder implements RemoteFileListBuilderType { private files; addBlob(blob: BlobFileSource): this; addBlobs(blobs: BlobFileSource[]): this; addFile(file: RemoteFileSource): Promise<this>; addFiles(files: RemoteFileSource[]): Promise<this>; addFileObject(file: File): this; addFileObjects(files: Iterable<File>): this; build(): FileList; buildFileArray(): File[]; } declare class RemoteFileBuilder implements RemoteFileBuilderType { private file; constructor(); addBlob(blob: BlobFileSource): this; addFile(file: RemoteFileSource): Promise<this>; addFileObject(file: File): this; build(): File; } declare class MergeFileListBuilder implements MergeFileListBuilderType { private files; addFileObjects(files: Iterable<File>): this; build(): FileList; buildFileArray(): File[]; } export { type BlobFileSource, type FileSourceBase, LocalFileBuilder, LocalFileListBuilder, type LocalFileSource, MergeFileListBuilder, RemoteFileBuilder, RemoteFileListBuilder, type RemoteFileSource };