@nhost/hasura-storage-js
Version:
Hasura-storage client
40 lines (39 loc) • 1.51 kB
TypeScript
import { InterpreterFrom } from 'xstate';
import { AnyFileList, FileItemRef, MultipleFilesUploadMachine } from '../machines';
import { FileUploadConfig } from '../utils';
export interface MultipleUploadProgressState {
/**
* Returns `true` when the files are being uploaded.
*/
isUploading: boolean;
/**
* Returns the overall progress of the upload, from 0 to 100. Returns null if the upload has not started yet.
*/
progress: number | null;
}
export interface MultipleFilesHandlerResult {
/**
* The list of file uploads. The properties can be accessed through `item.getSnapshot()` of with the `useFileUploadItem` hook.
*/
files: FileItemRef[];
/**
* Returns `true` when all upload request are processed, but at least one of them has failed.
*/
isError: boolean;
/**
* Returns the list of file uploads that have failed
*/
errors: FileItemRef[];
}
export interface MultipleFilesUploadState extends MultipleFilesHandlerResult, MultipleUploadProgressState {
/**
* Returns `true` when all the files have been successfully uploaded.
*/
isUploaded: boolean;
}
export type UploadMultipleFilesActionParams = {
files?: AnyFileList;
bucketId?: string;
};
export declare const uploadMultipleFilesPromise: (params: FileUploadConfig & UploadMultipleFilesActionParams, service: InterpreterFrom<MultipleFilesUploadMachine>) => Promise<MultipleFilesHandlerResult>;
//# sourceMappingURL=multiple-files-upload.d.ts.map