biome_js_parser 0.5.7

Biome's JavaScript parser
Documentation
JsModule {
    bom_token: missing (optional),
    interpreter_token: missing (optional),
    directives: JsDirectiveList [],
    items: JsModuleItemList [
        JsVariableStatement {
            declaration: JsVariableDeclaration {
                await_token: missing (optional),
                kind: LET_KW@0..4 "let" [] [Whitespace(" ")],
                declarators: JsVariableDeclaratorList [
                    JsVariableDeclarator {
                        id: JsIdentifierBinding {
                            name_token: IDENT@4..6 "a" [] [Whitespace(" ")],
                        },
                        variable_annotation: missing (optional),
                        initializer: JsInitializerClause {
                            eq_token: EQ@6..8 "=" [] [Whitespace(" ")],
                            expression: JsObjectExpression {
                                l_curly_token: L_CURLY@8..9 "{" [] [],
                                members: JsObjectMemberList [
                                    JsMethodObjectMember {
                                        async_token: missing (optional),
                                        star_token: missing (optional),
                                        name: JsLiteralMemberName {
                                            value: IDENT@9..16 "test" [Newline("\n"), Whitespace("  ")] [],
                                        },
                                        type_parameters: missing (optional),
                                        parameters: JsParameters {
                                            l_paren_token: L_PAREN@16..17 "(" [] [],
                                            items: JsParameterList [],
                                            r_paren_token: R_PAREN@17..19 ")" [] [Whitespace(" ")],
                                        },
                                        return_type_annotation: missing (optional),
                                        body: JsFunctionBody {
                                            l_curly_token: L_CURLY@19..20 "{" [] [],
                                            directives: JsDirectiveList [],
                                            statements: JsStatementList [
                                                JsVariableStatement {
                                                    declaration: JsVariableDeclaration {
                                                        await_token: missing (optional),
                                                        kind: LET_KW@20..29 "let" [Newline("\n"), Whitespace("    ")] [Whitespace(" ")],
                                                        declarators: JsVariableDeclaratorList [
                                                            JsVariableDeclarator {
                                                                id: JsIdentifierBinding {
                                                                    name_token: IDENT@29..31 "a" [] [Whitespace(" ")],
                                                                },
                                                                variable_annotation: missing (optional),
                                                                initializer: JsInitializerClause {
                                                                    eq_token: EQ@31..33 "=" [] [Whitespace(" ")],
                                                                    expression: JsStringLiteralExpression {
                                                                        value_token: JS_STRING_LITERAL@33..40 "\"inner\"" [] [],
                                                                    },
                                                                },
                                                            },
                                                        ],
                                                    },
                                                    semicolon_token: SEMICOLON@40..41 ";" [] [],
                                                },
                                            ],
                                            r_curly_token: R_CURLY@41..45 "}" [Newline("\n"), Whitespace("  ")] [],
                                        },
                                    },
                                ],
                                r_curly_token: R_CURLY@45..47 "}" [Newline("\n")] [],
                            },
                        },
                    },
                ],
            },
            semicolon_token: SEMICOLON@47..48 ";" [] [],
        },
    ],
    eof_token: EOF@48..49 "" [Newline("\n")] [],
}

0: JS_MODULE@0..49
  0: (empty)
  1: (empty)
  2: JS_DIRECTIVE_LIST@0..0
  3: JS_MODULE_ITEM_LIST@0..48
    0: JS_VARIABLE_STATEMENT@0..48
      0: JS_VARIABLE_DECLARATION@0..47
        0: (empty)
        1: LET_KW@0..4 "let" [] [Whitespace(" ")]
        2: JS_VARIABLE_DECLARATOR_LIST@4..47
          0: JS_VARIABLE_DECLARATOR@4..47
            0: JS_IDENTIFIER_BINDING@4..6
              0: IDENT@4..6 "a" [] [Whitespace(" ")]
            1: (empty)
            2: JS_INITIALIZER_CLAUSE@6..47
              0: EQ@6..8 "=" [] [Whitespace(" ")]
              1: JS_OBJECT_EXPRESSION@8..47
                0: L_CURLY@8..9 "{" [] []
                1: JS_OBJECT_MEMBER_LIST@9..45
                  0: JS_METHOD_OBJECT_MEMBER@9..45
                    0: (empty)
                    1: (empty)
                    2: JS_LITERAL_MEMBER_NAME@9..16
                      0: IDENT@9..16 "test" [Newline("\n"), Whitespace("  ")] []
                    3: (empty)
                    4: JS_PARAMETERS@16..19
                      0: L_PAREN@16..17 "(" [] []
                      1: JS_PARAMETER_LIST@17..17
                      2: R_PAREN@17..19 ")" [] [Whitespace(" ")]
                    5: (empty)
                    6: JS_FUNCTION_BODY@19..45
                      0: L_CURLY@19..20 "{" [] []
                      1: JS_DIRECTIVE_LIST@20..20
                      2: JS_STATEMENT_LIST@20..41
                        0: JS_VARIABLE_STATEMENT@20..41
                          0: JS_VARIABLE_DECLARATION@20..40
                            0: (empty)
                            1: LET_KW@20..29 "let" [Newline("\n"), Whitespace("    ")] [Whitespace(" ")]
                            2: JS_VARIABLE_DECLARATOR_LIST@29..40
                              0: JS_VARIABLE_DECLARATOR@29..40
                                0: JS_IDENTIFIER_BINDING@29..31
                                  0: IDENT@29..31 "a" [] [Whitespace(" ")]
                                1: (empty)
                                2: JS_INITIALIZER_CLAUSE@31..40
                                  0: EQ@31..33 "=" [] [Whitespace(" ")]
                                  1: JS_STRING_LITERAL_EXPRESSION@33..40
                                    0: JS_STRING_LITERAL@33..40 "\"inner\"" [] []
                          1: SEMICOLON@40..41 ";" [] []
                      3: R_CURLY@41..45 "}" [Newline("\n"), Whitespace("  ")] []
                2: R_CURLY@45..47 "}" [Newline("\n")] []
      1: SEMICOLON@47..48 ";" [] []
  4: EOF@48..49 "" [Newline("\n")] []