morpheus-graphql-0.24.1: Morpheus GraphQL
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.Morpheus.Types

Description

GQL Types

Synopsis

Documentation

class GQLType a where #

GraphQL type, every graphQL type should have an instance of Generic and GQLType.

   ... deriving (Generic, GQLType)
 

if you want to add description

      ... deriving (Generic)

    instance GQLType ... where
      description = const "your description ..."
 

Minimal complete definition

Nothing

Associated Types

type KIND a :: DerivingKind #

type KIND a = TYPE

Methods

description :: f a -> Maybe Text #

A description of the type.

Used for documentation in the GraphQL schema.

directives :: f a -> DirectiveUsages #

getDescriptions :: f a -> Map Text Description #

A dictionary of descriptions for fields, keyed on field name.

Used for documentation in the GraphQL schema.

typeOptions :: f a -> GQLTypeOptions -> GQLTypeOptions #

getDirectives :: f a -> Map Text (Directives CONST) #

defaultValues :: f a -> Map Text (Value CONST) #

Instances

Instances details
GQLType ID 
Instance details

Defined in Data.Morpheus.Server.Types.GQLType

Associated Types

type KIND ID :: DerivingKind #

GQLType Deprecated 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

Associated Types

type KIND Deprecated :: DerivingKind #

GQLType Describe 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

Associated Types

type KIND Describe :: DerivingKind #

GQLType DropNamespace 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

Associated Types

type KIND DropNamespace :: DerivingKind #

GQLType Prefixes 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

Associated Types

type KIND Prefixes :: DerivingKind #

GQLType Rename 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

Associated Types

type KIND Rename :: DerivingKind #

GQLType InputTypeNamespace 
Instance details

Defined in Data.Morpheus.Server.Types.GQLType

Associated Types

type KIND InputTypeNamespace :: DerivingKind #

GQLType Text 
Instance details

Defined in Data.Morpheus.Server.Types.GQLType

Associated Types

type KIND Text :: DerivingKind #

GQLType () 
Instance details

Defined in Data.Morpheus.Server.Types.GQLType

Associated Types

type KIND () :: DerivingKind #

Methods

description :: f () -> Maybe Text #

directives :: f () -> DirectiveUsages #

getDescriptions :: f () -> Map Text Description #

typeOptions :: f () -> GQLTypeOptions -> GQLTypeOptions #

getDirectives :: f () -> Map Text (Directives CONST) #

defaultValues :: f () -> Map Text (Value CONST) #

__type :: f () -> TypeCategory -> TypeData

GQLType Bool 
Instance details

Defined in Data.Morpheus.Server.Types.GQLType

Associated Types

type KIND Bool :: DerivingKind #

GQLType Double 
Instance details

Defined in Data.Morpheus.Server.Types.GQLType

Associated Types

type KIND Double :: DerivingKind #

GQLType Float 
Instance details

Defined in Data.Morpheus.Server.Types.GQLType

Associated Types

type KIND Float :: DerivingKind #

GQLType Int 
Instance details

Defined in Data.Morpheus.Server.Types.GQLType

Associated Types

type KIND Int :: DerivingKind #

GQLType a => GQLType (Seq a) 
Instance details

Defined in Data.Morpheus.Server.Types.GQLType

Associated Types

type KIND (Seq a) :: DerivingKind #

Methods

description :: f (Seq a) -> Maybe Text #

directives :: f (Seq a) -> DirectiveUsages #

getDescriptions :: f (Seq a) -> Map Text Description #

typeOptions :: f (Seq a) -> GQLTypeOptions -> GQLTypeOptions #

getDirectives :: f (Seq a) -> Map Text (Directives CONST) #

defaultValues :: f (Seq a) -> Map Text (Value CONST) #

__type :: f (Seq a) -> TypeCategory -> TypeData

GQLType a => GQLType (Set a) 
Instance details

Defined in Data.Morpheus.Server.Types.GQLType

Associated Types

type KIND (Set a) :: DerivingKind #

Methods

description :: f (Set a) -> Maybe Text #

directives :: f (Set a) -> DirectiveUsages #

getDescriptions :: f (Set a) -> Map Text Description #

typeOptions :: f (Set a) -> GQLTypeOptions -> GQLTypeOptions #

getDirectives :: f (Set a) -> Map Text (Directives CONST) #

defaultValues :: f (Set a) -> Map Text (Value CONST) #

__type :: f (Set a) -> TypeCategory -> TypeData

GQLType a => GQLType (SubscriptionField a) 
Instance details

Defined in Data.Morpheus.Server.Types.GQLType

Associated Types

type KIND (SubscriptionField a) :: DerivingKind #

Typeable m => GQLType (Undefined m) 
Instance details

Defined in Data.Morpheus.Server.Types.GQLType

Associated Types

type KIND (Undefined m) :: DerivingKind #

GQLType a => GQLType (Vector a) 
Instance details

Defined in Data.Morpheus.Server.Types.GQLType

Associated Types

type KIND (Vector a) :: DerivingKind #

GQLType a => GQLType (NonEmpty a) 
Instance details

Defined in Data.Morpheus.Server.Types.GQLType

Associated Types

type KIND (NonEmpty a) :: DerivingKind #

GQLType a => GQLType (Maybe a) 
Instance details

Defined in Data.Morpheus.Server.Types.GQLType

Associated Types

type KIND (Maybe a) :: DerivingKind #

Methods

description :: f (Maybe a) -> Maybe Text #

directives :: f (Maybe a) -> DirectiveUsages #

getDescriptions :: f (Maybe a) -> Map Text Description #

typeOptions :: f (Maybe a) -> GQLTypeOptions -> GQLTypeOptions #

getDirectives :: f (Maybe a) -> Map Text (Directives CONST) #

defaultValues :: f (Maybe a) -> Map Text (Value CONST) #

__type :: f (Maybe a) -> TypeCategory -> TypeData

GQLType a => GQLType [a] 
Instance details

Defined in Data.Morpheus.Server.Types.GQLType

Associated Types

type KIND [a] :: DerivingKind #

Methods

description :: f [a] -> Maybe Text #

directives :: f [a] -> DirectiveUsages #

getDescriptions :: f [a] -> Map Text Description #

typeOptions :: f [a] -> GQLTypeOptions -> GQLTypeOptions #

getDirectives :: f [a] -> Map Text (Directives CONST) #

defaultValues :: f [a] -> Map Text (Value CONST) #

__type :: f [a] -> TypeCategory -> TypeData

