Safe Haskell | None |
---|---|
Language | Haskell2010 |
This module provides a representation of a GraphQL
Schema in addition to
functions for defining and manipulating schemas.
Synopsis
- data Resolver m = Resolver Text (Field -> CollectErrsT m Object)
- type Subs = HashMap Name Value
- object :: Monad m => Name -> ActionT m [Resolver m] -> Resolver m
- resolve :: Monad m => HashMap Text (Field -> CollectErrsT m Object) -> Seq Selection -> CollectErrsT m Value
- resolversToMap :: (Foldable f, Functor f) => f (Resolver m) -> HashMap Text (Field -> CollectErrsT m Object)
- scalar :: (Monad m, ToJSON a) => Name -> ActionT m a -> Resolver m
- wrappedObject :: Monad m => Name -> ActionT m (Wrapping [Resolver m]) -> Resolver m
- wrappedScalar :: (Monad m, ToJSON a) => Name -> ActionT m (Wrapping a) -> Resolver m
- data Field
- data Value
Documentation
Resolves a Field
into an Aeson.
Object
with error
information (if an error has occurred). m
is an arbitrary monad, usually
IO
.
Resolver | |
|
type Subs = HashMap Name Value Source #
Contains variables for the query. The key of the map is a variable name, and the value is the variable value.
resolve :: Monad m => HashMap Text (Field -> CollectErrsT m Object) -> Seq Selection -> CollectErrsT m Value Source #
resolversToMap :: (Foldable f, Functor f) => f (Resolver m) -> HashMap Text (Field -> CollectErrsT m Object) Source #
Converts resolvers to a map.
scalar :: (Monad m, ToJSON a) => Name -> ActionT m a -> Resolver m Source #
A scalar represents a primitive value, like a string or an integer.
wrappedObject :: Monad m => Name -> ActionT m (Wrapping [Resolver m]) -> Resolver m Source #
Like object
but can be null or a list of objects.
wrappedScalar :: (Monad m, ToJSON a) => Name -> ActionT m (Wrapping a) -> Resolver m Source #
Like scalar
but can be null or a list of scalars.
AST Reexports
Single GraphQL field.
Represents accordingly typed GraphQL values.
Int Int32 | |
Float Double | GraphQL Float is double precision |
String Text | |
Boolean Bool | |
Null | |
Enum Name | |
List [Value] | |
Object (HashMap Name Value) |