the-moby-effect
Version:
Moby/Docker API client built using effect-ts
20 lines • 930 B
JavaScript
import * as Console from "effect/Console";
import * as Effect from "effect/Effect";
import * as Sink from "effect/Sink";
import * as Stdio from "effect/Stdio";
import { asMultiplexedChannel, demuxMultiplexedToSeparateSinks, makeMultiplexedChannel } from "./multiplexed.js";
/** @internal */
export const demuxFromStdinToStdoutAndStderr = (sockets, options) => {
const {
underlying
} = asMultiplexedChannel(sockets);
const multiplexedChannel = makeMultiplexedChannel(underlying);
return Effect.flatMap(Stdio.Stdio, stdio => demuxMultiplexedToSeparateSinks(multiplexedChannel, stdio.stdin, stdio.stdout({
endOnDone: false
}), stdio.stderr({
endOnDone: false
}), options));
};
/** @internal */
export const demuxWithInputToConsole = (sockets, input, options) => demuxMultiplexedToSeparateSinks(sockets, input, Sink.forEach(Console.log), Sink.forEach(Console.error), options);
//# sourceMappingURL=stdio.js.map