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: option(external_module_name),
scopes: list(string),
}
| Js_module_as_var(external_module_name)
| Js_module_as_fn of {
external_module_name: external_module_name,
splice: bool,
}
| Js_module_as_class(external_module_name)
| Js_call of {
name: string,
external_module_name: option(external_module_name),
splice: bool,
scopes: list(string),
}
| Js_send of {
name: string,
splice: bool,
pipe: pipe,
js_send_scopes: list(string),
}
| Js_new of {
name: string,
external_module_name: option(external_module_name),
splice: bool,
scopes: list(string),
}
| Js_set of {
}
| Js_get of {
}
| Js_get_index of {
}
| Js_set_index of {
}
;
type t = pri
| Ffi_bs(params, return_wrapper, external_spec)
| Ffi_obj_create(External_arg_spec.obj_params)
| Ffi_inline_const(Lam_constant.t)
| Ffi_normal
;
let check_ffi: ?loc:Melange_compiler_libs.Location.t => external_spec => bool;
let to_string: t => string;
let from_string: string => t;
Note
let ffi_bs: External_arg_spec.params => return_wrapper => external_spec => t;
let ffi_bs_as_prims:
External_arg_spec.params =>
return_wrapper =>
external_spec =>
list(string);
let ffi_obj_create: External_arg_spec.obj_params => t;
let ffi_obj_as_prims: External_arg_spec.obj_params => list(string);