package graphql_ppx

  1. Overview
  2. Docs
type exhaustive_flag =
  1. | Exhaustive
  2. | Nonexhaustive
type name = string Source_pos.spanning
type field_result =
  1. | Fr_named_field of {
    1. name : string;
    2. loc_key : loc;
    3. loc : loc;
    4. type_ : t;
    5. arguments : Graphql_ast.arguments;
    }
  2. | Fr_fragment_spread of {
    1. key : string;
    2. loc : loc;
    3. name : string;
    4. type_name : string option;
    5. arguments : string list;
    }
and t =
  1. | Res_nullable of {
    1. loc : loc;
    2. inner : t;
    }
  2. | Res_array of {
    1. loc : loc;
    2. inner : t;
    }
  3. | Res_id of {
    1. loc : loc;
    }
  4. | Res_string of {
    1. loc : loc;
    }
  5. | Res_int of {
    1. loc : loc;
    }
  6. | Res_float of {
    1. loc : loc;
    }
  7. | Res_boolean of {
    1. loc : loc;
    }
  8. | Res_raw_scalar of {
    1. loc : loc;
    }
  9. | Res_poly_enum of {
    1. loc : loc;
    2. enum_meta : Schema.enum_meta;
    3. omit_future_value : bool;
    }
  10. | Res_custom_decoder of {
    1. loc : loc;
    2. ident : string;
    3. inner : t;
    }
  11. | Res_record of {
    1. loc : loc;
    2. name : string;
    3. fields : field_result list;
    4. type_name : string option;
    5. interface_fragments : (string * (string * t) list) option;
    }
  12. | Res_object of {
    1. loc : loc;
    2. name : string;
    3. fields : field_result list;
    4. type_name : string option;
    5. interface_fragments : (string * (string * t) list) option;
    }
  13. | Res_poly_variant_selection_set of {
    1. loc : loc;
    2. name : string;
    3. fragments : (name * t) list;
    }
  14. | Res_poly_variant_union of {
    1. loc : loc;
    2. name : string;
    3. fragments : (name * t) list;
    4. exhaustive : exhaustive_flag;
    5. omit_future_value : bool;
    }
  15. | Res_poly_variant_interface of {
    1. loc : loc;
    2. name : string;
    3. fragments : (string * t) list;
    }
  16. | Res_solo_fragment_spread of {
    1. loc : loc;
    2. name : string;
    3. arguments : string list;
    }
  17. | Res_error of {
    1. loc : loc;
    2. message : string;
    }
type definition =
  1. | Def_fragment of {
    1. name : string;
    2. variable_definitions : Graphql_ast.variable_definitions Source_pos.spanning option;
    3. has_error : bool;
    4. fragment : Graphql_ast.fragment Source_pos.spanning;
    5. type_name : string option;
    6. inner : t;
    }
  2. | Def_operation of {
    1. variable_definitions : Graphql_ast.variable_definitions Source_pos.spanning option;
    2. has_error : bool;
    3. operation : Graphql_ast.operation Source_pos.spanning;
    4. inner : t;
    }
val res_loc : t -> loc
val can_be_absent_as_field : t -> bool