morpheus-graphql-core-0.25.0: Morpheus GraphQL Core
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.Morpheus.Core

Synopsis

Documentation

data Config Source #

Constructors

Config 

Instances

Instances details
Show Config Source # 
Instance details

Defined in Data.Morpheus.Types.Internal.Config

class RenderGQL a where Source #

Methods

renderGQL :: a -> Rendering Source #

Instances

Instances details
RenderGQL Value Source # 
Instance details

Defined in Data.Morpheus.Rendering.RenderGQL

Methods

renderGQL :: Value -> Rendering Source #

RenderGQL ByteString Source # 
Instance details

Defined in Data.Morpheus.Rendering.RenderGQL

Methods

renderGQL :: ByteString -> Rendering Source #

RenderGQL DirectiveLocation Source # 
Instance details

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

Methods

renderGQL :: DirectiveLocation -> Rendering Source #

RenderGQL OperationType Source # 
Instance details

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

Methods

renderGQL :: OperationType -> Rendering Source #

RenderGQL UnionTag Source # 
Instance details

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

Methods

renderGQL :: UnionTag -> Rendering Source #

RenderGQL TypeKind Source # 
Instance details

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

Methods

renderGQL :: TypeKind -> Rendering Source #

RenderGQL TypeRef Source # 
Instance details

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

Methods

renderGQL :: TypeRef -> Rendering Source #

RenderGQL RootOperationTypeDefinition Source # 
Instance details

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

RenderGQL SchemaDefinition Source # 
Instance details

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

Methods

renderGQL :: SchemaDefinition -> Rendering Source #

RenderGQL ScalarValue Source # 
Instance details

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

Methods

renderGQL :: ScalarValue -> Rendering Source #

RenderGQL Text Source # 
Instance details

Defined in Data.Morpheus.Rendering.RenderGQL

Methods

renderGQL :: Text -> Rendering Source #

RenderGQL Bool Source # 
Instance details

Defined in Data.Morpheus.Rendering.RenderGQL

Methods

renderGQL :: Bool -> Rendering Source #

RenderGQL Double Source # 
Instance details

Defined in Data.Morpheus.Rendering.RenderGQL

Methods

renderGQL :: Double -> Rendering Source #

RenderGQL Float Source # 
Instance details

Defined in Data.Morpheus.Rendering.RenderGQL

Methods

renderGQL :: Float -> Rendering Source #

RenderGQL Int Source # 
Instance details

Defined in Data.Morpheus.Rendering.RenderGQL

Methods

renderGQL :: Int -> Rendering Source #

RenderGQL (Argument s) Source # 
Instance details

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

Methods

renderGQL :: Argument s -> Rendering Source #

RenderGQL (ArgumentDefinition s) Source # 
Instance details

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

Methods

renderGQL :: ArgumentDefinition s -> Rendering Source #

RenderGQL (ArgumentsDefinition s) Source # 
Instance details

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

Methods

renderGQL :: ArgumentsDefinition s -> Rendering Source #

RenderGQL (Directive s) Source # 
Instance details

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

Methods

renderGQL :: Directive s -> Rendering Source #

RenderGQL (DirectiveDefinition s) Source # 
Instance details

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

Methods

renderGQL :: DirectiveDefinition s -> Rendering Source #

RenderGQL (Directives s) Source # 
Instance details

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

Methods

renderGQL :: Directives s -> Rendering Source #

RenderGQL (Name a) Source # 
Instance details

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

Methods

renderGQL :: Name a -> Rendering Source #

RenderGQL (Operation VALID) Source # 
Instance details

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

Methods

renderGQL :: Operation VALID -> Rendering Source #

RenderGQL (Selection VALID) Source # 
Instance details

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

Methods

renderGQL :: Selection VALID -> Rendering Source #

RenderGQL (SelectionContent VALID) Source # 
Instance details

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

Methods

renderGQL :: SelectionContent VALID -> Rendering Source #

RenderGQL (DataEnumValue s) Source # 
Instance details

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

Methods

renderGQL :: DataEnumValue s -> Rendering Source #

RenderGQL (Schema s) Source # 
Instance details

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

Methods

renderGQL :: Schema s -> Rendering Source #

RenderGQL (ObjectEntry a) Source # 
Instance details

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

Methods

renderGQL :: ObjectEntry a -> Rendering Source #

RenderGQL (Value a) Source # 
Instance details

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

Methods

renderGQL :: Value a -> Rendering Source #

RenderGQL a => RenderGQL (Maybe a) Source # 
Instance details

Defined in Data.Morpheus.Rendering.RenderGQL

Methods

renderGQL :: Maybe a -> Rendering Source #

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

Defined in Data.Morpheus.Rendering.RenderGQL

Methods

renderGQL :: Either l r -> Rendering Source #

RenderGQL (FieldDefinition cat s) Source # 
Instance details

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

Methods

renderGQL :: FieldDefinition cat s -> Rendering Source #

RenderGQL (FieldsDefinition cat s) Source # 
Instance details

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

Methods

renderGQL :: FieldsDefinition cat s -> Rendering Source #

RenderGQL (TypeDefinition a s) Source # 
Instance details

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

Methods

renderGQL :: TypeDefinition a s -> Rendering Source #

RenderGQL (UnionMember cat s) Source # 
Instance details

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

Methods

renderGQL :: UnionMember cat s -> Rendering Source #

class SelectionTree node where Source #

The SelectionTree instance is a simple interface for interacting with morpheus's internal AST while keeping the ability to safely change the concrete representation of the AST.

Minimal complete definition

isLeaf, getName, getChildren, getChild, getArguments, getArgument

Associated Types

type ChildNode node :: Type Source #

Methods

isLeaf :: node -> Bool Source #

leaf test: is the list of children empty?

getName :: IsString name => node -> name Source #

get a node's name (real name. not alias)

getChildrenList :: node -> [ChildNode node] Source #

Get the children

getChildren :: node -> [ChildNode node] Source #

get the child nodes

getChild :: ToString name => name -> node -> Maybe (ChildNode node) Source #

lookup child node by name (does not use aliases)

hasChild :: ToString name => name -> node -> Bool Source #

checks if the node has a child with the specified name (does not use aliases)

getArguments :: IsString name => node -> [(name, Value)] Source #

get node arguments (as aeson values)

getArgument :: ToString name => name -> node -> Maybe Value Source #

get node argument by name (as aeson values)

Instances

Instances details
SelectionTree (Operation VALID) Source # 
Instance details

Defined in Data.Morpheus.Types.SelectionTree

Associated Types

type ChildNode (Operation VALID) Source #

SelectionTree (Selection VALID) Source # 
Instance details

Defined in Data.Morpheus.Types.SelectionTree

Associated Types

type ChildNode (Selection VALID) Source #