1use js_sys::Object;
2use std::collections::HashMap;
3use wasm_bindgen::prelude::*;
4use web_sys::js_sys;
5pub enum AnimeValue {
6 String(String),
7 Number(f64),
8}
9
10pub fn hashmap_to_anime_options(options: HashMap<&str, AnimeValue>) -> JsValue {
11 let obj = Object::new();
12 for (key, value) in options {
13 let js_value = match value {
14 AnimeValue::String(s) => JsValue::from_str(&s),
15 AnimeValue::Number(n) => JsValue::from_f64(n),
16 };
17 js_sys::Reflect::set(&obj, &JsValue::from_str(key), &js_value).unwrap();
18 }
19 obj.into()
20}
21
22#[wasm_bindgen]
23extern "C" {
24 #[wasm_bindgen(js_namespace = window)]
25 pub fn anime(options: JsValue);
26}