dhodovsk / source-git / ghc-aeson

Forked from source-git/ghc-aeson 4 years ago
Clone

Blame tests/DataFamilies/Encoders.hs

Packit 9a2dfb
{-# LANGUAGE CPP #-}
Packit 9a2dfb
{-# LANGUAGE GADTs #-}
Packit 9a2dfb
{-# LANGUAGE TemplateHaskell #-}
Packit 9a2dfb
Packit 9a2dfb
module DataFamilies.Encoders (module DataFamilies.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 DataFamilies.Types
Packit 9a2dfb
import Options
Packit 9a2dfb
Packit 9a2dfb
--------------------------------------------------------------------------------
Packit 9a2dfb
-- Nullary encoders/decoders
Packit 9a2dfb
--------------------------------------------------------------------------------
Packit 9a2dfb
Packit 9a2dfb
thNullaryToJSONString :: Nullary Int -> Value
Packit 9a2dfb
thNullaryToJSONString = $(mkToJSON defaultOptions 'C1)
Packit 9a2dfb
Packit 9a2dfb
thNullaryToEncodingString :: Nullary Int -> Encoding
Packit 9a2dfb
thNullaryToEncodingString = $(mkToEncoding defaultOptions 'C2)
Packit 9a2dfb
Packit 9a2dfb
thNullaryParseJSONString :: Value -> Parser (Nullary Int)
Packit 9a2dfb
thNullaryParseJSONString = $(mkParseJSON defaultOptions 'C3)
Packit 9a2dfb
Packit 9a2dfb
Packit 9a2dfb
thNullaryToJSON2ElemArray :: Nullary Int -> Value
Packit 9a2dfb
thNullaryToJSON2ElemArray = $(mkToJSON opts2ElemArray 'C1)
Packit 9a2dfb
Packit 9a2dfb
thNullaryToEncoding2ElemArray :: Nullary Int -> Encoding
Packit 9a2dfb
thNullaryToEncoding2ElemArray = $(mkToEncoding opts2ElemArray 'C2)
Packit 9a2dfb
Packit 9a2dfb
thNullaryParseJSON2ElemArray :: Value -> Parser (Nullary Int)
Packit 9a2dfb
thNullaryParseJSON2ElemArray = $(mkParseJSON opts2ElemArray 'C3)
Packit 9a2dfb
Packit 9a2dfb
Packit 9a2dfb
thNullaryToJSONTaggedObject :: Nullary Int -> Value
Packit 9a2dfb
thNullaryToJSONTaggedObject = $(mkToJSON optsTaggedObject 'C1)
Packit 9a2dfb
Packit 9a2dfb
thNullaryToEncodingTaggedObject :: Nullary Int -> Encoding
Packit 9a2dfb
thNullaryToEncodingTaggedObject = $(mkToEncoding optsTaggedObject 'C2)
Packit 9a2dfb
Packit 9a2dfb
thNullaryParseJSONTaggedObject :: Value -> Parser (Nullary Int)
Packit 9a2dfb
thNullaryParseJSONTaggedObject = $(mkParseJSON optsTaggedObject 'C3)
Packit 9a2dfb
Packit 9a2dfb
Packit 9a2dfb
thNullaryToJSONObjectWithSingleField :: Nullary Int -> Value
Packit 9a2dfb
thNullaryToJSONObjectWithSingleField =
Packit 9a2dfb
  $(mkToJSON optsObjectWithSingleField 'C1)
Packit 9a2dfb
Packit 9a2dfb
thNullaryToEncodingObjectWithSingleField :: Nullary Int -> Encoding
Packit 9a2dfb
thNullaryToEncodingObjectWithSingleField =
Packit 9a2dfb
  $(mkToEncoding optsObjectWithSingleField 'C2)
Packit 9a2dfb
Packit 9a2dfb
thNullaryParseJSONObjectWithSingleField :: Value -> Parser (Nullary Int)
Packit 9a2dfb
thNullaryParseJSONObjectWithSingleField = $(mkParseJSON optsObjectWithSingleField 'C3)
Packit 9a2dfb
Packit 9a2dfb
Packit 9a2dfb
--------------------------------------------------------------------------------
Packit 9a2dfb
-- SomeType encoders/decoders
Packit 9a2dfb
--------------------------------------------------------------------------------
Packit 9a2dfb
Packit 9a2dfb
thSomeTypeToJSON2ElemArray :: SomeType c () Int -> Value
Packit 9a2dfb
thSomeTypeToJSON2ElemArray = $(mkToJSON opts2ElemArray 'Nullary)
Packit 9a2dfb
Packit 9a2dfb
thSomeTypeToEncoding2ElemArray :: SomeType c () Int -> Encoding
Packit 9a2dfb
thSomeTypeToEncoding2ElemArray = $(mkToEncoding opts2ElemArray 'Unary)
Packit 9a2dfb
Packit 9a2dfb
thSomeTypeParseJSON2ElemArray :: Value -> Parser (SomeType c () Int)
Packit 9a2dfb
thSomeTypeParseJSON2ElemArray = $(mkParseJSON opts2ElemArray 'Product)
Packit 9a2dfb
Packit 9a2dfb
Packit 9a2dfb
thSomeTypeToJSONTaggedObject :: SomeType c () Int -> Value
Packit 9a2dfb
thSomeTypeToJSONTaggedObject = $(mkToJSON optsTaggedObject 'Record)
Packit 9a2dfb
Packit 9a2dfb
thSomeTypeToEncodingTaggedObject :: SomeType c () Int -> Encoding
Packit 9a2dfb
thSomeTypeToEncodingTaggedObject = $(mkToEncoding optsTaggedObject 'Nullary)
Packit 9a2dfb
Packit 9a2dfb
thSomeTypeParseJSONTaggedObject :: Value -> Parser (SomeType c () Int)
Packit 9a2dfb
thSomeTypeParseJSONTaggedObject = $(mkParseJSON optsTaggedObject 'Unary)
Packit 9a2dfb
Packit 9a2dfb
Packit 9a2dfb
thSomeTypeToJSONObjectWithSingleField :: SomeType c () Int -> Value
Packit 9a2dfb
thSomeTypeToJSONObjectWithSingleField =
Packit 9a2dfb
  $(mkToJSON optsObjectWithSingleField 'Product)
Packit 9a2dfb
Packit 9a2dfb
thSomeTypeToEncodingObjectWithSingleField :: SomeType c () Int -> Encoding
Packit 9a2dfb
thSomeTypeToEncodingObjectWithSingleField =
Packit 9a2dfb
  $(mkToEncoding optsObjectWithSingleField 'Record)
Packit 9a2dfb
Packit 9a2dfb
thSomeTypeParseJSONObjectWithSingleField :: Value -> Parser (SomeType c () Int)
Packit 9a2dfb
thSomeTypeParseJSONObjectWithSingleField =
Packit 9a2dfb
  $(mkParseJSON optsObjectWithSingleField 'Nullary)
Packit 9a2dfb
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
--------------------------------------------------------------------------------
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
-- Generic encoders/decoders
Packit 9a2dfb
--------------------------------------------------------------------------------
Packit 9a2dfb
Packit 9a2dfb
-- Nullary
Packit 9a2dfb
Packit 9a2dfb
gNullaryToJSONString :: Nullary Int -> Value
Packit 9a2dfb
gNullaryToJSONString = genericToJSON defaultOptions
Packit 9a2dfb
Packit 9a2dfb
gNullaryToEncodingString :: Nullary Int -> Encoding
Packit 9a2dfb
gNullaryToEncodingString = genericToEncoding defaultOptions
Packit 9a2dfb
Packit 9a2dfb
gNullaryParseJSONString :: Value -> Parser (Nullary Int)
Packit 9a2dfb
gNullaryParseJSONString = genericParseJSON defaultOptions
Packit 9a2dfb
Packit 9a2dfb
Packit 9a2dfb
gNullaryToJSON2ElemArray :: Nullary Int -> Value
Packit 9a2dfb
gNullaryToJSON2ElemArray = genericToJSON opts2ElemArray
Packit 9a2dfb
Packit 9a2dfb
gNullaryToEncoding2ElemArray :: Nullary Int -> Encoding
Packit 9a2dfb
gNullaryToEncoding2ElemArray = genericToEncoding opts2ElemArray
Packit 9a2dfb
Packit 9a2dfb
gNullaryParseJSON2ElemArray :: Value -> Parser (Nullary Int)
Packit 9a2dfb
gNullaryParseJSON2ElemArray = genericParseJSON opts2ElemArray
Packit 9a2dfb
Packit 9a2dfb
Packit 9a2dfb
gNullaryToJSONTaggedObject :: Nullary Int -> Value
Packit 9a2dfb
gNullaryToJSONTaggedObject = genericToJSON optsTaggedObject
Packit 9a2dfb
Packit 9a2dfb
gNullaryToEncodingTaggedObject :: Nullary Int -> Encoding
Packit 9a2dfb
gNullaryToEncodingTaggedObject = genericToEncoding optsTaggedObject
Packit 9a2dfb
Packit 9a2dfb
gNullaryParseJSONTaggedObject :: Value -> Parser (Nullary Int)
Packit 9a2dfb
gNullaryParseJSONTaggedObject = genericParseJSON optsTaggedObject
Packit 9a2dfb
Packit 9a2dfb
Packit 9a2dfb
gNullaryToJSONObjectWithSingleField :: Nullary Int -> Value
Packit 9a2dfb
gNullaryToJSONObjectWithSingleField = genericToJSON optsObjectWithSingleField
Packit 9a2dfb
Packit 9a2dfb
gNullaryToEncodingObjectWithSingleField :: Nullary Int -> Encoding
Packit 9a2dfb
gNullaryToEncodingObjectWithSingleField = genericToEncoding optsObjectWithSingleField
Packit 9a2dfb
Packit 9a2dfb
gNullaryParseJSONObjectWithSingleField :: Value -> Parser (Nullary Int)
Packit 9a2dfb
gNullaryParseJSONObjectWithSingleField = genericParseJSON optsObjectWithSingleField
Packit 9a2dfb
Packit 9a2dfb
-- SomeType
Packit 9a2dfb
Packit 9a2dfb
gSomeTypeToJSON2ElemArray :: SomeType c () Int -> Value
Packit 9a2dfb
gSomeTypeToJSON2ElemArray = genericToJSON opts2ElemArray
Packit 9a2dfb
Packit 9a2dfb
gSomeTypeToEncoding2ElemArray :: SomeType c () Int -> Encoding
Packit 9a2dfb
gSomeTypeToEncoding2ElemArray = genericToEncoding opts2ElemArray
Packit 9a2dfb
Packit 9a2dfb
gSomeTypeParseJSON2ElemArray :: Value -> Parser (SomeType c () Int)
Packit 9a2dfb
gSomeTypeParseJSON2ElemArray = genericParseJSON opts2ElemArray
Packit 9a2dfb
Packit 9a2dfb
Packit 9a2dfb
gSomeTypeToJSONTaggedObject :: SomeType c () Int -> Value
Packit 9a2dfb
gSomeTypeToJSONTaggedObject = genericToJSON optsTaggedObject
Packit 9a2dfb
Packit 9a2dfb
gSomeTypeToEncodingTaggedObject :: SomeType c () Int -> Encoding
Packit 9a2dfb
gSomeTypeToEncodingTaggedObject = genericToEncoding optsTaggedObject
Packit 9a2dfb
Packit 9a2dfb
gSomeTypeParseJSONTaggedObject :: Value -> Parser (SomeType c () Int)
Packit 9a2dfb
gSomeTypeParseJSONTaggedObject = genericParseJSON optsTaggedObject
Packit 9a2dfb
Packit 9a2dfb
Packit 9a2dfb
gSomeTypeToJSONObjectWithSingleField :: SomeType c () Int -> Value
Packit 9a2dfb
gSomeTypeToJSONObjectWithSingleField = genericToJSON optsObjectWithSingleField
Packit 9a2dfb
Packit 9a2dfb
gSomeTypeToEncodingObjectWithSingleField :: SomeType c () Int -> Encoding
Packit 9a2dfb
gSomeTypeToEncodingObjectWithSingleField = genericToEncoding optsObjectWithSingleField
Packit 9a2dfb
Packit 9a2dfb
gSomeTypeParseJSONObjectWithSingleField :: Value -> Parser (SomeType c () Int)
Packit 9a2dfb
gSomeTypeParseJSONObjectWithSingleField = genericParseJSON optsObjectWithSingleField
Packit 9a2dfb
Packit 9a2dfb
-- 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