symbiote-0.0.0: src/Test/Serialization/Symbiote/Aeson.hs
{-# LANGUAGE
MultiParamTypeClasses
, FlexibleInstances
, FlexibleContexts
, UndecidableInstances
#-}
module Test.Serialization.Symbiote.Aeson where
import Test.Serialization.Symbiote (SymbioteOperation, Symbiote (..), Operation)
import qualified Data.Aeson as Json
import qualified Data.Aeson.Types as Json
instance
( Json.ToJSON a
, Json.FromJSON a
, Json.ToJSON (Operation a)
, Json.FromJSON (Operation a)
, SymbioteOperation a
) => Symbiote a Json.Value where
encode = Json.toJSON
decode = Json.parseMaybe Json.parseJSON
encodeOp = Json.toJSON
decodeOp = Json.parseMaybe Json.parseJSON