module Main where
import Data.Aeson (ToJSON (..), fromEncoding)
import Data.ByteString.Builder (toLazyByteString)
import qualified Data.ByteString.Lazy.Char8 as BC
import Data.ProtoLens (defMessage)
import Lens.Micro
import Proto.Haberdasher as P
import Proto.Haberdasher_Fields as P
import Proto.Haberdasher_JSON ()
main :: IO ()
main = do
print mkPong
BC.putStrLn $ toLazyByteString (fromEncoding (toEncoding mkPong))
where
mkPong :: Pong
mkPong = defMessage
& P.status .~ "OK"
& P.stuff .~ mempty
& P.maybe'extra .~ Nothing
& P.id .~ 1
& P.type' .~ "hello"