| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Database.Bolt.Extras.Generic
Synopsis
- newtype BoltEnum a = BoltEnum a
- class GToValue rep where
- class GFromValue rep where
- gFromValue :: String -> Maybe (rep a)
Documentation
Wrapper to encode enum-like types as strings in the DB.
Intended usage is with DerivingVia:
>>>:{data Color = Red | Green | Blue deriving (Show, Generic) deriving (ToValue, FromValue) via BoltEnum Color :}
>>>toValue RedT "Red">>>fromValue (T "Blue") :: ColorBlue>>>fromValue (T "Brown") :: Color*** Exception: Could not unpack unknown value Brown of Color ... ...
Constructors
| BoltEnum a |
Instances
| Eq a => Eq (BoltEnum a) Source # | |
| Show a => Show (BoltEnum a) Source # | |
| Generic (BoltEnum a) Source # | |
| (Typeable a, Generic a, GFromValue (Rep a)) => FromValue (BoltEnum a) Source # | |
| (Generic a, GToValue (Rep a)) => ToValue (BoltEnum a) Source # | |
| type Rep (BoltEnum a) Source # | |
Defined in Database.Bolt.Extras.Generic | |
class GFromValue rep where Source #
Methods
gFromValue :: String -> Maybe (rep a) Source #
Instances
| (GFromValue l, GFromValue r) => GFromValue (l :+: r) Source # | |
Defined in Database.Bolt.Extras.Generic | |
| GFromValue cs => GFromValue (D1 meta cs) Source # | |
Defined in Database.Bolt.Extras.Generic | |
| KnownSymbol name => GFromValue (C1 ('MetaCons name fixity rec) (U1 :: Type -> Type)) Source # | |
Defined in Database.Bolt.Extras.Generic | |
>>>:set -XDerivingStrategies -XDerivingVia>>>:load Database.Bolt.Extras Database.Bolt.Extras.Generic>>>import GHC.Generics>>>import Database.Bolt.Extras.Generic>>>import Database.Bolt (Value (..))