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
- type Subs = Name -> Maybe Value
- object :: MonadIO m => Name -> ActionT m [Resolver m] -> Resolver m
- objectA :: MonadIO m => Name -> ([Argument] -> ActionT m [Resolver m]) -> Resolver m
- scalar :: (MonadIO m, ToJSON a) => Name -> ActionT m a -> Resolver m
- scalarA :: (MonadIO m, ToJSON a) => Name -> ([Argument] -> ActionT m a) -> Resolver m
- resolve :: MonadIO m => [Resolver m] -> Seq Selection -> CollectErrsT m Value
- wrappedObject :: MonadIO m => Name -> ActionT m (Wrapping [Resolver m]) -> Resolver m
- wrappedObjectA :: MonadIO m => Name -> ([Argument] -> ActionT m (Wrapping [Resolver m])) -> Resolver m
- wrappedScalar :: (MonadIO m, ToJSON a) => Name -> ActionT m (Wrapping a) -> Resolver m
- wrappedScalarA :: (MonadIO m, ToJSON a) => Name -> ([Argument] -> ActionT m (Wrapping a)) -> Resolver m
- data Field
- data Argument = Argument Name Value
- data Value
Documentation
scalar :: (MonadIO m, ToJSON a) => Name -> ActionT m a -> Resolver m Source #
A scalar represents a primitive value, like a string or an integer.
wrappedObject :: MonadIO m => Name -> ActionT m (Wrapping [Resolver m]) -> Resolver m Source #
Like object
but can be null or a list of objects.
wrappedObjectA :: MonadIO m => Name -> ([Argument] -> ActionT m (Wrapping [Resolver m])) -> Resolver m Source #
wrappedScalar :: (MonadIO m, ToJSON a) => Name -> ActionT m (Wrapping a) -> Resolver m Source #
Like scalar
but can be null or a list of scalars.
wrappedScalarA :: (MonadIO m, ToJSON a) => Name -> ([Argument] -> ActionT m (Wrapping a)) -> Resolver m Source #
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) |