mirror of
https://github.com/JasonYANG170/IOTConnect-Web.git
synced 2024-11-23 20:26:28 +00:00
89 lines
2.5 KiB
TypeScript
89 lines
2.5 KiB
TypeScript
|
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;
|