| '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, |
| }); |