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")] []