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: LET_KW@0..4 "let" [] [Whitespace(" ")],
                declarators: JsVariableDeclaratorList [
                    JsVariableDeclarator {
                        id: JsArrayBindingPattern {
                            l_brack_token: L_BRACK@4..6 "[" [] [Whitespace(" ")],
                            elements: JsArrayBindingPatternElementList [
                                JsArrayBindingPatternRestElement {
                                    dotdotdot_token: DOT3@6..9 "..." [] [],
                                    pattern: JsIdentifierBinding {
                                        name_token: IDENT@9..14 "abcd" [] [Whitespace(" ")],
                                    },
                                },
                            ],
                            r_brack_token: R_BRACK@14..16 "]" [] [Whitespace(" ")],
                        },
                        variable_annotation: missing (optional),
                        initializer: JsInitializerClause {
                            eq_token: EQ@16..18 "=" [] [Whitespace(" ")],
                            expression: JsIdentifierExpression {
                                name: JsReferenceIdentifier {
                                    value_token: IDENT@18..19 "a" [] [],
                                },
                            },
                        },
                    },
                ],
            },
            semicolon_token: SEMICOLON@19..20 ";" [] [],
        },
        JsVariableStatement {
            declaration: JsVariableDeclaration {
                await_token: missing (optional),
                kind: LET_KW@20..25 "let" [Newline("\n")] [Whitespace(" ")],
                declarators: JsVariableDeclaratorList [
                    JsVariableDeclarator {
                        id: JsArrayBindingPattern {
                            l_brack_token: L_BRACK@25..27 "[" [] [Whitespace(" ")],
                            elements: JsArrayBindingPatternElementList [
                                JsArrayBindingPatternRestElement {
                                    dotdotdot_token: DOT3@27..30 "..." [] [],
                                    pattern: JsArrayBindingPattern {
                                        l_brack_token: L_BRACK@30..31 "[" [] [],
                                        elements: JsArrayBindingPatternElementList [
                                            JsArrayBindingPatternElement {
                                                pattern: JsIdentifierBinding {
                                                    name_token: IDENT@31..32 "x" [] [],
                                                },
                                                init: missing (optional),
                                            },
                                            COMMA@32..34 "," [] [Whitespace(" ")],
                                            JsArrayBindingPatternElement {
                                                pattern: JsIdentifierBinding {
                                                    name_token: IDENT@34..35 "y" [] [],
                                                },
                                                init: missing (optional),
                                            },
                                        ],
                                        r_brack_token: R_BRACK@35..37 "]" [] [Whitespace(" ")],
                                    },
                                },
                            ],
                            r_brack_token: R_BRACK@37..39 "]" [] [Whitespace(" ")],
                        },
                        variable_annotation: missing (optional),
                        initializer: JsInitializerClause {
                            eq_token: EQ@39..41 "=" [] [Whitespace(" ")],
                            expression: JsIdentifierExpression {
                                name: JsReferenceIdentifier {
                                    value_token: IDENT@41..42 "b" [] [],
                                },
                            },
                        },
                    },
                ],
            },
            semicolon_token: SEMICOLON@42..43 ";" [] [],
        },
        JsVariableStatement {
            declaration: JsVariableDeclaration {
                await_token: missing (optional),
                kind: LET_KW@43..48 "let" [Newline("\n")] [Whitespace(" ")],
                declarators: JsVariableDeclaratorList [
                    JsVariableDeclarator {
                        id: JsArrayBindingPattern {
                            l_brack_token: L_BRACK@48..50 "[" [] [Whitespace(" ")],
                            elements: JsArrayBindingPatternElementList [
                                JsArrayBindingPatternRestElement {
                                    dotdotdot_token: DOT3@50..53 "..." [] [],
                                    pattern: JsArrayBindingPattern {
                                        l_brack_token: L_BRACK@53..55 "[" [] [Whitespace(" ")],
                                        elements: JsArrayBindingPatternElementList [
                                            JsArrayBindingPatternRestElement {
                                                dotdotdot_token: DOT3@55..58 "..." [] [],
                                                pattern: JsIdentifierBinding {
                                                    name_token: IDENT@58..60 "a" [] [Whitespace(" ")],
                                                },
                                            },
                                        ],
                                        r_brack_token: R_BRACK@60..62 "]" [] [Whitespace(" ")],
                                    },
                                },
                            ],
                            r_brack_token: R_BRACK@62..64 "]" [] [Whitespace(" ")],
                        },
                        variable_annotation: missing (optional),
                        initializer: JsInitializerClause {
                            eq_token: EQ@64..66 "=" [] [Whitespace(" ")],
                            expression: JsIdentifierExpression {
                                name: JsReferenceIdentifier {
                                    value_token: IDENT@66..67 "c" [] [],
                                },
                            },
                        },
                    },
                ],
            },
            semicolon_token: SEMICOLON@67..68 ";" [] [],
        },
    ],
    eof_token: EOF@68..69 "" [Newline("\n")] [],
}

