json-to-haskell/app/Main.hs

21 lines
537 B
Haskell
Raw Normal View History

2020-11-04 07:25:05 +03:00
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE TypeApplications #-}
2020-11-03 08:17:10 +03:00
module Main where
2020-11-07 09:02:29 +03:00
import JsonToHaskell
2020-11-08 07:13:58 +03:00
import qualified Data.Text.IO as T
import qualified Data.ByteString.Lazy as BL
import Options.Applicative
import System.Exit
import Flags
2020-11-08 07:37:58 +03:00
import Data.Aeson
2020-11-08 07:13:58 +03:00
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