import { WebStreamByobReader } from './WebStreamByobReader.js'; import { WebStreamDefaultReader } from './WebStreamDefaultReader.js'; export function makeWebStreamReader(stream) { try { const reader = stream.getReader({ mode: "byob" }); if (reader instanceof ReadableStreamDefaultReader) { // Fallback to default reader in case `mode: byob` is ignored return new WebStreamDefaultReader(reader); } return new WebStreamByobReader(reader); } catch (error) { if (error instanceof TypeError) { // Fallback to default reader in case `mode: byob` rejected by a `TypeError` return new WebStreamDefaultReader(stream.getReader()); } throw error; } }