mirror of
https://github.com/cinnyapp/cinny.git
synced 2025-09-13 14:22:25 +03:00
Fix type error when accessing FileList (#2441)
This commit is contained in:
parent
63fa60e7f4
commit
367397fdd4
1 changed files with 13 additions and 2 deletions
|
@ -43,6 +43,17 @@ export const canFitInScrollView = (
|
|||
|
||||
export type FilesOrFile<T extends boolean | undefined = undefined> = T extends true ? File[] : File;
|
||||
|
||||
export const getFilesFromFileList = (fileList: FileList): File[] => {
|
||||
const files: File[] = [];
|
||||
|
||||
for (let i = 0; i < fileList.length; i += 1) {
|
||||
const file: File | undefined = fileList[i];
|
||||
if (file instanceof File) files.push(file);
|
||||
}
|
||||
|
||||
return files;
|
||||
};
|
||||
|
||||
export const selectFile = <M extends boolean | undefined = undefined>(
|
||||
accept: string,
|
||||
multiple?: M
|
||||
|
@ -58,7 +69,7 @@ export const selectFile = <M extends boolean | undefined = undefined>(
|
|||
if (!fileList) {
|
||||
resolve(undefined);
|
||||
} else {
|
||||
const files: File[] = [...fileList].filter((file) => file);
|
||||
const files: File[] = getFilesFromFileList(fileList);
|
||||
resolve((multiple ? files : files[0]) as FilesOrFile<M>);
|
||||
}
|
||||
input.removeEventListener('change', changeHandler);
|
||||
|
@ -70,7 +81,7 @@ export const selectFile = <M extends boolean | undefined = undefined>(
|
|||
|
||||
export const getDataTransferFiles = (dataTransfer: DataTransfer): File[] | undefined => {
|
||||
const fileList = dataTransfer.files;
|
||||
const files = [...fileList].filter((file) => file);
|
||||
const files: File[] = getFilesFromFileList(fileList);
|
||||
if (files.length === 0) return undefined;
|
||||
return files;
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue