Safe Haskell | None |
---|---|
Language | Haskell98 |
The System.Process.Typed module from typed-process
, but with
added conduit helpers.
Synopsis
- createSink :: MonadIO m => StreamSpec 'STInput (ConduitM ByteString o m ())
- createSinkClose :: MonadIO m => StreamSpec 'STInput (ConduitM ByteString o m ())
- createSource :: MonadIO m => StreamSpec 'STOutput (ConduitM i ByteString m ())
- withLoggedProcess_ :: MonadUnliftIO m => ProcessConfig stdin stdoutIgnored stderrIgnored -> (Process stdin (ConduitM () ByteString m ()) (ConduitM () ByteString m ()) -> m a) -> m a
- module System.Process.Typed
- module System.Process.Typed
Conduit specific stuff
createSink :: MonadIO m => StreamSpec 'STInput (ConduitM ByteString o m ()) Source #
Provide input to a process by writing to a conduit. The sink provided here
will leave the pipe to the child open after the stream ends. This allows the
sink to be used multiple times, but may result in surprising behavior. You
may prefer createSinkClose
, see
https://github.com/snoyberg/conduit/issues/434.
Since: 1.2.1
createSinkClose :: MonadIO m => StreamSpec 'STInput (ConduitM ByteString o m ()) Source #
Like createSink
, but closes the pipe to the child process as soon as it
runs out of data.
Since: 1.3.5
createSource :: MonadIO m => StreamSpec 'STOutput (ConduitM i ByteString m ()) Source #
Read output from a process by read from a conduit.
Since: 1.2.1
Running a process with logging
withLoggedProcess_ :: MonadUnliftIO m => ProcessConfig stdin stdoutIgnored stderrIgnored -> (Process stdin (ConduitM () ByteString m ()) (ConduitM () ByteString m ()) -> m a) -> m a Source #
Run a process, throwing an exception on a failure exit code. This will store all output from stdout and stderr in memory for better error messages. Note that this will require unbounded memory usage, so caveat emptor.
This will ignore any previous settings for the stdout and stderr
streams, and instead force them to use createSource
.
Since: 1.2.3
Reexports
module System.Process.Typed
module System.Process.Typed