GQLType a => GQLType (Proxy a) 
Instance details

Defined in Data.Morpheus.Server.Types.GQLType

Associated Types

type KIND (Proxy a) :: DerivingKind #

Methods

description :: f (Proxy a) -> Maybe Text #

directives :: f (Proxy a) -> DirectiveUsages #

getDescriptions :: f (Proxy a) -> Map Text Description #

typeOptions :: f (Proxy a) -> GQLTypeOptions -> GQLTypeOptions #

getDirectives :: f (Proxy a) -> Map Text (Directives CONST) #

defaultValues :: f (Proxy a) -> Map Text (Value CONST) #

__type :: f (Proxy a) -> TypeCategory -> TypeData

(GQLType k, GQLType v, Typeable k, Typeable v, DeriveArguments TYPE InputTypeNamespace) => GQLType (Map k v) 
Instance details

Defined in Data.Morpheus.Server.Types.GQLType

Associated Types

type KIND (Map k v) :: DerivingKind #

Methods

description :: f (Map k v) -> Maybe Text #

directives :: f (Map k v) -> DirectiveUsages #

getDescriptions :: f (Map k v) -> Map Text Description #

typeOptions :: f (Map k v) -> GQLTypeOptions -> GQLTypeOptions #

getDirectives :: f (Map k v) -> Map Text (Directives CONST) #

defaultValues :: f (Map k v) -> Map Text (Value CONST) #

__type :: f (Map k v) -> TypeCategory -> TypeData

GQLType a => GQLType (NamedResolverT m a) 
Instance details

Defined in Data.Morpheus.Server.Types.GQLType

Associated Types

type KIND (NamedResolverT m a) :: DerivingKind #

GQLType value => GQLType (Arg name value) 
Instance details

Defined in Data.Morpheus.Server.Types.GQLType

Associated Types

type KIND (Arg name value) :: DerivingKind #

Methods

description :: f (Arg name value) -> Maybe Text #

directives :: f (Arg name value) -> DirectiveUsages #

getDescriptions :: f (Arg name value) -> Map Text Description #

typeOptions :: f (Arg name value) -> GQLTypeOptions -> GQLTypeOptions #

getDirectives :: f (Arg name value) -> Map Text (Directives CONST) #

defaultValues :: f (Arg name value) -> Map Text (Value CONST) #

__type :: f (Arg name value) -> TypeCategory -> TypeData

(Typeable a, Typeable b, GQLType a, GQLType b, DeriveArguments TYPE InputTypeNamespace) => GQLType (Pair a b) 
Instance details

Defined in Data.Morpheus.Server.Types.GQLType

Associated Types

type KIND (Pair a b) :: DerivingKind #

Methods

description :: f (Pair a b) -> Maybe Text #

directives :: f (Pair a b) -> DirectiveUsages #

getDescriptions :: f (Pair a b) -> Map Text Description #

typeOptions :: f (Pair a b) -> GQLTypeOptions -> GQLTypeOptions #

getDirectives :: f (Pair a b) -> Map Text (Directives CONST) #

defaultValues :: f (Pair a b) -> Map Text (Value CONST) #

__type :: f (Pair a b) -> TypeCategory -> TypeData

GQLType interface => GQLType (TypeGuard interface possibleTypes) 
Instance details

Defined in Data.Morpheus.Server.Types.GQLType

Associated Types

type KIND (TypeGuard interface possibleTypes) :: DerivingKind #

Methods

description :: f (TypeGuard interface possibleTypes) -> Maybe Text #

directives :: f (TypeGuard interface possibleTypes) -> DirectiveUsages #

getDescriptions :: f (TypeGuard interface possibleTypes) -> Map Text Description #

typeOptions :: f (TypeGuard interface possibleTypes) -> GQLTypeOptions -> GQLTypeOptions #

getDirectives :: f (TypeGuard interface possibleTypes) -> Map Text (Directives CONST) #

defaultValues :: f (TypeGuard interface possibleTypes) -> Map Text (Value CONST) #

__type :: f (TypeGuard interface possibleTypes) -> TypeCategory -> TypeData

GQLType b => GQLType (a -> b) 
Instance details

Defined in Data.Morpheus.Server.Types.GQLType

Associated Types

type KIND (a -> b) :: DerivingKind #

Methods

description :: f (a -> b) -> Maybe Text #

directives :: f (a -> b) -> DirectiveUsages #

getDescriptions :: f (a -> b) -> Map Text Description #

typeOptions :: f (a -> b) -> GQLTypeOptions -> GQLTypeOptions #

getDirectives :: f (a -> b) -> Map Text (Directives CONST) #

defaultValues :: f (a -> b) -> Map Text (Value CONST) #

__type :: f (a -> b) -> TypeCategory -> TypeData

(Typeable a, Typeable b, GQLType a, GQLType b, DeriveArguments TYPE InputTypeNamespace) => GQLType (a, b) 
Instance details

Defined in Data.Morpheus.Server.Types.GQLType

Associated Types

type KIND (a, b) :: DerivingKind #

Methods

description :: f (a, b) -> Maybe Text #

directives :: f (a, b) -> DirectiveUsages #

getDescriptions :: f (a, b) -> Map Text Description #

typeOptions :: f (a, b) -> GQLTypeOptions -> GQLTypeOptions #

getDirectives :: f (a, b) -> Map Text (Directives CONST) #

defaultValues :: f (a, b) -> Map Text (Value CONST) #

__type :: f (a, b) -> TypeCategory -> TypeData

GQLType a => GQLType (Resolver o e m a) 
Instance details

Defined in Data.Morpheus.Server.Types.GQLType

Associated Types

type KIND (Resolver o e m a) :: DerivingKind #

Methods

description :: f (Resolver o e m a) -> Maybe Text #

directives :: f (Resolver o e m a) -> DirectiveUsages #

getDescriptions :: f (Resolver o e m a) -> Map Text Description #

typeOptions :: f (Resolver o e m a) -> GQLTypeOptions -> GQLTypeOptions #

getDirectives :: f (Resolver o e m a) -> Map Text (Directives CONST) #

defaultValues :: f (Resolver o e m a) -> Map Text (Value CONST) #

__type :: f (Resolver o e m a) -> TypeCategory -> TypeData

class EncodeScalar a where #

GraphQL Scalar Serializer

Methods

encodeScalar :: a -> ScalarValue #

Instances

Instances details
EncodeScalar ID 
Instance details

