biome_js_parser 0.5.7

Biome's JavaScript parser
Documentation
JsModule {
    bom_token: missing (optional),
    interpreter_token: missing (optional),
    directives: JsDirectiveList [],
    items: JsModuleItemList [
        JsFunctionDeclaration {
            async_token: missing (optional),
            function_token: FUNCTION_KW@0..9 "function" [] [Whitespace(" ")],
            star_token: missing (optional),
            id: JsIdentifierBinding {
                name_token: IDENT@9..10 "f" [] [],
            },
            type_parameters: missing (optional),
            parameters: JsParameters {
                l_paren_token: L_PAREN@10..11 "(" [] [],
                items: JsParameterList [],
                r_paren_token: R_PAREN@11..13 ")" [] [Whitespace(" ")],
            },
            return_type_annotation: missing (optional),
            body: JsFunctionBody {
                l_curly_token: L_CURLY@13..14 "{" [] [],
                directives: JsDirectiveList [],
                statements: JsStatementList [
                    JsReturnStatement {
                        return_token: RETURN_KW@14..26 "return" [Newline("\n"), Whitespace("    ")] [Whitespace(" ")],
                        argument: JsxTagExpression {
                            tag: JsxElement {
                                opening_element: JsxOpeningElement {
                                    l_angle_token: L_ANGLE@26..27 "<" [] [],
                                    name: JsxName {
                                        value_token: JSX_IDENT@27..30 "div" [] [],
                                    },
                                    type_arguments: missing (optional),
                                    attributes: JsxAttributeList [],
                                    r_angle_token: R_ANGLE@30..31 ">" [] [],
                                },
                                children: JsxChildList [],
                                closing_element: JsxClosingElement {
                                    l_angle_token: L_ANGLE@31..32 "<" [] [],
                                    slash_token: SLASH@32..33 "/" [] [],
                                    name: JsxName {
                                        value_token: JSX_IDENT@33..36 "div" [] [],
                                    },
                                    r_angle_token: R_ANGLE@36..37 ">" [] [],
                                },
                            },
                        },
                        semicolon_token: missing (optional),
                    },
                ],
                r_curly_token: R_CURLY@37..39 "}" [Newline("\n")] [],
            },
        },
    ],
    eof_token: EOF@39..40 "" [Newline("\n")] [],
}

0: JS_MODULE@0..40
  0: (empty)
  1: (empty)
  2: JS_DIRECTIVE_LIST@0..0
  3: JS_MODULE_ITEM_LIST@0..39
    0: JS_FUNCTION_DECLARATION@0..39
      0: (empty)
      1: FUNCTION_KW@0..9 "function" [] [Whitespace(" ")]
      2: (empty)
      3: JS_IDENTIFIER_BINDING@9..10
        0: IDENT@9..10 "f" [] []
      4: (empty)
      5: JS_PARAMETERS@10..13
        0: L_PAREN@10..11 "(" [] []
        1: JS_PARAMETER_LIST@11..11
        2: R_PAREN@11..13 ")" [] [Whitespace(" ")]
      6: (empty)
      7: JS_FUNCTION_BODY@13..39
        0: L_CURLY@13..14 "{" [] []
        1: JS_DIRECTIVE_LIST@14..14
        2: JS_STATEMENT_LIST@14..37
          0: JS_RETURN_STATEMENT@14..37
            0: RETURN_KW@14..26 "return" [Newline("\n"), Whitespace("    ")] [Whitespace(" ")]
            1: JSX_TAG_EXPRESSION@26..37
              0: JSX_ELEMENT@26..37
                0: JSX_OPENING_ELEMENT@26..31
                  0: L_ANGLE@26..27 "<" [] []
                  1: JSX_NAME@27..30
                    0: JSX_IDENT@27..30 "div" [] []
                  2: (empty)
                  3: JSX_ATTRIBUTE_LIST@30..30
                  4: R_ANGLE@30..31 ">" [] []
                1: JSX_CHILD_LIST@31..31
                2: JSX_CLOSING_ELEMENT@31..37
                  0: L_ANGLE@31..32 "<" [] []
                  1: SLASH@32..33 "/" [] []
                  2: JSX_NAME@33..36
                    0: JSX_IDENT@33..36 "div" [] []
                  3: R_ANGLE@36..37 ">" [] []
            2: (empty)
        3: R_CURLY@37..39 "}" [Newline("\n")] []
  4: EOF@39..40 "" [Newline("\n")] []