type const_value = [ | `Null |
| `Int of int |
| `Float of float |
| `String of string |
| `Bool of bool |
| `Enum of string |
| `List of const_value list |
| `Assoc of (string * const_value) list |
]type value = [ | `Null |
| `Int of int |
| `Float of float |
| `String of string |
| `Bool of bool |
| `Enum of string |
| `Variable of string |
| `List of value list |
| `Assoc of (string * value) list |
]type selection = | Field of field |
| FragmentSpread of fragment_spread |
| InlineFragment of inline_fragment |
and field = {alias : string option; |
name : string; |
arguments : (string * value) list; |
directives : directive list; |
selection_set : selection list; |
}and inline_fragment = {type_condition : string option; |
directives : directive list; |
selection_set : selection list; |
}type fragment = {name : string; |
type_condition : string; |
directives : directive list; |
selection_set : selection list; |
}type operation = {optype : optype; |
name : string option; |
variable_definitions : variable_definition list; |
directives : directive list; |
selection_set : selection list; |
}type document = definition listval parse : string -> (document, string) Stdlib.result