{-# LANGUAGE DataKinds #-} module Chiasma.Data.Conduit where import Conduit (ConduitT, Flush) import Data.Conduit.Binary (sinkHandleFlush) import Data.Conduit.Process.Typed (StreamSpec, StreamType(STInput), createPipe) createSinkFlush :: MonadIO m => StreamSpec 'STInput (ConduitT (Flush ByteString) o m ()) createSinkFlush :: StreamSpec 'STInput (ConduitT (Flush ByteString) o m ()) createSinkFlush = Handle -> ConduitT (Flush ByteString) o m () forall (m :: * -> *) o. MonadIO m => Handle -> ConduitM (Flush ByteString) o m () sinkHandleFlush (Handle -> ConduitT (Flush ByteString) o m ()) -> StreamSpec 'STInput Handle -> StreamSpec 'STInput (ConduitT (Flush ByteString) o m ()) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> StreamSpec 'STInput Handle forall (anyStreamType :: StreamType). StreamSpec anyStreamType Handle createPipe