about summary refs log tree commit diff
path: root/src/Data/Aeson/Generic/DerivingVia.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Data/Aeson/Generic/DerivingVia.hs')
-rw-r--r--src/Data/Aeson/Generic/DerivingVia.hs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/Data/Aeson/Generic/DerivingVia.hs b/src/Data/Aeson/Generic/DerivingVia.hs
index f387f1deccb1..34f2a9403892 100644
--- a/src/Data/Aeson/Generic/DerivingVia.hs
+++ b/src/Data/Aeson/Generic/DerivingVia.hs
@@ -73,10 +73,17 @@ data Setting = FieldLabelModifier     [StrFun]
 
 type FieldLabelModifier     = 'FieldLabelModifier
 type ConstructorTagModifier = 'ConstructorTagModifier
+-- | If 'True' the constructors of a datatype, with all nullary constructors,
+-- will be encoded to just a string with the constructor tag. If 'False' the
+-- encoding will always follow the 'SumEncoding'.
 type AllNullaryToStringTag  = 'AllNullaryToStringTag
 type OmitNothingFields      = 'OmitNothingFields
 type SumEnc                 = 'SumEnc
+-- | Hide the field name when a record constructor has only one field, like a
+-- newtype.
 type UnwrapUnaryRecords     = 'UnwrapUnaryRecords
+-- | Encode types with a single constructor as sums, so that
+-- 'AllNullaryToStringTag' and 'SumEncoding' apply.
 type TagSingleConstructors  = 'TagSingleConstructors
 
 class Demotable (a :: k) where