hasbolt-extras-0.0.3.1: Extras for hasbolt library
Safe HaskellSafe-Inferred
LanguageHaskell2010

Database.Bolt.Extras.Generic

Synopsis

Documentation

newtype BoltGeneric a Source #

Constructors

BoltGeneric a 

Instances

Instances details
Generic (BoltGeneric a) Source # 
Instance details

Defined in Database.Bolt.Extras.Generic

Associated Types

type Rep (BoltGeneric a) :: Type -> Type #

Methods

from :: BoltGeneric a -> Rep (BoltGeneric a) x #

to :: Rep (BoltGeneric a) x -> BoltGeneric a #

Show a => Show (BoltGeneric a) Source # 
Instance details

Defined in Database.Bolt.Extras.Generic

Eq a => Eq (BoltGeneric a) Source # 
Instance details

Defined in Database.Bolt.Extras.Generic

(Typeable a, Generic a, GRecordValue (Rep a)) => RecordValue (BoltGeneric a) Source # 
Instance details

Defined in Database.Bolt.Extras.Generic

(Generic a, GIsValue (Rep a)) => IsValue (BoltGeneric a) Source # 
Instance details

Defined in Database.Bolt.Extras.Generic

type Rep (BoltGeneric a) Source # 
Instance details

Defined in Database.Bolt.Extras.Generic

type Rep (BoltGeneric a) = D1 ('MetaData "BoltGeneric" "Database.Bolt.Extras.Generic" "hasbolt-extras-0.0.3.1-24jTuEZT2NBLjk4vtx23jX" 'True) (C1 ('MetaCons "BoltGeneric" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

class GIsValue rep where Source #

Methods

gIsValue :: Options -> rep a -> Either String Value Source #

Instances

Instances details
(GIsValue l, GIsValue r) => GIsValue (l :*: r) Source # 
Instance details

Defined in Database.Bolt.Extras.Generic

Methods

gIsValue :: Options -> (l :*: r) a -> Either String Value Source #

(GIsValue l, GIsValue r) => GIsValue (l :+: r) Source # 
Instance details

Defined in Database.Bolt.Extras.Generic

Methods

gIsValue :: Options -> (l :+: r) a -> Either String Value Source #

KnownSymbol name => GIsValue (C1 ('MetaCons name s2 'False) (U1 :: Type -> Type)) Source # 
Instance details

Defined in Database.Bolt.Extras.Generic

Methods

gIsValue :: Options -> C1 ('MetaCons name s2 'False) U1 a -> Either String Value Source #

(TypeError ('Text "Can't make IsValue for non-record, non-unit constructor ") :: Constraint) => GIsValue (C1 ('MetaCons s1 s2 'False) cs) Source # 
Instance details

Defined in Database.Bolt.Extras.Generic

Methods

gIsValue :: Options -> C1 ('MetaCons s1 s2 'False) cs a -> Either String Value Source #

GIsValue cs => GIsValue (C1 ('MetaCons s1 s2 'True) cs) Source # 
Instance details

Defined in Database.Bolt.Extras.Generic

Methods

gIsValue :: Options -> C1 ('MetaCons s1 s2 'True) cs a -> Either String Value Source #

GIsValue cs => GIsValue (D1 meta cs) Source # 
Instance details

Defined in Database.Bolt.Extras.Generic

Methods

gIsValue :: Options -> D1 meta cs a -> Either String Value Source #

(Selector s, IsValue a) => GIsValue (S1 s (Rec0 a)) Source # 
Instance details

Defined in Database.Bolt.Extras.Generic

Methods

gIsValue :: Options -> S1 s (Rec0 a) a0 -> Either String Value Source #

class GRecordValue rep where Source #

Methods

gExactEither :: (String -> String) -> Value -> Either UnpackError (rep a) Source #

Instances

Instances details
(GRecordValue l, GRecordValue r) => GRecordValue (l :*: r) Source # 
Instance details

Defined in Database.Bolt.Extras.Generic

Methods

gExactEither :: (String -> String) -> Value -> Either UnpackError ((l :*: r) a) Source #

(GRecordValue l, GRecordValue r) => GRecordValue (l :+: r) Source # 
Instance details

Defined in Database.Bolt.Extras.Generic

Methods

gExactEither :: (String -> String) -> Value -> Either UnpackError ((l :+: r) a) Source #

KnownSymbol name => GRecordValue (C1 ('MetaCons name s2 'False) (U1 :: Type -> Type)) Source # 
Instance details

Defined in Database.Bolt.Extras.Generic

Methods

gExactEither :: (String -> String) -> Value -> Either UnpackError (C1 ('MetaCons name s2 'False) U1 a) Source #

(TypeError ('Text "Can't make GRecordValue for non-record, non-unit constructor ") :: Constraint) => GRecordValue (C1 ('MetaCons s1 s2 'False) cs) Source # 
Instance details

Defined in Database.Bolt.Extras.Generic

Methods

gExactEither :: (String -> String) -> Value -> Either UnpackError (C1 ('MetaCons s1 s2 'False) cs a) Source #

GRecordValue cs => GRecordValue (C1 ('MetaCons s1 s2 'True) cs) Source # 
Instance details

Defined in Database.Bolt.Extras.Generic

Methods

gExactEither :: (String -> String) -> Value -> Either UnpackError (C1 ('MetaCons s1 s2 'True) cs a) Source #

GRecordValue cs => GRecordValue (D1 meta cs) Source # 
Instance details

Defined in Database.Bolt.Extras.Generic

Methods

gExactEither :: (String -> String) -> Value -> Either UnpackError (D1 meta cs a) Source #

RecordValue a => GRecordValue (K1 i a :: Type -> Type) Source # 
Instance details

Defined in Database.Bolt.Extras.Generic

Methods

gExactEither :: (String -> String) -> Value -> Either UnpackError (K1 i a a0) Source #

(KnownSymbol name, GRecordValue a) => GRecordValue (S1 ('MetaSel ('Just name) s1 s2 s3) a) Source # 
Instance details

Defined in Database.Bolt.Extras.Generic

Methods

gExactEither :: (String -> String) -> Value -> Either UnpackError (S1 ('MetaSel ('Just name) s1 s2 s3) a a0) Source #

>>> :set -XDerivingStrategies -XDerivingVia
>>> :load Database.Bolt.Extras Database.Bolt.Extras.Generic
>>> import GHC.Generics
>>> import Database.Bolt.Extras.Generic
>>> import Data.Text (Text, pack)
>>> import Database.Bolt as Bolt (Value (..), IsValue(toValue), RecordValue(exactEither))