File tree Expand file tree Collapse file tree 3 files changed +27
-9
lines changed
crates/swc_ecma_transformer/src Expand file tree Collapse file tree 3 files changed +27
-9
lines changed Original file line number Diff line number Diff line change 11use swc_ecma_hooks:: VisitMutHook ;
2+ use swc_ecma_transforms_base:: assumptions:: Assumptions ;
23
3- use crate :: TraverseCtx ;
4+ use crate :: { hook_utils:: OptionalHook , TraverseCtx } ;
5+
6+ mod object_rest_spread;
47
58#[ derive( Debug , Default ) ]
69#[ non_exhaustive]
7- pub struct Es2018Options { }
8-
9- pub fn hook ( options : Es2018Options ) -> impl VisitMutHook < TraverseCtx > {
10- Es2018Pass { options }
10+ pub struct Es2018Options {
11+ pub object_rest_spread : bool ,
1112}
1213
13- struct Es2018Pass {
14+ pub ( crate ) fn hook (
1415 options : Es2018Options ,
16+ assumptions : Assumptions ,
17+ ) -> impl VisitMutHook < TraverseCtx > {
18+ OptionalHook ( if options. object_rest_spread {
19+ Some ( self :: object_rest_spread:: hook ( assumptions) )
20+ } else {
21+ None
22+ } )
1523}
16-
17- impl VisitMutHook < TraverseCtx > for Es2018Pass { }
Original file line number Diff line number Diff line change 1+ use swc_ecma_hooks:: VisitMutHook ;
2+ use swc_ecma_transforms_base:: assumptions:: Assumptions ;
3+
4+ use crate :: TraverseCtx ;
5+
6+ pub fn hook ( assumptions : Assumptions ) -> impl VisitMutHook < TraverseCtx > {
7+ ObjectRestSpreadPass { }
8+ }
9+
10+ struct ObjectRestSpreadPass { }
11+
12+ impl VisitMutHook < TraverseCtx > for ObjectRestSpreadPass { }
Original file line number Diff line number Diff line change @@ -43,7 +43,7 @@ pub fn transform_hook(options: Options) -> impl VisitMutHook<TraverseCtx> {
4343 let hook = hook. chain ( crate :: es2021:: hook ( options. env . es2021 ) ) ;
4444 let hook = hook. chain ( crate :: es2020:: hook ( options. env . es2020 ) ) ;
4545 let hook = hook. chain ( crate :: es2019:: hook ( options. env . es2019 ) ) ;
46- let hook = hook. chain ( crate :: es2018:: hook ( options. env . es2018 ) ) ;
46+ let hook = hook. chain ( crate :: es2018:: hook ( options. env . es2018 , options . assumptions ) ) ;
4747 let hook = hook. chain ( crate :: es2017:: hook (
4848 options. unresolved_ctxt ,
4949 options. env . es2017 ,
You can’t perform that action at this time.
0 commit comments