mirror of
				https://github.com/cinnyapp/cinny.git
				synced 2025-11-04 14:30:29 +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