JsModule { bom_token: missing (optional), interpreter_token: missing (optional), directives: JsDirectiveList [], items: JsModuleItemList [ JsExpressionStatement { expression: JsParenthesizedExpression { l_paren_token: L_PAREN@0..1 "(" [] [], expression: JsAssignmentExpression { left: JsObjectAssignmentPattern { l_curly_token: L_CURLY@1..2 "{" [] [], properties: JsObjectAssignmentPatternPropertyList [], r_curly_token: R_CURLY@2..4 "}" [] [Whitespace(" ")], }, operator_token: EQ@4..6 "=" [] [Whitespace(" ")], right: JsObjectExpression { l_curly_token: L_CURLY@6..7 "{" [] [], members: JsObjectMemberList [], r_curly_token: R_CURLY@7..8 "}" [] [], }, }, r_paren_token: R_PAREN@8..9 ")" [] [], }, semicolon_token: SEMICOLON@9..10 ";" [] [], }, JsExpressionStatement { expression: JsParenthesizedExpression { l_paren_token: L_PAREN@10..12 "(" [Newline("\n")] [], expression: JsAssignmentExpression { left: JsObjectAssignmentPattern { l_curly_token: L_CURLY@12..14 "{" [] [Whitespace(" ")], properties: JsObjectAssignmentPatternPropertyList [ JsObjectAssignmentPatternShorthandProperty { identifier: JsIdentifierAssignment { name_token: IDENT@14..17 "bar" [] [], }, init: missing (optional), }, COMMA@17..19 "," [] [Whitespace(" ")], JsObjectAssignmentPatternShorthandProperty { identifier: JsIdentifierAssignment { name_token: IDENT@19..23 "baz" [] [Whitespace(" ")], }, init: missing (optional), }, ], r_curly_token: R_CURLY@23..25 "}" [] [Whitespace(" ")], }, operator_token: EQ@25..27 "=" [] [Whitespace(" ")], right: JsObjectExpression { l_curly_token: L_CURLY@27..28 "{" [] [], members: JsObjectMemberList [], r_curly_token: R_CURLY@28..29 "}" [] [], }, }, r_paren_token: R_PAREN@29..30 ")" [] [], }, semicolon_token: SEMICOLON@30..31 ";" [] [], }, JsExpressionStatement { expression: JsParenthesizedExpression { l_paren_token: L_PAREN@31..33 "(" [Newline("\n")] [], expression: JsAssignmentExpression { left: JsObjectAssignmentPattern { l_curly_token: L_CURLY@33..35 "{" [] [Whitespace(" ")], properties: JsObjectAssignmentPatternPropertyList [ JsObjectAssignmentPatternProperty { member: JsLiteralMemberName { value: IDENT@35..38 "bar" [] [], }, colon_token: COLON@38..40 ":" [] [Whitespace(" ")], pattern: JsArrayAssignmentPattern { l_brack_token: L_BRACK@40..41 "[" [] [], elements: JsArrayAssignmentPatternElementList [ JsArrayAssignmentPatternElement { pattern: JsIdentifierAssignment { name_token: IDENT@41..45 "baz" [] [Whitespace(" ")], }, init: JsInitializerClause { eq_token: EQ@45..47 "=" [] [Whitespace(" ")], expression: JsStringLiteralExpression { value_token: JS_STRING_LITERAL@47..52 "\"baz\"" [] [], }, }, }, ], r_brack_token: R_BRACK@52..53 "]" [] [], }, init: missing (optional), }, COMMA@53..55 "," [] [Whitespace(" ")], JsObjectAssignmentPatternShorthandProperty { identifier: JsIdentifierAssignment { name_token: IDENT@55..59 "foo" [] [Whitespace(" ")], }, init: JsInitializerClause { eq_token: EQ@59..61 "=" [] [Whitespace(" ")], expression: JsStringLiteralExpression { value_token: JS_STRING_LITERAL@61..66 "\"foo\"" [] [], }, }, }, COMMA@66..68 "," [] [Whitespace(" ")], JsObjectAssignmentPatternRest { dotdotdot_token: DOT3@68..71 "..." [] [], target: JsIdentifierAssignment { name_token: IDENT@71..76 "rest" [] [Whitespace(" ")], }, }, ], r_curly_token: R_CURLY@76..78 "}" [] [Whitespace(" ")], }, operator_token: EQ@78..80 "=" [] [Whitespace(" ")], right: JsObjectExpression { l_curly_token: L_CURLY@80..81 "{" [] [], members: JsObjectMemberList [], r_curly_token: R_CURLY@81..82 "}" [] [], }, }, r_paren_token: R_PAREN@82..83 ")" [] [], }, semicolon_token: SEMICOLON@83..84 ";" [] [], }, ], eof_token: EOF@84..85 "" [Newline("\n")] [], } 0: JS_MODULE@0..85 0: (empty) 1: (empty) 2: JS_DIRECTIVE_LIST@0..0 3: JS_MODULE_ITEM_LIST@0..84 0: JS_EXPRESSION_STATEMENT@0..10 0: JS_PARENTHESIZED_EXPRESSION@0..9 0: L_PAREN@0..1 "(" [] [] 1: JS_ASSIGNMENT_EXPRESSION@1..8 0: JS_OBJECT_ASSIGNMENT_PATTERN@1..4 0: L_CURLY@1..2 "{" [] [] 1: JS_OBJECT_ASSIGNMENT_PATTERN_PROPERTY_LIST@2..2 2: R_CURLY@2..4 "}" [] [Whitespace(" ")] 1: EQ@4..6 "=" [] [Whitespace(" ")] 2: JS_OBJECT_EXPRESSION@6..8 0: L_CURLY@6..7 "{" [] [] 1: JS_OBJECT_MEMBER_LIST@7..7 2: R_CURLY@7..8 "}" [] [] 2: R_PAREN@8..9 ")" [] [] 1: SEMICOLON@9..10 ";" [] [] 1: JS_EXPRESSION_STATEMENT@10..31 0: JS_PARENTHESIZED_EXPRESSION@10..30 0: L_PAREN@10..12 "(" [Newline("\n")] [] 1: JS_ASSIGNMENT_EXPRESSION@12..29 0: JS_OBJECT_ASSIGNMENT_PATTERN@12..25 0: L_CURLY@12..14 "{" [] [Whitespace(" ")] 1: JS_OBJECT_ASSIGNMENT_PATTERN_PROPERTY_LIST@14..23 0: JS_OBJECT_ASSIGNMENT_PATTERN_SHORTHAND_PROPERTY@14..17 0: JS_IDENTIFIER_ASSIGNMENT@14..17 0: IDENT@14..17 "bar" [] [] 1: (empty) 1: COMMA@17..19 "," [] [Whitespace(" ")] 2: JS_OBJECT_ASSIGNMENT_PATTERN_SHORTHAND_PROPERTY@19..23 0: JS_IDENTIFIER_ASSIGNMENT@19..23 0: IDENT@19..23 "baz" [] [Whitespace(" ")] 1: (empty) 2: R_CURLY@23..25 "}" [] [Whitespace(" ")] 1: EQ@25..27 "=" [] [Whitespace(" ")] 2: JS_OBJECT_EXPRESSION@27..29 0: L_CURLY@27..28 "{" [] [] 1: JS_OBJECT_MEMBER_LIST@28..28 2: R_CURLY@28..29 "}" [] [] 2: R_PAREN@29..30 ")" [] [] 1: SEMICOLON@30..31 ";" [] [] 2: JS_EXPRESSION_STATEMENT@31..84 0: JS_PARENTHESIZED_EXPRESSION@31..83 0: L_PAREN@31..33 "(" [Newline("\n")] [] 1: JS_ASSIGNMENT_EXPRESSION@33..82 0: JS_OBJECT_ASSIGNMENT_PATTERN@33..78 0: L_CURLY@33..35 "{" [] [Whitespace(" ")] 1: JS_OBJECT_ASSIGNMENT_PATTERN_PROPERTY_LIST@35..76 0: JS_OBJECT_ASSIGNMENT_PATTERN_PROPERTY@35..53 0: JS_LITERAL_MEMBER_NAME@35..38 0: IDENT@35..38 "bar" [] [] 1: COLON@38..40 ":" [] [Whitespace(" ")] 2: JS_ARRAY_ASSIGNMENT_PATTERN@40..53 0: L_BRACK@40..41 "[" [] [] 1: JS_ARRAY_ASSIGNMENT_PATTERN_ELEMENT_LIST@41..52 0: JS_ARRAY_ASSIGNMENT_PATTERN_ELEMENT@41..52 0: JS_IDENTIFIER_ASSIGNMENT@41..45 0: IDENT@41..45 "baz" [] [Whitespace(" ")] 1: JS_INITIALIZER_CLAUSE@45..52 0: EQ@45..47 "=" [] [Whitespace(" ")] 1: JS_STRING_LITERAL_EXPRESSION@47..52 0: JS_STRING_LITERAL@47..52 "\"baz\"" [] [] 2: R_BRACK@52..53 "]" [] [] 3: (empty) 1: COMMA@53..55 "," [] [Whitespace(" ")] 2: JS_OBJECT_ASSIGNMENT_PATTERN_SHORTHAND_PROPERTY@55..66 0: JS_IDENTIFIER_ASSIGNMENT@55..59 0: IDENT@55..59 "foo" [] [Whitespace(" ")] 1: JS_INITIALIZER_CLAUSE@59..66 0: EQ@59..61 "=" [] [Whitespace(" ")] 1: JS_STRING_LITERAL_EXPRESSION@61..66 0: JS_STRING_LITERAL@61..66 "\"foo\"" [] [] 3: COMMA@66..68 "," [] [Whitespace(" ")] 4: JS_OBJECT_ASSIGNMENT_PATTERN_REST@68..76 0: DOT3@68..71 "..." [] [] 1: JS_IDENTIFIER_ASSIGNMENT@71..76 0: IDENT@71..76 "rest" [] [Whitespace(" ")] 2: R_CURLY@76..78 "}" [] [Whitespace(" ")] 1: EQ@78..80 "=" [] [Whitespace(" ")] 2: JS_OBJECT_EXPRESSION@80..82 0: L_CURLY@80..81 "{" [] [] 1: JS_OBJECT_MEMBER_LIST@81..81 2: R_CURLY@81..82 "}" [] [] 2: R_PAREN@82..83 ")" [] [] 1: SEMICOLON@83..84 ";" [] [] 4: EOF@84..85 "" [Newline("\n")] []