next_napi_bindings/css/
mod.rs1use napi::{CallContext, JsObject, JsUnknown};
2use napi_derive::{js_function, module_exports, napi};
3use next_core::next_config::lightningcss_feature_names_to_mask;
4
5#[allow(clippy::not_unsafe_ptr_arg_deref)]
6#[js_function(1)]
7fn transform(ctx: CallContext) -> napi::Result<JsUnknown> {
8 lightningcss_napi::transform(ctx)
9}
10
11#[allow(clippy::not_unsafe_ptr_arg_deref)]
12#[js_function(1)]
13fn transform_style_attribute(ctx: CallContext) -> napi::Result<JsUnknown> {
14 lightningcss_napi::transform_style_attribute(ctx)
15}
16
17#[napi]
21#[allow(dead_code)]
22fn lightningcss_feature_names_to_mask_napi(names: Vec<String>) -> napi::Result<u32> {
23 lightningcss_feature_names_to_mask(&names)
24 .map_err(|e| napi::Error::from_reason(format!("{}", e)))
25}
26
27#[cfg_attr(not(target_arch = "wasm32"), module_exports)]
28fn init(mut exports: JsObject) -> napi::Result<()> {
29 exports.create_named_method("lightningCssTransform", transform)?;
30 exports.create_named_method(
31 "lightningCssTransformStyleAttribute",
32 transform_style_attribute,
33 )?;
34
35 Ok(())
36}