git.iko.soy/typeable/derive-api-th
on master help sign in
Don't unwrap unary records by default and add omitNothingFields option (#1)
commit0710809afe0f02ceaf4e575d4095c6a4a5cad710 authorUladzimir Stsepchanka <st.uladzimir@protonmail.com> dateThu 10 Aug 2023, 22:16 (3 years ago) parentf157ee1
1 file changed+4−1
src/Derive/API/TH.hs+4−1
src/Derive/API/TH.hs+4−1
@@ -67,6 +67,7 @@ data DerivingOptions = DerivingOptions
6767 -- ^ Whether to snake constructors and field labels
6868 -- Applied after stripping prefix
6969 , unwrapUnaryRecords :: Bool
70+ , omitNothingFields :: Bool
7071 , sumEncoding :: SumEncoding
7172 } deriving (Lift)
7273
@@ -76,7 +77,8 @@ defaultDerivingOptions :: DerivingOptions
7677defaultDerivingOptions = DerivingOptions
7778 { prefix = Nothing
7879 , snake = True
79− , unwrapUnaryRecords = True
80+ , unwrapUnaryRecords = False
81+ , omitNothingFields = False
8082 , sumEncoding = defaultTaggedObject }
8183
8284derivingOptionsToJsonOptions :: DerivingOptions -> Options
@@ -84,6 +86,7 @@ derivingOptionsToJsonOptions DerivingOptions{..} = defaultOptions
8486 { fieldLabelModifier = snaked . stripped
8587 , constructorTagModifier = snaked . stripped
8688 , sumEncoding
89+ , omitNothingFields
8790 , unwrapUnaryRecords }
8891 where
8992 snaked = if snake then camelTo2 '_' else id