assistant-stream
Version:
Streaming utilities for AI assistants
20 lines (19 loc) • 533 B
JavaScript
// src/core/utils/stream/controller-guards.ts
const isClosedControllerError = (error) => error instanceof TypeError;
const enqueueIfOpen = (controller, chunk, onDrop) => {
try {
controller.enqueue(chunk);
} catch (error) {
if (!isClosedControllerError(error)) throw error;
onDrop?.(error);
}
};
const closeIfOpen = (controller) => {
try {
controller.close();
} catch (error) {
if (!isClosedControllerError(error)) throw error;
}
};
export { closeIfOpen, enqueueIfOpen };
//# sourceMappingURL=controller-guards.js.map