morpheus-graphql-core-0.17.0: Morpheus GraphQL Core
Safe HaskellNone
LanguageHaskell2010

Data.Morpheus.Internal.Utils

Documentation

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

Methods

singleton :: a -> coll Source #

Instances

Instances details
Collection a [a] Source # 
Instance details

Defined in Data.Morpheus.Internal.Utils

Methods

singleton :: a -> [a] Source #

KeyOf k v => Collection v (HashMap k v) Source # 
Instance details

Defined in Data.Morpheus.Internal.Utils

Methods

singleton :: v -> HashMap k v Source #

(KeyOf k a, Hashable k) => Collection a (OrdMap k a) Source # 
Instance details

Defined in Data.Morpheus.Ext.OrdMap

Methods

singleton :: a -> OrdMap k a Source #

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

Minimal complete definition

selectOr

Methods

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

member :: k -> c -> Bool Source #

Instances

Instances details
Selectable OperationType RootOperationTypeDefinition SchemaDefinition Source # 
Instance details

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

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

Defined in Data.Morpheus.Ext.Selectable

Methods

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

member :: k -> [a] -> Bool Source #

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

Defined in Data.Morpheus.Ext.Selectable

Methods

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

member :: k -> HashMap k a -> Bool Source #

(Eq k, Hashable k) => Selectable k a (OrdMap k a) Source # 
Instance details

Defined in Data.Morpheus.Ext.OrdMap

Methods

selectOr :: d -> (a -> d) -> k -> OrdMap k a -> d Source #

member :: k -> OrdMap k a -> Bool Source #

Selectable FieldName (ArgumentDefinition s) (DirectiveDefinition s) Source # 
Instance details

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

Selectable FieldName (ArgumentDefinition s) (FieldDefinition OUT s) Source # 
Instance details

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

Selectable TypeName (TypeDefinition ANY s) (Schema s) Source # 
Instance details

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

Methods

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

member :: TypeName -> Schema s -> Bool Source #

class FromElems m a coll | coll -> a where Source #

Methods

fromElems :: [a] -> m coll Source #

Instances

Instances details
(NameCollision a, Failure ValidationErrors m, KeyOf k a, Monad m) => FromElems (m :: Type -> Type) a (HashMap k a :: Type) Source # 
Instance details

Defined in Data.Morpheus.Internal.Utils

Methods

fromElems :: [a] -> m (HashMap k a) Source #

(NameCollision a, Monad m, Failure ValidationErrors m, KeyOf k a, Hashable k) => FromElems (m :: Type -> Type) a (OrdMap k a :: Type) Source # 
Instance details

Defined in Data.Morpheus.Ext.OrdMap

Methods

fromElems :: [a] -> m (OrdMap k a) Source #

(Monad m, Failure ValidationErrors m) => FromElems (m :: Type -> Type) (TypeDefinition ANY s) (Schema s :: Type) Source # 
Instance details

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

Methods

fromElems :: [TypeDefinition ANY s] -> m (Schema s) Source #

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

Methods

failure :: error -> f v Source #

Instances

Instances details
Failure error (Either error) Source # 
Instance details

Defined in Data.Morpheus.Ext.Failure

Methods

failure :: error -> Either error v Source #

(Monad m, Failure errors m) => Failure errors (ReaderT ctx m) Source # 
Instance details

Defined in Data.Morpheus.Ext.Failure

Methods

failure :: errors -> ReaderT ctx m v Source #

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

Defined in Data.Morpheus.Ext.Result

Methods

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

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

Defined in Data.Morpheus.Ext.Result

Methods

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

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

Defined in Data.Morpheus.Ext.Result

Methods

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

class (Eq k, Hashable k) => KeyOf k a | a -> k where Source #

Methods

keyOf :: a -> k Source #

Instances

Instances details
KeyOf OperationType RootOperationTypeDefinition Source # 
Instance details

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

KeyOf TypeName SchemaDefinition Source # 
Instance details

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

KeyOf TypeName UnionTag Source # 
Instance details

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

(Eq name, Hashable name) => KeyOf name (Ref name) Source # 
Instance details

Defined in Data.Morpheus.Ext.KeyOf

Methods

keyOf :: Ref name -> name Source #

KeyOf FieldName (ObjectEntry s) Source # 
Instance details

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

KeyOf FieldName (Variable s) Source # 
Instance details

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

KeyOf FieldName (ArgumentDefinition s) Source # 
Instance details

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

KeyOf FieldName (DirectiveDefinition s) Source # 
Instance details

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

KeyOf FieldName (Directive s) Source # 
Instance details

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

KeyOf FieldName (Argument stage) Source # 
Instance details

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

Methods

keyOf :: Argument stage -> FieldName Source #

KeyOf FieldName (Selection s) Source # 
Instance details

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

KeyOf FieldName (Fragment s) Source # 
Instance details

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

(Eq k, Hashable k) => KeyOf k (k, a) Source # 
Instance details

Defined in Data.Morpheus.Ext.KeyOf

Methods

keyOf :: (k, a) -> k Source #

KeyOf TypeName (UnionMember cat s) Source # 
Instance details

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

Methods

keyOf :: UnionMember cat s -> TypeName Source #

KeyOf TypeName (TypeDefinition a s) Source # 
Instance details

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

KeyOf FieldName (FieldDefinition cat s) Source # 
Instance details

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

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

selectBy :: (Failure e m, Selectable k a c, Monad m) => e -> k -> c -> 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 #

traverseCollection :: (Monad f, KeyOf k b, Elems a (t a), FromElems f b (t' b), Failure ValidationErrors f) => (a -> f b) -> t a -> f (t' b) Source #

prop :: (b -> b -> m b) -> (a -> b) -> a -> a -> m b Source #

mergeT :: (KeyOf k a, Monad m, Elems a c) => c -> c -> ResolutionT k a c m c Source #

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

Methods

elems :: coll -> [a] Source #

Instances

Instances details
Elems a [a] Source # 
Instance details

Defined in Data.Morpheus.Ext.Elems

Methods

elems :: [a] -> [a] Source #

Elems a (HashMap k a) Source # 
Instance details

Defined in Data.Morpheus.Ext.Elems

Methods

elems :: HashMap k a -> [a] Source #

(Eq k, Hashable k) => Elems a (OrdMap k a) Source # 
Instance details

Defined in Data.Morpheus.Ext.OrdMap

Methods

elems :: OrdMap k a -> [a] Source #

Elems (TypeDefinition ANY s) (Schema s) Source # 
Instance details

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

Methods

elems :: Schema s -> [TypeDefinition ANY s] Source #

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

class Empty coll where Source #

Methods

empty :: coll Source #

Instances

Instances details
Empty [a] Source # 
Instance details

Defined in Data.Morpheus.Ext.Empty

Methods

empty :: [a] Source #

Empty (HashMap k v) Source # 
Instance details

Defined in Data.Morpheus.Ext.Empty

Methods

empty :: HashMap k v Source #

Empty (OrdMap k a) Source # 
Instance details

Defined in Data.Morpheus.Ext.OrdMap

Methods

empty :: OrdMap k a Source #