@@ -5,18 +5,26 @@ use swc_core::ecma::{
5
5
visit:: { VisitMut , VisitMutWith } ,
6
6
} ;
7
7
8
- use crate :: utils:: { constant:: DEFAULT_COMPONENT , render_fn:: RenderFn } ;
8
+ use crate :: {
9
+ utils:: { constant:: DEFAULT_COMPONENT , render_fn:: RenderFn } ,
10
+ PluginConfig ,
11
+ } ;
9
12
10
13
use super :: process:: TransformProcessVisitor ;
11
14
12
15
pub struct ComponentEntryVisitor < ' a > {
13
16
format_render_fn_map : & ' a HashMap < String , HashMap < String , RenderFn > > ,
17
+ config : & ' a PluginConfig ,
14
18
}
15
19
16
20
impl < ' a > ComponentEntryVisitor < ' a > {
17
- pub fn new ( format_render_fn_map : & ' a HashMap < String , HashMap < String , RenderFn > > ) -> Self {
21
+ pub fn new (
22
+ format_render_fn_map : & ' a HashMap < String , HashMap < String , RenderFn > > ,
23
+ config : & ' a PluginConfig ,
24
+ ) -> Self {
18
25
ComponentEntryVisitor {
19
26
format_render_fn_map,
27
+ config : config,
20
28
}
21
29
}
22
30
@@ -42,7 +50,7 @@ impl<'a> VisitMut for ComponentEntryVisitor<'a> {
42
50
let component_name = ident. sym . to_string ( ) ;
43
51
let render_fn_map = self . get_format_render_fn_map_by_component_name ( & component_name) ;
44
52
if let Some ( render_fn_map) = render_fn_map {
45
- let mut process_visitor = TransformProcessVisitor :: new ( & render_fn_map) ;
53
+ let mut process_visitor = TransformProcessVisitor :: new ( & render_fn_map, & self . config ) ;
46
54
decl. init . visit_mut_children_with ( & mut process_visitor) ;
47
55
}
48
56
}
@@ -55,7 +63,8 @@ impl<'a> VisitMut for ComponentEntryVisitor<'a> {
55
63
let component_name = ident. sym . to_string ( ) ;
56
64
let render_fn_map = self . get_format_render_fn_map_by_component_name ( & component_name) ;
57
65
if let Some ( render_fn_map) = render_fn_map {
58
- let mut process_visitor = TransformProcessVisitor :: new ( & render_fn_map) ;
66
+ let mut process_visitor =
67
+ TransformProcessVisitor :: new ( & render_fn_map, & self . config ) ;
59
68
decl. init . visit_mut_children_with ( & mut process_visitor) ;
60
69
}
61
70
}
@@ -72,7 +81,7 @@ impl<'a> VisitMut for ComponentEntryVisitor<'a> {
72
81
let component_name = n. ident . sym . to_string ( ) ;
73
82
let render_fn_map = self . get_format_render_fn_map_by_component_name ( & component_name) ;
74
83
if let Some ( render_fn_map) = render_fn_map {
75
- let mut process_visitor = TransformProcessVisitor :: new ( & render_fn_map) ;
84
+ let mut process_visitor = TransformProcessVisitor :: new ( & render_fn_map, & self . config ) ;
76
85
n. function
77
86
. body
78
87
. visit_mut_children_with ( & mut process_visitor) ;
@@ -87,7 +96,7 @@ impl<'a> VisitMut for ComponentEntryVisitor<'a> {
87
96
let render_fn_map =
88
97
self . get_format_render_fn_map_by_component_name ( & DEFAULT_COMPONENT . to_string ( ) ) ;
89
98
if let Some ( render_fn_map) = render_fn_map {
90
- let mut process_visitor = TransformProcessVisitor :: new ( & render_fn_map) ;
99
+ let mut process_visitor = TransformProcessVisitor :: new ( & render_fn_map, & self . config ) ;
91
100
fn_decl
92
101
. function
93
102
. body
@@ -107,7 +116,7 @@ impl<'a> VisitMut for ComponentEntryVisitor<'a> {
107
116
let render_fn_map =
108
117
self . get_format_render_fn_map_by_component_name ( & DEFAULT_COMPONENT . to_string ( ) ) ;
109
118
if let Some ( render_fn_map) = render_fn_map {
110
- let mut process_visitor = TransformProcessVisitor :: new ( & render_fn_map) ;
119
+ let mut process_visitor = TransformProcessVisitor :: new ( & render_fn_map, & self . config ) ;
111
120
n. expr . visit_mut_children_with ( & mut process_visitor) ;
112
121
}
113
122
}
0 commit comments