Signed-off-by: Daeyeon Jeong <daeyeon.dev@gmail.com> PR-URL: https://github.com/nodejs/node/pull/62911 Reviewed-By: Filip Skokan <panva.ip@gmail.com> Reviewed-By: Matthew Aitken <maitken033380023@gmail.com> Reviewed-By: Mattias Buelens <mattias@buelens.com>
28 lines
572 B
JavaScript
28 lines
572 B
JavaScript
'use strict';
|
|
|
|
require('../common');
|
|
const assert = require('node:assert');
|
|
|
|
assert.throws(
|
|
() => ReadableStream.from({}),
|
|
{ code: 'ERR_ARG_NOT_ITERABLE', name: 'TypeError' },
|
|
);
|
|
|
|
const invalidIterators = [
|
|
{ [Symbol.iterator]: () => 42 },
|
|
{ [Symbol.asyncIterator]: () => 42 },
|
|
];
|
|
|
|
for (const iterable of invalidIterators) {
|
|
assert.throws(
|
|
() => ReadableStream.from(iterable),
|
|
{ code: 'ERR_INVALID_STATE', name: 'TypeError' },
|
|
);
|
|
}
|
|
|
|
function functionIterator() {}
|
|
|
|
// doesNotThrow
|
|
ReadableStream.from({
|
|
[Symbol.iterator]: () => functionIterator,
|
|
});
|