Module External_arg_spec

type cst = private
  1. | Arg_int_lit of int
  2. | Arg_string_lit of string
  3. | Arg_js_literal of string
type label = private
  1. | Obj_label of {
    1. name : string;
    }
  2. | Obj_empty
  3. | Obj_optional of {
    1. name : string;
    2. for_sure_no_nested_option : bool;
    }
type attr =
  1. | Poly_var_string of {
    1. descr : (string * string) list;
    }
  2. | Poly_var of {
    1. descr : (string * string) list option;
    }
  3. | Int of (string * int) list
  4. | Arg_cst of cst
  5. | Fn_uncurry_arity of int
  6. | Extern_unit
  7. | Nothing
  8. | Ignore
  9. | Unwrap
type label_noname =
  1. | Arg_label
  2. | Arg_empty
  3. | Arg_optional
type obj_param = {
  1. obj_arg_type : attr;
  2. obj_arg_label : label;
}
type param = {
  1. arg_type : attr;
  2. arg_label : label_noname;
}
type obj_params = obj_param list
type params = param list
val cst_obj_literal : string -> cst
val cst_int : int -> cst
val cst_string : string -> cst
val empty_label : label
val obj_label : string -> label
val optional : bool -> string -> label
val empty_kind : attr -> obj_param
val dummy : param