multi-data
Version:
Create multipart form data
35 lines (34 loc) • 977 B
TypeScript
export interface HeadersObject {
[key: string]: string;
}
export interface Options {
headers?: HeadersObject;
}
export interface Splittable<T> {
slice(idx: number, len?: number): this;
[idx: number]: T;
readonly length: number;
}
/**
* Class to build and concatenate multipart form data
*/
export default class MultiData {
readonly boundary: string;
protected lines: string[];
/**
* @param boundary The string used to define multipart boundaries and the end of body.
*/
constructor(boundary: string);
/**
* Append a part to the multipart form data.
*
* @param name The part name.
* @param data The part data.
* @param options Pass headers in the options for custom part headers.
*/
append<T>(name: string, data: Splittable<T>, options?: Options): MultiData;
/**
* After appending data, use toString() to concatenate the form data for your request.
*/
toString(): string;
}