1use wasm_bindgen::prelude::*;
2
3#[wasm_bindgen]
4extern "C" {
5 pub(crate) type JsProps;
6 pub(crate) type NodeFromJs;
7
8 #[wasm_bindgen(structural, method, getter, js_name = "__frenderPropsBridge")]
9 pub fn props_bridge(this: &JsProps) -> Option<usize>;
10
11 #[wasm_bindgen(structural, method, setter, js_name = "__frenderPropsBridge")]
12 pub fn set_props_bridge(this: &JsProps, v: Option<usize>);
13
14 #[wasm_bindgen(structural, method, getter, js_name = "__frenderDebugComponentName")]
15 pub fn debug_component_name(this: &JsProps) -> JsValue;
16
17 #[wasm_bindgen(structural, method, setter, js_name = "__frenderDebugComponentName")]
18 pub fn set_debug_component_name(this: &JsProps, v: &JsValue);
19
20 #[wasm_bindgen(structural, method, getter, js_name = "__frenderDebugProps")]
21 pub fn debug_props(this: &JsProps) -> JsValue;
22
23 #[wasm_bindgen(structural, method, setter, js_name = "__frenderDebugProps")]
24 pub fn set_debug_props(this: &JsProps, v: &JsValue);
25
26 #[wasm_bindgen(structural, method, setter, js_name = "key")]
27 fn _set_key(this: &JsProps, v: &JsValue);
28
29 #[wasm_bindgen(structural, method, getter)]
30 pub fn children(this: &JsProps) -> Option<NodeFromJs>;
31}
32
33impl JsProps {
34 pub fn set_key(&self, v: Option<&JsValue>) {
35 if let Some(v) = v {
36 self._set_key(v);
37 }
38 }
39}