reluxscript 0.1.4

Write AST transformations once. Compile to Babel, SWC, and beyond.
Documentation
// Generated by ReluxScript compiler
// Do not edit manually

use swc_common::{Span, DUMMY_SP, SyntaxContext};
use swc_ecma_ast::*;
use swc_ecma_visit::{VisitMut, VisitMutWith};

struct RenameMap {
    old_name: String,
    new_name: String,
}

pub struct VariableRenamer {}

impl VisitMut for VariableRenamer {
    fn visit_mut_ident(&mut self, node: &mut Ident) {
        if (&*node.sym == "oldVar") {
            *node = Ident { sym: "newVar".to_string().into(), span: DUMMY_SP, optional: false, ctxt: SyntaxContext::empty() }.into()
        }
    }
    
    fn visit_mut_var_declarator(&mut self, node: &mut VarDeclarator) {
        if let Pat::Ident(id) = &mut node.name {
            if (&*id.sym == "temp") {
                *id = Ident { sym: "renamed".to_string().into(), span: DUMMY_SP, optional: false, ctxt: SyntaxContext::empty() }.into()
            }
        }
    }
    
}