json-to-haskell/app/Main.hs
Chris Penner 3ba7467d2f Fix cli
2020-11-07 22:37:58 -06:00

21 lines
537 B
Haskell

{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE TypeApplications #-}
module Main where
import JsonToHaskell
import qualified Data.Text.IO as T
import qualified Data.ByteString.Lazy as BL
import Options.Applicative
import System.Exit
import Flags
import Data.Aeson
main :: IO ()
main = do
opts <- execParser optionsParserInfo
input <- BL.getContents
case eitherDecode input of
Left err -> putStrLn err >> exitWith (ExitFailure 1)
Right val -> T.putStrLn $ jsonToHaskell opts val