Blame tests/Encoders.hs

Packit 9a2dfb
{-# LANGUAGE CPP #-}
Packit 9a2dfb
{-# LANGUAGE GADTs #-}
Packit 9a2dfb
{-# LANGUAGE TemplateHaskell #-}
Packit 9a2dfb
Packit 9a2dfb
module Encoders (module Encoders) where
Packit 9a2dfb
Packit 9a2dfb
import Prelude ()
Packit 9a2dfb
import Prelude.Compat
Packit 9a2dfb
Packit 9a2dfb
import Data.Aeson.TH
Packit 9a2dfb
import Data.Aeson.Types
Packit 9a2dfb
import Options
Packit 9a2dfb
import Types
Packit 9a2dfb
Packit 9a2dfb
--------------------------------------------------------------------------------
Packit 9a2dfb
-- Nullary encoders/decoders
Packit 9a2dfb
--------------------------------------------------------------------------------
Packit 9a2dfb
Packit 9a2dfb
thNullaryToJSONString :: Nullary -> Value
Packit 9a2dfb
thNullaryToJSONString = $(mkToJSON defaultOptions ''Nullary)
Packit 9a2dfb
Packit 9a2dfb
thNullaryToEncodingString :: Nullary -> Encoding
Packit 9a2dfb
thNullaryToEncodingString = $(mkToEncoding defaultOptions ''Nullary)
Packit 9a2dfb
Packit 9a2dfb
thNullaryParseJSONString :: Value -> Parser Nullary
Packit 9a2dfb
thNullaryParseJSONString = $(mkParseJSON defaultOptions ''Nullary)
Packit 9a2dfb
Packit 9a2dfb
Packit 9a2dfb
thNullaryToJSON2ElemArray :: Nullary -> Value
Packit 9a2dfb
thNullaryToJSON2ElemArray = $(mkToJSON opts2ElemArray ''Nullary)
Packit 9a2dfb
Packit 9a2dfb
thNullaryToEncoding2ElemArray :: Nullary -> Encoding
Packit 9a2dfb
thNullaryToEncoding2ElemArray = $(mkToEncoding opts2ElemArray ''Nullary)
Packit 9a2dfb
Packit 9a2dfb
thNullaryParseJSON2ElemArray :: Value -> Parser Nullary
Packit 9a2dfb
thNullaryParseJSON2ElemArray = $(mkParseJSON opts2ElemArray ''Nullary)
Packit 9a2dfb
Packit 9a2dfb
Packit 9a2dfb
thNullaryToJSONTaggedObject :: Nullary -> Value
Packit 9a2dfb
thNullaryToJSONTaggedObject = $(mkToJSON optsTaggedObject ''Nullary)
Packit 9a2dfb
Packit 9a2dfb
thNullaryToEncodingTaggedObject :: Nullary -> Encoding
Packit 9a2dfb
thNullaryToEncodingTaggedObject = $(mkToEncoding optsTaggedObject ''Nullary)
Packit 9a2dfb
Packit 9a2dfb
thNullaryParseJSONTaggedObject :: Value -> Parser Nullary
Packit 9a2dfb
thNullaryParseJSONTaggedObject = $(mkParseJSON optsTaggedObject ''Nullary)
Packit 9a2dfb
Packit 9a2dfb
Packit 9a2dfb
thNullaryToJSONObjectWithSingleField :: Nullary -> Value
Packit 9a2dfb
thNullaryToJSONObjectWithSingleField =
Packit 9a2dfb
  $(mkToJSON optsObjectWithSingleField ''Nullary)
Packit 9a2dfb
Packit 9a2dfb
thNullaryToEncodingObjectWithSingleField :: Nullary -> Encoding
Packit 9a2dfb
thNullaryToEncodingObjectWithSingleField =
Packit 9a2dfb
  $(mkToEncoding optsObjectWithSingleField ''Nullary)
Packit 9a2dfb
Packit 9a2dfb
thNullaryParseJSONObjectWithSingleField :: Value -> Parser Nullary
Packit 9a2dfb
thNullaryParseJSONObjectWithSingleField = $(mkParseJSON optsObjectWithSingleField ''Nullary)
Packit 9a2dfb
Packit 9a2dfb
gNullaryToJSONString :: Nullary -> Value
Packit 9a2dfb
gNullaryToJSONString = genericToJSON defaultOptions
Packit 9a2dfb
Packit 9a2dfb
gNullaryToEncodingString :: Nullary -> Encoding
Packit 9a2dfb
gNullaryToEncodingString = genericToEncoding defaultOptions
Packit 9a2dfb
Packit 9a2dfb
gNullaryParseJSONString :: Value -> Parser Nullary
Packit 9a2dfb
gNullaryParseJSONString = genericParseJSON defaultOptions
Packit 9a2dfb
Packit 9a2dfb
Packit 9a2dfb
gNullaryToJSON2ElemArray :: Nullary -> Value
Packit 9a2dfb
gNullaryToJSON2ElemArray = genericToJSON opts2ElemArray
Packit 9a2dfb
Packit 9a2dfb
gNullaryToEncoding2ElemArray :: Nullary -> Encoding
Packit 9a2dfb
gNullaryToEncoding2ElemArray = genericToEncoding opts2ElemArray
Packit 9a2dfb
Packit 9a2dfb
gNullaryParseJSON2ElemArray :: Value -> Parser Nullary
Packit 9a2dfb
gNullaryParseJSON2ElemArray = genericParseJSON opts2ElemArray
Packit 9a2dfb
Packit 9a2dfb
Packit 9a2dfb
gNullaryToJSONTaggedObject :: Nullary -> Value
Packit 9a2dfb
gNullaryToJSONTaggedObject = genericToJSON optsTaggedObject
Packit 9a2dfb
Packit 9a2dfb
gNullaryToEncodingTaggedObject :: Nullary -> Encoding
Packit 9a2dfb
gNullaryToEncodingTaggedObject = genericToEncoding optsTaggedObject
Packit 9a2dfb
Packit 9a2dfb
gNullaryParseJSONTaggedObject :: Value -> Parser Nullary
Packit 9a2dfb
gNullaryParseJSONTaggedObject = genericParseJSON optsTaggedObject
Packit 9a2dfb
Packit 9a2dfb
Packit 9a2dfb
gNullaryToJSONObjectWithSingleField :: Nullary -> Value
Packit 9a2dfb
gNullaryToJSONObjectWithSingleField = genericToJSON optsObjectWithSingleField
Packit 9a2dfb
Packit 9a2dfb
gNullaryToEncodingObjectWithSingleField :: Nullary -> Encoding
Packit 9a2dfb
gNullaryToEncodingObjectWithSingleField = genericToEncoding optsObjectWithSingleField
Packit 9a2dfb
Packit 9a2dfb
gNullaryParseJSONObjectWithSingleField :: Value -> Parser Nullary
Packit 9a2dfb
gNullaryParseJSONObjectWithSingleField = genericParseJSON optsObjectWithSingleField
Packit 9a2dfb
Packit 9a2dfb
Packit 9a2dfb
--------------------------------------------------------------------------------
Packit 9a2dfb
-- SomeType encoders/decoders
Packit 9a2dfb
--------------------------------------------------------------------------------
Packit 9a2dfb
Packit 9a2dfb
-- Unary types
Packit 9a2dfb
type LiftToJSON f a =
Packit 9a2dfb
    (a -> Value) -> ([a] -> Value) -> f a -> Value
Packit 9a2dfb
type LiftToEncoding f a =
Packit 9a2dfb
    (a -> Encoding) -> ([a] -> Encoding) -> f a -> Encoding
Packit 9a2dfb
type LiftParseJSON f a =
Packit 9a2dfb
    (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser (f a)
Packit 9a2dfb
Packit 9a2dfb
thSomeTypeToJSON2ElemArray :: SomeType Int -> Value
Packit 9a2dfb
thSomeTypeToJSON2ElemArray = $(mkToJSON opts2ElemArray ''SomeType)
Packit 9a2dfb
Packit 9a2dfb
thSomeTypeToEncoding2ElemArray :: SomeType Int -> Encoding
Packit 9a2dfb
thSomeTypeToEncoding2ElemArray = $(mkToEncoding opts2ElemArray ''SomeType)
Packit 9a2dfb
Packit 9a2dfb
thSomeTypeLiftToJSON2ElemArray :: LiftToJSON SomeType a
Packit 9a2dfb
thSomeTypeLiftToJSON2ElemArray = $(mkLiftToJSON opts2ElemArray ''SomeType)
Packit 9a2dfb
Packit 9a2dfb
thSomeTypeLiftToEncoding2ElemArray :: LiftToEncoding SomeType a
Packit 9a2dfb
thSomeTypeLiftToEncoding2ElemArray = $(mkLiftToEncoding opts2ElemArray ''SomeType)
Packit 9a2dfb
Packit 9a2dfb
thSomeTypeParseJSON2ElemArray :: Value -> Parser (SomeType Int)
Packit 9a2dfb
thSomeTypeParseJSON2ElemArray = $(mkParseJSON opts2ElemArray ''SomeType)
Packit 9a2dfb
Packit 9a2dfb
thSomeTypeLiftParseJSON2ElemArray :: LiftParseJSON SomeType a
Packit 9a2dfb
thSomeTypeLiftParseJSON2ElemArray = $(mkLiftParseJSON opts2ElemArray ''SomeType)
Packit 9a2dfb
Packit 9a2dfb
Packit 9a2dfb
thSomeTypeToJSONTaggedObject :: SomeType Int -> Value
Packit 9a2dfb
thSomeTypeToJSONTaggedObject = $(mkToJSON optsTaggedObject ''SomeType)
Packit 9a2dfb
Packit 9a2dfb
thSomeTypeToEncodingTaggedObject :: SomeType Int -> Encoding
Packit 9a2dfb
thSomeTypeToEncodingTaggedObject = $(mkToEncoding optsTaggedObject ''SomeType)
Packit 9a2dfb
Packit 9a2dfb
thSomeTypeLiftToJSONTaggedObject :: LiftToJSON SomeType a
Packit 9a2dfb
thSomeTypeLiftToJSONTaggedObject = $(mkLiftToJSON optsTaggedObject ''SomeType)
Packit 9a2dfb
Packit 9a2dfb
thSomeTypeLiftToEncodingTaggedObject :: LiftToEncoding SomeType a
Packit 9a2dfb
thSomeTypeLiftToEncodingTaggedObject = $(mkLiftToEncoding optsTaggedObject ''SomeType)
Packit 9a2dfb
Packit 9a2dfb
thSomeTypeParseJSONTaggedObject :: Value -> Parser (SomeType Int)
Packit 9a2dfb
thSomeTypeParseJSONTaggedObject = $(mkParseJSON optsTaggedObject ''SomeType)
Packit 9a2dfb
Packit 9a2dfb
thSomeTypeLiftParseJSONTaggedObject :: LiftParseJSON SomeType a
Packit 9a2dfb
thSomeTypeLiftParseJSONTaggedObject = $(mkLiftParseJSON optsTaggedObject ''SomeType)
Packit 9a2dfb
Packit 9a2dfb
Packit 9a2dfb
thSomeTypeToJSONObjectWithSingleField :: SomeType Int -> Value
Packit 9a2dfb
thSomeTypeToJSONObjectWithSingleField = $(mkToJSON optsObjectWithSingleField ''SomeType)
Packit 9a2dfb
Packit 9a2dfb
thSomeTypeToEncodingObjectWithSingleField :: SomeType Int -> Encoding
Packit 9a2dfb
thSomeTypeToEncodingObjectWithSingleField = $(mkToEncoding optsObjectWithSingleField ''SomeType)
Packit 9a2dfb
Packit 9a2dfb
thSomeTypeLiftToJSONObjectWithSingleField :: LiftToJSON SomeType a
Packit 9a2dfb
thSomeTypeLiftToJSONObjectWithSingleField = $(mkLiftToJSON optsObjectWithSingleField ''SomeType)
Packit 9a2dfb
Packit 9a2dfb
thSomeTypeLiftToEncodingObjectWithSingleField :: LiftToEncoding SomeType a
Packit 9a2dfb
thSomeTypeLiftToEncodingObjectWithSingleField = $(mkLiftToEncoding optsObjectWithSingleField ''SomeType)
Packit 9a2dfb
Packit 9a2dfb
thSomeTypeParseJSONObjectWithSingleField :: Value -> Parser (SomeType Int)
Packit 9a2dfb
thSomeTypeParseJSONObjectWithSingleField = $(mkParseJSON optsObjectWithSingleField ''SomeType)
Packit 9a2dfb
Packit 9a2dfb
thSomeTypeLiftParseJSONObjectWithSingleField :: LiftParseJSON SomeType a
Packit 9a2dfb
thSomeTypeLiftParseJSONObjectWithSingleField = $(mkLiftParseJSON optsObjectWithSingleField ''SomeType)
Packit 9a2dfb
Packit 9a2dfb
Packit 9a2dfb
gSomeTypeToJSON2ElemArray :: SomeType Int -> Value
Packit 9a2dfb
gSomeTypeToJSON2ElemArray = genericToJSON opts2ElemArray
Packit 9a2dfb
Packit 9a2dfb
gSomeTypeToEncoding2ElemArray :: SomeType Int -> Encoding
Packit 9a2dfb
gSomeTypeToEncoding2ElemArray = genericToEncoding opts2ElemArray
Packit 9a2dfb
Packit 9a2dfb
gSomeTypeParseJSON2ElemArray :: Value -> Parser (SomeType Int)
Packit 9a2dfb
gSomeTypeParseJSON2ElemArray = genericParseJSON opts2ElemArray
Packit 9a2dfb
Packit 9a2dfb
#if __GLASGOW_HASKELL__ >= 706
Packit 9a2dfb
gSomeTypeLiftToEncoding2ElemArray :: LiftToEncoding SomeType a
Packit 9a2dfb
gSomeTypeLiftToEncoding2ElemArray = genericLiftToEncoding opts2ElemArray
Packit 9a2dfb
Packit 9a2dfb
gSomeTypeLiftToJSON2ElemArray :: LiftToJSON SomeType a
Packit 9a2dfb
gSomeTypeLiftToJSON2ElemArray = genericLiftToJSON opts2ElemArray
Packit 9a2dfb
Packit 9a2dfb
gSomeTypeLiftParseJSON2ElemArray :: LiftParseJSON SomeType a
Packit 9a2dfb
gSomeTypeLiftParseJSON2ElemArray = genericLiftParseJSON opts2ElemArray
Packit 9a2dfb
#endif
Packit 9a2dfb
Packit 9a2dfb
Packit 9a2dfb
gSomeTypeToJSONTaggedObject :: SomeType Int -> Value
Packit 9a2dfb
gSomeTypeToJSONTaggedObject = genericToJSON optsTaggedObject
Packit 9a2dfb
Packit 9a2dfb
gSomeTypeToEncodingTaggedObject :: SomeType Int -> Encoding
Packit 9a2dfb
gSomeTypeToEncodingTaggedObject = genericToEncoding optsTaggedObject
Packit 9a2dfb
Packit 9a2dfb
gSomeTypeParseJSONTaggedObject :: Value -> Parser (SomeType Int)
Packit 9a2dfb
gSomeTypeParseJSONTaggedObject = genericParseJSON optsTaggedObject
Packit 9a2dfb
Packit 9a2dfb
#if __GLASGOW_HASKELL__ >= 706
Packit 9a2dfb
gSomeTypeLiftToEncodingTaggedObject :: LiftToEncoding SomeType a
Packit 9a2dfb
gSomeTypeLiftToEncodingTaggedObject = genericLiftToEncoding optsTaggedObject
Packit 9a2dfb
Packit 9a2dfb
gSomeTypeLiftToJSONTaggedObject :: LiftToJSON SomeType a
Packit 9a2dfb
gSomeTypeLiftToJSONTaggedObject = genericLiftToJSON optsTaggedObject
Packit 9a2dfb
Packit 9a2dfb
gSomeTypeLiftParseJSONTaggedObject :: LiftParseJSON SomeType a
Packit 9a2dfb
gSomeTypeLiftParseJSONTaggedObject = genericLiftParseJSON optsTaggedObject
Packit 9a2dfb
#endif
Packit 9a2dfb
Packit 9a2dfb
Packit 9a2dfb
gSomeTypeToJSONObjectWithSingleField :: SomeType Int -> Value
Packit 9a2dfb
gSomeTypeToJSONObjectWithSingleField = genericToJSON optsObjectWithSingleField
Packit 9a2dfb
Packit 9a2dfb
gSomeTypeToEncodingObjectWithSingleField :: SomeType Int -> Encoding
Packit 9a2dfb
gSomeTypeToEncodingObjectWithSingleField = genericToEncoding optsObjectWithSingleField
Packit 9a2dfb
Packit 9a2dfb
gSomeTypeParseJSONObjectWithSingleField :: Value -> Parser (SomeType Int)
Packit 9a2dfb
gSomeTypeParseJSONObjectWithSingleField = genericParseJSON optsObjectWithSingleField
Packit 9a2dfb
Packit 9a2dfb
#if __GLASGOW_HASKELL__ >= 706
Packit 9a2dfb
gSomeTypeLiftToEncodingObjectWithSingleField :: LiftToEncoding SomeType a
Packit 9a2dfb
gSomeTypeLiftToEncodingObjectWithSingleField = genericLiftToEncoding optsObjectWithSingleField
Packit 9a2dfb
Packit 9a2dfb
gSomeTypeLiftToJSONObjectWithSingleField :: LiftToJSON SomeType a
Packit 9a2dfb
gSomeTypeLiftToJSONObjectWithSingleField = genericLiftToJSON optsObjectWithSingleField
Packit 9a2dfb
Packit 9a2dfb
gSomeTypeLiftParseJSONObjectWithSingleField :: LiftParseJSON SomeType a
Packit 9a2dfb
gSomeTypeLiftParseJSONObjectWithSingleField = genericLiftParseJSON optsObjectWithSingleField
Packit 9a2dfb
#endif
Packit 9a2dfb
Packit 9a2dfb
Packit 9a2dfb
gSomeTypeToJSONOmitNothingFields :: SomeType Int -> Value
Packit 9a2dfb
gSomeTypeToJSONOmitNothingFields = genericToJSON optsOmitNothingFields
Packit 9a2dfb
Packit 9a2dfb
gSomeTypeToEncodingOmitNothingFields :: SomeType Int -> Encoding
Packit 9a2dfb
gSomeTypeToEncodingOmitNothingFields = genericToEncoding optsOmitNothingFields
Packit 9a2dfb
Packit 9a2dfb
Packit 9a2dfb
--------------------------------------------------------------------------------
Packit 9a2dfb
-- Option fields
Packit 9a2dfb
--------------------------------------------------------------------------------
Packit 9a2dfb
Packit 9a2dfb
thOptionFieldToJSON :: OptionField -> Value
Packit 9a2dfb
thOptionFieldToJSON = $(mkToJSON optsOptionField 'OptionField)
Packit 9a2dfb
Packit 9a2dfb
thOptionFieldToEncoding :: OptionField -> Encoding
Packit 9a2dfb
thOptionFieldToEncoding = $(mkToEncoding optsOptionField 'OptionField)
Packit 9a2dfb
Packit 9a2dfb
thOptionFieldParseJSON :: Value -> Parser OptionField
Packit 9a2dfb
thOptionFieldParseJSON = $(mkParseJSON optsOptionField 'OptionField)
Packit 9a2dfb
Packit 9a2dfb
gOptionFieldToJSON :: OptionField -> Value
Packit 9a2dfb
gOptionFieldToJSON = genericToJSON optsOptionField
Packit 9a2dfb
Packit 9a2dfb
gOptionFieldToEncoding :: OptionField -> Encoding
Packit 9a2dfb
gOptionFieldToEncoding = genericToEncoding optsOptionField
Packit 9a2dfb
Packit 9a2dfb
gOptionFieldParseJSON :: Value -> Parser OptionField
Packit 9a2dfb
gOptionFieldParseJSON = genericParseJSON optsOptionField
Packit 9a2dfb
Packit 9a2dfb
thMaybeFieldToJSON :: MaybeField -> Value
Packit 9a2dfb
thMaybeFieldToJSON = $(mkToJSON optsOptionField 'MaybeField)
Packit 9a2dfb
Packit 9a2dfb
Packit 9a2dfb
--------------------------------------------------------------------------------
Packit 9a2dfb
-- IncoherentInstancesNeeded
Packit 9a2dfb
--------------------------------------------------------------------------------
Packit 9a2dfb
Packit 9a2dfb
-- | This test demonstrates the need for IncoherentInstances. See the definition
Packit 9a2dfb
-- of 'IncoherentInstancesNeeded' for a discussion of the issue.
Packit 9a2dfb
--
Packit 9a2dfb
-- NOTE 1: We only need to compile this test. We do not need to run it.
Packit 9a2dfb
--
Packit 9a2dfb
-- NOTE 2: We actually only use the INCOHERENT pragma on specific instances
Packit 9a2dfb
-- instead of the IncoherentInstances language extension. Therefore, this is
Packit 9a2dfb
-- only supported on GHC versions >= 7.10.
Packit 9a2dfb
#if __GLASGOW_HASKELL__ >= 710
Packit 9a2dfb
incoherentInstancesNeededParseJSONString :: FromJSON a => Value -> Parser (IncoherentInstancesNeeded a)
Packit 9a2dfb
incoherentInstancesNeededParseJSONString = case () of
Packit 9a2dfb
  _ | True  -> $(mkParseJSON defaultOptions ''IncoherentInstancesNeeded)
Packit 9a2dfb
    | False -> genericParseJSON defaultOptions
Packit 9a2dfb
Packit 9a2dfb
incoherentInstancesNeededToJSON :: ToJSON a => IncoherentInstancesNeeded a -> Value
Packit 9a2dfb
incoherentInstancesNeededToJSON = case () of
Packit 9a2dfb
  _ | True  -> $(mkToJSON defaultOptions ''IncoherentInstancesNeeded)
Packit 9a2dfb
    | False -> genericToJSON defaultOptions
Packit 9a2dfb
#endif
Packit 9a2dfb
Packit 9a2dfb
-------------------------------------------------------------------------------
Packit 9a2dfb
-- EitherTextInt encoders/decodes
Packit 9a2dfb
-------------------------------------------------------------------------------
Packit 9a2dfb
Packit 9a2dfb
thEitherTextIntToJSONUntaggedValue :: EitherTextInt -> Value
Packit 9a2dfb
thEitherTextIntToJSONUntaggedValue = $(mkToJSON optsUntaggedValue ''EitherTextInt)
Packit 9a2dfb
Packit 9a2dfb
thEitherTextIntToEncodingUntaggedValue :: EitherTextInt -> Encoding
Packit 9a2dfb
thEitherTextIntToEncodingUntaggedValue = $(mkToEncoding optsUntaggedValue ''EitherTextInt)
Packit 9a2dfb
Packit 9a2dfb
thEitherTextIntParseJSONUntaggedValue :: Value -> Parser EitherTextInt
Packit 9a2dfb
thEitherTextIntParseJSONUntaggedValue = $(mkParseJSON optsUntaggedValue ''EitherTextInt)
Packit 9a2dfb
Packit 9a2dfb
Packit 9a2dfb
gEitherTextIntToJSONUntaggedValue :: EitherTextInt -> Value
Packit 9a2dfb
gEitherTextIntToJSONUntaggedValue = genericToJSON optsUntaggedValue
Packit 9a2dfb
Packit 9a2dfb
gEitherTextIntToEncodingUntaggedValue :: EitherTextInt -> Encoding
Packit 9a2dfb
gEitherTextIntToEncodingUntaggedValue = genericToEncoding optsUntaggedValue
Packit 9a2dfb
Packit 9a2dfb
gEitherTextIntParseJSONUntaggedValue :: Value -> Parser EitherTextInt
Packit 9a2dfb
gEitherTextIntParseJSONUntaggedValue = genericParseJSON optsUntaggedValue
Packit 9a2dfb
Packit 9a2dfb
--------------------------------------------------------------------------------
Packit 9a2dfb
-- Approx encoders/decoders
Packit 9a2dfb
--------------------------------------------------------------------------------
Packit 9a2dfb
Packit 9a2dfb
thApproxToJSONUnwrap :: Approx String -> Value
Packit 9a2dfb
thApproxToJSONUnwrap = $(mkToJSON optsUnwrapUnaryRecords ''Approx)
Packit 9a2dfb
Packit 9a2dfb
thApproxToEncodingUnwrap :: Approx String -> Encoding
Packit 9a2dfb
thApproxToEncodingUnwrap = $(mkToEncoding optsUnwrapUnaryRecords ''Approx)
Packit 9a2dfb
Packit 9a2dfb
thApproxParseJSONUnwrap :: Value -> Parser (Approx String)
Packit 9a2dfb
thApproxParseJSONUnwrap = $(mkParseJSON optsUnwrapUnaryRecords ''Approx)
Packit 9a2dfb
Packit 9a2dfb
Packit 9a2dfb
thApproxToJSONDefault :: Approx String -> Value
Packit 9a2dfb
thApproxToJSONDefault = $(mkToJSON defaultOptions ''Approx)
Packit 9a2dfb
Packit 9a2dfb
thApproxToEncodingDefault :: Approx String -> Encoding
Packit 9a2dfb
thApproxToEncodingDefault = $(mkToEncoding defaultOptions ''Approx)
Packit 9a2dfb
Packit 9a2dfb
thApproxParseJSONDefault :: Value -> Parser (Approx String)
Packit 9a2dfb
thApproxParseJSONDefault = $(mkParseJSON defaultOptions ''Approx)
Packit 9a2dfb
Packit 9a2dfb
gApproxToJSONUnwrap :: Approx String -> Value
Packit 9a2dfb
gApproxToJSONUnwrap = genericToJSON optsUnwrapUnaryRecords
Packit 9a2dfb
Packit 9a2dfb
gApproxToEncodingUnwrap :: Approx String -> Encoding
Packit 9a2dfb
gApproxToEncodingUnwrap = genericToEncoding optsUnwrapUnaryRecords
Packit 9a2dfb
Packit 9a2dfb
gApproxParseJSONUnwrap :: Value -> Parser (Approx String)
Packit 9a2dfb
gApproxParseJSONUnwrap = genericParseJSON optsUnwrapUnaryRecords
Packit 9a2dfb
Packit 9a2dfb
Packit 9a2dfb
gApproxToJSONDefault :: Approx String -> Value
Packit 9a2dfb
gApproxToJSONDefault = genericToJSON defaultOptions
Packit 9a2dfb
Packit 9a2dfb
gApproxToEncodingDefault :: Approx String -> Encoding
Packit 9a2dfb
gApproxToEncodingDefault = genericToEncoding defaultOptions
Packit 9a2dfb
Packit 9a2dfb
gApproxParseJSONDefault :: Value -> Parser (Approx String)
Packit 9a2dfb
gApproxParseJSONDefault = genericParseJSON defaultOptions
Packit 9a2dfb
Packit 9a2dfb
--------------------------------------------------------------------------------
Packit 9a2dfb
-- GADT encoders/decoders
Packit 9a2dfb
--------------------------------------------------------------------------------
Packit 9a2dfb
Packit 9a2dfb
thGADTToJSONUnwrap :: GADT String -> Value
Packit 9a2dfb
thGADTToJSONUnwrap = $(mkToJSON optsUnwrapUnaryRecords ''GADT)
Packit 9a2dfb
Packit 9a2dfb
thGADTToEncodingUnwrap :: GADT String -> Encoding
Packit 9a2dfb
thGADTToEncodingUnwrap = $(mkToEncoding optsUnwrapUnaryRecords ''GADT)
Packit 9a2dfb
Packit 9a2dfb
thGADTParseJSONUnwrap :: Value -> Parser (GADT String)
Packit 9a2dfb
thGADTParseJSONUnwrap = $(mkParseJSON optsUnwrapUnaryRecords ''GADT)
Packit 9a2dfb
Packit 9a2dfb
Packit 9a2dfb
thGADTToJSONDefault :: GADT String -> Value
Packit 9a2dfb
thGADTToJSONDefault = $(mkToJSON defaultOptions ''GADT)
Packit 9a2dfb
Packit 9a2dfb
thGADTToEncodingDefault :: GADT String -> Encoding
Packit 9a2dfb
thGADTToEncodingDefault = $(mkToEncoding defaultOptions ''GADT)
Packit 9a2dfb
Packit 9a2dfb
thGADTParseJSONDefault :: Value -> Parser (GADT String)
Packit 9a2dfb
thGADTParseJSONDefault = $(mkParseJSON defaultOptions ''GADT)
Packit 9a2dfb
Packit 9a2dfb
--------------------------------------------------------------------------------
Packit 9a2dfb
-- OneConstructor encoders/decoders
Packit 9a2dfb
--------------------------------------------------------------------------------
Packit 9a2dfb
Packit 9a2dfb
thOneConstructorToJSONDefault :: OneConstructor -> Value
Packit 9a2dfb
thOneConstructorToJSONDefault = $(mkToJSON defaultOptions ''OneConstructor)
Packit 9a2dfb
Packit 9a2dfb
thOneConstructorToEncodingDefault :: OneConstructor -> Encoding
Packit 9a2dfb
thOneConstructorToEncodingDefault = $(mkToEncoding defaultOptions ''OneConstructor)
Packit 9a2dfb
Packit 9a2dfb
thOneConstructorParseJSONDefault :: Value -> Parser OneConstructor
Packit 9a2dfb
thOneConstructorParseJSONDefault = $(mkParseJSON defaultOptions ''OneConstructor)
Packit 9a2dfb
Packit 9a2dfb
thOneConstructorToJSONTagged :: OneConstructor -> Value
Packit 9a2dfb
thOneConstructorToJSONTagged = $(mkToJSON optsTagSingleConstructors ''OneConstructor)
Packit 9a2dfb
Packit 9a2dfb
thOneConstructorToEncodingTagged :: OneConstructor -> Encoding
Packit 9a2dfb
thOneConstructorToEncodingTagged = $(mkToEncoding optsTagSingleConstructors ''OneConstructor)
Packit 9a2dfb
Packit 9a2dfb
thOneConstructorParseJSONTagged :: Value -> Parser OneConstructor
Packit 9a2dfb
thOneConstructorParseJSONTagged = $(mkParseJSON optsTagSingleConstructors ''OneConstructor)
Packit 9a2dfb
Packit 9a2dfb
Packit 9a2dfb
gOneConstructorToJSONDefault :: OneConstructor -> Value
Packit 9a2dfb
gOneConstructorToJSONDefault = genericToJSON defaultOptions
Packit 9a2dfb
Packit 9a2dfb
gOneConstructorToEncodingDefault :: OneConstructor -> Encoding
Packit 9a2dfb
gOneConstructorToEncodingDefault = genericToEncoding defaultOptions
Packit 9a2dfb
Packit 9a2dfb
gOneConstructorParseJSONDefault :: Value -> Parser OneConstructor
Packit 9a2dfb
gOneConstructorParseJSONDefault = genericParseJSON defaultOptions
Packit 9a2dfb
Packit 9a2dfb
gOneConstructorToJSONTagged :: OneConstructor -> Value
Packit 9a2dfb
gOneConstructorToJSONTagged = genericToJSON optsTagSingleConstructors
Packit 9a2dfb
Packit 9a2dfb
gOneConstructorToEncodingTagged :: OneConstructor -> Encoding
Packit 9a2dfb
gOneConstructorToEncodingTagged = genericToEncoding optsTagSingleConstructors
Packit 9a2dfb
Packit 9a2dfb
gOneConstructorParseJSONTagged :: Value -> Parser OneConstructor
Packit 9a2dfb
gOneConstructorParseJSONTagged = genericParseJSON optsTagSingleConstructors