Defined in Data.Morpheus.Types.ID

EncodeScalar Text 
Instance details

Defined in Data.Morpheus.Types.GQLScalar

EncodeScalar Bool 
Instance details

Defined in Data.Morpheus.Types.GQLScalar

EncodeScalar Double 
Instance details

Defined in Data.Morpheus.Types.GQLScalar

EncodeScalar Float 
Instance details

Defined in Data.Morpheus.Types.GQLScalar

EncodeScalar Int 
Instance details

Defined in Data.Morpheus.Types.GQLScalar

class EncodeWrapper (wrapper :: Type -> Type) where #

GraphQL Wrapper Serializer

Methods

encodeWrapper :: Monad m => (a -> m (ResolverValue m)) -> wrapper a -> m (ResolverValue m) #

Instances

Instances details
EncodeWrapper Seq 
Instance details

Defined in Data.Morpheus.Types.GQLWrapper

Methods

encodeWrapper :: Monad m => (a -> m (ResolverValue m)) -> Seq a -> m (ResolverValue m) #

EncodeWrapper Set 
Instance details

Defined in Data.Morpheus.Types.GQLWrapper

Methods

encodeWrapper :: Monad m => (a -> m (ResolverValue m)) -> Set a -> m (ResolverValue m) #

EncodeWrapper SubscriptionField 
Instance details

Defined in Data.Morpheus.Types.GQLWrapper

Methods

encodeWrapper :: Monad m => (a -> m (ResolverValue m)) -> SubscriptionField a -> m (ResolverValue m) #

EncodeWrapper Vector 
Instance details

Defined in Data.Morpheus.Types.GQLWrapper

Methods

encodeWrapper :: Monad m => (a -> m (ResolverValue m)) -> Vector a -> m (ResolverValue m) #

EncodeWrapper NonEmpty 
Instance details

Defined in Data.Morpheus.Types.GQLWrapper

Methods

encodeWrapper :: Monad m => (a -> m (ResolverValue m)) -> NonEmpty a -> m (ResolverValue m) #

EncodeWrapper Maybe 
Instance details

Defined in Data.Morpheus.Types.GQLWrapper

Methods

encodeWrapper :: Monad m => (a -> m (ResolverValue m)) -> Maybe a -> m (ResolverValue m) #

EncodeWrapper [] 
Instance details

Defined in Data.Morpheus.Types.GQLWrapper

Methods

encodeWrapper :: Monad m => (a -> m (ResolverValue m)) -> [a] -> m (ResolverValue m) #

class DecodeScalar a where #

GraphQL Scalar parser

class DecodeWrapper (f :: Type -> Type) where #

GraphQL Wrapper Deserializer

Methods

decodeWrapper :: (Monad m, DecodeWrapperConstraint f a) => (ValidValue -> m a) -> ValidValue -> ExceptT GQLError m (f a) #

data GQLRequest #

GraphQL HTTP Request Body

Instances

Instances details
FromJSON GQLRequest 
Instance details

Defined in Data.Morpheus.Types.IO

ToJSON GQLRequest 
Instance details

Defined in Data.Morpheus.Types.IO

Generic GQLRequest 
Instance details

Defined in Data.Morpheus.Types.IO

Associated Types

type Rep GQLRequest :: Type -> Type #

Show GQLRequest 
Instance details

Defined in Data.Morpheus.Types.IO

MapAPI GQLRequest GQLResponse 
Instance details

Defined in Data.Morpheus.App.MapAPI

type Rep GQLRequest 
Instance details

Defined in Data.Morpheus.Types.IO

