biome_js_parser 0.5.7

Biome's JavaScript parser
Documentation
JsScript {
    bom_token: missing (optional),
    interpreter_token: missing (optional),
    directives: JsDirectiveList [],
    statements: JsStatementList [
        JsExpressionStatement {
            expression: JsParenthesizedExpression {
                l_paren_token: L_PAREN@0..11 "(" [Comments("// SCRIPT"), Newline("\n")] [],
                expression: JsFunctionExpression {
                    async_token: missing (optional),
                    function_token: FUNCTION_KW@11..20 "function" [] [Whitespace(" ")],
                    star_token: missing (optional),
                    id: JsIdentifierBinding {
                        name_token: IDENT@20..25 "await" [] [],
                    },
                    type_parameters: missing (optional),
                    parameters: JsParameters {
                        l_paren_token: L_PAREN@25..26 "(" [] [],
                        items: JsParameterList [],
                        r_paren_token: R_PAREN@26..28 ")" [] [Whitespace(" ")],
                    },
                    return_type_annotation: missing (optional),
                    body: JsFunctionBody {
                        l_curly_token: L_CURLY@28..29 "{" [] [],
                        directives: JsDirectiveList [],
                        statements: JsStatementList [],
                        r_curly_token: R_CURLY@29..30 "}" [] [],
                    },
                },
                r_paren_token: R_PAREN@30..31 ")" [] [],
            },
            semicolon_token: SEMICOLON@31..32 ";" [] [],
        },
        JsExpressionStatement {
            expression: JsParenthesizedExpression {
                l_paren_token: L_PAREN@32..34 "(" [Newline("\n")] [],
                expression: JsFunctionExpression {
                    async_token: missing (optional),
                    function_token: FUNCTION_KW@34..43 "function" [] [Whitespace(" ")],
                    star_token: missing (optional),
                    id: JsIdentifierBinding {
                        name_token: IDENT@43..48 "yield" [] [],
                    },
                    type_parameters: missing (optional),
                    parameters: JsParameters {
                        l_paren_token: L_PAREN@48..49 "(" [] [],
                        items: JsParameterList [],
                        r_paren_token: R_PAREN@49..51 ")" [] [Whitespace(" ")],
                    },
                    return_type_annotation: missing (optional),
                    body: JsFunctionBody {
                        l_curly_token: L_CURLY@51..52 "{" [] [],
                        directives: JsDirectiveList [],
                        statements: JsStatementList [],
                        r_curly_token: R_CURLY@52..53 "}" [] [],
                    },
                },
                r_paren_token: R_PAREN@53..54 ")" [] [],
            },
            semicolon_token: SEMICOLON@54..55 ";" [] [],
        },
        JsExpressionStatement {
            expression: JsParenthesizedExpression {
                l_paren_token: L_PAREN@55..57 "(" [Newline("\n")] [],
                expression: JsFunctionExpression {
                    async_token: ASYNC_KW@57..63 "async" [] [Whitespace(" ")],
                    function_token: FUNCTION_KW@63..72 "function" [] [Whitespace(" ")],
                    star_token: missing (optional),
                    id: JsIdentifierBinding {
                        name_token: IDENT@72..77 "yield" [] [],
                    },
                    type_parameters: missing (optional),
                    parameters: JsParameters {
                        l_paren_token: L_PAREN@77..78 "(" [] [],
                        items: JsParameterList [],
                        r_paren_token: R_PAREN@78..80 ")" [] [Whitespace(" ")],
                    },
                    return_type_annotation: missing (optional),
                    body: JsFunctionBody {
                        l_curly_token: L_CURLY@80..81 "{" [] [],
                        directives: JsDirectiveList [],
                        statements: JsStatementList [],
                        r_curly_token: R_CURLY@81..82 "}" [] [],
                    },
                },
                r_paren_token: R_PAREN@82..83 ")" [] [],
            },
            semicolon_token: SEMICOLON@83..84 ";" [] [],
        },
        JsExpressionStatement {
            expression: JsParenthesizedExpression {
                l_paren_token: L_PAREN@84..86 "(" [Newline("\n")] [],
                expression: JsFunctionExpression {
                    async_token: missing (optional),
                    function_token: FUNCTION_KW@86..94 "function" [] [],
                    star_token: STAR@94..96 "*" [] [Whitespace(" ")],
                    id: JsIdentifierBinding {
                        name_token: IDENT@96..101 "await" [] [],
                    },
                    type_parameters: missing (optional),
                    parameters: JsParameters {
                        l_paren_token: L_PAREN@101..102 "(" [] [],
                        items: JsParameterList [],
                        r_paren_token: R_PAREN@102..104 ")" [] [Whitespace(" ")],
                    },
                    return_type_annotation: missing (optional),
                    body: JsFunctionBody {
                        l_curly_token: L_CURLY@104..105 "{" [] [],
                        directives: JsDirectiveList [],
                        statements: JsStatementList [],
                        r_curly_token: R_CURLY@105..106 "}" [] [],
                    },
                },
                r_paren_token: R_PAREN@106..107 ")" [] [],
            },
            semicolon_token: missing (optional),
        },
    ],
    eof_token: EOF@107..108 "" [Newline("\n")] [],
}

