Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
GraphQL schema with Async support
include Graphql_intf.Schema
with type 'a Io.t = 'a Async_kernel.Deferred.t
and type 'a Io.Stream.t = 'a Async_kernel.Pipe.Reader.t
and type field_error = string
module Io :
Graphql_intf.IO
with type 'a t = 'a Async_kernel.Deferred.t
with type 'a Stream.t = 'a Async_kernel.Pipe.Reader.t
module StringMap : sig ... end
val schema :
?mutation_name:string ->
?mutations:('ctx, unit) field list ->
?subscription_name:string ->
?subscriptions:'ctx subscription_field list ->
?query_name:string ->
('ctx, unit) field list ->
'ctx schema
val enum_value :
?doc:string ->
?deprecated:deprecated ->
string ->
value:'a ->
'a enum_value
module Arg : sig ... end
type variable_map = Graphql_parser.const_value StringMap.t
type fragment_map = Graphql_parser.fragment StringMap.t
type 'ctx resolve_info = {
ctx : 'ctx;
field : Graphql_parser.field;
fragments : fragment_map;
variables : variable_map;
}
val field :
?doc:string ->
?deprecated:deprecated ->
string ->
typ:('ctx, 'a) typ ->
args:('a, 'b) Arg.arg_list ->
resolve:('ctx resolve_info -> 'src -> 'b) ->
('ctx, 'src) field
val io_field :
?doc:string ->
?deprecated:deprecated ->
string ->
typ:('ctx, 'a) typ ->
args:(('a, field_error) result Io.t, 'b) Arg.arg_list ->
resolve:('ctx resolve_info -> 'src -> 'b) ->
('ctx, 'src) field
val subscription_field :
?doc:string ->
?deprecated:deprecated ->
string ->
typ:('ctx, 'out) typ ->
args:(('out Io.Stream.t, field_error) result Io.t, 'args) Arg.arg_list ->
resolve:('ctx resolve_info -> 'args) ->
'ctx subscription_field
val enum :
?doc:string ->
string ->
values:'a enum_value list ->
('ctx, 'a option) typ
val scalar :
?doc:string ->
string ->
coerce:('a -> Yojson.Basic.t) ->
('ctx, 'a option) typ
type ('ctx, 'a) abstract_typ = ('ctx, ('ctx, 'a) abstract_value option) typ
val union : ?doc:string -> string -> ('ctx, 'a) abstract_typ
val abstract_field :
?doc:string ->
?deprecated:deprecated ->
string ->
typ:(_, 'a) typ ->
args:('a, _) Arg.arg_list ->
abstract_field
val interface :
?doc:string ->
string ->
fields:(('ctx, 'a) abstract_typ -> abstract_field list) ->
('ctx, 'a) abstract_typ
val add_type :
('ctx, 'a) abstract_typ ->
('ctx, 'src option) typ ->
'src ->
('ctx, 'a) abstract_value
type 'a fixpoint = {
obj : 'ctx 'src 'typ 'b. ?doc:string ->
string ->
fields:('a -> ('ctx, 'src) field list) ->
('ctx, 'src option) typ;
interface : 'ctx 'src. ?doc:string ->
string ->
fields:('a -> abstract_field list) ->
('ctx, 'src) abstract_typ;
}
val fix : ('a fixpoint -> 'a) -> 'a
val int : ('ctx, int option) typ
val string : ('ctx, string option) typ
val guid : ('ctx, string option) typ
val bool : ('ctx, bool option) typ
val float : ('ctx, float option) typ
type variables = (string * Graphql_parser.const_value) list
type 'a response = ('a, Yojson.Basic.t) result
val execute :
'ctx schema ->
'ctx ->
?variables:variables ->
?operation_name:string ->
Graphql_parser.document ->
[ `Response of Yojson.Basic.t
| `Stream of Yojson.Basic.t response Io.Stream.t ]
response
Io.t
execute schema ctx variables doc
evaluates the doc
against schema
with the given context ctx
and variables
.