use derive_more::Debug;
use rspack_plugin_rslib::{RslibPluginOptions, SwcEmitDtsOptions};
#[derive(Debug)]
#[napi(object, object_to_js = false)]
pub struct RawSwcEmitDtsOptions {
pub root_dir: String,
pub declaration_dir: String,
}
#[derive(Debug)]
#[napi(object, object_to_js = false)]
pub struct RawRslibPluginOptions {
pub intercept_api_plugin: Option<bool>,
pub force_node_shims: Option<bool>,
pub auto_cjs_node_builtin: Option<bool>,
pub emit_dts: Option<RawSwcEmitDtsOptions>,
}
impl From<RawRslibPluginOptions> for RslibPluginOptions {
fn from(value: RawRslibPluginOptions) -> Self {
Self {
intercept_api_plugin: value.intercept_api_plugin.unwrap_or_default(),
force_node_shims: value.force_node_shims.unwrap_or_default(),
auto_cjs_node_builtin: value.auto_cjs_node_builtin.unwrap_or_default(),
emit_dts: value.emit_dts.map(Into::into),
}
}
}
impl From<RawSwcEmitDtsOptions> for SwcEmitDtsOptions {
fn from(value: RawSwcEmitDtsOptions) -> Self {
Self {
root_dir: value.root_dir,
declaration_dir: value.declaration_dir,
}
}
}