增加将Q Scheme配置转换为普通JS对象的方法。

This commit is contained in:
徐涛
2025-02-07 08:12:45 +08:00
parent 74dd9e7354
commit 89b2a2f9d9
5 changed files with 563 additions and 527 deletions

View File

@@ -4,7 +4,7 @@ use enum_iterator::Sequence;
use palette::Oklch;
use serde::{Deserialize, Serialize};
use strum::Display;
use wasm_bindgen::prelude::wasm_bindgen;
use wasm_bindgen::{prelude::wasm_bindgen, JsError, JsValue};
#[derive(Debug, Clone, Copy, Serialize, Deserialize)]
#[wasm_bindgen]
@@ -19,6 +19,11 @@ impl ColorShifting {
pub fn new(chroma: f32, lightness: f32) -> Self {
ColorShifting { chroma, lightness }
}
#[wasm_bindgen(js_name = toJsValue)]
pub fn to_js_value(&self) -> Result<JsValue, JsError> {
Ok(serde_wasm_bindgen::to_value(self)?)
}
}
impl Mul<ColorShifting> for Oklch<f32> {
@@ -196,4 +201,9 @@ impl SchemeSetting {
wacg_follows,
}
}
#[wasm_bindgen]
pub fn to_js_value(&self) -> Result<JsValue, JsError> {
Ok(serde_wasm_bindgen::to_value(self)?)
}
}