morpheus-graphql-core-0.13.0: Morpheus GraphQL Core

Safe HaskellNone
LanguageHaskell2010

Data.Morpheus.Internal.Utils

Documentation

class Collection a coll | coll -> a where Source #

Methods

empty :: coll Source #

singleton :: a -> coll Source #

Instances
Collection ArgumentDefinition ArgumentsDefinition Source # 
Instance details

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

Collection a [a] Source # 
Instance details

Defined in Data.Morpheus.Internal.Utils

Methods

empty :: [a] Source #

singleton :: a -> [a] Source #

(KEY def ~ FieldName, KeyOf def) => Collection def (Fields def) Source # 
Instance details

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

Methods

empty :: Fields def Source #

singleton :: def -> Fields def Source #

(Hashable k, KeyOf v, k ~ KEY v) => Collection v (HashMap k v) Source # 
Instance details

Defined in Data.Morpheus.Internal.Utils

Methods

empty :: HashMap k v Source #

singleton :: v -> HashMap k v Source #

(KeyOf a, Hashable k, KEY a ~ k) => Collection a (OrderedMap k a) Source # 
Instance details

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

Methods

empty :: OrderedMap k a Source #

singleton :: a -> OrderedMap k a Source #

class Selectable c a | c -> a where Source #

Methods

selectOr :: d -> (a -> d) -> KEY a -> c -> d Source #

Instances
Selectable ArgumentsDefinition ArgumentDefinition Source # 
Instance details

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

Selectable DirectiveDefinition ArgumentDefinition Source # 
Instance details

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

Selectable Schema (TypeDefinition ANY) Source # 
Instance details

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

Methods

selectOr :: d -> (TypeDefinition ANY -> d) -> KEY (TypeDefinition ANY) -> Schema -> d Source #

KeyOf a => Selectable [a] a Source # 
Instance details

Defined in Data.Morpheus.Internal.Utils

Methods

selectOr :: d -> (a -> d) -> KEY a -> [a] -> d Source #

Selectable (FieldDefinition OUT) ArgumentDefinition Source # 
Instance details

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

Selectable (Fields (FieldDefinition cat)) (FieldDefinition cat) Source # 
Instance details

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

Methods

selectOr :: d -> (FieldDefinition cat -> d) -> KEY (FieldDefinition cat) -> Fields (FieldDefinition cat) -> d Source #

(KEY a ~ k, Eq k, Hashable k) => Selectable (HashMap k a) a Source # 
Instance details

Defined in Data.Morpheus.Internal.Utils

Methods

selectOr :: d -> (a -> d) -> KEY a -> HashMap k a -> d Source #

(Eq k, Hashable k, k ~ KEY a) => Selectable (OrderedMap k a) a Source # 
Instance details

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

Methods

selectOr :: d -> (a -> d) -> KEY a -> OrderedMap k a -> d Source #

class Listable a coll | coll -> a where Source #

Methods

elems :: coll -> [a] Source #

fromElems :: (KeyOf a, Monad m, Failure GQLErrors m) => [a] -> m coll Source #

class Merge a where Source #

Methods

merge :: (Monad m, Failure GQLErrors m) => [Ref] -> a -> a -> m a Source #

Instances
Merge UnionTag Source # 
Instance details

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

Methods

merge :: (Monad m, Failure GQLErrors m) => [Ref] -> UnionTag -> UnionTag -> m UnionTag Source #

Merge (FieldsDefinition cat) Source # 
Instance details

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

Methods

merge :: (Monad m, Failure GQLErrors m) => [Ref] -> FieldsDefinition cat -> FieldsDefinition cat -> m (FieldsDefinition cat) Source #

Merge (SelectionSet a) => Merge (Selection a) Source # 
Instance details

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

Methods

merge :: (Monad m, Failure GQLErrors m) => [Ref] -> Selection a -> Selection a -> m (Selection a) Source #

Merge (SelectionSet s) => Merge (SelectionContent s) Source # 
Instance details

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

(NameCollision a, Eq k, Hashable k, k ~ KEY a) => Merge (OrderedMap k a) Source # 
Instance details

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

Methods

merge :: (Monad m, Failure GQLErrors m) => [Ref] -> OrderedMap k a -> OrderedMap k a -> m (OrderedMap k a) Source #

Merge (ResModel o e m) Source # 
Instance details

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

Methods

merge :: (Monad m0, Failure GQLErrors m0) => [Ref] -> ResModel o e m -> ResModel o e m -> m0 (ResModel o e m) Source #

Merge (ObjectResModel o e m) Source # 
Instance details

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

Methods

