mirror of
https://github.com/github/semantic.git
synced 2025-01-03 13:02:37 +03:00
Generalize go to eliminate TaskF.
This commit is contained in:
parent
6f8fb5885b
commit
be9c27a32d
@ -185,7 +185,7 @@ runTaskWithOptions options task = do
|
|||||||
where
|
where
|
||||||
run' :: Task a -> IO (Either SomeException a)
|
run' :: Task a -> IO (Either SomeException a)
|
||||||
run' = runM . runError . flip runReader statter . flip runReader logger . flip runReader options . go
|
run' = runM . runError . flip runReader statter . flip runReader logger . flip runReader options . go
|
||||||
go :: Task a -> Eff '[Reader Options, Reader Logger, Reader Statter, Exc SomeException, IO] a
|
go :: Members '[Reader Options, Reader Logger, Reader Statter, Exc SomeException, IO] effs => Eff (TaskF ': effs) a -> Eff effs a
|
||||||
go = interpret (\ task -> case task of
|
go = interpret (\ task -> case task of
|
||||||
ReadBlobs (Left handle) -> rethrowing (IO.readBlobsFromHandle handle)
|
ReadBlobs (Left handle) -> rethrowing (IO.readBlobsFromHandle handle)
|
||||||
ReadBlobs (Right paths@[(path, Nothing)]) -> rethrowing (IO.isDirectory path >>= bool (IO.readBlobsFromPaths paths) (IO.readBlobsFromDir path))
|
ReadBlobs (Right paths@[(path, Nothing)]) -> rethrowing (IO.isDirectory path >>= bool (IO.readBlobsFromPaths paths) (IO.readBlobsFromDir path))
|
||||||
|
Loading…
Reference in New Issue
Block a user