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 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>(
|
export const selectFile = <M extends boolean | undefined = undefined>(
|
||||||
accept: string,
|
accept: string,
|
||||||
multiple?: M
|
multiple?: M
|
||||||
|
@ -58,7 +69,7 @@ export const selectFile = <M extends boolean | undefined = undefined>(
|
||||||
if (!fileList) {
|
if (!fileList) {
|
||||||
resolve(undefined);
|
resolve(undefined);
|
||||||
} else {
|
} else {
|
||||||
const files: File[] = [...fileList].filter((file) => file);
|
const files: File[] = getFilesFromFileList(fileList);
|
||||||
resolve((multiple ? files : files[0]) as FilesOrFile<M>);
|
resolve((multiple ? files : files[0]) as FilesOrFile<M>);
|
||||||
}
|
}
|
||||||
input.removeEventListener('change', changeHandler);
|
input.removeEventListener('change', changeHandler);
|
||||||
|
@ -70,7 +81,7 @@ export const selectFile = <M extends boolean | undefined = undefined>(
|
||||||
|
|
||||||
export const getDataTransferFiles = (dataTransfer: DataTransfer): File[] | undefined => {
|
export const getDataTransferFiles = (dataTransfer: DataTransfer): File[] | undefined => {
|
||||||
const fileList = dataTransfer.files;
|
const fileList = dataTransfer.files;
|
||||||
const files = [...fileList].filter((file) => file);
|
const files: File[] = getFilesFromFileList(fileList);
|
||||||
if (files.length === 0) return undefined;
|
if (files.length === 0) return undefined;
|
||||||
return files;
|
return files;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue