UNPKG

@caidrive/shared

Version:

caidrive.shared.components

62 lines (61 loc) 2.03 kB
/** * */ /** * */ interface FileJSON extends Pick<StorageFile, "size" | "filepath" | "originalFilename" | "mimetype" | "hash" | "newFilename"> { length: number; mimetype: string | null; mtime: Date | null; } export interface StorageFile { /** * The size of the uploaded file in bytes. If the file is still being uploaded (see `'fileBegin'` * event), this property says how many bytes of the file have been written to disk yet. */ size: number; /** * The path this file is being written to. You can modify this in the `'fileBegin'` event in case * you are unhappy with the way formidable generates a temporary path for your files. */ filepath: string; /** * The name this file had according to the uploading client. */ originalFilename: string | null; /** * Calculated based on options provided */ newFilename: string; /** * The mime type of this file, according to the uploading client. */ mimetype: string | null; /** * A Date object (or `null`) containing the time this file was last written to. Mostly here for * compatibility with the [W3C File API Draft](http://dev.w3.org/2006/webapi/FileAPI/). */ mtime?: Date | null | undefined; hashAlgorithm: false | "sha1" | "md5" | "sha256"; /** * If `options.hashAlgorithm` calculation was set, you can read the hex digest out of this var * (at the end it will be a string). */ hash?: string | null; /** * This method returns a JSON-representation of the file, allowing you to JSON.stringify() the * file which is useful for logging and responding to requests. * * @link https://github.com/node-formidable/formidable#filetojson */ toJSON(): FileJSON; toString(): string; } export type ParsedFiles<U extends string = string> = { readonly [Prop in U]?: StorageFile[]; }; export type ParsedFields<T extends string = string> = { readonly [Prop in T]?: string[]; }; export {};