fervid_codegen 0.2.0

EcmaScript code generation for the fervid crate
Documentation
use fervid_core::{ElementNode, BuiltinType};
use swc_core::ecma::ast::Expr;

use crate::CodegenContext;

mod common;
mod component;
mod keepalive;
mod slot;
mod suspense;
mod teleport;
mod transition;
mod transition_group;

impl CodegenContext {
    pub fn generate_builtin(&mut self, element_node: &ElementNode, builtin_type: BuiltinType) -> Expr {
        match builtin_type {
            BuiltinType::Component => self.generate_component_builtin(element_node),
            BuiltinType::KeepAlive => self.generate_keepalive(element_node),
            BuiltinType::Slot => self.generate_slot(element_node),
            BuiltinType::Suspense => self.generate_suspense(element_node),
            BuiltinType::Teleport => self.generate_teleport(element_node),
            BuiltinType::Transition => self.generate_transition(element_node),
            BuiltinType::TransitionGroup => self.generate_transition_group(element_node),
        }
    }
}