Fix type error when accessing FileList (#2441)

This commit is contained in:
Ajay Bura 2025-08-16 17:05:34 +05:30 committed by GitHub
parent 63fa60e7f4
commit 367397fdd4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -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;
};