12345678910111213141516171819202122232425262728293031323334353637 |
- export function isStream(stream, {checkOpen = true} = {}) {
- return stream !== null
- && typeof stream === 'object'
- && (stream.writable || stream.readable || !checkOpen || (stream.writable === undefined && stream.readable === undefined))
- && typeof stream.pipe === 'function';
- }
- export function isWritableStream(stream, {checkOpen = true} = {}) {
- return isStream(stream, {checkOpen})
- && (stream.writable || !checkOpen)
- && typeof stream.write === 'function'
- && typeof stream.end === 'function'
- && typeof stream.writable === 'boolean'
- && typeof stream.writableObjectMode === 'boolean'
- && typeof stream.destroy === 'function'
- && typeof stream.destroyed === 'boolean';
- }
- export function isReadableStream(stream, {checkOpen = true} = {}) {
- return isStream(stream, {checkOpen})
- && (stream.readable || !checkOpen)
- && typeof stream.read === 'function'
- && typeof stream.readable === 'boolean'
- && typeof stream.readableObjectMode === 'boolean'
- && typeof stream.destroy === 'function'
- && typeof stream.destroyed === 'boolean';
- }
- export function isDuplexStream(stream, options) {
- return isWritableStream(stream, options)
- && isReadableStream(stream, options);
- }
- export function isTransformStream(stream, options) {
- return isDuplexStream(stream, options)
- && typeof stream._transform === 'function';
- }
|