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: STAR@9..10 "*" [] [],
            id: JsIdentifierBinding {
                name_token: IDENT@10..13 "foo" [] [],
            },
            type_parameters: missing (optional),
            parameters: JsParameters {
                l_paren_token: L_PAREN@13..14 "(" [] [],
                items: JsParameterList [],
                r_paren_token: R_PAREN@14..16 ")" [] [Whitespace(" ")],
            },
            return_type_annotation: missing (optional),
            body: JsFunctionBody {
                l_curly_token: L_CURLY@16..17 "{" [] [],
                directives: JsDirectiveList [],
                statements: JsStatementList [
                    JsExpressionStatement {
                        expression: JsYieldExpression {
                            yield_token: YIELD_KW@17..25 "yield" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")],
                            argument: JsYieldArgument {
                                star_token: missing (optional),
                                expression: JsIdentifierExpression {
                                    name: JsReferenceIdentifier {
                                        value_token: IDENT@25..28 "foo" [] [],
                                    },
                                },
                            },
                        },
                        semicolon_token: SEMICOLON@28..29 ";" [] [],
                    },
                    JsExpressionStatement {
                        expression: JsYieldExpression {
                            yield_token: YIELD_KW@29..36 "yield" [Newline("\n"), Whitespace(" ")] [],
                            argument: JsYieldArgument {
                                star_token: STAR@36..38 "*" [] [Whitespace(" ")],
                                expression: JsIdentifierExpression {
                                    name: JsReferenceIdentifier {
                                        value_token: IDENT@38..41 "foo" [] [],
                                    },
                                },
                            },
                        },
                        semicolon_token: SEMICOLON@41..42 ";" [] [],
                    },
                    JsExpressionStatement {
                        expression: JsYieldExpression {
                            yield_token: YIELD_KW@42..49 "yield" [Newline("\n"), Whitespace(" ")] [],
                            argument: missing (optional),
                        },
                        semicolon_token: SEMICOLON@49..50 ";" [] [],
                    },
                    JsExpressionStatement {
                        expression: JsYieldExpression {
                            yield_token: YIELD_KW@50..57 "yield" [Newline("\n"), Whitespace(" ")] [],
                            argument: missing (optional),
                        },
                        semicolon_token: missing (optional),
                    },
                    JsExpressionStatement {
                        expression: JsYieldExpression {
                            yield_token: YIELD_KW@57..64 "yield" [Newline("\n"), Whitespace(" ")] [],
                            argument: missing (optional),
                        },
                        semicolon_token: missing (optional),
                    },
                ],
                r_curly_token: R_CURLY@64..66 "}" [Newline("\n")] [],
            },
        },
    ],
    eof_token: EOF@66..67 "" [Newline("\n")] [],
}

0: JS_MODULE@0..67
  0: (empty)
  1: (empty)
  2: JS_DIRECTIVE_LIST@0..0
  3: JS_MODULE_ITEM_LIST@0..66
    0: JS_FUNCTION_DECLARATION@0..66
      0: (empty)
      1: FUNCTION_KW@0..9 "function" [] [Whitespace(" ")]
      2: STAR@9..10 "*" [] []
      3: JS_IDENTIFIER_BINDING@10..13
        0: IDENT@10..13 "foo" [] []
      4: (empty)
      5: JS_PARAMETERS@13..16
        0: L_PAREN@13..14 "(" [] []
        1: JS_PARAMETER_LIST@14..14
        2: R_PAREN@14..16 ")" [] [Whitespace(" ")]
      6: (empty)
      7: JS_FUNCTION_BODY@16..66
        0: L_CURLY@16..17 "{" [] []
        1: JS_DIRECTIVE_LIST@17..17
        2: JS_STATEMENT_LIST@17..64
          0: JS_EXPRESSION_STATEMENT@17..29
            0: JS_YIELD_EXPRESSION@17..28
              0: YIELD_KW@17..25 "yield" [Newline("\n"), Whitespace(" ")] [Whitespace(" ")]
              1: JS_YIELD_ARGUMENT@25..28
                0: (empty)
                1: JS_IDENTIFIER_EXPRESSION@25..28
                  0: JS_REFERENCE_IDENTIFIER@25..28
                    0: IDENT@25..28 "foo" [] []
            1: SEMICOLON@28..29 ";" [] []
          1: JS_EXPRESSION_STATEMENT@29..42
            0: JS_YIELD_EXPRESSION@29..41
              0: YIELD_KW@29..36 "yield" [Newline("\n"), Whitespace(" ")] []
              1: JS_YIELD_ARGUMENT@36..41
                0: STAR@36..38 "*" [] [Whitespace(" ")]
                1: JS_IDENTIFIER_EXPRESSION@38..41
                  0: JS_REFERENCE_IDENTIFIER@38..41
                    0: IDENT@38..41 "foo" [] []
            1: SEMICOLON@41..42 ";" [] []
          2: JS_EXPRESSION_STATEMENT@42..50
            0: JS_YIELD_EXPRESSION@42..49
              0: YIELD_KW@42..49 "yield" [Newline("\n"), Whitespace(" ")] []
              1: (empty)
            1: SEMICOLON@49..50 ";" [] []
          3: JS_EXPRESSION_STATEMENT@50..57
            0: JS_YIELD_EXPRESSION@50..57
              0: YIELD_KW@50..57 "yield" [Newline("\n"), Whitespace(" ")] []
              1: (empty)
            1: (empty)
          4: JS_EXPRESSION_STATEMENT@57..64
            0: JS_YIELD_EXPRESSION@57..64
              0: YIELD_KW@57..64 "yield" [Newline("\n"), Whitespace(" ")] []
              1: (empty)
            1: (empty)
        3: R_CURLY@64..66 "}" [Newline("\n")] []
  4: EOF@66..67 "" [Newline("\n")] []