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 {
            declaration: JsVariableDeclaration {
                await_token: missing (optional),
                kind: VAR_KW@0..4 "var" [] [Whitespace(" ")],
                declarators: JsVariableDeclaratorList [
                    JsVariableDeclarator {
                        id: JsIdentifierBinding {
                            name_token: IDENT@4..7 "c2" [] [Whitespace(" ")],
                        },
                        variable_annotation: missing (optional),
                        initializer: JsInitializerClause {
                            eq_token: EQ@7..9 "=" [] [Whitespace(" ")],
                            expression: JsNewExpression {
                                new_token: NEW_KW@9..13 "new" [] [Whitespace(" ")],
                                callee: JsIdentifierExpression {
                                    name: JsReferenceIdentifier {
                                        value_token: IDENT@13..14 "T" [] [],
                                    },
                                },
                                type_arguments: TsTypeArguments {
                                    l_angle_token: L_ANGLE@14..15 "<" [] [],
                                    ts_type_argument_list: TsTypeArgumentList [
                                        TsStringType {
                                            string_token: STRING_KW@15..21 "string" [] [],
                                        },
                                    ],
                                    r_angle_token: R_ANGLE@21..22 ">" [] [],
                                },
                                arguments: missing (optional),
                            },
                        },
                    },
                ],
            },
            semicolon_token: SEMICOLON@22..30 ";" [] [Whitespace("  "), Comments("// Ok")],
        },
        JsVariableStatement {
            declaration: JsVariableDeclaration {
                await_token: missing (optional),
                kind: VAR_KW@30..35 "var" [Newline("\n")] [Whitespace(" ")],
                declarators: JsVariableDeclaratorList [
                    JsVariableDeclarator {
                        id: JsIdentifierBinding {
                            name_token: IDENT@35..38 "x1" [] [Whitespace(" ")],
                        },
                        variable_annotation: missing (optional),
                        initializer: JsInitializerClause {
                            eq_token: EQ@38..40 "=" [] [Whitespace(" ")],
                            expression: JsNewExpression {
                                new_token: NEW_KW@40..44 "new" [] [Whitespace(" ")],
                                callee: JsIdentifierExpression {
                                    name: JsReferenceIdentifier {
                                        value_token: IDENT@44..46 "SS" [] [],
                                    },
                                },
                                type_arguments: TsTypeArguments {
                                    l_angle_token: L_ANGLE@46..47 "<" [] [],
                                    ts_type_argument_list: TsTypeArgumentList [
                                        TsNumberType {
                                            number_token: NUMBER_KW@47..53 "number" [] [],
                                        },
                                    ],
                                    r_angle_token: R_ANGLE@53..54 ">" [] [],
                                },
                                arguments: JsCallArguments {
                                    l_paren_token: L_PAREN@54..55 "(" [] [],
                                    args: JsCallArgumentList [],
                                    r_paren_token: R_PAREN@55..56 ")" [] [],
                                },
                            },
                        },
                    },
                ],
            },
            semicolon_token: SEMICOLON@56..63 ";" [] [Whitespace(" "), Comments("// OK")],
        },
        JsVariableStatement {
            declaration: JsVariableDeclaration {
                await_token: missing (optional),
                kind: VAR_KW@63..68 "var" [Newline("\n")] [Whitespace(" ")],
                declarators: JsVariableDeclaratorList [
                    JsVariableDeclarator {
                        id: JsIdentifierBinding {
                            name_token: IDENT@68..71 "x3" [] [Whitespace(" ")],
                        },
                        variable_annotation: missing (optional),
                        initializer: JsInitializerClause {
                            eq_token: EQ@71..73 "=" [] [Whitespace(" ")],
                            expression: JsNewExpression {
                                new_token: NEW_KW@73..77 "new" [] [Whitespace(" ")],
                                callee: JsIdentifierExpression {
                                    name: JsReferenceIdentifier {
                                        value_token: IDENT@77..79 "SS" [] [],
                                    },
                                },
                                type_arguments: missing (optional),
                                arguments: JsCallArguments {
                                    l_paren_token: L_PAREN@79..80 "(" [] [],
                                    args: JsCallArgumentList [],
                                    r_paren_token: R_PAREN@80..81 ")" [] [],
                                },
                            },
                        },
                    },
                ],
            },
            semicolon_token: SEMICOLON@81..96 ";" [] [Whitespace("         "), Comments("// OK")],
        },
        JsVariableStatement {
            declaration: JsVariableDeclaration {
                await_token: missing (optional),
                kind: VAR_KW@96..101 "var" [Newline("\n")] [Whitespace(" ")],
                declarators: JsVariableDeclaratorList [
                    JsVariableDeclarator {
                        id: JsIdentifierBinding {
                            name_token: IDENT@101..104 "x4" [] [Whitespace(" ")],
                        },
                        variable_annotation: missing (optional),
                        initializer: JsInitializerClause {
                            eq_token: EQ@104..106 "=" [] [Whitespace(" ")],
                            expression: JsNewExpression {
                                new_token: NEW_KW@106..110 "new" [] [Whitespace(" ")],
                                callee: JsIdentifierExpression {
                                    name: JsReferenceIdentifier {
                                        value_token: IDENT@110..112 "SS" [] [],
                                    },
                                },
                                type_arguments: missing (optional),
                                arguments: missing (optional),
                            },
                        },
                    },
                ],
            },
            semicolon_token: SEMICOLON@112..129 ";" [] [Whitespace("           "), Comments("// OK")],
        },
    ],
    eof_token: EOF@129..130 "" [Newline("\n")] [],
}

