| import { Duplex } from "readable-stream"; | |
| import { | |
| BufferList as BL, | |
| BufferListConstructor, | |
| BufferListAcceptedTypes, | |
| } from "./BufferList"; | |
| type BufferListStreamInit = | |
| | ((err: Error, buffer: Buffer) => void) | |
| | BufferListAcceptedTypes; | |
| interface BufferListStreamConstructor { | |
| new (initData?: BufferListStreamInit): BufferListStream; | |
| (callback?: BufferListStreamInit): BufferListStream; | |
| /** | |
| * Determines if the passed object is a BufferList. It will return true | |
| * if the passed object is an instance of BufferList or BufferListStream | |
| * and false otherwise. | |
| * | |
| * N.B. this won't return true for BufferList or BufferListStream instances | |
| * created by versions of this library before this static method was added. | |
| * | |
| * @param other | |
| */ | |
| isBufferList(other: unknown): boolean; | |
| /** | |
| * Rexporting BufferList and BufferListStream to fix | |
| * issue with require/commonjs import and "export = " below. | |
| */ | |
| BufferList: BufferListConstructor; | |
| BufferListStream: BufferListStreamConstructor; | |
| } | |
| interface BufferListStream extends Duplex, BL { | |
| prototype: BufferListStream & BL; | |
| } | |
| /** | |
| * BufferListStream is a Node Duplex Stream, so it can be read from | |
| * and written to like a standard Node stream. You can also pipe() | |
| * to and from a BufferListStream instance. | |
| * | |
| * The constructor takes an optional callback, if supplied, the | |
| * callback will be called with an error argument followed by a | |
| * reference to the bl instance, when bl.end() is called | |
| * (i.e. from a piped stream). | |
| * | |
| * This is a convenient method of collecting the entire contents of | |
| * a stream, particularly when the stream is chunky, such as a network | |
| * stream. | |
| * | |
| * Normally, no arguments are required for the constructor, but you can | |
| * initialise the list by passing in a single Buffer object or an array | |
| * of Buffer object. | |
| * | |
| * `new` is not strictly required, if you don't instantiate a new object, | |
| * it will be done automatically for you so you can create a new instance | |
| * simply with: | |
| * | |
| * ```js | |
| * const { BufferListStream } = require('bl'); | |
| * const bl = BufferListStream(); | |
| * | |
| * // equivalent to: | |
| * | |
| * const { BufferListStream } = require('bl'); | |
| * const bl = new BufferListStream(); | |
| * ``` | |
| * | |
| * N.B. For backwards compatibility reasons, BufferListStream is the default | |
| * export when you `require('bl')`: | |
| * | |
| * ```js | |
| * const { BufferListStream } = require('bl') | |
| * | |
| * // equivalent to: | |
| * | |
| * const BufferListStream = require('bl') | |
| * ``` | |
| */ | |
| declare const BufferListStream: BufferListStreamConstructor; | |
| export = BufferListStream; | |