Commits

basvandijk committed 27b5db0

Add documentation about parameterizing the generic encoding

Comments (0)

Files changed (1)

Data/Aeson/Types/Class.hs

 --
 -- instance ToJSON Coord
 -- @
+--
+-- Note that, instead of using @DefaultSignatures@, it's also possible
+-- to parameterize the generic encoding by using 'gToJSON' applied to
+-- the encoding 'Options':
+--
+-- @
+-- instance ToJSON Coord where
+--     toJSON = 'gToJSON' 'defaultOptions' . from
+-- @
 class ToJSON a where
     toJSON   :: a -> Value
 
 --
 -- instance FromJSON Coord
 -- @
+--
+-- Note that, instead of using @DefaultSignatures@, it's also possible
+-- to parameterize the generic decoding by using 'gParseJSON' applied
+-- to the encoding 'Options':
+--
+-- @
+-- instance FromJSON Coord where
+--     parseJSON = fmap to . 'gParseJSON' 'defaultOptions'
+-- @
+
 class FromJSON a where
     parseJSON :: Value -> Parser a
 
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.