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..13 "foo1" [] [],
            },
            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 [],
                r_curly_token: R_CURLY@17..18 "}" [] [],
            },
        },
        JsFunctionDeclaration {
            async_token: missing (optional),
            function_token: FUNCTION_KW@18..28 "function" [Newline("\n")] [Whitespace(" ")],
            star_token: STAR@28..29 "*" [] [],
            id: JsIdentifierBinding {
                name_token: IDENT@29..33 "foo2" [] [],
            },
            type_parameters: missing (optional),
            parameters: JsParameters {
                l_paren_token: L_PAREN@33..34 "(" [] [],
                items: JsParameterList [],
                r_paren_token: R_PAREN@34..36 ")" [] [Whitespace(" ")],
            },
            return_type_annotation: missing (optional),
            body: JsFunctionBody {
                l_curly_token: L_CURLY@36..37 "{" [] [],
                directives: JsDirectiveList [],
                statements: JsStatementList [],
                r_curly_token: R_CURLY@37..38 "}" [] [],
            },
        },
        JsFunctionDeclaration {
            async_token: ASYNC_KW@38..45 "async" [Newline("\n")] [Whitespace(" ")],
            function_token: FUNCTION_KW@45..54 "function" [] [Whitespace(" ")],
            star_token: STAR@54..55 "*" [] [],
            id: JsIdentifierBinding {
                name_token: IDENT@55..59 "foo3" [] [],
            },
            type_parameters: missing (optional),
            parameters: JsParameters {
                l_paren_token: L_PAREN@59..60 "(" [] [],
                items: JsParameterList [],
                r_paren_token: R_PAREN@60..62 ")" [] [Whitespace(" ")],
            },
            return_type_annotation: missing (optional),
            body: JsFunctionBody {
                l_curly_token: L_CURLY@62..63 "{" [] [],
                directives: JsDirectiveList [],
                statements: JsStatementList [],
                r_curly_token: R_CURLY@63..64 "}" [] [],
            },
        },
        JsFunctionDeclaration {
            async_token: ASYNC_KW@64..71 "async" [Newline("\n")] [Whitespace(" ")],
            function_token: FUNCTION_KW@71..80 "function" [] [Whitespace(" ")],
            star_token: missing (optional),
            id: JsIdentifierBinding {
                name_token: IDENT@80..84 "foo4" [] [],
            },
            type_parameters: missing (optional),
            parameters: JsParameters {
                l_paren_token: L_PAREN@84..85 "(" [] [],
                items: JsParameterList [],
                r_paren_token: R_PAREN@85..87 ")" [] [Whitespace(" ")],
            },
            return_type_annotation: missing (optional),
            body: JsFunctionBody {
                l_curly_token: L_CURLY@87..88 "{" [] [],
                directives: JsDirectiveList [],
                statements: JsStatementList [],
                r_curly_token: R_CURLY@88..89 "}" [] [],
            },
        },
        JsFunctionDeclaration {
            async_token: missing (optional),
            function_token: FUNCTION_KW@89..99 "function" [Newline("\n")] [Whitespace(" ")],
            star_token: STAR@99..100 "*" [] [],
            id: JsIdentifierBinding {
                name_token: IDENT@100..104 "foo5" [] [],
            },
            type_parameters: missing (optional),
            parameters: JsParameters {
                l_paren_token: L_PAREN@104..105 "(" [] [],
                items: JsParameterList [],
                r_paren_token: R_PAREN@105..107 ")" [] [Whitespace(" ")],
            },
            return_type_annotation: missing (optional),
            body: JsFunctionBody {
                l_curly_token: L_CURLY@107..108 "{" [] [],
                directives: JsDirectiveList [],
                statements: JsStatementList [
                    JsExpressionStatement {
                        expression: JsYieldExpression {
                            yield_token: YIELD_KW@108..117 "yield" [Newline("\n"), Whitespace("  ")] [Whitespace(" ")],
                            argument: JsYieldArgument {
                                star_token: missing (optional),
                                expression: JsIdentifierExpression {
                                    name: JsReferenceIdentifier {
                                        value_token: IDENT@117..120 "foo" [] [],
                                    },
                                },
                            },
                        },
                        semicolon_token: SEMICOLON@120..121 ";" [] [],
                    },
                ],
                r_curly_token: R_CURLY@121..123 "}" [Newline("\n")] [],
            },
        },
    ],
    eof_token: EOF@123..124 "" [Newline("\n")] [],
}

