module Main where import qualified Data.ByteString.Lazy.Char8 as ByteString import MiniManifest.Json ( decodeManifest , encodeManifest , parseManifestArgs , 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", "canary:10"] _ -> args case parseManifestArgs 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)