module Data.Salak.Yaml where
import Control.Monad.IO.Class
import Control.Monad.State
import Data.Salak.Aeson
import Data.Salak.Types
import Data.Yaml
makePropertiesFromYaml :: FilePath -> Properties -> IO Properties
makePropertiesFromYaml file p = do
v <- decodeFileThrow file
return $ makePropertiesFromJson v p
loadYaml :: MonadIO m => FilePath -> LoadProperties m ()
loadYaml file = do
p <- get
q <- liftIO $ makePropertiesFromYaml file p
put q
loadYamlIfExists :: MonadIO m => Maybe FilePath -> LoadProperties m ()
loadYamlIfExists mf = loadIfExists mf loadYaml