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 [
JsObjectBindingPatternProperty {
member: JsLiteralMemberName {
value: IDENT@6..9 "foo" [] [],
},
colon_token: COLON@9..11 ":" [] [Whitespace(" ")],
pattern: JsIdentifierBinding {
name_token: IDENT@11..16 "bar" [] [Whitespace(" ")],
},
init: missing (optional),
},
],
r_curly_token: R_CURLY@16..18 "}" [] [Whitespace(" ")],
},
variable_annotation: missing (optional),
initializer: JsInitializerClause {
eq_token: EQ@18..20 "=" [] [Whitespace(" ")],
expression: JsObjectExpression {
l_curly_token: L_CURLY@20..21 "{" [] [],
members: JsObjectMemberList [],
r_curly_token: R_CURLY@21..22 "}" [] [],
},
},
},
],
},
semicolon_token: missing (optional),
},
JsVariableStatement {
declaration: JsVariableDeclaration {
await_token: missing (optional),
kind: LET_KW@22..27 "let" [Newline("\n")] [Whitespace(" ")],
declarators: JsVariableDeclaratorList [
JsVariableDeclarator {
id: JsObjectBindingPattern {
l_curly_token: L_CURLY@27..29 "{" [] [Whitespace(" ")],
properties: JsObjectBindingPatternPropertyList [
JsObjectBindingPatternProperty {
member: JsLiteralMemberName {
value: IDENT@29..32 "foo" [] [],
},
colon_token: COLON@32..34 ":" [] [Whitespace(" ")],
pattern: JsIdentifierBinding {
name_token: IDENT@34..42 "bar_bar" [] [Whitespace(" ")],
},
init: JsInitializerClause {
eq_token: EQ@42..44 "=" [] [Whitespace(" ")],
expression: JsIdentifierExpression {
name: JsReferenceIdentifier {
value_token: IDENT@44..48 "baz" [] [Whitespace(" ")],
},
},
},
},
],
r_curly_token: R_CURLY@48..50 "}" [] [Whitespace(" ")],
},
variable_annotation: missing (optional),
initializer: JsInitializerClause {
eq_token: EQ@50..52 "=" [] [Whitespace(" ")],
expression: JsObjectExpression {
l_curly_token: L_CURLY@52..53 "{" [] [],
members: JsObjectMemberList [],
r_curly_token: R_CURLY@53..54 "}" [] [],
},
},
},
],
},
semicolon_token: missing (optional),
},
],
eof_token: EOF@54..55 "" [Newline("\n")] [],
}
0: JS_MODULE@0..55
0: (empty)
1: (empty)
2: JS_DIRECTIVE_LIST@0..0
3: JS_MODULE_ITEM_LIST@0..54
0: JS_VARIABLE_STATEMENT@0..22
0: JS_VARIABLE_DECLARATION@0..22
0: (empty)
1: LET_KW@0..4 "let" [] [Whitespace(" ")]
2: JS_VARIABLE_DECLARATOR_LIST@4..22
0: JS_VARIABLE_DECLARATOR@4..22
0: JS_OBJECT_BINDING_PATTERN@4..18
0: L_CURLY@4..6 "{" [] [Whitespace(" ")]
1: JS_OBJECT_BINDING_PATTERN_PROPERTY_LIST@6..16
0: JS_OBJECT_BINDING_PATTERN_PROPERTY@6..16
0: JS_LITERAL_MEMBER_NAME@6..9
0: IDENT@6..9 "foo" [] []
1: COLON@9..11 ":" [] [Whitespace(" ")]
2: JS_IDENTIFIER_BINDING@11..16
0: IDENT@11..16 "bar" [] [Whitespace(" ")]
3: (empty)
2: R_CURLY@16..18 "}" [] [Whitespace(" ")]
1: (empty)
2: JS_INITIALIZER_CLAUSE@18..22
0: EQ@18..20 "=" [] [Whitespace(" ")]
1: JS_OBJECT_EXPRESSION@20..22
0: L_CURLY@20..21 "{" [] []
1: JS_OBJECT_MEMBER_LIST@21..21
2: R_CURLY@21..22 "}" [] []
1: (empty)
1: JS_VARIABLE_STATEMENT@22..54
0: JS_VARIABLE_DECLARATION@22..54
0: (empty)
1: LET_KW@22..27 "let" [Newline("\n")] [Whitespace(" ")]
2: JS_VARIABLE_DECLARATOR_LIST@27..54
0: JS_VARIABLE_DECLARATOR@27..54
0: JS_OBJECT_BINDING_PATTERN@27..50
0: L_CURLY@27..29 "{" [] [Whitespace(" ")]
1: JS_OBJECT_BINDING_PATTERN_PROPERTY_LIST@29..48
0: JS_OBJECT_BINDING_PATTERN_PROPERTY@29..48
0: JS_LITERAL_MEMBER_NAME@29..32
0: IDENT@29..32 "foo" [] []
1: COLON@32..34 ":" [] [Whitespace(" ")]
2: JS_IDENTIFIER_BINDING@34..42
0: IDENT@34..42 "bar_bar" [] [Whitespace(" ")]
3: JS_INITIALIZER_CLAUSE@42..48
0: EQ@42..44 "=" [] [Whitespace(" ")]
1: JS_IDENTIFIER_EXPRESSION@44..48
0: JS_REFERENCE_IDENTIFIER@44..48
0: IDENT@44..48 "baz" [] [Whitespace(" ")]
2: R_CURLY@48..50 "}" [] [Whitespace(" ")]
1: (empty)
2: JS_INITIALIZER_CLAUSE@50..54
0: EQ@50..52 "=" [] [Whitespace(" ")]
1: JS_OBJECT_EXPRESSION@52..54
0: L_CURLY@52..53 "{" [] []
1: JS_OBJECT_MEMBER_LIST@53..53
2: R_CURLY@53..54 "}" [] []
1: (empty)
4: EOF@54..55 "" [Newline("\n")] []