type Rep GQLRequest = D1 ('MetaData "GQLRequest" "Data.Morpheus.Types.IO" "morpheus-graphql-core-0.24.1-9SKjHDl5aBY6u4iP3JLik3" 'False) (C1 ('MetaCons "GQLRequest" 'PrefixI 'True) (S1 ('MetaSel ('Just "operationName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe FieldName)) :*: (S1 ('MetaSel ('Just "query") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "variables") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Value)))))

data GQLResponse #

GraphQL Response

Constructors

Data ValidValue 
Errors [GQLError] 

Instances

Instances details
FromJSON GQLResponse 
Instance details

Defined in Data.Morpheus.Types.IO

ToJSON GQLResponse 
Instance details

Defined in Data.Morpheus.Types.IO

Generic GQLResponse 
Instance details

Defined in Data.Morpheus.Types.IO

Associated Types

type Rep GQLResponse :: Type -> Type #

Show GQLResponse 
Instance details

Defined in Data.Morpheus.Types.IO

MapAPI GQLRequest GQLResponse 
Instance details

Defined in Data.Morpheus.App.MapAPI

type Rep GQLResponse 
Instance details

Defined in Data.Morpheus.Types.IO

type Rep GQLResponse = D1 ('MetaData "GQLResponse" "Data.Morpheus.Types.IO" "morpheus-graphql-core-0.24.1-9SKjHDl5aBY6u4iP3JLik3" 'False) (C1 ('MetaCons "Data" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ValidValue)) :+: C1 ('MetaCons "Errors" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [GQLError])))

newtype ID #

default GraphQL type, parses only ScalarValue and ScalarValue values, serialized always as ScalarValue

Constructors

ID 

Fields

Instances

Instances details
FromJSON ID 
Instance details

Defined in Data.Morpheus.Types.ID

ToJSON ID 
Instance details

Defined in Data.Morpheus.Types.ID

IsString ID 
Instance details

Defined in Data.Morpheus.Types.ID

Methods

fromString :: String -> ID #

Semigroup ID 
Instance details

Defined in Data.Morpheus.Types.ID

Methods

(<>) :: ID -> ID -> ID #

sconcat :: NonEmpty ID -> ID #

stimes :: Integral b => b -> ID -> ID #

Generic ID 
Instance details

Defined in Data.Morpheus.Types.ID

Associated Types

type Rep ID :: Type -> Type #

Methods

from :: ID -> Rep ID x #

to :: Rep ID x -> ID #

Show ID 
Instance details

Defined in Data.Morpheus.Types.ID

Methods

showsPrec :: Int -> ID -> ShowS #

show :: ID -> String #

showList :: [ID] -> ShowS #

Eq ID 
Instance details

Defined in Data.Morpheus.Types.ID

Methods

(==) :: ID -> ID -> Bool #

(/=) :: ID -> ID -> Bool #

Hashable ID 
Instance details

Defined in Data.Morpheus.Types.ID

Methods

hashWithSalt :: Int -> ID -> Int #

hash :: ID -> Int #

DecodeScalar ID 
Instance details

Defined in Data.Morpheus.Types.ID

EncodeScalar ID 
Instance details

Defined in Data.Morpheus.Types.ID

GQLType ID 
Instance details

Defined in Data.Morpheus.Server.Types.GQLType

Associated Types

type KIND ID :: DerivingKind #

Monad m => ResolveNamed m ID 
Instance details

Defined in Data.Morpheus.Server.NamedResolvers

Associated Types

type Dep ID #

Methods

resolveNamed :: Dep ID -> m ID #

type Rep ID 
Instance details

Defined in Data.Morpheus.Types.ID

type Rep ID = D1 ('MetaData "ID" "Data.Morpheus.Types.ID" "morpheus-graphql-core-0.24.1-9SKjHDl5aBY6u4iP3JLik3" 'True) (C1 ('MetaCons "ID" 'PrefixI 'True) (S1 ('MetaSel ('Just "unpackID") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
type Dep ID 
Instance details

Defined in Data.Morpheus.Server.NamedResolvers

type Dep ID = ID
type KIND ID 
Instance details

Defined in Data.Morpheus.Server.Types.GQLType

type KIND ID = SCALAR

data ScalarValue #

Primitive Values for GQLScalar: ScalarValue, ScalarValue, ScalarValue, Boolean. for performance reason type Text represents GraphQl ScalarValue value

Instances

Instances details
FromJSON ScalarValue 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Value

ToJSON ScalarValue 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Value

IsString ScalarValue 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Value

Generic ScalarValue 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Value

Associated Types

type Rep ScalarValue :: Type -> Type #

Show ScalarValue 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Value

Eq ScalarValue 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Value

RenderGQL ScalarValue 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Value

Methods

renderGQL :: ScalarValue -> Rendering #

Lift ScalarValue 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Value

Methods

lift :: Quote m => ScalarValue -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => ScalarValue -> Code m ScalarValue #

type Rep ScalarValue 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Value

data RootResolver (m :: Type -> Type) event (query :: (Type -> Type) -> Type) (mutation :: (Type -> Type) -> Type) (subscription :: (Type -> Type) -> Type) #

GraphQL Root resolver, also the interpreter generates a GQL schema from it. queryResolver is required, mutationResolver and subscriptionResolver are optional, if your schema does not supports mutation or subscription , you can use () for it.

Constructors

RootResolver 

Fields

Instances

Instances details
RootResolverConstraint m e query mut sub => DeriveApp RootResolver m e query mut sub 
Instance details

Defined in Data.Morpheus.Server.Deriving.App

Methods

deriveApp :: RootResolver m e query mut sub -> App e m #

constRes :: forall (o :: OperationType) (m :: Type -> Type) b a e. (WithOperation o, Monad m) => b -> a -> Resolver o e m b #

constMutRes :: Monad m => [e] -> a -> args -> ResolverM e m a Source #

data Undefined (m :: Type -> Type) #

Instances

Instances details
ExploreChannels 'True e (Undefined m) 
Instance details

Defined in Data.Morpheus.Server.Deriving.Channels

Methods

exploreChannels :: f 'True -> Undefined m -> HashMap FieldName (ChannelRes e)

Generic (Undefined m) 
Instance details

Defined in Data.Morpheus.Server.Types.Types

Associated Types

type Rep (Undefined m) :: Type -> Type #

Methods

from :: Undefined m -> Rep (Undefined m) x #

to :: Rep (Undefined m) x -> Undefined m #

Show (Undefined m) 
Instance details

Defined in Data.Morpheus.Server.Types.Types

Typeable m => GQLType (Undefined m) 
Instance details

Defined in Data.Morpheus.Server.Types.GQLType

Associated Types

type KIND (Undefined m) :: DerivingKind #

type Rep (Undefined m) 
Instance details

Defined in Data.Morpheus.Server.Types.Types

type Rep (Undefined m) = D1 ('MetaData "Undefined" "Data.Morpheus.Server.Types.Types" "morpheus-graphql-server-0.24.1-7EhOSt4ZPqc8curif7s7Gg" 'True) (C1 ('MetaCons "Undefined" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))
type KIND (Undefined m) 
Instance details

Defined in Data.Morpheus.Server.Types.GQLType

type KIND (Undefined m) = CUSTOM

data Resolver (o :: OperationType) event (m :: Type -> Type) value #

Instances

Instances details
DeriveType cat a => DeriveKindedType cat CUSTOM (Resolver o e m a :: Type) 
Instance details

Defined in Data.Morpheus.Server.Deriving.Schema

Methods

deriveKindedType :: kinded CUSTOM (Resolver o e m a) -> SchemaT cat ()

deriveKindedContent :: kinded CUSTOM (Resolver o e m a) -> TyContentM cat

GetChannel e (SubscriptionField (Resolver SUBSCRIPTION e m a)) 
Instance details

Defined in Data.Morpheus.Server.Deriving.Channels

Methods

getChannel :: SubscriptionField (Resolver SUBSCRIPTION e m a) -> ChannelRes e

Decode arg => GetChannel e (arg -> SubscriptionField (Resolver SUBSCRIPTION e m a)) 
Instance details

Defined in Data.Morpheus.Server.Deriving.Channels

Methods

getChannel :: (arg -> SubscriptionField (Resolver SUBSCRIPTION e m a)) -> ChannelRes e

Monad m => PushEvents e (Resolver MUTATION e m) 
Instance details

Defined in Data.Morpheus.App.Internal.Resolving.Resolver

Methods

pushEvents :: [e] -> Resolver MUTATION e m () #

(LiftOperation o, Monad m) => MonadError GQLError (Resolver o e m) 
Instance details

Defined in Data.Morpheus.App.Internal.Resolving.Resolver

Methods

throwError :: GQLError -> Resolver o e m a #

catchError :: Resolver o e m a -> (GQLError -> Resolver o e m a) -> Resolver o e m a #

(LiftOperation o, Monad m) => MonadReader ResolverContext (Resolver o e m) 
Instance details

Defined in Data.Morpheus.App.Internal.Resolving.Resolver

Methods

ask :: Resolver o e m ResolverContext #

local :: (ResolverContext -> ResolverContext) -> Resolver o e m a -> Resolver o e m a #

reader :: (ResolverContext -> a) -> Resolver o e m a #

(Decode a, Generic a, Monad m, Encode (Resolver o e m) b, LiftOperation o) => EncodeKind CUSTOM (Resolver o e m) (a -> b) 
Instance details

Defined in Data.Morpheus.Server.Deriving.Encode

Methods

encodeKind :: ContextValue CUSTOM (a -> b) -> Resolver o e m (ResolverValue (Resolver o e m))

(Monad m, Encode (Resolver o e m) b, LiftOperation o) => EncodeKind CUSTOM (Resolver o e m) (Resolver o e m b) 
Instance details

Defined in Data.Morpheus.Server.Deriving.Encode

Methods

encodeKind :: ContextValue CUSTOM (Resolver o e m b) -> Resolver o e m (ResolverValue (Resolver o e m))

LiftOperation o => MonadTrans (Resolver o e) 
Instance details

Defined in Data.Morpheus.App.Internal.Resolving.Resolver

Methods

lift :: Monad m => m a -> Resolver o e m a #

(Monad m, LiftOperation o) => MonadFail (Resolver o e m) 
Instance details

Defined in Data.Morpheus.App.Internal.Resolving.Resolver

Methods

fail :: String -> Resolver o e m a #

(MonadIO m, LiftOperation o) => MonadIO (Resolver o e m) 
Instance details

Defined in Data.Morpheus.App.Internal.Resolving.Resolver

Methods

liftIO :: IO a -> Resolver o e m a #

(LiftOperation o, Monad m) => Applicative (Resolver o e m) 
Instance details

Defined in Data.Morpheus.App.Internal.Resolving.Resolver

Methods

pure :: a -> Resolver o e m a #

(<*>) :: Resolver o e m (a -> b) -> Resolver o e m a -> Resolver o e m b #

liftA2 :: (a -> b -> c) -> Resolver o e m a -> Resolver o e m b -> Resolver o e m c #

(*>) :: Resolver o e m a -> Resolver o e m b -> Resolver o e m b #

(<*) :: Resolver o e m a -> Resolver o e m b -> Resolver o e m a #

Functor m => Functor (Resolver o e m) 
Instance details

Defined in Data.Morpheus.App.Internal.Resolving.Resolver

Methods

fmap :: (a -> b) -> Resolver o e m a -> Resolver o e m b #

(<$) :: a -> Resolver o e m b -> Resolver o e m a #

(Monad m, LiftOperation o) => Monad (Resolver o e m) 
Instance details

Defined in Data.Morpheus.App.Internal.Resolving.Resolver

Methods

(>>=) :: Resolver o e m a -> (a -> Resolver o e m b) -> Resolver o e m b #

(>>) :: Resolver o e m a -> Resolver o e m b -> Resolver o e m b #

return :: a -> Resolver o e m a #

(Monad m, Semigroup a, LiftOperation o) => Semigroup (Resolver o e m a) 
Instance details

Defined in Data.Morpheus.App.Internal.Resolving.Resolver

Methods

(<>) :: Resolver o e m a -> Resolver o e m a -> Resolver o e m a #

sconcat :: NonEmpty (Resolver o e m a) -> Resolver o e m a #

stimes :: Integral b => b -> Resolver o e m a -> Resolver o e m a #

Show (Resolver o e m value) 
Instance details

Defined in Data.Morpheus.App.Internal.Resolving.Resolver

Methods

showsPrec :: Int -> Resolver o e m value -> ShowS #

show :: Resolver o e m value -> String #

showList :: [Resolver o e m value] -> ShowS #

GQLType a => GQLType (Resolver o e m a) 
Instance details

Defined in Data.Morpheus.Server.Types.GQLType

Associated Types

type KIND (Resolver o e m a) :: DerivingKind #

Methods

description :: f (Resolver o e m a) -> Maybe Text #

directives :: f (Resolver o e m a) -> DirectiveUsages #

getDescriptions :: f (Resolver o e m a) -> Map Text Description #

typeOptions :: f (Resolver o e m a) -> GQLTypeOptions -> GQLTypeOptions #

getDirectives :: f (Resolver o e m a) -> Map Text (Directives CONST) #

defaultValues :: f (Resolver o e m a) -> Map Text (Value CONST) #

__type :: f (Resolver o e m a) -> TypeCategory -> TypeData

type KIND (Resolver o e m a) 
Instance details

Defined in Data.Morpheus.Server.Types.GQLType

type KIND (Resolver o e m a) = CUSTOM

type QUERY = 'Query #

lift :: (MonadTrans t, Monad m) => m a -> t m a #

Lift a computation from the argument monad to the constructed monad.

liftEither :: (MonadTrans t, Monad (t m), MonadError GQLError (t m)) => Monad m => m (Either String a) -> t m a Source #

failRes :: (Monad m, WithOperation o) => String -> Resolver o e m a Source #

Deprecated: use "fail" from MonadFail

publish :: forall (m :: Type -> Type) e. Monad m => [e] -> Resolver MUTATION e m () #

subscribe :: forall (m :: Type -> Type) e a. Monad m => Channel e -> Resolver QUERY e m (e -> Resolver SUBSCRIPTION e m a) -> SubscriptionField (Resolver SUBSCRIPTION e m a) #

unsafeInternalContext :: forall (m :: Type -> Type) (o :: OperationType) e. (Monad m, LiftOperation o) => Resolver o e m ResolverContext #

A function to return the internal ResolverContext within a resolver's monad. Using the ResolverContext itself is unsafe because it exposes internal structures of the AST, but you can use the Data.Morpheus.Types.SelectionTree typeClass to manipulate the internal AST with a safe interface.

data ResolverContext #

Instances

Instances details
Show ResolverContext 
Instance details

Defined in Data.Morpheus.App.Internal.Resolving.ResolverState

Monad m => MonadReader ResolverContext (ResolverStateT event m) 
Instance details

Defined in Data.Morpheus.App.Internal.Resolving.ResolverState

Methods

ask :: ResolverStateT event m ResolverContext #

local :: (ResolverContext -> ResolverContext) -> ResolverStateT event m a -> ResolverStateT event m a #

reader :: (ResolverContext -> a) -> ResolverStateT event m a #

(LiftOperation o, Monad m) => MonadReader ResolverContext (Resolver o e m) 
Instance details

Defined in Data.Morpheus.App.Internal.Resolving.Resolver

Methods

ask :: Resolver o e m ResolverContext #

local :: (ResolverContext -> ResolverContext) -> Resolver o e m a -> Resolver o e m a #

reader :: (ResolverContext -> a) -> Resolver o e m a #

type ResolverO (o :: OperationType) e (m :: Type -> Type) (a :: k) = Flexible (Resolver o e m) a #

type ComposedResolver (o :: OperationType) e (m :: Type -> Type) (f :: Type -> Type) (a :: k) = Composed (Resolver o e m) f a #

type ResolverQ e (m :: Type -> Type) (a :: k) = Flexible (Resolver QUERY e m) a #

type ResolverM e (m :: Type -> Type) (a :: k) = Flexible (Resolver MUTATION e m) a #

type ResolverS e (m :: Type -> Type) (a :: k) = Flexible (Resolver SUBSCRIPTION e m) a #

type ResolveQ e m a = ResolverQ e m a Source #

Deprecated: use ResolverQ

type ResolveM e m a = ResolverM e m a Source #

Deprecated: use ResolverM

type ResolveS e m a = ResolverS e m a Source #

Deprecated: use ResolverS

type Res = Resolver QUERY Source #

Deprecated: use ResolverQ

type MutRes = Resolver MUTATION Source #

Deprecated: use ResolverM

type SubRes = Resolver SUBSCRIPTION Source #

Deprecated: use ResolverS

type IORes e = Res e IO Source #

Deprecated: use ResolverQ

type IOMutRes e = MutRes e IO Source #

Deprecated: use ResolverM

type IOSubRes e = SubRes e IO Source #

Deprecated: use ResolverS

data SubscriptionField a #

Instances

Instances details
EncodeWrapper SubscriptionField 
Instance details

Defined in Data.Morpheus.Types.GQLWrapper

Methods

encodeWrapper :: Monad m => (a -> m (ResolverValue m)) -> SubscriptionField a -> m (ResolverValue m) #

GetChannel e (SubscriptionField (Resolver SUBSCRIPTION e m a)) 
Instance details

Defined in Data.Morpheus.Server.Deriving.Channels

Methods

getChannel :: SubscriptionField (Resolver SUBSCRIPTION e m a) -> ChannelRes e

Decode arg => GetChannel e (arg -> SubscriptionField (Resolver SUBSCRIPTION e m a)) 
Instance details

Defined in Data.Morpheus.Server.Deriving.Channels

Methods

getChannel :: (arg -> SubscriptionField (Resolver SUBSCRIPTION e m a)) -> ChannelRes e

GQLType a => GQLType (SubscriptionField a) 
Instance details

Defined in Data.Morpheus.Server.Types.GQLType

Associated Types

type KIND (SubscriptionField a) :: DerivingKind #

type KIND (SubscriptionField a) 
Instance details

Defined in Data.Morpheus.Server.Types.GQLType

data App event (m :: Type -> Type) #

Instances

Instances details
Monad m => Semigroup (App e m) 
Instance details

Defined in Data.Morpheus.App

Methods

(<>) :: App e m -> App e m -> App e m #

sconcat :: NonEmpty (App e m) -> App e m #

stimes :: Integral b => b -> App e m -> App e m #

RenderGQL (App e m) 
Instance details

Defined in Data.Morpheus.App

Methods

renderGQL :: App e m -> Rendering #

class RenderGQL a #

Minimal complete definition

renderGQL

Instances

Instances details
RenderGQL Value 
Instance details

Defined in Data.Morpheus.Rendering.RenderGQL

Methods

renderGQL :: Value -> Rendering #

RenderGQL ByteString 
Instance details

Defined in Data.Morpheus.Rendering.RenderGQL

Methods

renderGQL :: ByteString -> Rendering #

RenderGQL DirectiveLocation 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.DirectiveLocation

Methods

renderGQL :: DirectiveLocation -> Rendering #

RenderGQL OperationType 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.OperationType

Methods

renderGQL :: OperationType -> Rendering #

RenderGQL UnionTag 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Selection

Methods

renderGQL :: UnionTag -> Rendering #

RenderGQL TypeKind 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Type

Methods

renderGQL :: TypeKind -> Rendering #

RenderGQL TypeRef 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Type

Methods

renderGQL :: TypeRef -> Rendering #

RenderGQL RootOperationTypeDefinition 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.TypeSystem

Methods

renderGQL :: RootOperationTypeDefinition -> Rendering #

RenderGQL SchemaDefinition 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.TypeSystem

Methods

renderGQL :: SchemaDefinition -> Rendering #

RenderGQL ScalarValue 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Value

Methods

renderGQL :: ScalarValue -> Rendering #

RenderGQL Text 
Instance details

Defined in Data.Morpheus.Rendering.RenderGQL

Methods

renderGQL :: Text -> Rendering #

RenderGQL Bool 
Instance details

Defined in Data.Morpheus.Rendering.RenderGQL

Methods

renderGQL :: Bool -> Rendering #

RenderGQL Double 
Instance details

Defined in Data.Morpheus.Rendering.RenderGQL

Methods

renderGQL :: Double -> Rendering #

RenderGQL Float 
Instance details

Defined in Data.Morpheus.Rendering.RenderGQL

Methods

renderGQL :: Float -> Rendering #

RenderGQL Int 
Instance details

Defined in Data.Morpheus.Rendering.RenderGQL

Methods

renderGQL :: Int -> Rendering #

RenderGQL (Argument s) 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Fields

Methods

renderGQL :: Argument s -> Rendering #

RenderGQL (ArgumentDefinition s) 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Fields

Methods

renderGQL :: ArgumentDefinition s -> Rendering #

RenderGQL (ArgumentsDefinition s) 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Fields

Methods

renderGQL :: ArgumentsDefinition s -> Rendering #

RenderGQL (Directive s) 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Fields

Methods

renderGQL :: Directive s -> Rendering #

RenderGQL (DirectiveDefinition s) 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Fields

Methods

renderGQL :: DirectiveDefinition s -> Rendering #

RenderGQL (Directives s) 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Fields

Methods

renderGQL :: Directives s -> Rendering #

RenderGQL (Name a) 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Name

Methods

renderGQL :: Name a -> Rendering #

RenderGQL (Operation VALID) 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Selection

Methods

renderGQL :: Operation VALID -> Rendering #

RenderGQL (Selection VALID) 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Selection

Methods

renderGQL :: Selection VALID -> Rendering #

RenderGQL (SelectionContent VALID) 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Selection

Methods

renderGQL :: SelectionContent VALID -> Rendering #

RenderGQL (DataEnumValue s) 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.TypeSystem

Methods

renderGQL :: DataEnumValue s -> Rendering #

RenderGQL (Schema s) 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.TypeSystem

Methods

renderGQL :: Schema s -> Rendering #

RenderGQL (ObjectEntry a) 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Value

Methods

renderGQL :: ObjectEntry a -> Rendering #

RenderGQL (Value a) 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Value

Methods

renderGQL :: Value a -> Rendering #

RenderGQL a => RenderGQL (Maybe a) 
Instance details

Defined in Data.Morpheus.Rendering.RenderGQL

Methods

renderGQL :: Maybe a -> Rendering #

(RenderGQL l, RenderGQL r) => RenderGQL (Either l r) 
Instance details

Defined in Data.Morpheus.Rendering.RenderGQL

Methods

renderGQL :: Either l r -> Rendering #

RenderGQL (App e m) 
Instance details

Defined in Data.Morpheus.App

Methods

renderGQL :: App e m -> Rendering #

RenderGQL (FieldDefinition cat s) 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Fields

Methods

renderGQL :: FieldDefinition cat s -> Rendering #

RenderGQL (FieldsDefinition cat s) 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Fields

Methods

renderGQL :: FieldsDefinition cat s -> Rendering #

RenderGQL (TypeDefinition a s) 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.TypeSystem

Methods

renderGQL :: TypeDefinition a s -> Rendering #

RenderGQL (AppData e m s) 
Instance details

Defined in Data.Morpheus.App

Methods

renderGQL :: AppData e m s -> Rendering #

data TypeGuard interface union #

Constructors

ResolveInterface interface 
ResolveType union 

Instances

Instances details
(DeriveTypeConstraint OUT interface, DeriveTypeConstraint OUT union) => DeriveKindedType OUT CUSTOM (TypeGuard interface union :: Type) 
Instance details

Defined in Data.Morpheus.Server.Deriving.Schema

Methods

deriveKindedType :: kinded CUSTOM (TypeGuard interface union) -> SchemaT OUT ()

deriveKindedContent :: kinded CUSTOM (TypeGuard interface union) -> TyContentM OUT

(MonadError GQLError m, EncodeConstraint m guard, EncodeConstraint m union) => EncodeKind CUSTOM m (TypeGuard guard union) 
Instance details

Defined in Data.Morpheus.Server.Deriving.Encode

Methods

encodeKind :: ContextValue CUSTOM (TypeGuard guard union) -> m (ResolverValue m)

GQLType interface => GQLType (TypeGuard interface possibleTypes) 
Instance details

Defined in Data.Morpheus.Server.Types.GQLType

Associated Types

type KIND (TypeGuard interface possibleTypes) :: DerivingKind #

Methods

description :: f (TypeGuard interface possibleTypes) -> Maybe Text #

directives :: f (TypeGuard interface possibleTypes) -> DirectiveUsages #

getDescriptions :: f (TypeGuard interface possibleTypes) -> Map Text Description #

typeOptions :: f (TypeGuard interface possibleTypes) -> GQLTypeOptions -> GQLTypeOptions #

getDirectives :: f (TypeGuard interface possibleTypes) -> Map Text (Directives CONST) #

defaultValues :: f (TypeGuard interface possibleTypes) -> Map Text (Value CONST) #

__type :: f (TypeGuard interface possibleTypes) -> TypeCategory -> TypeData

type KIND (TypeGuard interface possibleTypes) 
Instance details

Defined in Data.Morpheus.Server.Types.GQLType

type KIND (TypeGuard interface possibleTypes) = CUSTOM

newtype Arg (name :: Symbol) a #

Constructors

Arg 

Fields

Instances

Instances details
Generic (Arg name a) 
Instance details

Defined in Data.Morpheus.Server.Types.Types

Associated Types

type Rep (Arg name a) :: Type -> Type #

Methods

from :: Arg name a -> Rep (Arg name a) x #

to :: Rep (Arg name a) x -> Arg name a #

Show a => Show (Arg name a) 
Instance details

Defined in Data.Morpheus.Server.Types.Types

Methods

showsPrec :: Int -> Arg name a -> ShowS #

show :: Arg name a -> String #

showList :: [Arg name a] -> ShowS #

GQLType value => GQLType (Arg name value) 
Instance details

Defined in Data.Morpheus.Server.Types.GQLType

Associated Types

type KIND (Arg name value) :: DerivingKind #

Methods

description :: f (Arg name value) -> Maybe Text #

directives :: f (Arg name value) -> DirectiveUsages #

getDescriptions :: f (Arg name value) -> Map Text Description #

typeOptions :: f (Arg name value) -> GQLTypeOptions -> GQLTypeOptions #

getDirectives :: f (Arg name value) -> Map Text (Directives CONST) #

defaultValues :: f (Arg name value) -> Map Text (Value CONST) #

__type :: f (Arg name value) -> TypeCategory -> TypeData

type Rep (Arg name a) 
Instance details

Defined in Data.Morpheus.Server.Types.Types

type Rep (Arg name a) = D1 ('MetaData "Arg" "Data.Morpheus.Server.Types.Types" "morpheus-graphql-server-0.24.1-7EhOSt4ZPqc8curif7s7Gg" 'True) (C1 ('MetaCons "Arg" 'PrefixI 'True) (S1 ('MetaSel ('Just "argValue") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))
type KIND (Arg name value) 
Instance details

Defined in Data.Morpheus.Server.Types.GQLType

type KIND (Arg name value) = CUSTOM

data NamedResolvers (m :: Type -> Type) event (qu :: (Type -> Type) -> Type) (mu :: (Type -> Type) -> Type) (su :: (Type -> Type) -> Type) #

Constructors

ResolveNamed (Resolver QUERY event m) (qu (NamedResolverT (Resolver QUERY event m))) => NamedResolvers 

Instances

Instances details
NamedResolversConstraint m e query mut sub => DeriveApp NamedResolvers m e query mut sub 
Instance details

Defined in Data.Morpheus.Server.Deriving.App

Methods

deriveApp :: NamedResolvers m e query mut sub -> App e m #

GQLType naming configuration

data GQLTypeOptions #

Options that specify how to map GraphQL field, type, and constructor names to and from their Haskell equivalent.

Options can be set using record syntax on defaultOptions with the fields below.

fieldLabelModifier :: GQLTypeOptions -> String -> String #

Function applied to field labels. Handy for removing common record prefixes for example.

constructorTagModifier :: GQLTypeOptions -> String -> String #

Function applied to constructor tags.

typeNameModifier :: GQLTypeOptions -> Bool -> String -> String #

Construct a new type name depending on whether it is an input, and being given the original type name.

GQL directives API

data Prefixes #

a custom GraphQL directive for adding or removing of prefixes

Constructors

Prefixes 

Instances

Instances details
Generic Prefixes 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

Associated Types

type Rep Prefixes :: Type -> Type #

Methods

from :: Prefixes -> Rep Prefixes x #

to :: Rep Prefixes x -> Prefixes #

GQLDirective Prefixes 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

GQLType Prefixes 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

Associated Types

type KIND Prefixes :: DerivingKind #

VisitType Prefixes 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

type Rep Prefixes 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

type Rep Prefixes = D1 ('MetaData "Prefixes" "Data.Morpheus.Server.Types.DirectiveDefinitions" "morpheus-graphql-server-0.24.1-7EhOSt4ZPqc8curif7s7Gg" 'False) (C1 ('MetaCons "Prefixes" 'PrefixI 'True) (S1 ('MetaSel ('Just "addPrefix") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "removePrefix") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
type DIRECTIVE_LOCATIONS Prefixes 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

type KIND Prefixes 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

class VisitType a where #

Minimal complete definition

Nothing

Methods

visitTypeName :: a -> Bool -> Text -> Text #

Construct a new type name depending on whether it is an input, and being given the original type name.

visitTypeDescription :: a -> Maybe Text -> Maybe Text #

visitFieldNames :: a -> Text -> Text #

Function applied to field labels. Handy for removing common record prefixes for example.

visitEnumNames :: a -> Text -> Text #

Function applied to enum values Handy for removing common enum prefixes for example.

Instances

Instances details
VisitType Describe 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

VisitType DropNamespace 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

VisitType Prefixes 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

VisitType Rename 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

VisitType InputTypeNamespace 
Instance details

Defined in Data.Morpheus.Server.Types.GQLType

newtype Describe #

Constructors

Describe 

Fields

Instances

Instances details
Generic Describe 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

Associated Types

type Rep Describe :: Type -> Type #

Methods

from :: Describe -> Rep Describe x #

to :: Rep Describe x -> Describe #

GQLDirective Describe 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

GQLType Describe 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

Associated Types

type KIND Describe :: DerivingKind #

VisitEnum Describe 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

VisitField Describe 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

VisitType Describe 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

type Rep Describe 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

type Rep Describe = D1 ('MetaData "Describe" "Data.Morpheus.Server.Types.DirectiveDefinitions" "morpheus-graphql-server-0.24.1-7EhOSt4ZPqc8curif7s7Gg" 'True) (C1 ('MetaCons "Describe" 'PrefixI 'True) (S1 ('MetaSel ('Just "text") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
type DIRECTIVE_LOCATIONS Describe 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

type KIND Describe 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

typeDirective :: TypeDirectiveConstraint a => a -> DirectiveUsages #

fieldDirective :: TypeDirectiveConstraint a => FieldName -> a -> DirectiveUsages #

enumDirective :: TypeDirectiveConstraint a => TypeName -> a -> DirectiveUsages #

default GQL directives

class (Typeable a, WITH_VISITOR a VISIT_TYPE TYPE_VISITOR_KIND, WITH_VISITOR a VISIT_FIELD FIELD_VISITOR_KIND, WITH_VISITOR a VISIT_ENUM ENUM_VISITOR_KIND) => GQLDirective a where #

Minimal complete definition

Nothing

Associated Types

type DIRECTIVE_LOCATIONS a :: [DirectiveLocation] #

Methods

excludeFromSchema :: f a -> Bool #

newtype Deprecated #

Constructors

Deprecated 

Fields

Instances

Instances details
Generic Deprecated 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

Associated Types

type Rep Deprecated :: Type -> Type #

GQLDirective Deprecated 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

GQLType Deprecated 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

Associated Types

type KIND Deprecated :: DerivingKind #

VisitEnum Deprecated 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

VisitField Deprecated 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

type Rep Deprecated 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

type Rep Deprecated = D1 ('MetaData "Deprecated" "Data.Morpheus.Server.Types.DirectiveDefinitions" "morpheus-graphql-server-0.24.1-7EhOSt4ZPqc8curif7s7Gg" 'True) (C1 ('MetaCons "Deprecated" 'PrefixI 'True) (S1 ('MetaSel ('Just "reason") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text))))
type DIRECTIVE_LOCATIONS Deprecated 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

type KIND Deprecated 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

newtype DropNamespace #

Constructors

DropNamespace 

Fields

Instances

Instances details
Generic DropNamespace 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

Associated Types

type Rep DropNamespace :: Type -> Type #

GQLDirective DropNamespace 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

GQLType DropNamespace 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

Associated Types

type KIND DropNamespace :: DerivingKind #

VisitType DropNamespace 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

type Rep DropNamespace 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

type Rep DropNamespace = D1 ('MetaData "DropNamespace" "Data.Morpheus.Server.Types.DirectiveDefinitions" "morpheus-graphql-server-0.24.1-7EhOSt4ZPqc8curif7s7Gg" 'True) (C1 ('MetaCons "DropNamespace" 'PrefixI 'True) (S1 ('MetaSel ('Just "dropNamespace") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
type DIRECTIVE_LOCATIONS DropNamespace 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

type KIND DropNamespace 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

newtype Rename #

a custom GraphQL directive for adding or removing of prefixes

Constructors

Rename 

Fields

Instances

Instances details
Generic Rename 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

Associated Types

type Rep Rename :: Type -> Type #

Methods

from :: Rename -> Rep Rename x #

to :: Rep Rename x -> Rename #

GQLDirective Rename 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

Associated Types

type DIRECTIVE_LOCATIONS Rename :: [DirectiveLocation] #

GQLType Rename 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

Associated Types

type KIND Rename :: DerivingKind #

VisitEnum Rename 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

VisitField Rename 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

VisitType Rename 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

type Rep Rename 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

type Rep Rename = D1 ('MetaData "Rename" "Data.Morpheus.Server.Types.DirectiveDefinitions" "morpheus-graphql-server-0.24.1-7EhOSt4ZPqc8curif7s7Gg" 'True) (C1 ('MetaCons "Rename" 'PrefixI 'True) (S1 ('MetaSel ('Just "newName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
type DIRECTIVE_LOCATIONS Rename 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions

type KIND Rename 
Instance details

Defined in Data.Morpheus.Server.Types.DirectiveDefinitions