| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Language.GraphQL.Schema
Contents
Description
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.
Constructors
| Resolver | |
Fields
| |
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.
Constructors
| Int Int32 | |
| Float Double | GraphQL Float is double precision |
| String Text | |
| Boolean Bool | |
| Null | |
| Enum Name | |
| List [Value] | |
| Object (HashMap Name Value) |