| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Generics.Instant.Functions.Aeson
Contents
- gtoJSON :: (Representable a, GToJSON (Rep a)) => a -> Value
- gparseJSON :: (Representable a, GFromJSON (Rep a)) => Value -> Parser a
- class GToJSON a
- class GFromJSON a
- class GSumFromJSON a
- class GSumToJSON a
- class GSumSize a
Documentation
You can use gtoJSON and gparseJSON as your generic toJSON and
parseJSON implementations for any Representable type as follows:
instanceToJSONMyType where toJSON =gtoJSONinstanceFromJSONMyType where parseJSON =gparseJSON
gparseJSON :: (Representable a, GFromJSON (Rep a)) => Value -> Parser a Source
Internals
Minimal complete definition
gtoJSON'
Instances
| GToJSON Z Source | |
| GToJSON U Source | |
| ToJSON a => GToJSON (Var a) Source | |
| ToJSON a => GToJSON (Rec a) Source | |
| (GSumToJSON a, GSumToJSON b, GSumSize * a, GSumSize * b, GToJSON a, GToJSON b) => GToJSON ((:+:) a b) Source | |
| (GToJSON a, GToJSON b) => GToJSON ((:*:) a b) Source | |
| GToJSON a => GToJSON (CEq k k c p q a) Source | |
| GToJSON a => GToJSON (CEq k k c p p a) Source |
Minimal complete definition
gparseJSON'
Instances
| GFromJSON Z Source | |
| GFromJSON U Source | |
| FromJSON a => GFromJSON (Var a) Source | |
| FromJSON a => GFromJSON (Rec a) Source | |
| (GSumFromJSON a, GSumFromJSON b, GSumSize * a, GSumSize * b, GFromJSON a, GFromJSON b) => GFromJSON ((:+:) a b) Source | |
| (GFromJSON a, GFromJSON b) => GFromJSON ((:*:) a b) Source | |
| GFromJSON (CEq k k c p q a) Source | |
| GFromJSON a => GFromJSON (CEq k k c p p a) Source |
Even more internal
class GSumFromJSON a Source
Minimal complete definition
gsumParseJSON
Instances
| (GSumFromJSON a, GSumFromJSON b, GFromJSON a, GFromJSON b) => GSumFromJSON ((:+:) a b) Source | |
| GSumFromJSON (CEq k k c p q a) Source | |
| GFromJSON a => GSumFromJSON (CEq k k c p p a) Source |
class GSumToJSON a Source
Minimal complete definition
gsumToJSON
Instances
| (GSumToJSON a, GSumToJSON b, GToJSON a, GToJSON b) => GSumToJSON ((:+:) a b) Source | |
| GToJSON a => GSumToJSON (CEq k k c p q a) Source | |
| GToJSON a => GSumToJSON (CEq k k c p p a) Source |