on master help sign in
Explicitly export Options fields so they appear in documentation
commit61b889a4ddc9fa7a4b6ab66955421075749f670c authorlyxia <lysxia@gmail.com> dateThu 31 Aug 2017, 07:08 (9 years ago) parent475058c
2 files changed+19−1
Data/Aeson/Types.hs+16−1 Data/Aeson/Types/Internal.hs+3
Data/Aeson/Types.hs+16−1
@@ -104,7 +104,19 @@ module Data.Aeson.Types
104104 , listParser
105105
106106 -- * Generic and TH encoding configuration
107− , Options(..)
107+ , Options
108+
109+ -- ** Options fields
110+ -- $optionsFields
111+ , fieldLabelModifier
112+ , constructorTagModifier
113+ , allNullaryToStringTag
114+ , omitNothingFields
115+ , sumEncoding
116+ , unwrapUnaryRecords
117+ , tagSingleConstructors
118+
119+ -- ** Options utilities
108120 , SumEncoding(..)
109121 , camelTo
110122 , camelTo2
@@ -124,3 +136,6 @@ import Data.Foldable (toList)
124136foldable :: (Foldable t, ToJSON a) => t a -> Encoding
125137foldable = toEncoding . toList
126138{-# INLINE foldable #-}
139+
140+-- $optionsFields
141+-- The functions here are in fact record fields of the 'Options' type.
Data/Aeson/Types/Internal.hs+3
@@ -531,6 +531,9 @@ parserCatchError (Parser p) handler = Parser $ \path kf ks ->
531531--------------------------------------------------------------------------------
532532
533533-- | Options that specify how to encode\/decode your datatype to\/from JSON.
534+--
535+-- Options can be set using record syntax on 'defaultOptions' with the fields
536+-- below.
534537data Options = Options
535538 { fieldLabelModifier :: String -> String
536539 -- ^ Function applied to field labels.