module NgxExport.Tools.SplitService (
splitService
,ignitionService
,deferredService
) where
import qualified Data.ByteString.Lazy as L
splitService :: (a -> IO L.ByteString)
-> (a -> IO L.ByteString)
-> a
-> Bool
-> IO L.ByteString
splitService :: forall a.
(a -> IO ByteString)
-> (a -> IO ByteString) -> a -> Bool -> IO ByteString
splitService a -> IO ByteString
is a -> IO ByteString
ds a
c Bool
fstRun
| Bool
fstRun = a -> IO ByteString
is a
c
| Bool
otherwise = a -> IO ByteString
ds a
c
ignitionService :: (a -> IO L.ByteString)
-> a
-> Bool
-> IO L.ByteString
ignitionService :: forall a. (a -> IO ByteString) -> a -> Bool -> IO ByteString
ignitionService a -> IO ByteString
is = (a -> IO ByteString)
-> (a -> IO ByteString) -> a -> Bool -> IO ByteString
forall a.
(a -> IO ByteString)
-> (a -> IO ByteString) -> a -> Bool -> IO ByteString
splitService a -> IO ByteString
is ((a -> IO ByteString) -> a -> Bool -> IO ByteString)
-> (a -> IO ByteString) -> a -> Bool -> IO ByteString
forall a b. (a -> b) -> a -> b
$ IO ByteString -> a -> IO ByteString
forall a b. a -> b -> a
const (IO ByteString -> a -> IO ByteString)
-> IO ByteString -> a -> IO ByteString
forall a b. (a -> b) -> a -> b
$ ByteString -> IO ByteString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ByteString
L.empty
deferredService :: (a -> IO L.ByteString)
-> a
-> Bool
-> IO L.ByteString
deferredService :: forall a. (a -> IO ByteString) -> a -> Bool -> IO ByteString
deferredService = (a -> IO ByteString)
-> (a -> IO ByteString) -> a -> Bool -> IO ByteString
forall a.
(a -> IO ByteString)
-> (a -> IO ByteString) -> a -> Bool -> IO ByteString
splitService ((a -> IO ByteString)
-> (a -> IO ByteString) -> a -> Bool -> IO ByteString)
-> (a -> IO ByteString)
-> (a -> IO ByteString)
-> a
-> Bool
-> IO ByteString
forall a b. (a -> b) -> a -> b
$ IO ByteString -> a -> IO ByteString
forall a b. a -> b -> a
const (IO ByteString -> a -> IO ByteString)
-> IO ByteString -> a -> IO ByteString
forall a b. (a -> b) -> a -> b
$ ByteString -> IO ByteString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ByteString
L.empty