123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- // Type definitions for dicer 0.2
- // Project: https://github.com/mscdex/dicer
- // Definitions by: BendingBender <https://github.com/BendingBender>
- // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
- // TypeScript Version: 2.2
- /// <reference types="node" />
- import stream = require("stream");
- // tslint:disable:unified-signatures
- /**
- * A very fast streaming multipart parser for node.js.
- * Dicer is a WritableStream
- *
- * Dicer (special) events:
- * - on('finish', ()) - Emitted when all parts have been parsed and the Dicer instance has been ended.
- * - on('part', (stream: PartStream)) - Emitted when a new part has been found.
- * - on('preamble', (stream: PartStream)) - Emitted for preamble if you should happen to need it (can usually be ignored).
- * - on('trailer', (data: Buffer)) - Emitted when trailing data was found after the terminating boundary (as with the preamble, this can usually be ignored too).
- */
- export class Dicer extends stream.Writable {
- /**
- * Creates and returns a new Dicer instance with the following valid config settings:
- *
- * @param config The configuration to use
- */
- constructor(config: Dicer.Config);
- /**
- * Sets the boundary to use for parsing and performs some initialization needed for parsing.
- * You should only need to use this if you set headerFirst to true in the constructor and are parsing the boundary from the preamble header.
- *
- * @param boundary The boundary to use
- */
- setBoundary(boundary: string): void;
- addListener(event: "finish", listener: () => void): this;
- addListener(event: "part", listener: (stream: Dicer.PartStream) => void): this;
- addListener(event: "preamble", listener: (stream: Dicer.PartStream) => void): this;
- addListener(event: "trailer", listener: (data: Buffer) => void): this;
- addListener(event: "close", listener: () => void): this;
- addListener(event: "drain", listener: () => void): this;
- addListener(event: "error", listener: (err: Error) => void): this;
- addListener(event: "pipe", listener: (src: stream.Readable) => void): this;
- addListener(event: "unpipe", listener: (src: stream.Readable) => void): this;
- addListener(event: string, listener: (...args: any[]) => void): this;
- on(event: "finish", listener: () => void): this;
- on(event: "part", listener: (stream: Dicer.PartStream) => void): this;
- on(event: "preamble", listener: (stream: Dicer.PartStream) => void): this;
- on(event: "trailer", listener: (data: Buffer) => void): this;
- on(event: "close", listener: () => void): this;
- on(event: "drain", listener: () => void): this;
- on(event: "error", listener: (err: Error) => void): this;
- on(event: "pipe", listener: (src: stream.Readable) => void): this;
- on(event: "unpipe", listener: (src: stream.Readable) => void): this;
- on(event: string, listener: (...args: any[]) => void): this;
- once(event: "finish", listener: () => void): this;
- once(event: "part", listener: (stream: Dicer.PartStream) => void): this;
- once(event: "preamble", listener: (stream: Dicer.PartStream) => void): this;
- once(event: "trailer", listener: (data: Buffer) => void): this;
- once(event: "close", listener: () => void): this;
- once(event: "drain", listener: () => void): this;
- once(event: "error", listener: (err: Error) => void): this;
- once(event: "pipe", listener: (src: stream.Readable) => void): this;
- once(event: "unpipe", listener: (src: stream.Readable) => void): this;
- once(event: string, listener: (...args: any[]) => void): this;
- prependListener(event: "finish", listener: () => void): this;
- prependListener(event: "part", listener: (stream: Dicer.PartStream) => void): this;
- prependListener(event: "preamble", listener: (stream: Dicer.PartStream) => void): this;
- prependListener(event: "trailer", listener: (data: Buffer) => void): this;
- prependListener(event: "close", listener: () => void): this;
- prependListener(event: "drain", listener: () => void): this;
- prependListener(event: "error", listener: (err: Error) => void): this;
- prependListener(event: "pipe", listener: (src: stream.Readable) => void): this;
- prependListener(event: "unpipe", listener: (src: stream.Readable) => void): this;
- prependListener(event: string, listener: (...args: any[]) => void): this;
- prependOnceListener(event: "finish", listener: () => void): this;
- prependOnceListener(event: "part", listener: (stream: Dicer.PartStream) => void): this;
- prependOnceListener(event: "preamble", listener: (stream: Dicer.PartStream) => void): this;
- prependOnceListener(event: "trailer", listener: (data: Buffer) => void): this;
- prependOnceListener(event: "close", listener: () => void): this;
- prependOnceListener(event: "drain", listener: () => void): this;
- prependOnceListener(event: "error", listener: (err: Error) => void): this;
- prependOnceListener(event: "pipe", listener: (src: stream.Readable) => void): this;
- prependOnceListener(event: "unpipe", listener: (src: stream.Readable) => void): this;
- prependOnceListener(event: string, listener: (...args: any[]) => void): this;
- removeListener(event: "finish", listener: () => void): this;
- removeListener(event: "part", listener: (stream: Dicer.PartStream) => void): this;
- removeListener(event: "preamble", listener: (stream: Dicer.PartStream) => void): this;
- removeListener(event: "trailer", listener: (data: Buffer) => void): this;
- removeListener(event: "close", listener: () => void): this;
- removeListener(event: "drain", listener: () => void): this;
- removeListener(event: "error", listener: (err: Error) => void): this;
- removeListener(event: "pipe", listener: (src: stream.Readable) => void): this;
- removeListener(event: "unpipe", listener: (src: stream.Readable) => void): this;
- removeListener(event: string, listener: (...args: any[]) => void): this;
- }
- declare namespace Dicer {
- interface Config {
- /**
- * This is the boundary used to detect the beginning of a new part.
- */
- boundary?: string | undefined;
- /**
- * If true, preamble header parsing will be performed first.
- */
- headerFirst?: boolean | undefined;
- /**
- * The maximum number of header key=>value pairs to parse Default: 2000 (same as node's http).
- */
- maxHeaderPairs?: number | undefined;
- }
- /**
- * PartStream is a _ReadableStream_
- *
- * PartStream (special) events:
- * - on('header', (header: object)) - An object containing the header for this particular part. Each property value is an array of one or more string values.
- */
- interface PartStream extends stream.Readable {
- addListener(event: "header", listener: (header: object) => void): this;
- addListener(event: "close", listener: () => void): this;
- addListener(event: "data", listener: (chunk: Buffer | string) => void): this;
- addListener(event: "end", listener: () => void): this;
- addListener(event: "readable", listener: () => void): this;
- addListener(event: "error", listener: (err: Error) => void): this;
- addListener(event: string, listener: (...args: any[]) => void): this;
- on(event: "header", listener: (header: object) => void): this;
- on(event: "close", listener: () => void): this;
- on(event: "data", listener: (chunk: Buffer | string) => void): this;
- on(event: "end", listener: () => void): this;
- on(event: "readable", listener: () => void): this;
- on(event: "error", listener: (err: Error) => void): this;
- on(event: string, listener: (...args: any[]) => void): this;
- once(event: "header", listener: (header: object) => void): this;
- once(event: "close", listener: () => void): this;
- once(event: "data", listener: (chunk: Buffer | string) => void): this;
- once(event: "end", listener: () => void): this;
- once(event: "readable", listener: () => void): this;
- once(event: "error", listener: (err: Error) => void): this;
- once(event: string, listener: (...args: any[]) => void): this;
- prependListener(event: "header", listener: (header: object) => void): this;
- prependListener(event: "close", listener: () => void): this;
- prependListener(event: "data", listener: (chunk: Buffer | string) => void): this;
- prependListener(event: "end", listener: () => void): this;
- prependListener(event: "readable", listener: () => void): this;
- prependListener(event: "error", listener: (err: Error) => void): this;
- prependListener(event: string, listener: (...args: any[]) => void): this;
- prependOnceListener(event: "header", listener: (header: object) => void): this;
- prependOnceListener(event: "close", listener: () => void): this;
- prependOnceListener(event: "data", listener: (chunk: Buffer | string) => void): this;
- prependOnceListener(event: "end", listener: () => void): this;
- prependOnceListener(event: "readable", listener: () => void): this;
- prependOnceListener(event: "error", listener: (err: Error) => void): this;
- prependOnceListener(event: string, listener: (...args: any[]) => void): this;
- removeListener(event: "header", listener: (header: object) => void): this;
- removeListener(event: "close", listener: () => void): this;
- removeListener(event: "data", listener: (chunk: Buffer | string) => void): this;
- removeListener(event: "end", listener: () => void): this;
- removeListener(event: "readable", listener: () => void): this;
- removeListener(event: "error", listener: (err: Error) => void): this;
- removeListener(event: string, listener: (...args: any[]) => void): this;
- }
- }
|