swc_ecma_transforms_compat/es2020/
mod.rsuse serde::Deserialize;
use swc_common::chain;
use swc_ecma_visit::Fold;
pub use self::{
export_namespace_from::export_namespace_from, nullish_coalescing::nullish_coalescing,
opt_chaining::optional_chaining,
};
mod export_namespace_from;
pub mod nullish_coalescing;
pub mod opt_chaining;
#[tracing::instrument(level = "info", skip_all)]
pub fn es2020(config: Config) -> impl Fold {
chain!(
nullish_coalescing(config.nullish_coalescing),
optional_chaining(config.optional_chaining),
export_namespace_from(),
)
}
#[derive(Debug, Clone, Default, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Config {
#[serde(flatten)]
pub nullish_coalescing: nullish_coalescing::Config,
#[serde(flatten)]
pub optional_chaining: opt_chaining::Config,
}