import { Process } from "https://deno.land/x/proc@0.20.31/src/process.ts";
A wrapper for Deno.ChildProcess
that converts streams to AsyncIterable<...>
,
corrects error handling, and adds other custom stuff.
This is used as the basis for the run
methods in this library. This can be used
standalone but is more difficult to work with.
Constructors
Properties
The wrapped process.
Indicates close has been called.
stdin
as a WritableIterable.
This property is here to make the interface philosophically compatible with stdin
of
the wrapped process, but uses a mechanism that JavaScript does not optimize very well.
Recommend using writeToStdin instead if that is possible.
Methods
Do all necessary normal steps to close the process. This does not kill the process but attempts a normal close.
This is the "backdoor" way to write directly to the underlying process stdin
without the overhead of a WritableIterable. Use instead of stdin
for streamed data.
stdin is the way to go if you are passing ad-hoc, non-continuous data to
process stdin
. However, it adds a substantial amount of overhead, and it is very
slow for processing small data. Using this function instead of stdin greatly
improves performance where small data is a factor.