module Package.C.Dhall ( getCPkg
                       , getPkgs
                       ) where

import           Dhall
import           Package.C.Dhall.Type
import           Package.C.Type.Verbosity

maybeMod :: Verbosity -> IO a -> IO a
maybeMod :: forall a. Verbosity -> IO a -> IO a
maybeMod Verbosity
v | Verbosity
v Verbosity -> Verbosity -> Bool
forall a. Ord a => a -> a -> Bool
>= Verbosity
Verbose = IO a -> IO a
forall a. IO a -> IO a
detailed
           | Bool
otherwise = IO a -> IO a
forall a. a -> a
id

getDhall :: FromDhall a => Verbosity -> FilePath -> IO a
getDhall :: forall a. FromDhall a => Verbosity -> FilePath -> IO a
getDhall Verbosity
v = Verbosity -> IO a -> IO a
forall a. Verbosity -> IO a -> IO a
maybeMod Verbosity
v (IO a -> IO a) -> (FilePath -> IO a) -> FilePath -> IO a
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Decoder a -> FilePath -> IO a
forall a. Decoder a -> FilePath -> IO a
inputFile Decoder a
forall a. FromDhall a => Decoder a
auto

getCPkg :: Verbosity -> FilePath -> IO CPkg
getCPkg :: Verbosity -> FilePath -> IO CPkg
getCPkg = Verbosity -> FilePath -> IO CPkg
forall a. FromDhall a => Verbosity -> FilePath -> IO a
getDhall

getPkgs :: Verbosity -> FilePath -> IO [CPkg]
getPkgs :: Verbosity -> FilePath -> IO [CPkg]
getPkgs = Verbosity -> FilePath -> IO [CPkg]
forall a. FromDhall a => Verbosity -> FilePath -> IO a
getDhall