mirror of
				https://github.com/cinnyapp/cinny.git
				synced 2025-11-04 14:30:29 +03:00 
			
		
		
		
	fix type error when accessing FileList
This commit is contained in:
		
							parent
							
								
									f82cfead46
								
							
						
					
					
						commit
						67641f8475
					
				
					 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