diff --git a/lib/_stream_duplex.js b/lib/_stream_duplex.js index ced361c8d60898..2b92959a2c3d6c 100644 --- a/lib/_stream_duplex.js +++ b/lib/_stream_duplex.js @@ -75,6 +75,8 @@ ObjectDefineProperties(Duplex.prototype, { ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writable'), writableHighWaterMark: ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writableHighWaterMark'), + writableObjectMode: + ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writableObjectMode'), writableBuffer: ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writableBuffer'), writableLength: diff --git a/test/parallel/test-stream-duplex-props.js b/test/parallel/test-stream-duplex-props.js new file mode 100644 index 00000000000000..aa6b23125a9d9d --- /dev/null +++ b/test/parallel/test-stream-duplex-props.js @@ -0,0 +1,31 @@ +'use strict'; + +require('../common'); +const assert = require('assert'); +const { Duplex } = require('stream'); + +{ + const d = new Duplex({ + objectMode: true, + highWaterMark: 100 + }); + + assert.strictEqual(d.writableObjectMode, true); + assert.strictEqual(d.writableHighWaterMark, 100); + assert.strictEqual(d.readableObjectMode, true); + assert.strictEqual(d.readableHighWaterMark, 100); +} + +{ + const d = new Duplex({ + readableObjectMode: false, + readableHighWaterMark: 10, + writableObjectMode: true, + writableHighWaterMark: 100 + }); + + assert.strictEqual(d.writableObjectMode, true); + assert.strictEqual(d.writableHighWaterMark, 100); + assert.strictEqual(d.readableObjectMode, false); + assert.strictEqual(d.readableHighWaterMark, 10); +}