File tree Expand file tree Collapse file tree 3 files changed +21
-8
lines changed Expand file tree Collapse file tree 3 files changed +21
-8
lines changed Original file line number Diff line number Diff line change @@ -11,7 +11,7 @@ const {
11
11
Symbol,
12
12
} = primordials ;
13
13
const {
14
- kDestroyed ,
14
+ kIsDestroyed ,
15
15
isDestroyed,
16
16
isFinished,
17
17
isServerRequest
@@ -325,7 +325,7 @@ function destroyer(stream, err) {
325
325
}
326
326
327
327
if ( ! stream . destroyed ) {
328
- stream [ kDestroyed ] = true ;
328
+ stream [ kIsDestroyed ] = true ;
329
329
}
330
330
}
331
331
Original file line number Diff line number Diff line change 6
6
SymbolIterator,
7
7
} = primordials ;
8
8
9
- const kDestroyed = Symbol ( 'kDestroyed ' ) ;
9
+ const kIsDestroyed = Symbol ( 'kIsDestroyed ' ) ;
10
10
const kIsErrored = Symbol ( 'kIsErrored' ) ;
11
11
const kIsReadable = Symbol ( 'kIsReadable' ) ;
12
+ const kIsWritable = Symbol ( 'kIsWritable' ) ;
12
13
const kIsDisturbed = Symbol ( 'kIsDisturbed' ) ;
13
14
14
15
function isReadableNodeStream ( obj , strict = false ) {
@@ -68,7 +69,7 @@ function isDestroyed(stream) {
68
69
const wState = stream . _writableState ;
69
70
const rState = stream . _readableState ;
70
71
const state = wState || rState ;
71
- return ! ! ( stream . destroyed || stream [ kDestroyed ] || state ?. destroyed ) ;
72
+ return ! ! ( stream . destroyed || stream [ kIsDestroyed ] || state ?. destroyed ) ;
72
73
}
73
74
74
75
// Have been end():d.
@@ -126,6 +127,7 @@ function isReadable(stream) {
126
127
}
127
128
128
129
function isWritable ( stream ) {
130
+ if ( stream && stream [ kIsWritable ] != null ) return stream [ kIsWritable ] ;
129
131
if ( typeof stream ?. writable !== 'boolean' ) return null ;
130
132
if ( isDestroyed ( stream ) ) return false ;
131
133
return isWritableNodeStream ( stream ) &&
@@ -262,13 +264,14 @@ function isErrored(stream) {
262
264
}
263
265
264
266
module . exports = {
265
- kDestroyed,
266
- isDisturbed,
267
+ kIsDestroyed,
267
268
kIsDisturbed,
268
- isErrored,
269
269
kIsErrored,
270
- isReadable,
271
270
kIsReadable,
271
+ kIsWritable,
272
+ isDisturbed,
273
+ isErrored,
274
+ isReadable,
272
275
isClosed,
273
276
isDestroyed,
274
277
isDuplexNodeStream,
Original file line number Diff line number Diff line change @@ -51,9 +51,19 @@ const promises = require('stream/promises');
51
51
const utils = require ( 'internal/streams/utils' ) ;
52
52
53
53
const Stream = module . exports = require ( 'internal/streams/legacy' ) . Stream ;
54
+
55
+ Stream . isDestroyed = utils . isDestroyed ;
54
56
Stream . isDisturbed = utils . isDisturbed ;
55
57
Stream . isErrored = utils . isErrored ;
56
58
Stream . isReadable = utils . isReadable ;
59
+ Stream . isWritable = utils . isWritable ;
60
+
61
+ Stream . kIsDestroyed = utils . kIsDestroyed ;
62
+ Stream . kIsErrored = utils . kIsErrored ;
63
+ Stream . kIsReadable = utils . kIsReadable ;
64
+ Stream . kIsWritable = utils . kIsWritable ;
65
+ Stream . kIsDisturbed = utils . kIsDisturbed ;
66
+
57
67
Stream . Readable = require ( 'internal/streams/readable' ) ;
58
68
for ( const key of ObjectKeys ( streamReturningOperators ) ) {
59
69
const op = streamReturningOperators [ key ] ;
You can’t perform that action at this time.
0 commit comments