fastexpr-rs 1.0.2

A tiny, fast Javascript expression parser
Documentation
---
source: src/lexer.rs
expression: "lex(r#\" ${ `` `$` `\\${` `}` `foo` `${bar}` `abc${bar}def`\n        `${ `a${b}c` }` `\\u{1F600}` sql`select` `${{ $id }}`\n        `${ { id: { } } }` sql``.f { a: `${a.title}!` } \"#)"
---
Ok(
    [
        Identifier(
            "$",
        ),
        LBrace,
        Backtick,
        String(
            "",
        ),
        Backtick,
        Backtick,
        String(
            "$",
        ),
        Backtick,
        Backtick,
        String(
            "${",
        ),
        Backtick,
        Backtick,
        String(
            "}",
        ),
        Backtick,
        Backtick,
        String(
            "foo",
        ),
        Backtick,
        Backtick,
        String(
            "",
        ),
        DollarBrace,
        Identifier(
            "bar",
        ),
        RBrace,
        String(
            "",
        ),
        Backtick,
        Backtick,
        String(
            "abc",
        ),
        DollarBrace,
        Identifier(
            "bar",
        ),
        RBrace,
        String(
            "def",
        ),
        Backtick,
        Backtick,
        String(
            "",
        ),
        DollarBrace,
        Backtick,
        String(
            "a",
        ),
        DollarBrace,
        Identifier(
            "b",
        ),
        RBrace,
        String(
            "c",
        ),
        Backtick,
        RBrace,
        String(
            "",
        ),
        Backtick,
        Backtick,
        String(
            "😀",
        ),
        Backtick,
        Identifier(
            "sql",
        ),
        Backtick,
        String(
            "select",
        ),
        Backtick,
        Backtick,
        String(
            "",
        ),
        DollarBrace,
        LBrace,
        Identifier(
            "$id",
        ),
        RBrace,
        RBrace,
        String(
            "",
        ),
        Backtick,
        Backtick,
        String(
            "",
        ),
        DollarBrace,
        LBrace,
        Identifier(
            "id",
        ),
        Colon,
        LBrace,
        RBrace,
        RBrace,
        RBrace,
        String(
            "",
        ),
        Backtick,
        Identifier(
            "sql",
        ),
        Backtick,
        String(
            "",
        ),
        Backtick,
        Dot,
        Identifier(
            "f",
        ),
        LBrace,
        Identifier(
            "a",
        ),
        Colon,
        Backtick,
        String(
            "",
        ),
        DollarBrace,
        Identifier(
            "a",
        ),
        Dot,
        Identifier(
            "title",
        ),
        RBrace,
        String(
            "!",
        ),
        Backtick,
        RBrace,
        Eof,
    ],
)