recoder-code
Version:
🚀 AI-powered development platform - Chat with 32+ models, build projects, automate workflows. Free models included!
20 lines (19 loc) • 760 B
JavaScript
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;
}
}