multi-data
Version:
Create multipart form data
33 lines (32 loc) • 967 B
TypeScript
export type HeadersObject = Record<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;
}