merge :: (Monad m0, Failure GQLErrors m0) => [Ref] -> ObjectResModel o e m -> ObjectResModel o e m -> m0 (ObjectResModel o e m) Source #

class Applicative f => Failure error (f :: * -> *) where Source #

Methods

failure :: error -> f v Source #

Instances
Failure error (Either error) Source # 
Instance details

Defined in Data.Morpheus.Internal.Utils

Methods

failure :: error -> Either error v Source #

Failure Message (Result e) Source # 
Instance details

Defined in Data.Morpheus.Types.Internal.Resolving.Core

Methods

failure :: Message -> Result e v Source #

Monad m => Failure GQLErrors (ResultT event m) Source # 
Instance details

Defined in Data.Morpheus.Types.Internal.Resolving.Core

Methods

failure :: GQLErrors -> ResultT event m v Source #

Applicative m => Failure Message (ResultT event m) Source # 
Instance details

Defined in Data.Morpheus.Types.Internal.Resolving.Core

Methods

failure :: Message -> ResultT event m v Source #

(LiftOperation o, Monad m) => Failure GQLErrors (Resolver o e m) Source # 
Instance details

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

Methods

failure :: GQLErrors -> Resolver o e m v Source #

(LiftOperation o, Monad m) => Failure Message (Resolver o e m) Source # 
Instance details

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

Methods

failure :: Message -> Resolver o e m v Source #

Failure [GQLError] (Result ev) Source # 
Instance details

Defined in Data.Morpheus.Types.Internal.Resolving.Core

Methods

failure :: [GQLError] -> Result ev v Source #

(Stream s, Ord e, Failure [a] m) => Failure [a] (ParsecT e s m) Source # 
Instance details

Defined in Data.Morpheus.Internal.Utils

Methods

failure :: [a] -> ParsecT e s m v Source #

class Eq (KEY a) => KeyOf a where Source #

Associated Types

type KEY a :: * Source #

Methods

keyOf :: a -> KEY a Source #

Instances
KeyOf Ref Source # 
Instance details

Defined in Data.Morpheus.Internal.Utils

Associated Types

type KEY Ref :: Type Source #

Methods

keyOf :: Ref -> KEY Ref Source #

KeyOf TypeNameRef Source # 
Instance details

Defined in Data.Morpheus.Internal.Utils

Associated Types

type KEY TypeNameRef :: Type Source #

KeyOf DirectiveDefinition Source # 
Instance details

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

Associated Types

type KEY DirectiveDefinition :: Type Source #

KeyOf UnionTag Source # 
Instance details

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

Associated Types

type KEY UnionTag :: Type Source #

KeyOf Fragment Source # 
Instance details

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

Associated Types

type KEY Fragment :: Type Source #

KeyOf (ObjectEntry s) Source # 
Instance details

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

Associated Types

type KEY (ObjectEntry s) :: Type Source #

KeyOf (Variable s) Source # 
Instance details

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

Associated Types

type KEY (Variable s) :: Type Source #

Methods

keyOf :: Variable s -> KEY (Variable s) Source #

KeyOf (FieldDefinition cat) Source # 
Instance details

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

Associated Types

type KEY (FieldDefinition cat) :: Type Source #

KeyOf (TypeDefinition a) Source # 
Instance details

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

Associated Types

type KEY (TypeDefinition a) :: Type Source #

KeyOf (Directive s) Source # 
Instance details

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

Associated Types

type KEY (Directive s) :: Type Source #

Methods

keyOf :: Directive s -> KEY (Directive s) Source #

KeyOf (Argument stage) Source # 
Instance details

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

Associated Types

type KEY (Argument stage) :: Type Source #

Methods

keyOf :: Argument stage -> KEY (Argument stage) Source #

KeyOf (Selection s) Source # 
Instance details

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

Associated Types

type KEY (Selection s) :: Type Source #

Methods

keyOf :: Selection s -> KEY (Selection s) Source #

toPair :: KeyOf a => a -> (KEY a, a) Source #

selectBy :: (Failure e m, Selectable c a, Monad m) => e -> KEY a -> c -> m a Source #

member :: forall a c. Selectable c a => KEY a -> c -> Bool Source #

keys :: (KeyOf a, Listable a coll) => coll -> [KEY a] Source #

size :: Listable a coll => coll -> Int Source #

(<:>) :: (Monad m, Merge a, Failure GQLErrors m) => a -> a -> m a Source #

mapFst :: (a -> a') -> (a, b) -> (a', b) Source #

mapSnd :: (b -> b') -> (a, b) -> (a, b') Source #

mapTuple :: (a -> a') -> (b -> b') -> (a, b) -> (a', b') Source #