0: JS_MODULE@0..124
  0: (empty)
  1: (empty)
  2: JS_DIRECTIVE_LIST@0..0
  3: JS_MODULE_ITEM_LIST@0..123
    0: JS_FUNCTION_DECLARATION@0..18
      0: (empty)
      1: FUNCTION_KW@0..9 "function" [] [Whitespace(" ")]
      2: (empty)
      3: JS_IDENTIFIER_BINDING@9..13
        0: IDENT@9..13 "foo1" [] []
      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..18
        0: L_CURLY@16..17 "{" [] []
        1: JS_DIRECTIVE_LIST@17..17
        2: JS_STATEMENT_LIST@17..17
        3: R_CURLY@17..18 "}" [] []
    1: JS_FUNCTION_DECLARATION@18..38
      0: (empty)
      1: FUNCTION_KW@18..28 "function" [Newline("\n")] [Whitespace(" ")]
      2: STAR@28..29 "*" [] []
      3: JS_IDENTIFIER_BINDING@29..33
        0: IDENT@29..33 "foo2" [] []
      4: (empty)
      5: JS_PARAMETERS@33..36
        0: L_PAREN@33..34 "(" [] []
        1: JS_PARAMETER_LIST@34..34
        2: R_PAREN@34..36 ")" [] [Whitespace(" ")]
      6: (empty)
      7: JS_FUNCTION_BODY@36..38
        0: L_CURLY@36..37 "{" [] []
        1: JS_DIRECTIVE_LIST@37..37
        2: JS_STATEMENT_LIST@37..37
        3: R_CURLY@37..38 "}" [] []
    2: JS_FUNCTION_DECLARATION@38..64
      0: ASYNC_KW@38..45 "async" [Newline("\n")] [Whitespace(" ")]
      1: FUNCTION_KW@45..54 "function" [] [Whitespace(" ")]
      2: STAR@54..55 "*" [] []
      3: JS_IDENTIFIER_BINDING@55..59
        0: IDENT@55..59 "foo3" [] []
      4: (empty)
      5: JS_PARAMETERS@59..62
        0: L_PAREN@59..60 "(" [] []
        1: JS_PARAMETER_LIST@60..60
        2: R_PAREN@60..62 ")" [] [Whitespace(" ")]
      6: (empty)
      7: JS_FUNCTION_BODY@62..64
        0: L_CURLY@62..63 "{" [] []
        1: JS_DIRECTIVE_LIST@63..63
        2: JS_STATEMENT_LIST@63..63
        3: R_CURLY@63..64 "}" [] []
    3: JS_FUNCTION_DECLARATION@64..89
      0: ASYNC_KW@64..71 "async" [Newline("\n")] [Whitespace(" ")]
      1: FUNCTION_KW@71..80 "function" [] [Whitespace(" ")]
      2: (empty)
      3: JS_IDENTIFIER_BINDING@80..84
        0: IDENT@80..84 "foo4" [] []
      4: (empty)
      5: JS_PARAMETERS@84..87
        0: L_PAREN@84..85 "(" [] []
        1: JS_PARAMETER_LIST@85..85
        2: R_PAREN@85..87 ")" [] [Whitespace(" ")]
      6: (empty)
      7: JS_FUNCTION_BODY@87..89
        0: L_CURLY@87..88 "{" [] []
        1: JS_DIRECTIVE_LIST@88..88
        2: JS_STATEMENT_LIST@88..88
        3: R_CURLY@88..89 "}" [] []
    4: JS_FUNCTION_DECLARATION@89..123
      0: (empty)
      1: FUNCTION_KW@89..99 "function" [Newline("\n")] [Whitespace(" ")]
      2: STAR@99..100 "*" [] []
      3: JS_IDENTIFIER_BINDING@100..104
        0: IDENT@100..104 "foo5" [] []
      4: (empty)
      5: JS_PARAMETERS@104..107
        0: L_PAREN@104..105 "(" [] []
        1: JS_PARAMETER_LIST@105..105
        2: R_PAREN@105..107 ")" [] [Whitespace(" ")]
      6: (empty)
      7: JS_FUNCTION_BODY@107..123
        0: L_CURLY@107..108 "{" [] []
        1: JS_DIRECTIVE_LIST@108..108
        2: JS_STATEMENT_LIST@108..121
          0: JS_EXPRESSION_STATEMENT@108..121
            0: JS_YIELD_EXPRESSION@108..120
              0: YIELD_KW@108..117 "yield" [Newline("\n"), Whitespace("  ")] [Whitespace(" ")]
              1: JS_YIELD_ARGUMENT@117..120
                0: (empty)
                1: JS_IDENTIFIER_EXPRESSION@117..120
                  0: JS_REFERENCE_IDENTIFIER@117..120
                    0: IDENT@117..120 "foo" [] []
            1: SEMICOLON@120..121 ";" [] []
        3: R_CURLY@121..123 "}" [Newline("\n")] []
  4: EOF@123..124 "" [Newline("\n")] []