1mod core;
2pub use core::EmojiStylist;
3
4#[cfg(target_arch = "wasm32")]
5use wasm_bindgen::prelude::*;
6#[cfg(target_arch = "wasm32")]
7use wasm_bindgen::JsValue;
8#[cfg(target_arch = "wasm32")]
9use serde_wasm_bindgen; #[cfg(target_arch = "wasm32")]
12#[wasm_bindgen]
13pub struct WasmEmojiStylist {
14 inner: EmojiStylist,
15}
16
17#[cfg(target_arch = "wasm32")]
18#[wasm_bindgen]
19impl WasmEmojiStylist {
20 #[wasm_bindgen(constructor)]
21 pub fn new() -> Result<WasmEmojiStylist, JsValue> {
22 EmojiStylist::default()
23 .map(|inner| WasmEmojiStylist { inner })
24 .map_err(|e| JsValue::from_str(e.as_str()))
26 }
27
28 #[wasm_bindgen]
29 pub fn slay(&self, input: &str) -> JsValue {
30 serde_wasm_bindgen::to_value(&self.inner.slay(input)).unwrap()
32 }
33}
34
35#[cfg(target_arch = "wasm32")]
36#[wasm_bindgen]
37pub fn slay(input: &str) -> JsValue {
38 match EmojiStylist::default() {
39 Ok(stylist) => {
40 serde_wasm_bindgen::to_value(&stylist.slay(input)).unwrap()
42 },
43 Err(e) => JsValue::from_str(&format!("Error: {}", e)),
45 }
46}