UNPKG

consortium

Version:

Remote control and session sharing CLI for AI coding agents

36 lines (33 loc) • 1.01 kB
import { W as WritableStream, C as Consumable } from './consumable-GBIKq8FA.mjs'; import { t as tryConsume } from './utils-CoFf4cMv.mjs'; class MaybeConsumableWritableStream extends WritableStream { constructor(sink, strategy) { let wrappedStrategy; if (strategy) { wrappedStrategy = {}; if ("highWaterMark" in strategy) { wrappedStrategy.highWaterMark = strategy.highWaterMark; } if ("size" in strategy) { wrappedStrategy.size = (chunk) => { return strategy.size(chunk instanceof Consumable ? chunk.value : chunk); }; } } super({ start(controller) { return sink.start?.(controller); }, write(chunk, controller) { return tryConsume(chunk, (chunk2) => sink.write?.(chunk2, controller)); }, abort(reason) { return sink.abort?.(reason); }, close() { return sink.close?.(); } }, wrappedStrategy); } } export { MaybeConsumableWritableStream as M };