Skip to content

Commit 949d324

Browse files
stevladimirrasheedja
authored andcommitted
Derive defaultSchemaOptions from Aeson.defaultOptions
1 parent 591956d commit 949d324

1 file changed

Lines changed: 5 additions & 9 deletions

File tree

src/Data/OpenApi/SchemaOptions.hs

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,7 @@ data SchemaOptions = SchemaOptions
3939
-- }
4040
-- @
4141
defaultSchemaOptions :: SchemaOptions
42-
defaultSchemaOptions = SchemaOptions
43-
{ fieldLabelModifier = id
44-
, constructorTagModifier = id
45-
, datatypeNameModifier = id
46-
, allNullaryToStringTag = True
47-
, unwrapUnaryRecords = False
48-
, sumEncoding = Aeson.defaultTaggedObject
49-
}
42+
defaultSchemaOptions = fromAesonOptions Aeson.defaultOptions
5043

5144
-- | Convert 'Aeson.Options' to 'SchemaOptions'.
5245
--
@@ -56,20 +49,23 @@ defaultSchemaOptions = SchemaOptions
5649
-- * 'constructorTagModifier'
5750
-- * 'allNullaryToStringTag'
5851
-- * 'unwrapUnaryRecords'
52+
-- * 'sumEncoding'
5953
--
6054
-- Note that these fields have no effect on `SchemaOptions`:
6155
--
6256
-- * 'Aeson.omitNothingFields'
6357
-- * 'Aeson.tagSingleConstructors'
58+
-- * 'Aeson.rejectUnknownFields'
6459
--
6560
-- The rest is defined as in 'defaultSchemaOptions'.
6661
--
6762
-- @since 2.2.1
6863
--
6964
fromAesonOptions :: Aeson.Options -> SchemaOptions
70-
fromAesonOptions opts = defaultSchemaOptions
65+
fromAesonOptions opts = SchemaOptions
7166
{ fieldLabelModifier = Aeson.fieldLabelModifier opts
7267
, constructorTagModifier = Aeson.constructorTagModifier opts
68+
, datatypeNameModifier = id
7369
, allNullaryToStringTag = Aeson.allNullaryToStringTag opts
7470
, unwrapUnaryRecords = Aeson.unwrapUnaryRecords opts
7571
, sumEncoding = Aeson.sumEncoding opts

0 commit comments

Comments
 (0)