on acc-errors help sign in
typeable/aeson/tests/Options.hs
56 lines 1.6 kB history raw
1module Options (module Options) where
3import Prelude ()
4import Prelude.Compat
6import Data.Aeson.Types
7import Data.Char
9optsDefault :: Options
10optsDefault = defaultOptions
11 { fieldLabelModifier = map toLower
12 , constructorTagModifier = map toLower
13 }
15opts2ElemArray :: Options
16opts2ElemArray = optsDefault
17 { allNullaryToStringTag = False
18 , sumEncoding = TwoElemArray
19 }
21optsUnwrapUnaryRecords :: Options
22optsUnwrapUnaryRecords = optsDefault
23 { unwrapUnaryRecords = True
24 }
26optsTaggedObject :: Options
27optsTaggedObject = optsDefault
28 { allNullaryToStringTag = False }
30optsObjectWithSingleField :: Options
31optsObjectWithSingleField = optsDefault
32 { allNullaryToStringTag = False
33 , sumEncoding = ObjectWithSingleField
34 }
36optsOmitNothingFields :: Options
37optsOmitNothingFields = optsDefault
38 { omitNothingFields = True
39 }
41optsUntaggedValue :: Options
42optsUntaggedValue = optsDefault
43 { sumEncoding = UntaggedValue
44 }
46optsTagSingleConstructors :: Options
47optsTagSingleConstructors = optsDefault
48 { tagSingleConstructors = True
49 , allNullaryToStringTag = False
50 }
52optsOptionField :: Options
53optsOptionField = optsDefault
54 { fieldLabelModifier = const "field"
55 , omitNothingFields = True
56 }