proto3-suite-0.4.1: src/Proto3/Suite/JSONPB.hs
{-# LANGUAGE CPP #-}
module Proto3.Suite.JSONPB
( -- * Typeclasses
FromJSONPB(..)
, ToJSONPB(..)
-- * Operators
, (.:)
, (.=)
-- * Options for controlling codec behavior (e.g., emitting default-valued
-- fields in JSON payloads)
, Options(..)
, defaultOptions
, jsonPBOptions
-- * JSONPB codec entry points
, eitherDecode
, encode
-- * Helper functions
, enumFieldEncoding
, enumFieldString
, object
, objectOrNull
, pair
, pairs
, pairsOrNull
, parseField
, toAesonEncoding
, toAesonValue
-- * Aeson re-exports
, A.Value(..)
, A.ToJSON(..)
, A.FromJSON(..)
, A.typeMismatch
, A.withObject
#ifdef SWAGGER
-- * Swagger schema helpers
, Swagger.ToSchema(..)
, Swagger.NamedSchema(..)
, Swagger.Schema(..)
, Swagger.ParamSchema(..)
, Swagger.SwaggerType(..)
, Swagger.declareSchemaRef
, Proto3.Suite.DotProto.Generate.Swagger.OverrideToSchema(..)
, Proto3.Suite.DotProto.Generate.Swagger.asProxy
, Proto3.Suite.DotProto.Generate.Swagger.insOrdFromList
#endif
)
where
import qualified Data.Aeson as A
import qualified Data.Aeson.Types as A
#ifdef SWAGGER
import qualified Data.Swagger as Swagger
import Proto3.Suite.DotProto.Generate.Swagger
#endif
import Proto3.Suite.JSONPB.Class