Skip to main content

stylex_transform/shared/structures/
state.rs

1use rustc_hash::{FxHashMap, FxHashSet};
2use swc_core::ecma::ast::Expr;
3
4use super::functions::FunctionMap;
5
6#[derive(Debug, Clone)]
7pub struct EvaluationState {
8  pub(crate) confident: bool,
9  pub(crate) deopt_path: Option<Expr>,
10  pub(crate) added_imports: FxHashSet<String>,
11  pub(crate) functions: FunctionMap,
12  pub(crate) deopt_reason: Option<String>,
13}
14
15impl Default for EvaluationState {
16  fn default() -> Self {
17    EvaluationState {
18      confident: true,
19      deopt_path: None,
20      added_imports: FxHashSet::default(),
21      deopt_reason: None,
22      functions: FunctionMap {
23        identifiers: FxHashMap::default(),
24        member_expressions: FxHashMap::default(),
25        disable_imports: false,
26      },
27    }
28  }
29}
30
31impl EvaluationState {
32  pub(crate) fn new() -> Self {
33    EvaluationState::default()
34  }
35}