0: JS_MODULE@0..69
  0: (empty)
  1: (empty)
  2: JS_DIRECTIVE_LIST@0..0
  3: JS_MODULE_ITEM_LIST@0..68
    0: JS_VARIABLE_STATEMENT@0..20
      0: JS_VARIABLE_DECLARATION@0..19
        0: (empty)
        1: LET_KW@0..4 "let" [] [Whitespace(" ")]
        2: JS_VARIABLE_DECLARATOR_LIST@4..19
          0: JS_VARIABLE_DECLARATOR@4..19
            0: JS_ARRAY_BINDING_PATTERN@4..16
              0: L_BRACK@4..6 "[" [] [Whitespace(" ")]
              1: JS_ARRAY_BINDING_PATTERN_ELEMENT_LIST@6..14
                0: JS_ARRAY_BINDING_PATTERN_REST_ELEMENT@6..14
                  0: DOT3@6..9 "..." [] []
                  1: JS_IDENTIFIER_BINDING@9..14
                    0: IDENT@9..14 "abcd" [] [Whitespace(" ")]
              2: R_BRACK@14..16 "]" [] [Whitespace(" ")]
            1: (empty)
            2: JS_INITIALIZER_CLAUSE@16..19
              0: EQ@16..18 "=" [] [Whitespace(" ")]
              1: JS_IDENTIFIER_EXPRESSION@18..19
                0: JS_REFERENCE_IDENTIFIER@18..19
                  0: IDENT@18..19 "a" [] []
      1: SEMICOLON@19..20 ";" [] []
    1: JS_VARIABLE_STATEMENT@20..43
      0: JS_VARIABLE_DECLARATION@20..42
        0: (empty)
        1: LET_KW@20..25 "let" [Newline("\n")] [Whitespace(" ")]
        2: JS_VARIABLE_DECLARATOR_LIST@25..42
          0: JS_VARIABLE_DECLARATOR@25..42
            0: JS_ARRAY_BINDING_PATTERN@25..39
              0: L_BRACK@25..27 "[" [] [Whitespace(" ")]
              1: JS_ARRAY_BINDING_PATTERN_ELEMENT_LIST@27..37
                0: JS_ARRAY_BINDING_PATTERN_REST_ELEMENT@27..37
                  0: DOT3@27..30 "..." [] []
                  1: JS_ARRAY_BINDING_PATTERN@30..37
                    0: L_BRACK@30..31 "[" [] []
                    1: JS_ARRAY_BINDING_PATTERN_ELEMENT_LIST@31..35
                      0: JS_ARRAY_BINDING_PATTERN_ELEMENT@31..32
                        0: JS_IDENTIFIER_BINDING@31..32
                          0: IDENT@31..32 "x" [] []
                        1: (empty)
                      1: COMMA@32..34 "," [] [Whitespace(" ")]
                      2: JS_ARRAY_BINDING_PATTERN_ELEMENT@34..35
                        0: JS_IDENTIFIER_BINDING@34..35
                          0: IDENT@34..35 "y" [] []
                        1: (empty)
                    2: R_BRACK@35..37 "]" [] [Whitespace(" ")]
              2: R_BRACK@37..39 "]" [] [Whitespace(" ")]
            1: (empty)
            2: JS_INITIALIZER_CLAUSE@39..42
              0: EQ@39..41 "=" [] [Whitespace(" ")]
              1: JS_IDENTIFIER_EXPRESSION@41..42
                0: JS_REFERENCE_IDENTIFIER@41..42
                  0: IDENT@41..42 "b" [] []
      1: SEMICOLON@42..43 ";" [] []
    2: JS_VARIABLE_STATEMENT@43..68
      0: JS_VARIABLE_DECLARATION@43..67
        0: (empty)
        1: LET_KW@43..48 "let" [Newline("\n")] [Whitespace(" ")]
        2: JS_VARIABLE_DECLARATOR_LIST@48..67
          0: JS_VARIABLE_DECLARATOR@48..67
            0: JS_ARRAY_BINDING_PATTERN@48..64
              0: L_BRACK@48..50 "[" [] [Whitespace(" ")]
              1: JS_ARRAY_BINDING_PATTERN_ELEMENT_LIST@50..62
                0: JS_ARRAY_BINDING_PATTERN_REST_ELEMENT@50..62
                  0: DOT3@50..53 "..." [] []
                  1: JS_ARRAY_BINDING_PATTERN@53..62
                    0: L_BRACK@53..55 "[" [] [Whitespace(" ")]
                    1: JS_ARRAY_BINDING_PATTERN_ELEMENT_LIST@55..60
                      0: JS_ARRAY_BINDING_PATTERN_REST_ELEMENT@55..60
                        0: DOT3@55..58 "..." [] []
                        1: JS_IDENTIFIER_BINDING@58..60
                          0: IDENT@58..60 "a" [] [Whitespace(" ")]
                    2: R_BRACK@60..62 "]" [] [Whitespace(" ")]
              2: R_BRACK@62..64 "]" [] [Whitespace(" ")]
            1: (empty)
            2: JS_INITIALIZER_CLAUSE@64..67
              0: EQ@64..66 "=" [] [Whitespace(" ")]
              1: JS_IDENTIFIER_EXPRESSION@66..67
                0: JS_REFERENCE_IDENTIFIER@66..67
                  0: IDENT@66..67 "c" [] []
      1: SEMICOLON@67..68 ";" [] []
  4: EOF@68..69 "" [Newline("\n")] []