1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
pub use self::{branch::dead_branch_remover, expr::expr_simplifier};
use crate::pass::RepeatedJsPass;
use swc_common::{chain, pass::Repeat};
mod branch;
pub mod dce;
mod expr;
pub mod inlining;
#[derive(Debug, Default)]
pub struct Config<'a> {
pub dce: dce::Config<'a>,
pub inlining: inlining::Config,
}
pub fn simplifier<'a>(c: Config<'a>) -> impl RepeatedJsPass + 'a {
Repeat::new(chain!(
expr_simplifier(),
inlining::inlining(c.inlining),
dead_branch_remover(),
dce::dce(c.dce)
))
}