module CfnFlip
( yamlFileToJson
, yamlToJson
, jsonToYamlFile
, jsonFileToYaml
, jsonToYaml
) where
import CfnFlip.Prelude
import CfnFlip.Aeson
import qualified CfnFlip.JsonToYaml as JsonToYaml
import qualified CfnFlip.Yaml as Yaml
import qualified CfnFlip.YamlToJson as YamlToJson
yamlFileToJson :: (MonadIO m, FromJSON a) => FilePath -> m a
yamlFileToJson :: forall (m :: * -> *) a. (MonadIO m, FromJSON a) => FilePath -> m a
yamlFileToJson = forall (m :: * -> *) a.
(MonadIO m, FromJSON a) =>
ByteString -> m a
yamlToJson forall (m :: * -> *) b c a.
Monad m =>
(b -> m c) -> (a -> m b) -> a -> m c
<=< forall (m :: * -> *). MonadIO m => FilePath -> m ByteString
readFileBinary
yamlToJson :: (MonadIO m, FromJSON a) => ByteString -> m a
yamlToJson :: forall (m :: * -> *) a.
(MonadIO m, FromJSON a) =>
ByteString -> m a
yamlToJson = forall {m :: * -> *} {a}.
(MonadIO m, FromJSON a) =>
ConduitT Event Event Parse () -> ByteString -> m a
Yaml.decode forall (m :: * -> *). MonadIO m => ConduitT Event Event m ()
YamlToJson.translate
jsonToYamlFile :: (MonadUnliftIO m, ToJSON a) => FilePath -> a -> m ()
jsonToYamlFile :: forall (m :: * -> *) a.
(MonadUnliftIO m, ToJSON a) =>
FilePath -> a -> m ()
jsonToYamlFile FilePath
path = forall (m :: * -> *). MonadIO m => FilePath -> ByteString -> m ()
writeFileBinary FilePath
path forall (m :: * -> *) b c a.
Monad m =>
(b -> m c) -> (a -> m b) -> a -> m c
<=< forall (m :: * -> *) a.
(MonadUnliftIO m, ToJSON a) =>
a -> m ByteString
jsonToYaml
jsonFileToYaml :: MonadUnliftIO m => FilePath -> m ByteString
jsonFileToYaml :: forall (m :: * -> *). MonadUnliftIO m => FilePath -> m ByteString
jsonFileToYaml = forall (m :: * -> *) a.
(MonadUnliftIO m, ToJSON a) =>
a -> m ByteString
jsonToYaml @_ @Value forall (m :: * -> *) b c a.
Monad m =>
(b -> m c) -> (a -> m b) -> a -> m c
<=< forall (m :: * -> *) a. (MonadIO m, FromJSON a) => FilePath -> m a
eitherDecodeFileStrictThrow
jsonToYaml :: (MonadUnliftIO m, ToJSON a) => a -> m ByteString
jsonToYaml :: forall (m :: * -> *) a.
(MonadUnliftIO m, ToJSON a) =>
a -> m ByteString
jsonToYaml = forall (m :: * -> *) a.
(MonadUnliftIO m, ToJSON a) =>
ConduitT Event Event (ResourceT m) () -> a -> m ByteString
Yaml.encode forall (m :: * -> *). MonadIO m => ConduitT Event Event m ()
JsonToYaml.translate