wry_bindgen/
js_helpers.rs1use alloc::string::String;
4
5use crate::JsValue;
6use crate::object_store::ObjectHandle;
7use crate::wasm_bindgen;
8
9#[wasm_bindgen(crate = crate, inline_js = include_str!("./js/convert.js"))]
10extern "C" {
11 #[wasm_bindgen(js_name = "is_undefined")]
12 pub(crate) fn js_is_undefined(x: &JsValue) -> bool;
13
14 #[wasm_bindgen(js_name = "is_null")]
15 pub(crate) fn js_is_null(x: &JsValue) -> bool;
16
17 #[wasm_bindgen(js_name = "is_true")]
18 pub(crate) fn js_is_true(x: &JsValue) -> bool;
19
20 #[wasm_bindgen(js_name = "is_false")]
21 pub(crate) fn js_is_false(x: &JsValue) -> bool;
22
23 #[wasm_bindgen(js_name = "get_typeof")]
24 pub(crate) fn js_typeof(x: &JsValue) -> JsValue;
25
26 #[wasm_bindgen(js_name = "is_falsy")]
27 pub(crate) fn js_is_falsy(x: &JsValue) -> bool;
28
29 #[wasm_bindgen(js_name = "is_truthy")]
30 pub(crate) fn js_is_truthy(x: &JsValue) -> bool;
31
32 #[wasm_bindgen(js_name = "is_object")]
33 pub(crate) fn js_is_object(x: &JsValue) -> bool;
34
35 #[wasm_bindgen(js_name = "is_function")]
36 pub(crate) fn js_is_function(x: &JsValue) -> bool;
37
38 #[wasm_bindgen(js_name = "is_string")]
39 pub(crate) fn js_is_string(x: &JsValue) -> bool;
40
41 #[wasm_bindgen(js_name = "is_symbol")]
42 pub(crate) fn js_is_symbol(x: &JsValue) -> bool;
43
44 #[wasm_bindgen(js_name = "is_bigint")]
45 pub(crate) fn js_is_bigint(x: &JsValue) -> bool;
46
47 #[wasm_bindgen(js_name = "as_string")]
49 pub(crate) fn js_as_string(x: &JsValue) -> Option<String>;
50
51 #[wasm_bindgen(js_name = "as_f64")]
53 pub(crate) fn js_as_f64(x: &JsValue) -> Option<f64>;
54
55 #[wasm_bindgen(js_name = "debug_string")]
57 pub(crate) fn js_debug_string(x: &JsValue) -> String;
58
59 #[wasm_bindgen(js_name = "js_checked_div")]
61 pub(crate) fn js_checked_div(a: &JsValue, b: &JsValue) -> JsValue;
62
63 #[wasm_bindgen(js_name = "js_pow")]
64 pub(crate) fn js_pow(a: &JsValue, b: &JsValue) -> JsValue;
65
66 #[wasm_bindgen(js_name = "js_add")]
67 pub(crate) fn js_add(a: &JsValue, b: &JsValue) -> JsValue;
68
69 #[wasm_bindgen(js_name = "js_sub")]
70 pub(crate) fn js_sub(a: &JsValue, b: &JsValue) -> JsValue;
71
72 #[wasm_bindgen(js_name = "js_mul")]
73 pub(crate) fn js_mul(a: &JsValue, b: &JsValue) -> JsValue;
74
75 #[wasm_bindgen(js_name = "js_div")]
76 pub(crate) fn js_div(a: &JsValue, b: &JsValue) -> JsValue;
77
78 #[wasm_bindgen(js_name = "js_rem")]
79 pub(crate) fn js_rem(a: &JsValue, b: &JsValue) -> JsValue;
80
81 #[wasm_bindgen(js_name = "js_neg")]
82 pub(crate) fn js_neg(a: &JsValue) -> JsValue;
83
84 #[wasm_bindgen(js_name = "js_bit_and")]
86 pub(crate) fn js_bit_and(a: &JsValue, b: &JsValue) -> JsValue;
87
88 #[wasm_bindgen(js_name = "js_bit_or")]
89 pub(crate) fn js_bit_or(a: &JsValue, b: &JsValue) -> JsValue;
90
91 #[wasm_bindgen(js_name = "js_bit_xor")]
92 pub(crate) fn js_bit_xor(a: &JsValue, b: &JsValue) -> JsValue;
93
94 #[wasm_bindgen(js_name = "js_bit_not")]
95 pub(crate) fn js_bit_not(a: &JsValue) -> JsValue;
96
97 #[wasm_bindgen(js_name = "js_shl")]
98 pub(crate) fn js_shl(a: &JsValue, b: &JsValue) -> JsValue;
99
100 #[wasm_bindgen(js_name = "js_shr")]
101 pub(crate) fn js_shr(a: &JsValue, b: &JsValue) -> JsValue;
102
103 #[wasm_bindgen(js_name = "js_unsigned_shr")]
104 pub(crate) fn js_unsigned_shr(a: &JsValue, b: &JsValue) -> u32;
105
106 #[wasm_bindgen(js_name = "js_lt")]
108 pub(crate) fn js_lt(a: &JsValue, b: &JsValue) -> bool;
109
110 #[wasm_bindgen(js_name = "js_le")]
111 pub(crate) fn js_le(a: &JsValue, b: &JsValue) -> bool;
112
113 #[wasm_bindgen(js_name = "js_gt")]
114 pub(crate) fn js_gt(a: &JsValue, b: &JsValue) -> bool;
115
116 #[wasm_bindgen(js_name = "js_ge")]
117 pub(crate) fn js_ge(a: &JsValue, b: &JsValue) -> bool;
118
119 #[wasm_bindgen(js_name = "js_loose_eq")]
120 pub(crate) fn js_loose_eq(a: &JsValue, b: &JsValue) -> bool;
121
122 #[wasm_bindgen(js_name = "js_in")]
124 pub(crate) fn js_in(prop: &JsValue, obj: &JsValue) -> bool;
125
126 #[wasm_bindgen(js_name = "is_error")]
128 pub(crate) fn js_is_error(x: &JsValue) -> bool;
129
130 #[wasm_bindgen(js_name = "clone_heap_ref")]
132 pub(crate) fn js_clone_heap_ref(heap_id: u64) -> JsValue;
133
134 #[wasm_bindgen(js_name = "drop_heap_ref")]
136 pub(crate) fn js_drop_heap_ref(heap_id: u64);
137
138 #[wasm_bindgen(js_name = "create_rust_object_wrapper")]
140 pub(crate) fn create_rust_object_wrapper(handle: u32, class_name: &str) -> JsValue;
141
142 #[wasm_bindgen(js_name = "extract_rust_handle")]
145 pub fn js_extract_rust_handle(obj: &JsValue) -> Option<ObjectHandle>;
146}