natskell-0.0.0.1: internal/Plumbing/Pipeline/Streaming/API.hs
{-# LANGUAGE RankNTypes #-}
module Pipeline.Streaming.API
( StreamingAPI (..)
) where
import Control.Monad.IO.Class (MonadIO)
import Lib.Logger.Types (MonadLogger)
import Network.ConnectionAPI (ReaderAPI)
import Parser.API (ParserAPI)
newtype StreamingAPI = StreamingAPI { run :: forall m reader a. (MonadLogger m, MonadIO m) => Int -> ReaderAPI reader -> reader -> ParserAPI a -> (a -> IO ()) -> m () }