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