on 1.4.5.0 help sign in
typeable/aeson/tests/Options.hs
57 lines 1.7 kB history raw
1{-# LANGUAGE NoImplicitPrelude #-}
3module Options (module Options) where
5import Prelude.Compat
7import Data.Aeson.Types
8import Data.Char
10optsDefault :: Options
11optsDefault = defaultOptions
12 { fieldLabelModifier = map toLower
13 , constructorTagModifier = map toLower
14 }
16opts2ElemArray :: Options
17opts2ElemArray = optsDefault
18 { allNullaryToStringTag = False
19 , sumEncoding = TwoElemArray
20 }
22optsUnwrapUnaryRecords :: Options
23optsUnwrapUnaryRecords = optsDefault
24 { unwrapUnaryRecords = True
25 }
27optsTaggedObject :: Options
28optsTaggedObject = optsDefault
29 { allNullaryToStringTag = False }
31optsObjectWithSingleField :: Options
32optsObjectWithSingleField = optsDefault
33 { allNullaryToStringTag = False
34 , sumEncoding = ObjectWithSingleField
35 }
37optsOmitNothingFields :: Options
38optsOmitNothingFields = optsDefault
39 { omitNothingFields = True
40 }
42optsUntaggedValue :: Options
43optsUntaggedValue = optsDefault
44 { sumEncoding = UntaggedValue
45 }
47optsTagSingleConstructors :: Options
48optsTagSingleConstructors = optsDefault
49 { tagSingleConstructors = True
50 , allNullaryToStringTag = False
51 }
53optsOptionField :: Options
54optsOptionField = optsDefault
55 { fieldLabelModifier = const "field"
56 , omitNothingFields = True
57 }