eam.isDestroyed = utils.isDestroyed; Stream.isDisturbed = utils.isDisturbed; Stream.isErrored = utils.isErrored; Stream.isReadable = utils.isReadable; Stream.isWritable = utils.isWritable; Stream.Readable = require('internal/streams/readable'); const streamKeys = ObjectKeys(streamReturningOperators); for (let i = 0; i < streamKeys.length; i++) { const key = streamKeys[i]; const op = streamReturningOperators[key]; function fn(...args) { if (new.target) { throw new ERR_ILLEGAL_CONSTRUCTOR(); } return Stream.Readable.from(ReflectApply(op, this, args)); } ObjectDefineProperty(fn, 'name', { __proto__: null, value: op.name }); ObjectDefineProperty(fn, 'length', { __proto__: null, value: op.length }); ObjectDefineProperty(Stream.Readable.prototype, key, { __proto__: null, value: fn, enumerable: false, configurable: true, writable: true, }); } const promiseKeys = ObjectKeys(promiseReturningOperators); for (let i = 0; i < promiseKeys.length; i++) { const key = promiseKeys[i]; const op = promiseReturningOperators[key]; function fn(...args) { if (new.target) { throw new ERR_ILLEGAL_CONSTRUCTOR(); } return ReflectApply(op, this, args); } ObjectDefineProperty(fn, 'name', { __proto__: null, value: op.name }); ObjectDefineProperty(fn, 'length', { __proto__: null, value: op.length }); ObjectDefineProperty(Stream.Readable.prototype, key, { __proto__: null, value: fn, enumerable: false, configurable: true, writable: true, }); } Stream.Writable = require('internal/streams/writable'); Stream.Duplex = require('internal/streams/duplex'); Stream.Transform = require('internal/streams/transform'); Stream.PassThrough = require('internal/streams/passthrough'); Stream.duplexPair = require('internal/streams/duplexpair'); Stream.pipeline = pipeline; const { addAbortSignal } = require('internal/streams/add-abort-signal'); Stream.addAbortSignal = addAbortSignal; Stream.finished = eos; Stream.destroy = destroyer; Stream.compose = compose; Stream.setDefaultHighWaterMark = setDefaultHighWaterMark; Stream.getDefaultHighWaterMark = getDefaultHighWaterMark; ObjectDefineProperty(Stream, 'promises', { __proto__: null, configurable: true, enumerable: true, get() { return promises; }, }); ObjectDefineProperty(pipeline, customPromisify, { __proto__: null, enumerable: true, get() { return promises.pipeline; }, }); ObjectDefineProperty(eos, customPromisify, { __proto__: null, enumerable: true, get() { return promises.finished; }, }); // Backwards-compat with node 0.4.x Stream.Stream = Stream; Stream._isArrayBufferView = isArrayBufferView; Stream._isUint8Array = isUint8Array; Stream._uint8ArrayToBuffer = function _uint8ArrayToBuffer(chunk) { return new internalBuffer.FastBuffer(chunk.buffer, chunk.byteOffset, chunk.byteLength); };