External_ffi_types
type arg_type = External_arg_spec.attr
type arg_label = External_arg_spec.label
type external_spec =
| Js_var of {
name : string;
external_module_name : external_module_name option;
scopes : string list;
}
| Js_module_as_var of external_module_name
| Js_module_as_fn of {
external_module_name : external_module_name;
splice : bool;
}
| Js_module_as_class of external_module_name
| Js_call of {
name : string;
external_module_name : external_module_name option;
splice : bool;
scopes : string list;
}
| Js_send of {
name : string;
splice : bool;
pipe : pipe;
js_send_scopes : string list;
}
| Js_new of {
name : string;
external_module_name : external_module_name option;
splice : bool;
scopes : string list;
}
| Js_set of {
}
| Js_get of {
}
| Js_get_index of {
}
| Js_set_index of {
}
type t = private
| Ffi_bs of params * return_wrapper * external_spec
| Ffi_obj_create of External_arg_spec.obj_params
| Ffi_inline_const of Lam_constant.t
| Ffi_normal
val check_ffi : ?loc:Melange_compiler_libs.Location.t -> external_spec -> bool
val to_string : t -> string
val from_string : string -> t
Note
val ffi_bs : External_arg_spec.params -> return_wrapper -> external_spec -> t
val ffi_bs_as_prims :
External_arg_spec.params ->
return_wrapper ->
external_spec ->
string list
val ffi_obj_create : External_arg_spec.obj_params -> t
val ffi_obj_as_prims : External_arg_spec.obj_params -> string list