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
|