file-select-dialog
Version:
Call file select dialog programmatically
17 lines • 1.24 kB
TypeScript
export interface Parameters<T extends boolean = false, U extends boolean = false> {
accept: string | string[];
multiple: T;
strict: U;
}
declare type PickFile<T extends boolean = false, U extends boolean = false> = T extends false ? (U extends true ? File : FileList) : FileList;
/**
* Call file select dialog programmatically.
* @param {object} [parameters] optional
* @returns {Promise} Promise <File | FileList> if strict is false, return FileList object, if multiple is false and strict is true return File object
*/
export declare const fileDialog: <T extends boolean = false, U extends boolean = false>(parameters?: Partial<Parameters<T, U>> | undefined) => Promise<PickFile<T, U>>;
export declare const resolver: <T extends boolean, U extends boolean>(fileList: HTMLInputElement['files'], multiple: T, strict: U) => Promise<PickFile<T, U>>;
export declare const getFileListObj: <T extends boolean, U extends boolean>(files: NonNullable<HTMLInputElement['files']>, multiple: T, strict: U) => PickFile<T, U> | null;
export declare const createFileInputElement: ({ accept, multiple }: Pick<HTMLInputElement, 'accept' | 'multiple'>) => HTMLInputElement;
export {};
//# sourceMappingURL=file-dialog.d.ts.map