@jadl/builders
Version:
Builders for JaDL
47 lines (46 loc) • 1.27 kB
TypeScript
/// <reference types="node" />
import FormData from 'form-data';
export interface FileBuilderFile {
name: string;
buffer: Buffer;
}
/**
* File builder for easily sending file(s) as a response
* @example
* return new FileBuilder()
* .add('image.png', imageBuffer)
* .add('info.txt', Buffer.from('What\'s up!'))
*/
export declare class FileBuilder {
files: FileBuilderFile[];
constructor(files?: FileBuilderFile[]);
/**
* Adds a file to be sent
* @param name Name of file
* @param buffer Buffer of the file
* @returns {FileBuilder}
*/
add(name: string, buffer: Buffer): this;
/**
* Removes a file from the builder
* @param name Name of file
* @returns {FileBuilder}
*/
remove(name: string): this;
/**
* Finds a file by it's name
* @param name Name of file
* @returns {FileBuilderFile}
*/
find(name: string): FileBuilderFile | undefined;
/**
* Clones this file builder to a deep cloned new FileBuilder
* @returns {FileBuilder} cloned FileBuilder
*/
clone(): FileBuilder;
/**
* Renders the FileBuilder to form-data
* @returns {FormData}
*/
toFormData(): FormData;
}