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 {
            declarations: JsVariableDeclarations {
                kind: LET_KW@0..4 "let" [] [Whitespace(" ")],
                items: JsVariableDeclarationList [
                    JsVariableDeclaration {
                        id: JsIdentifierBinding {
                            name_token: IDENT@4..6 "a" [] [Whitespace(" ")],
                        },
                        excl_token: missing (optional),
                        type_annotation: missing (optional),
                        initializer: JsInitializerClause {
                            eq_token: EQ@6..8 "=" [] [Whitespace(" ")],
                            expression: JsObjectExpression {
                                l_curly_token: L_CURLY@8..9 "{" [] [],
                                members: JsObjectMemberList [
                                    JsGetterObjectMember {
                                        get_token: GET_KW@9..15 "get" [Whitespace("\n ")] [Whitespace(" ")],
                                        name: JsLiteralMemberName {
                                            value: IDENT@15..18 "foo" [] [],
                                        },
                                        l_paren_token: L_PAREN@18..19 "(" [] [],
                                        r_paren_token: R_PAREN@19..21 ")" [] [Whitespace(" ")],
                                        return_type: missing (optional),
                                        body: JsFunctionBody {
                                            l_curly_token: L_CURLY@21..22 "{" [] [],
                                            directives: JsDirectiveList [],
                                            statements: JsStatementList [
                                                JsReturnStatement {
                                                    return_token: RETURN_KW@22..33 "return" [Whitespace("\n   ")] [Whitespace(" ")],
                                                    argument: JsIdentifierExpression {
                                                        name: JsReferenceIdentifier {
                                                            value_token: IDENT@33..36 "foo" [] [],
                                                        },
                                                    },
                                                    semicolon_token: SEMICOLON@36..37 ";" [] [],
                                                },
                                            ],
                                            r_curly_token: R_CURLY@37..40 "}" [Whitespace("\n ")] [],
                                        },
                                    },
                                ],
                                r_curly_token: R_CURLY@40..42 "}" [Whitespace("\n")] [],
                            },
                        },
                    },
                ],
            },
            semicolon_token: missing (optional),
        },
    ],
    eof_token: EOF@42..43 "" [Whitespace("\n")] [],
}

0: JS_MODULE@0..43
  0: (empty)
  1: (empty)
  2: JS_DIRECTIVE_LIST@0..0
  3: JS_MODULE_ITEM_LIST@0..42
    0: JS_VARIABLE_STATEMENT@0..42
      0: JS_VARIABLE_DECLARATIONS@0..42
        0: LET_KW@0..4 "let" [] [Whitespace(" ")]
        1: JS_VARIABLE_DECLARATION_LIST@4..42
          0: JS_VARIABLE_DECLARATION@4..42
            0: JS_IDENTIFIER_BINDING@4..6
              0: IDENT@4..6 "a" [] [Whitespace(" ")]
            1: (empty)
            2: (empty)
            3: JS_INITIALIZER_CLAUSE@6..42
              0: EQ@6..8 "=" [] [Whitespace(" ")]
              1: JS_OBJECT_EXPRESSION@8..42
                0: L_CURLY@8..9 "{" [] []
                1: JS_OBJECT_MEMBER_LIST@9..40
                  0: JS_GETTER_OBJECT_MEMBER@9..40
                    0: GET_KW@9..15 "get" [Whitespace("\n ")] [Whitespace(" ")]
                    1: JS_LITERAL_MEMBER_NAME@15..18
                      0: IDENT@15..18 "foo" [] []
                    2: L_PAREN@18..19 "(" [] []
                    3: R_PAREN@19..21 ")" [] [Whitespace(" ")]
                    4: (empty)
                    5: JS_FUNCTION_BODY@21..40
                      0: L_CURLY@21..22 "{" [] []
                      1: JS_DIRECTIVE_LIST@22..22
                      2: JS_STATEMENT_LIST@22..37
                        0: JS_RETURN_STATEMENT@22..37
                          0: RETURN_KW@22..33 "return" [Whitespace("\n   ")] [Whitespace(" ")]
                          1: JS_IDENTIFIER_EXPRESSION@33..36
                            0: JS_REFERENCE_IDENTIFIER@33..36
                              0: IDENT@33..36 "foo" [] []
                          2: SEMICOLON@36..37 ";" [] []
                      3: R_CURLY@37..40 "}" [Whitespace("\n ")] []
                2: R_CURLY@40..42 "}" [Whitespace("\n")] []
      1: (empty)
  4: EOF@42..43 "" [Whitespace("\n")] []