Skip to content

Commit 1db0d51

Browse files
ronagtargos
authored andcommitted
stream: forward writableObjectMode
Duplex did not properly forward writableObjectMode. Fixes: #33388 PR-URL: #33390 Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Anna Henningsen <[email protected]>
1 parent f24292e commit 1db0d51

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed

lib/_stream_duplex.js

+2
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@ ObjectDefineProperties(Duplex.prototype, {
7575
ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writable'),
7676
writableHighWaterMark:
7777
ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writableHighWaterMark'),
78+
writableObjectMode:
79+
ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writableObjectMode'),
7880
writableBuffer:
7981
ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writableBuffer'),
8082
writableLength:
+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
'use strict';
2+
3+
require('../common');
4+
const assert = require('assert');
5+
const { Duplex } = require('stream');
6+
7+
{
8+
const d = new Duplex({
9+
objectMode: true,
10+
highWaterMark: 100
11+
});
12+
13+
assert.strictEqual(d.writableObjectMode, true);
14+
assert.strictEqual(d.writableHighWaterMark, 100);
15+
assert.strictEqual(d.readableObjectMode, true);
16+
assert.strictEqual(d.readableHighWaterMark, 100);
17+
}
18+
19+
{
20+
const d = new Duplex({
21+
readableObjectMode: false,
22+
readableHighWaterMark: 10,
23+
writableObjectMode: true,
24+
writableHighWaterMark: 100
25+
});
26+
27+
assert.strictEqual(d.writableObjectMode, true);
28+
assert.strictEqual(d.writableHighWaterMark, 100);
29+
assert.strictEqual(d.readableObjectMode, false);
30+
assert.strictEqual(d.readableHighWaterMark, 10);
31+
}

0 commit comments

Comments
 (0)