0: JS_SCRIPT@0..108
  0: (empty)
  1: (empty)
  2: JS_DIRECTIVE_LIST@0..0
  3: JS_STATEMENT_LIST@0..107
    0: JS_EXPRESSION_STATEMENT@0..32
      0: JS_PARENTHESIZED_EXPRESSION@0..31
        0: L_PAREN@0..11 "(" [Comments("// SCRIPT"), Newline("\n")] []
        1: JS_FUNCTION_EXPRESSION@11..30
          0: (empty)
          1: FUNCTION_KW@11..20 "function" [] [Whitespace(" ")]
          2: (empty)
          3: JS_IDENTIFIER_BINDING@20..25
            0: IDENT@20..25 "await" [] []
          4: (empty)
          5: JS_PARAMETERS@25..28
            0: L_PAREN@25..26 "(" [] []
            1: JS_PARAMETER_LIST@26..26
            2: R_PAREN@26..28 ")" [] [Whitespace(" ")]
          6: (empty)
          7: JS_FUNCTION_BODY@28..30
            0: L_CURLY@28..29 "{" [] []
            1: JS_DIRECTIVE_LIST@29..29
            2: JS_STATEMENT_LIST@29..29
            3: R_CURLY@29..30 "}" [] []
        2: R_PAREN@30..31 ")" [] []
      1: SEMICOLON@31..32 ";" [] []
    1: JS_EXPRESSION_STATEMENT@32..55
      0: JS_PARENTHESIZED_EXPRESSION@32..54
        0: L_PAREN@32..34 "(" [Newline("\n")] []
        1: JS_FUNCTION_EXPRESSION@34..53
          0: (empty)
          1: FUNCTION_KW@34..43 "function" [] [Whitespace(" ")]
          2: (empty)
          3: JS_IDENTIFIER_BINDING@43..48
            0: IDENT@43..48 "yield" [] []
          4: (empty)
          5: JS_PARAMETERS@48..51
            0: L_PAREN@48..49 "(" [] []
            1: JS_PARAMETER_LIST@49..49
            2: R_PAREN@49..51 ")" [] [Whitespace(" ")]
          6: (empty)
          7: JS_FUNCTION_BODY@51..53
            0: L_CURLY@51..52 "{" [] []
            1: JS_DIRECTIVE_LIST@52..52
            2: JS_STATEMENT_LIST@52..52
            3: R_CURLY@52..53 "}" [] []
        2: R_PAREN@53..54 ")" [] []
      1: SEMICOLON@54..55 ";" [] []
    2: JS_EXPRESSION_STATEMENT@55..84
      0: JS_PARENTHESIZED_EXPRESSION@55..83
        0: L_PAREN@55..57 "(" [Newline("\n")] []
        1: JS_FUNCTION_EXPRESSION@57..82
          0: ASYNC_KW@57..63 "async" [] [Whitespace(" ")]
          1: FUNCTION_KW@63..72 "function" [] [Whitespace(" ")]
          2: (empty)
          3: JS_IDENTIFIER_BINDING@72..77
            0: IDENT@72..77 "yield" [] []
          4: (empty)
          5: JS_PARAMETERS@77..80
            0: L_PAREN@77..78 "(" [] []
            1: JS_PARAMETER_LIST@78..78
            2: R_PAREN@78..80 ")" [] [Whitespace(" ")]
          6: (empty)
          7: JS_FUNCTION_BODY@80..82
            0: L_CURLY@80..81 "{" [] []
            1: JS_DIRECTIVE_LIST@81..81
            2: JS_STATEMENT_LIST@81..81
            3: R_CURLY@81..82 "}" [] []
        2: R_PAREN@82..83 ")" [] []
      1: SEMICOLON@83..84 ";" [] []
    3: JS_EXPRESSION_STATEMENT@84..107
      0: JS_PARENTHESIZED_EXPRESSION@84..107
        0: L_PAREN@84..86 "(" [Newline("\n")] []
        1: JS_FUNCTION_EXPRESSION@86..106
          0: (empty)
          1: FUNCTION_KW@86..94 "function" [] []
          2: STAR@94..96 "*" [] [Whitespace(" ")]
          3: JS_IDENTIFIER_BINDING@96..101
            0: IDENT@96..101 "await" [] []
          4: (empty)
          5: JS_PARAMETERS@101..104
            0: L_PAREN@101..102 "(" [] []
            1: JS_PARAMETER_LIST@102..102
            2: R_PAREN@102..104 ")" [] [Whitespace(" ")]
          6: (empty)
          7: JS_FUNCTION_BODY@104..106
            0: L_CURLY@104..105 "{" [] []
            1: JS_DIRECTIVE_LIST@105..105
            2: JS_STATEMENT_LIST@105..105
            3: R_CURLY@105..106 "}" [] []
        2: R_PAREN@106..107 ")" [] []
      1: (empty)
  4: EOF@107..108 "" [Newline("\n")] []