Skip to main content

stylex_transform/transform/stylex/
transform_stylex_calls.rs

1use swc_core::{
2  common::comments::Comments,
3  ecma::ast::{CallExpr, Expr},
4};
5
6use crate::StyleXTransform;
7use stylex_enums::core::TransformationCycle;
8
9impl<C> StyleXTransform<C>
10where
11  C: Comments,
12{
13  pub(crate) fn transform_stylex_fns(&mut self, call_expr: &mut CallExpr) -> Option<Expr> {
14    if self.state.cycle == TransformationCycle::TransformEnter {
15      let (_, parent_var_decl) = &self.get_call_var_name(call_expr);
16
17      if let Some(parent_var_decl) = parent_var_decl {
18        if let Some(value) = self.transform_stylex_keyframes_call(parent_var_decl) {
19          return Some(value);
20        }
21
22        if let Some(value) = self.transform_stylex_view_transition_class_call(parent_var_decl) {
23          return Some(value);
24        }
25
26        if let Some(value) = self.transform_stylex_position_try_call(parent_var_decl) {
27          return Some(value);
28        }
29      }
30
31      if let Some(value) = self.transform_default_marker_call(call_expr) {
32        return Some(value);
33      }
34
35      if let Some(value) = self.transform_define_marker_call(call_expr) {
36        return Some(value);
37      }
38
39      if let Some(value) = self.transform_stylex_define_vars(call_expr) {
40        return Some(value);
41      }
42
43      if let Some(value) = self.transform_stylex_define_consts(call_expr) {
44        return Some(value);
45      }
46
47      if let Some(value) = self.transform_stylex_create_theme_call(call_expr) {
48        return Some(value);
49      }
50
51      if let Some(value) = self.transform_stylex_create(call_expr) {
52        return Some(value);
53      }
54    }
55
56    if self.state.cycle == TransformationCycle::TransformExit {
57      if let Some(value) = self.transform_stylex_attrs_call(call_expr) {
58        return Some(value);
59      }
60
61      if let Some(value) = self.transform_stylex_call(call_expr) {
62        return Some(value);
63      }
64
65      if let Some(value) = self.transform_stylex_props_call(call_expr) {
66        return Some(value);
67      }
68    }
69
70    None
71  }
72}