module Main where import qualified Data.ByteString.Lazy.Char8 as ByteString import MiniGenericJson.Manifest ( decodeManifest , encodeManifest , parseArgs , renderManifest ) import System.Environment (getArgs) import System.Exit (die) main :: IO () main = do args <- getArgs let inputArgs = case args of [] -> ["api", "production", "3", "platform,security", "stable"] _ -> args case parseArgs inputArgs of Left err -> die err Right manifest -> do let encodedManifest = encodeManifest manifest ByteString.putStrLn encodedManifest case decodeManifest encodedManifest of Left err -> die err Right decodedManifest -> putStrLn (renderManifest decodedManifest)