#![deny(missing_docs)]
#![doc = include_str!("../README.md")]
use std::ffi::c_void;
#[repr(C)]
#[allow(missing_docs)]
pub struct AllocatedString {
pub pointer: *mut u8,
pub len: usize,
}
#[link(name = "afia_component")]
#[allow(missing_docs)]
extern "C" {
pub fn new_emulated_imports() -> *mut std::ffi::c_void;
pub fn free_emulated_imports(testable_imports: *mut std::ffi::c_void);
pub fn emulated_imports_dom_outer_html(
testable_component_imports: *mut std::ffi::c_void,
dom_node_handle: i64,
) -> AllocatedString;
pub fn emulated_imports_set_event_handler(
imports: *mut c_void,
handle_event: extern "C" fn(event_handle: i64, ctx: *mut c_void),
);
pub fn free_emulated_component_imports(testable_component_imports: *mut std::ffi::c_void);
}
#[allow(missing_docs)]
extern "C" {
pub fn free_allocated_string(allocated_string: AllocatedString);
}
#[link(name = "afia_component")]
#[allow(missing_docs)]
extern "C" {
pub fn output_may_have_changed(imports: *const c_void, output_id: i32);
pub fn create_element(
imports: *const c_void,
tag_name_ptr: *const u8,
tag_name_len: usize,
) -> i64;
pub fn create_text(imports: *const c_void, text_ptr: *const u8, text_len: usize) -> i64;
pub fn dom_element_set_attribute(
imports: *const c_void,
elem: i64,
key_ptr: *const u8,
key_len: usize,
val_ptr: *const u8,
val_len: usize,
);
pub fn element_get_attribute(
imports: *const c_void,
elem: i64,
key_ptr: *const u8,
key_len: usize,
out_ptr: *mut u8,
out_len: usize,
) -> i32;
pub fn dom_element_remove_attribute(
imports: *const c_void,
elem: i64,
key_ptr: *const u8,
key_len: usize,
);
pub fn dom_element_append_child(imports: *const c_void, parent: i64, child: i64);
pub fn input_element_value(
imports: *const c_void,
elem: i64,
out_ptr: *mut u8,
out_len: usize,
) -> i32;
pub fn dialog_element_show_modal(imports: *const c_void, elem: i64);
pub fn dialog_element_close(imports: *const c_void, elem: i64);
pub fn dom_node_get_property_string(
imports: *const c_void,
node: i64,
key_ptr: *const u8,
key_len: usize,
out_ptr: *mut u8,
out_size: usize,
) -> i32;
pub fn dom_node_get_property_bool(
imports: *const c_void,
node: i64,
key_ptr: *const u8,
key_len: usize,
) -> i32;
pub fn dom_node_set_property_string(
imports: *const c_void,
node: i64,
key_ptr: *const u8,
key_len: usize,
val_ptr: *const u8,
val_len: usize,
);
pub fn dom_node_set_property_bool(
imports: *const c_void,
node: i64,
key_ptr: *const u8,
key_len: usize,
value: i32,
) -> i32;
pub fn dom_element_set_text_content(
imports: *const c_void,
element: i64,
text_ptr: *const u8,
text_len: usize,
);
pub fn dom_element_previous_element_sibling(imports: *const c_void, element: i64) -> i64;
pub fn dom_element_next_element_sibling(imports: *const c_void, element: i64) -> i64;
pub fn dom_element_add_event_listener(
imports: *const c_void,
element: i64,
event_name_ptr: *const u8,
event_name_len: usize,
ctx: isize,
) -> i64;
pub fn dom_event_prevent_default(imports: *const c_void, event_handle: i64);
pub fn dom_event_target(imports: *const c_void, event_handle: i64) -> i64;
pub fn local_storage_get_item(
imports: *const c_void,
key_ptr: *const u8,
key_len: usize,
out_ptr: *mut u8,
out_size: usize,
) -> i32;
pub fn local_storage_set_item(
imports: *const c_void,
key_ptr: *const u8,
key_len: usize,
value_ptr: *const u8,
value_size: usize,
);
pub fn element_tag_name(
imports: *const c_void,
element: i64,
out_ptr: *mut u8,
out_len: usize,
) -> i32;
pub fn element_inner_text(
imports: *const c_void,
element: i64,
out_ptr: *mut u8,
out_len: usize,
) -> i32;
pub fn element_click(imports: *const c_void, element: i64);
pub fn element_child_nodes(imports: *const c_void, element: i64) -> i64;
pub fn node_list_item(imports: *const c_void, node_list: i64, item_idx: i32) -> i64;
pub fn node_type(imports: *const c_void, node: i64) -> i32;
pub fn parent_node(imports: *const c_void, node: i64) -> i64;
pub fn initialize_stripe(imports: *const std::ffi::c_void, context: isize);
pub fn create_stripe_elements(
imports: *const std::ffi::c_void,
stripe_js_instance_handle: i64,
amount: u32,
) -> i64;
pub fn submit_stripe_elements(
imports: *const std::ffi::c_void,
stripe_elements_handle: i64,
context: isize,
);
}