You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							57 lines
						
					
					
						
							1.9 KiB
						
					
					
				
			
		
		
	
	
							57 lines
						
					
					
						
							1.9 KiB
						
					
					
				/// <reference types="node" />
 | 
						|
import { FastifyRequest } from 'fastify';
 | 
						|
import { Strategy } from './lib/file-appender';
 | 
						|
export declare type FilesObject = {
 | 
						|
    [fieldname: string]: Partial<File>[];
 | 
						|
};
 | 
						|
export interface Field {
 | 
						|
    name: string;
 | 
						|
    maxCount?: number;
 | 
						|
}
 | 
						|
export interface File {
 | 
						|
    fieldname: string;
 | 
						|
    originalname: string;
 | 
						|
    encoding: string;
 | 
						|
    mimetype: string;
 | 
						|
    size?: number;
 | 
						|
    destination?: string;
 | 
						|
    filename?: string;
 | 
						|
    path?: string;
 | 
						|
    buffer?: Buffer;
 | 
						|
    stream?: NodeJS.ReadableStream;
 | 
						|
}
 | 
						|
export declare type FileFilterCallback = (error: Error | null, acceptFile?: boolean) => void;
 | 
						|
export declare type FileFilter = (req: FastifyRequest, file: File, callback: FileFilterCallback) => void;
 | 
						|
export interface Options {
 | 
						|
    dest?: string;
 | 
						|
    storage?: StorageEngine;
 | 
						|
    limits?: {
 | 
						|
        fieldNameSize?: number;
 | 
						|
        fieldSize?: number;
 | 
						|
        fields?: number;
 | 
						|
        fileSize?: number;
 | 
						|
        files?: number;
 | 
						|
        parts?: number;
 | 
						|
        headerPairs?: number;
 | 
						|
    };
 | 
						|
    preservePath?: boolean;
 | 
						|
    fileFilter?: FileFilter;
 | 
						|
}
 | 
						|
export interface StorageEngine {
 | 
						|
    _handleFile(req: FastifyRequest, file: File, callback: (error?: Error | null, info?: Partial<File>) => void): void;
 | 
						|
    _removeFile(req: FastifyRequest, file: File, callback: (error?: Error | null) => void): void;
 | 
						|
}
 | 
						|
export declare type GetFileName = (req: FastifyRequest, file: File, callback: (error: Error | null, filename?: string) => void) => void;
 | 
						|
export declare type GetDestination = (req: FastifyRequest, file: File, callback: (error: Error | null, destination: string) => void) => void;
 | 
						|
export interface DiskStorageOptions {
 | 
						|
    destination?: string | GetDestination;
 | 
						|
    filename?: GetFileName;
 | 
						|
}
 | 
						|
export declare type Setup = () => {
 | 
						|
    storage: StorageEngine;
 | 
						|
    limits: Options['limits'];
 | 
						|
    preservePath: Options['preservePath'];
 | 
						|
    fileFilter: FileFilter;
 | 
						|
    fileStrategy: Strategy;
 | 
						|
};
 |