Skip to content

Commit 8242862

Browse files
committed
stream: reject TransformStream in addAbortSignal
1 parent ec81573 commit 8242862

2 files changed

Lines changed: 10 additions & 2 deletions

File tree

lib/internal/streams/add-abort-signal.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ const {
1313

1414
const {
1515
isNodeStream,
16-
isWebStream,
16+
isReadableStream,
17+
isWritableStream,
1718
kControllerAbortFunction,
1819
} = require('internal/streams/utils');
1920

@@ -32,7 +33,9 @@ const validateAbortSignal = (signal, name) => {
3233

3334
module.exports.addAbortSignal = function addAbortSignal(signal, stream) {
3435
validateAbortSignal(signal, 'signal');
35-
if (!isNodeStream(stream) && !isWebStream(stream)) {
36+
if (!isNodeStream(stream) &&
37+
!isReadableStream(stream) &&
38+
!isWritableStream(stream)) {
3639
throw new ERR_INVALID_ARG_TYPE('stream', ['ReadableStream', 'WritableStream', 'Stream'], stream);
3740
}
3841
return module.exports.addAbortSignalNoValidate(signal, stream);

test/parallel/test-stream-add-abort-signal.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
require('../common');
55
const assert = require('assert');
66
const { addAbortSignal, Readable } = require('stream');
7+
const { TransformStream } = require('stream/web');
78
const {
89
addAbortSignalNoValidate,
910
} = require('internal/streams/add-abort-signal');
@@ -17,6 +18,10 @@ const {
1718
assert.throws(() => {
1819
addAbortSignal(ac.signal, 'INVALID_STREAM');
1920
}, /ERR_INVALID_ARG_TYPE/);
21+
22+
assert.throws(() => {
23+
addAbortSignal(ac.signal, new TransformStream());
24+
}, /ERR_INVALID_ARG_TYPE/);
2025
}
2126

2227
{

0 commit comments

Comments
 (0)