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: JsObjectBindingPattern { l_curly_token: L_CURLY@4..6 "{" [] [Whitespace(" ")], properties: JsObjectBindingPatternPropertyList [ JsObjectBindingPatternRest { dotdotdot_token: DOT3@6..9 "..." [] [], binding: JsIdentifierBinding { name_token: IDENT@9..14 "abcd" [] [Whitespace(" ")], }, }, ], r_curly_token: R_CURLY@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: JsObjectBindingPattern { l_curly_token: L_CURLY@25..27 "{" [] [Whitespace(" ")], properties: JsObjectBindingPatternPropertyList [ JsObjectBindingPatternProperty { member: JsLiteralMemberName { value: IDENT@27..28 "b" [] [], }, colon_token: COLON@28..30 ":" [] [Whitespace(" ")], pattern: JsObjectBindingPattern { l_curly_token: L_CURLY@30..32 "{" [] [Whitespace(" ")], properties: JsObjectBindingPatternPropertyList [ JsObjectBindingPatternRest { dotdotdot_token: DOT3@32..35 "..." [] [], binding: JsIdentifierBinding { name_token: IDENT@35..37 "a" [] [Whitespace(" ")], }, }, ], r_curly_token: R_CURLY@37..39 "}" [] [Whitespace(" ")], }, init: missing (optional), }, ], r_curly_token: R_CURLY@39..41 "}" [] [Whitespace(" ")], }, variable_annotation: missing (optional), initializer: JsInitializerClause { eq_token: EQ@41..43 "=" [] [Whitespace(" ")], expression: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@43..44 "c" [] [], }, }, }, }, ], }, semicolon_token: SEMICOLON@44..45 ";" [] [], }, ], eof_token: EOF@45..46 "" [Newline("\n")] [], } 0: JS_MODULE@0..46 0: (empty) 1: (empty) 2: JS_DIRECTIVE_LIST@0..0 3: JS_MODULE_ITEM_LIST@0..45 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_OBJECT_BINDING_PATTERN@4..16 0: L_CURLY@4..6 "{" [] [Whitespace(" ")] 1: JS_OBJECT_BINDING_PATTERN_PROPERTY_LIST@6..14 0: JS_OBJECT_BINDING_PATTERN_REST@6..14 0: DOT3@6..9 "..." [] [] 1: JS_IDENTIFIER_BINDING@9..14 0: IDENT@9..14 "abcd" [] [Whitespace(" ")] 2: R_CURLY@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..45 0: JS_VARIABLE_DECLARATION@20..44 0: (empty) 1: LET_KW@20..25 "let" [Newline("\n")] [Whitespace(" ")] 2: JS_VARIABLE_DECLARATOR_LIST@25..44 0: JS_VARIABLE_DECLARATOR@25..44 0: JS_OBJECT_BINDING_PATTERN@25..41 0: L_CURLY@25..27 "{" [] [Whitespace(" ")] 1: JS_OBJECT_BINDING_PATTERN_PROPERTY_LIST@27..39 0: JS_OBJECT_BINDING_PATTERN_PROPERTY@27..39 0: JS_LITERAL_MEMBER_NAME@27..28 0: IDENT@27..28 "b" [] [] 1: COLON@28..30 ":" [] [Whitespace(" ")] 2: JS_OBJECT_BINDING_PATTERN@30..39 0: L_CURLY@30..32 "{" [] [Whitespace(" ")] 1: JS_OBJECT_BINDING_PATTERN_PROPERTY_LIST@32..37 0: JS_OBJECT_BINDING_PATTERN_REST@32..37 0: DOT3@32..35 "..." [] [] 1: JS_IDENTIFIER_BINDING@35..37 0: IDENT@35..37 "a" [] [Whitespace(" ")] 2: R_CURLY@37..39 "}" [] [Whitespace(" ")] 3: (empty) 2: R_CURLY@39..41 "}" [] [Whitespace(" ")] 1: (empty) 2: JS_INITIALIZER_CLAUSE@41..44 0: EQ@41..43 "=" [] [Whitespace(" ")] 1: JS_IDENTIFIER_EXPRESSION@43..44 0: JS_REFERENCE_IDENTIFIER@43..44 0: IDENT@43..44 "c" [] [] 1: SEMICOLON@44..45 ";" [] [] 4: EOF@45..46 "" [Newline("\n")] []