| Copyright | (c) Eric Mertens 2023 | 
|---|---|
| License | ISC | 
| Maintainer | emertens@gmail.com | 
| Safe Haskell | Safe-Inferred | 
| Language | Haskell2010 | 
Toml.FromValue.Generic
Description
Use genericParseTable to derive a ParseTable using the field names
of a record. This can be combined with parseTableFromValue
to derive a FromValue instance.
Synopsis
- class GParseTable f where- gParseTable :: (f a -> ParseTable b) -> ParseTable b
 
- genericParseTable :: (Generic a, GParseTable (Rep a)) => ParseTable a
Documentation
class GParseTable f where Source #
Supports conversion of product types with field selector names to TOML values.
Since: 1.0.2.0
Methods
gParseTable :: (f a -> ParseTable b) -> ParseTable b Source #
Convert a value and apply the continuation to the result.
Instances
| GParseTable (U1 :: Type -> Type) Source # | Emits empty table | 
| Defined in Toml.FromValue.Generic Methods gParseTable :: (U1 a -> ParseTable b) -> ParseTable b Source # | |
| (GParseTable f, GParseTable g) => GParseTable (f :*: g) Source # | Matches left then right component | 
| Defined in Toml.FromValue.Generic Methods gParseTable :: ((f :*: g) a -> ParseTable b) -> ParseTable b Source # | |
| GParseTable f => GParseTable (C1 c f) Source # | Ignores value constructor name | 
| Defined in Toml.FromValue.Generic Methods gParseTable :: (C1 c f a -> ParseTable b) -> ParseTable b Source # | |
| GParseTable f => GParseTable (D1 c f) Source # | Ignores type constructor name | 
| Defined in Toml.FromValue.Generic Methods gParseTable :: (D1 c f a -> ParseTable b) -> ParseTable b Source # | |
| (Selector s, FromValue a) => GParseTable (S1 s (K1 i (Maybe a) :: Type -> Type)) Source # | Omits the key from the table on nothing, includes it on just | 
| Defined in Toml.FromValue.Generic Methods gParseTable :: (S1 s (K1 i (Maybe a)) a0 -> ParseTable b) -> ParseTable b Source # | |
| (Selector s, FromValue a) => GParseTable (S1 s (K1 i a :: Type -> Type)) Source # | Uses record selector name as table key | 
| Defined in Toml.FromValue.Generic Methods gParseTable :: (S1 s (K1 i a) a0 -> ParseTable b) -> ParseTable b Source # | |
genericParseTable :: (Generic a, GParseTable (Rep a)) => ParseTable a Source #
Match a Table using the field names in a record.
Since: 1.2.0.0