* @param {{ * mode? : "byob" * }} [options] * @returns {ReadableStreamReader}
(options = kEmptyObject)
| 361 | * @returns {ReadableStreamReader} |
| 362 | */ |
| 363 | getReader(options = kEmptyObject) { |
| 364 | if (!isReadableStream(this)) |
| 365 | throw new ERR_INVALID_THIS('ReadableStream'); |
| 366 | validateObject(options, 'options', kValidateObjectAllowObjectsAndNull); |
| 367 | const mode = options?.mode; |
| 368 | |
| 369 | if (mode === undefined) |
| 370 | // eslint-disable-next-line no-use-before-define |
| 371 | return new ReadableStreamDefaultReader(this); |
| 372 | |
| 373 | if (`${mode}` !== 'byob') |
| 374 | throw new ERR_INVALID_ARG_VALUE('options.mode', mode); |
| 375 | // eslint-disable-next-line no-use-before-define |
| 376 | return new ReadableStreamBYOBReader(this); |
| 377 | } |
| 378 | |
| 379 | /** |
| 380 | * @param {ReadableWritablePair} transform |