0: JS_MODULE@0..130
  0: (empty)
  1: (empty)
  2: JS_DIRECTIVE_LIST@0..0
  3: JS_MODULE_ITEM_LIST@0..129
    0: JS_VARIABLE_STATEMENT@0..30
      0: JS_VARIABLE_DECLARATION@0..22
        0: (empty)
        1: VAR_KW@0..4 "var" [] [Whitespace(" ")]
        2: JS_VARIABLE_DECLARATOR_LIST@4..22
          0: JS_VARIABLE_DECLARATOR@4..22
            0: JS_IDENTIFIER_BINDING@4..7
              0: IDENT@4..7 "c2" [] [Whitespace(" ")]
            1: (empty)
            2: JS_INITIALIZER_CLAUSE@7..22
              0: EQ@7..9 "=" [] [Whitespace(" ")]
              1: JS_NEW_EXPRESSION@9..22
                0: NEW_KW@9..13 "new" [] [Whitespace(" ")]
                1: JS_IDENTIFIER_EXPRESSION@13..14
                  0: JS_REFERENCE_IDENTIFIER@13..14
                    0: IDENT@13..14 "T" [] []
                2: TS_TYPE_ARGUMENTS@14..22
                  0: L_ANGLE@14..15 "<" [] []
                  1: TS_TYPE_ARGUMENT_LIST@15..21
                    0: TS_STRING_TYPE@15..21
                      0: STRING_KW@15..21 "string" [] []
                  2: R_ANGLE@21..22 ">" [] []
                3: (empty)
      1: SEMICOLON@22..30 ";" [] [Whitespace("  "), Comments("// Ok")]
    1: JS_VARIABLE_STATEMENT@30..63
      0: JS_VARIABLE_DECLARATION@30..56
        0: (empty)
        1: VAR_KW@30..35 "var" [Newline("\n")] [Whitespace(" ")]
        2: JS_VARIABLE_DECLARATOR_LIST@35..56
          0: JS_VARIABLE_DECLARATOR@35..56
            0: JS_IDENTIFIER_BINDING@35..38
              0: IDENT@35..38 "x1" [] [Whitespace(" ")]
            1: (empty)
            2: JS_INITIALIZER_CLAUSE@38..56
              0: EQ@38..40 "=" [] [Whitespace(" ")]
              1: JS_NEW_EXPRESSION@40..56
                0: NEW_KW@40..44 "new" [] [Whitespace(" ")]
                1: JS_IDENTIFIER_EXPRESSION@44..46
                  0: JS_REFERENCE_IDENTIFIER@44..46
                    0: IDENT@44..46 "SS" [] []
                2: TS_TYPE_ARGUMENTS@46..54
                  0: L_ANGLE@46..47 "<" [] []
                  1: TS_TYPE_ARGUMENT_LIST@47..53
                    0: TS_NUMBER_TYPE@47..53
                      0: NUMBER_KW@47..53 "number" [] []
                  2: R_ANGLE@53..54 ">" [] []
                3: JS_CALL_ARGUMENTS@54..56
                  0: L_PAREN@54..55 "(" [] []
                  1: JS_CALL_ARGUMENT_LIST@55..55
                  2: R_PAREN@55..56 ")" [] []
      1: SEMICOLON@56..63 ";" [] [Whitespace(" "), Comments("// OK")]
    2: JS_VARIABLE_STATEMENT@63..96
      0: JS_VARIABLE_DECLARATION@63..81
        0: (empty)
        1: VAR_KW@63..68 "var" [Newline("\n")] [Whitespace(" ")]
        2: JS_VARIABLE_DECLARATOR_LIST@68..81
          0: JS_VARIABLE_DECLARATOR@68..81
            0: JS_IDENTIFIER_BINDING@68..71
              0: IDENT@68..71 "x3" [] [Whitespace(" ")]
            1: (empty)
            2: JS_INITIALIZER_CLAUSE@71..81
              0: EQ@71..73 "=" [] [Whitespace(" ")]
              1: JS_NEW_EXPRESSION@73..81
                0: NEW_KW@73..77 "new" [] [Whitespace(" ")]
                1: JS_IDENTIFIER_EXPRESSION@77..79
                  0: JS_REFERENCE_IDENTIFIER@77..79
                    0: IDENT@77..79 "SS" [] []
                2: (empty)
                3: JS_CALL_ARGUMENTS@79..81
                  0: L_PAREN@79..80 "(" [] []
                  1: JS_CALL_ARGUMENT_LIST@80..80
                  2: R_PAREN@80..81 ")" [] []
      1: SEMICOLON@81..96 ";" [] [Whitespace("         "), Comments("// OK")]
    3: JS_VARIABLE_STATEMENT@96..129
      0: JS_VARIABLE_DECLARATION@96..112
        0: (empty)
        1: VAR_KW@96..101 "var" [Newline("\n")] [Whitespace(" ")]
        2: JS_VARIABLE_DECLARATOR_LIST@101..112
          0: JS_VARIABLE_DECLARATOR@101..112
            0: JS_IDENTIFIER_BINDING@101..104
              0: IDENT@101..104 "x4" [] [Whitespace(" ")]
            1: (empty)
            2: JS_INITIALIZER_CLAUSE@104..112
              0: EQ@104..106 "=" [] [Whitespace(" ")]
              1: JS_NEW_EXPRESSION@106..112
                0: NEW_KW@106..110 "new" [] [Whitespace(" ")]
                1: JS_IDENTIFIER_EXPRESSION@110..112
                  0: JS_REFERENCE_IDENTIFIER@110..112
                    0: IDENT@110..112 "SS" [] []
                2: (empty)
                3: (empty)
      1: SEMICOLON@112..129 ";" [] [Whitespace("           "), Comments("// OK")]
  4: EOF@129..130 "" [Newline("\n")] []