morpheus-graphql-core-0.14.1: Morpheus GraphQL Core

Safe HaskellNone
LanguageHaskell2010

Data.Morpheus.Internal.TH

Synopsis

Documentation

apply :: (Apply a, ToCon i a) => i -> [a] -> a Source #

applyCons :: (ToName con, ToName cons) => con -> [cons] -> Q Type Source #

applyVars :: (ToName con, ToName var, Apply res, ToCon con res, ToVar var res) => con -> [var] -> res Source #

destructRecord :: TypeName -> [FieldDefinition cat s] -> PatQ Source #

input: >>> destructRecord User ["name","id"] >>>

expression: >>> (User name id) >>>

isEnum :: [ConsD cat s] -> Bool Source #

mkFieldsE :: Name -> [FieldDefinition cat s] -> Exp Source #

mkFieldsE

input : >>> mkFieldsE 'mkValue [FieldDefinition { fieldName = "field1" ,..} ,..] >>>

expression : >>> [ mkValue "field1" field1, .. ] >>>

toCon :: ToCon a b => a -> b Source #

toConE :: ToCon a Exp => a -> ExpQ Source #

toConT :: ToName a => a -> Q Type Source #

class ToName a where Source #

Methods

toName :: a -> Name Source #

Instances
ToName Name Source # 
Instance details

Defined in Data.Morpheus.Internal.TH

Methods

toName :: Name -> Name Source #

ToName TypeName Source # 
Instance details

Defined in Data.Morpheus.Internal.TH

Methods

toName :: TypeName -> Name Source #

ToName FieldName Source # 
Instance details

Defined in Data.Morpheus.Internal.TH

toString :: ToString a b => a -> b Source #

toVarE :: ToVar a Exp => a -> ExpQ Source #

toVarT :: ToVar a TypeQ => a -> TypeQ Source #

v' :: ToVar Name a => a Source #

vars :: ToVar a b => [a] -> [b] Source #

matchWith :: Bool -> (t -> (PatQ, ExpQ)) -> [t] -> ExpQ Source #