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 "b" [] [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 [
                                    JsSetterObjectMember {
                                        set_token: SET_KW@9..15 "set" [Whitespace("\n ")] [Whitespace(" ")],
                                        name: JsComputedMemberName {
                                            l_brack_token: L_BRACK@15..16 "[" [] [],
                                            expression: JsIdentifierExpression {
                                                name: JsReferenceIdentifier {
                                                    value_token: IDENT@16..19 "foo" [] [],
                                                },
                                            },
                                            r_brack_token: R_BRACK@19..20 "]" [] [],
                                        },
                                        l_paren_token: L_PAREN@20..21 "(" [] [],
                                        parameter: JsIdentifierBinding {
                                            name_token: IDENT@21..24 "bar" [] [],
                                        },
                                        r_paren_token: R_PAREN@24..26 ")" [] [Whitespace(" ")],
                                        body: JsFunctionBody {
                                            l_curly_token: L_CURLY@26..27 "{" [] [],
                                            directives: JsDirectiveList [],
                                            statements: JsStatementList [
                                                JsReturnStatement {
                                                    return_token: RETURN_KW@27..39 "return" [Whitespace("\n    ")] [Whitespace(" ")],
                                                    argument: JsNumberLiteralExpression {
                                                        value_token: JS_NUMBER_LITERAL@39..40 "5" [] [],
                                                    },
                                                    semicolon_token: SEMICOLON@40..41 ";" [] [],
                                                },
                                            ],
                                            r_curly_token: R_CURLY@41..44 "}" [Whitespace("\n ")] [],
                                        },
                                    },
                                ],
                                r_curly_token: R_CURLY@44..46 "}" [Whitespace("\n")] [],
                            },
                        },
                    },
                ],
            },
            semicolon_token: missing (optional),
        },
    ],
    eof_token: EOF@46..47 "" [Whitespace("\n")] [],
}

0: JS_MODULE@0..47
  0: (empty)
  1: (empty)
  2: JS_DIRECTIVE_LIST@0..0
  3: JS_MODULE_ITEM_LIST@0..46
    0: JS_VARIABLE_STATEMENT@0..46
      0: JS_VARIABLE_DECLARATIONS@0..46
        0: LET_KW@0..4 "let" [] [Whitespace(" ")]
        1: JS_VARIABLE_DECLARATION_LIST@4..46
          0: JS_VARIABLE_DECLARATION@4..46
            0: JS_IDENTIFIER_BINDING@4..6
              0: IDENT@4..6 "b" [] [Whitespace(" ")]
            1: (empty)
            2: (empty)
            3: JS_INITIALIZER_CLAUSE@6..46
              0: EQ@6..8 "=" [] [Whitespace(" ")]
              1: JS_OBJECT_EXPRESSION@8..46
                0: L_CURLY@8..9 "{" [] []
                1: JS_OBJECT_MEMBER_LIST@9..44
                  0: JS_SETTER_OBJECT_MEMBER@9..44
                    0: SET_KW@9..15 "set" [Whitespace("\n ")] [Whitespace(" ")]
                    1: JS_COMPUTED_MEMBER_NAME@15..20
                      0: L_BRACK@15..16 "[" [] []
                      1: JS_IDENTIFIER_EXPRESSION@16..19
                        0: JS_REFERENCE_IDENTIFIER@16..19
                          0: IDENT@16..19 "foo" [] []
                      2: R_BRACK@19..20 "]" [] []
                    2: L_PAREN@20..21 "(" [] []
                    3: JS_IDENTIFIER_BINDING@21..24
                      0: IDENT@21..24 "bar" [] []
                    4: R_PAREN@24..26 ")" [] [Whitespace(" ")]
                    5: JS_FUNCTION_BODY@26..44
                      0: L_CURLY@26..27 "{" [] []
                      1: JS_DIRECTIVE_LIST@27..27
                      2: JS_STATEMENT_LIST@27..41
                        0: JS_RETURN_STATEMENT@27..41
                          0: RETURN_KW@27..39 "return" [Whitespace("\n    ")] [Whitespace(" ")]
                          1: JS_NUMBER_LITERAL_EXPRESSION@39..40
                            0: JS_NUMBER_LITERAL@39..40 "5" [] []
                          2: SEMICOLON@40..41 ";" [] []
                      3: R_CURLY@41..44 "}" [Whitespace("\n ")] []
                2: R_CURLY@44..46 "}" [Whitespace("\n")] []
      1: (empty)
  4: EOF@46..47 "" [Whitespace("\n")] []