fervid_codegen 0.2.0

EcmaScript code generation for the fervid crate
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use swc_core::{ecma::ast::Expr, common::BytePos};
use swc_ecma_parser::{lexer::Lexer, Syntax, StringInput, Parser, PResult};

/// Parses js as a temporary measure
pub fn parse_js(expr: &str) -> PResult<Box<Expr>> {
    let lexer = Lexer::new(
        // We want to parse ecmascript
        Syntax::Es(Default::default()),
        // EsVersion defaults to es5
        Default::default(),
        StringInput::new(expr, BytePos(0), BytePos(0)),
        None,
    );

    let mut parser = Parser::new_from(lexer);

    parser.parse_expr()
}