JsModule {
bom_token: missing (optional),
interpreter_token: missing (optional),
directives: JsDirectiveList [],
items: JsModuleItemList [
JsVariableStatement {
declaration: JsVariableDeclaration {
await_token: missing (optional),
kind: VAR_KW@0..4 "var" [] [Whitespace(" ")],
declarators: JsVariableDeclaratorList [
JsVariableDeclarator {
id: JsIdentifierBinding {
name_token: IDENT@4..6 "a" [] [Whitespace(" ")],
},
variable_annotation: missing (optional),
initializer: JsInitializerClause {
eq_token: EQ@6..8 "=" [] [Whitespace(" ")],
expression: JsNumberLiteralExpression {
value_token: JS_NUMBER_LITERAL@8..9 "5" [] [],
},
},
},
],
},
semicolon_token: SEMICOLON@9..10 ";" [] [],
},
JsVariableStatement {
declaration: JsVariableDeclaration {
await_token: missing (optional),
kind: LET_KW@10..15 "let" [Newline("\n")] [Whitespace(" ")],
declarators: JsVariableDeclaratorList [
JsVariableDeclarator {
id: JsObjectBindingPattern {
l_curly_token: L_CURLY@15..17 "{" [] [Whitespace(" ")],
properties: JsObjectBindingPatternPropertyList [
JsObjectBindingPatternShorthandProperty {
identifier: JsIdentifierBinding {
name_token: IDENT@17..20 "foo" [] [],
},
init: missing (optional),
},
COMMA@20..22 "," [] [Whitespace(" ")],
JsObjectBindingPatternShorthandProperty {
identifier: JsIdentifierBinding {
name_token: IDENT@22..26 "bar" [] [Whitespace(" ")],
},
init: missing (optional),
},
],
r_curly_token: R_CURLY@26..28 "}" [] [Whitespace(" ")],
},
variable_annotation: missing (optional),
initializer: JsInitializerClause {
eq_token: EQ@28..30 "=" [] [Whitespace(" ")],
expression: JsNumberLiteralExpression {
value_token: JS_NUMBER_LITERAL@30..31 "5" [] [],
},
},
},
],
},
semicolon_token: SEMICOLON@31..32 ";" [] [],
},
JsVariableStatement {
declaration: JsVariableDeclaration {
await_token: missing (optional),
kind: LET_KW@32..37 "let" [Newline("\n")] [Whitespace(" ")],
declarators: JsVariableDeclaratorList [
JsVariableDeclarator {
id: JsIdentifierBinding {
name_token: IDENT@37..41 "bar2" [] [],
},
variable_annotation: missing (optional),
initializer: missing (optional),
},
COMMA@41..43 "," [] [Whitespace(" ")],
JsVariableDeclarator {
id: JsIdentifierBinding {
name_token: IDENT@43..47 "foo2" [] [],
},
variable_annotation: missing (optional),
initializer: missing (optional),
},
],
},
semicolon_token: SEMICOLON@47..48 ";" [] [],
},
JsVariableStatement {
declaration: JsVariableDeclaration {
await_token: missing (optional),
kind: CONST_KW@48..55 "const" [Newline("\n")] [Whitespace(" ")],
declarators: JsVariableDeclaratorList [
JsVariableDeclarator {
id: JsIdentifierBinding {
name_token: IDENT@55..57 "b" [] [Whitespace(" ")],
},
variable_annotation: missing (optional),
initializer: JsInitializerClause {
eq_token: EQ@57..59 "=" [] [Whitespace(" ")],
expression: JsNumberLiteralExpression {
value_token: JS_NUMBER_LITERAL@59..60 "5" [] [],
},
},
},
],
},
semicolon_token: SEMICOLON@60..61 ";" [] [],
},
JsVariableStatement {
declaration: JsVariableDeclaration {
await_token: missing (optional),
kind: CONST_KW@61..68 "const" [Newline("\n")] [Whitespace(" ")],
declarators: JsVariableDeclaratorList [
JsVariableDeclarator {
id: JsObjectBindingPattern {
l_curly_token: L_CURLY@68..70 "{" [] [Whitespace(" ")],
properties: JsObjectBindingPatternPropertyList [
JsObjectBindingPatternProperty {
member: JsLiteralMemberName {
value: IDENT@70..74 "foo5" [] [],
},
colon_token: COLON@74..76 ":" [] [Whitespace(" ")],
pattern: JsArrayBindingPattern {
l_brack_token: L_BRACK@76..77 "[" [] [],
elements: JsArrayBindingPatternElementList [
JsArrayBindingPatternElement {
pattern: JsIdentifierBinding {
name_token: IDENT@77..82 "bar11" [] [],
},
init: missing (optional),
},
],
r_brack_token: R_BRACK@82..83 "]" [] [],
},
init: missing (optional),
},
COMMA@83..85 "," [] [Whitespace(" ")],
JsObjectBindingPatternShorthandProperty {
identifier: JsIdentifierBinding {
name_token: IDENT@85..90 "baz6" [] [Whitespace(" ")],
},
init: missing (optional),
},
],
r_curly_token: R_CURLY@90..92 "}" [] [Whitespace(" ")],
},
variable_annotation: missing (optional),
initializer: JsInitializerClause {
eq_token: EQ@92..94 "=" [] [Whitespace(" ")],
expression: JsObjectExpression {
l_curly_token: L_CURLY@94..95 "{" [] [],
members: JsObjectMemberList [],
r_curly_token: R_CURLY@95..96 "}" [] [],
},
},
},
],
},
semicolon_token: SEMICOLON@96..97 ";" [] [],
},
JsVariableStatement {
declaration: JsVariableDeclaration {
await_token: missing (optional),
kind: LET_KW@97..102 "let" [Newline("\n")] [Whitespace(" ")],
declarators: JsVariableDeclaratorList [
JsVariableDeclarator {
id: JsIdentifierBinding {
name_token: IDENT@102..107 "foo6" [] [Whitespace(" ")],
},
variable_annotation: missing (optional),
initializer: JsInitializerClause {
eq_token: EQ@107..109 "=" [] [Whitespace(" ")],
expression: JsStringLiteralExpression {
value_token: JS_STRING_LITERAL@109..116 "\"lorem\"" [] [],
},
},
},
COMMA@116..118 "," [] [Whitespace(" ")],
JsVariableDeclarator {
id: JsIdentifierBinding {
name_token: IDENT@118..123 "bar7" [] [Whitespace(" ")],
},
variable_annotation: missing (optional),
initializer: JsInitializerClause {
eq_token: EQ@123..125 "=" [] [Whitespace(" ")],
expression: JsStringLiteralExpression {
value_token: JS_STRING_LITERAL@125..132 "\"ipsum\"" [] [],
},
},
},
COMMA@132..134 "," [] [Whitespace(" ")],
JsVariableDeclarator {
id: JsIdentifierBinding {
name_token: IDENT@134..141 "third8" [] [Whitespace(" ")],
},
variable_annotation: missing (optional),
initializer: JsInitializerClause {
eq_token: EQ@141..143 "=" [] [Whitespace(" ")],
expression: JsStringLiteralExpression {
value_token: JS_STRING_LITERAL@143..150 "\"value\"" [] [],
},
},
},
COMMA@150..152 "," [] [Whitespace(" ")],
JsVariableDeclarator {
id: JsIdentifierBinding {
name_token: IDENT@152..159 "fourth" [] [Whitespace(" ")],
},
variable_annotation: missing (optional),
initializer: JsInitializerClause {
eq_token: EQ@159..161 "=" [] [Whitespace(" ")],
expression: JsNumberLiteralExpression {
value_token: JS_NUMBER_LITERAL@161..162 "6" [] [],
},
},
},
],
},
semicolon_token: SEMICOLON@162..163 ";" [] [],
},
JsVariableStatement {
declaration: JsVariableDeclaration {
await_token: missing (optional),
kind: VAR_KW@163..168 "var" [Newline("\n")] [Whitespace(" ")],
declarators: JsVariableDeclaratorList [
JsVariableDeclarator {
id: JsIdentifierBinding {
name_token: IDENT@168..169 "q" [] [],
},
variable_annotation: missing (optional),
initializer: missing (optional),
},
COMMA@169..171 "," [] [Whitespace(" ")],
JsVariableDeclarator {
id: JsIdentifierBinding {
name_token: IDENT@171..172 "w" [] [],
},
variable_annotation: missing (optional),
initializer: missing (optional),
},
COMMA@172..174 "," [] [Whitespace(" ")],
JsVariableDeclarator {
id: JsIdentifierBinding {
name_token: IDENT@174..175 "e" [] [],
},
variable_annotation: missing (optional),
initializer: missing (optional),
},
COMMA@175..177 "," [] [Whitespace(" ")],
JsVariableDeclarator {
id: JsIdentifierBinding {
name_token: IDENT@177..178 "r" [] [],
},
variable_annotation: missing (optional),
initializer: missing (optional),
},
COMMA@178..180 "," [] [Whitespace(" ")],
JsVariableDeclarator {
id: JsIdentifierBinding {
name_token: IDENT@180..181 "t" [] [],
},
variable_annotation: missing (optional),
initializer: missing (optional),
},
],
},
semicolon_token: SEMICOLON@181..182 ";" [] [],
},
],
eof_token: EOF@182..183 "" [Newline("\n")] [],
}
0: JS_MODULE@0..183
0: (empty)
1: (empty)
2: JS_DIRECTIVE_LIST@0..0
3: JS_MODULE_ITEM_LIST@0..182
0: JS_VARIABLE_STATEMENT@0..10
0: JS_VARIABLE_DECLARATION@0..9
0: (empty)
1: VAR_KW@0..4 "var" [] [Whitespace(" ")]
2: JS_VARIABLE_DECLARATOR_LIST@4..9
0: JS_VARIABLE_DECLARATOR@4..9
0: JS_IDENTIFIER_BINDING@4..6
0: IDENT@4..6 "a" [] [Whitespace(" ")]
1: (empty)
2: JS_INITIALIZER_CLAUSE@6..9
0: EQ@6..8 "=" [] [Whitespace(" ")]
1: JS_NUMBER_LITERAL_EXPRESSION@8..9
0: JS_NUMBER_LITERAL@8..9 "5" [] []
1: SEMICOLON@9..10 ";" [] []
1: JS_VARIABLE_STATEMENT@10..32
0: JS_VARIABLE_DECLARATION@10..31
0: (empty)
1: LET_KW@10..15 "let" [Newline("\n")] [Whitespace(" ")]
2: JS_VARIABLE_DECLARATOR_LIST@15..31
0: JS_VARIABLE_DECLARATOR@15..31
0: JS_OBJECT_BINDING_PATTERN@15..28
0: L_CURLY@15..17 "{" [] [Whitespace(" ")]
1: JS_OBJECT_BINDING_PATTERN_PROPERTY_LIST@17..26
0: JS_OBJECT_BINDING_PATTERN_SHORTHAND_PROPERTY@17..20
0: JS_IDENTIFIER_BINDING@17..20
0: IDENT@17..20 "foo" [] []
1: (empty)
1: COMMA@20..22 "," [] [Whitespace(" ")]
2: JS_OBJECT_BINDING_PATTERN_SHORTHAND_PROPERTY@22..26
0: JS_IDENTIFIER_BINDING@22..26
0: IDENT@22..26 "bar" [] [Whitespace(" ")]
1: (empty)
2: R_CURLY@26..28 "}" [] [Whitespace(" ")]
1: (empty)
2: JS_INITIALIZER_CLAUSE@28..31
0: EQ@28..30 "=" [] [Whitespace(" ")]
1: JS_NUMBER_LITERAL_EXPRESSION@30..31
0: JS_NUMBER_LITERAL@30..31 "5" [] []
1: SEMICOLON@31..32 ";" [] []
2: JS_VARIABLE_STATEMENT@32..48
0: JS_VARIABLE_DECLARATION@32..47
0: (empty)
1: LET_KW@32..37 "let" [Newline("\n")] [Whitespace(" ")]
2: JS_VARIABLE_DECLARATOR_LIST@37..47
0: JS_VARIABLE_DECLARATOR@37..41
0: JS_IDENTIFIER_BINDING@37..41
0: IDENT@37..41 "bar2" [] []
1: (empty)
2: (empty)
1: COMMA@41..43 "," [] [Whitespace(" ")]
2: JS_VARIABLE_DECLARATOR@43..47
0: JS_IDENTIFIER_BINDING@43..47
0: IDENT@43..47 "foo2" [] []
1: (empty)
2: (empty)
1: SEMICOLON@47..48 ";" [] []
3: JS_VARIABLE_STATEMENT@48..61
0: JS_VARIABLE_DECLARATION@48..60
0: (empty)
1: CONST_KW@48..55 "const" [Newline("\n")] [Whitespace(" ")]
2: JS_VARIABLE_DECLARATOR_LIST@55..60
0: JS_VARIABLE_DECLARATOR@55..60
0: JS_IDENTIFIER_BINDING@55..57
0: IDENT@55..57 "b" [] [Whitespace(" ")]
1: (empty)
2: JS_INITIALIZER_CLAUSE@57..60
0: EQ@57..59 "=" [] [Whitespace(" ")]
1: JS_NUMBER_LITERAL_EXPRESSION@59..60
0: JS_NUMBER_LITERAL@59..60 "5" [] []
1: SEMICOLON@60..61 ";" [] []
4: JS_VARIABLE_STATEMENT@61..97
0: JS_VARIABLE_DECLARATION@61..96
0: (empty)
1: CONST_KW@61..68 "const" [Newline("\n")] [Whitespace(" ")]
2: JS_VARIABLE_DECLARATOR_LIST@68..96
0: JS_VARIABLE_DECLARATOR@68..96
0: JS_OBJECT_BINDING_PATTERN@68..92
0: L_CURLY@68..70 "{" [] [Whitespace(" ")]
1: JS_OBJECT_BINDING_PATTERN_PROPERTY_LIST@70..90
0: JS_OBJECT_BINDING_PATTERN_PROPERTY@70..83
0: JS_LITERAL_MEMBER_NAME@70..74
0: IDENT@70..74 "foo5" [] []
1: COLON@74..76 ":" [] [Whitespace(" ")]
2: JS_ARRAY_BINDING_PATTERN@76..83
0: L_BRACK@76..77 "[" [] []
1: JS_ARRAY_BINDING_PATTERN_ELEMENT_LIST@77..82
0: JS_ARRAY_BINDING_PATTERN_ELEMENT@77..82
0: JS_IDENTIFIER_BINDING@77..82
0: IDENT@77..82 "bar11" [] []
1: (empty)
2: R_BRACK@82..83 "]" [] []
3: (empty)
1: COMMA@83..85 "," [] [Whitespace(" ")]
2: JS_OBJECT_BINDING_PATTERN_SHORTHAND_PROPERTY@85..90
0: JS_IDENTIFIER_BINDING@85..90
0: IDENT@85..90 "baz6" [] [Whitespace(" ")]
1: (empty)
2: R_CURLY@90..92 "}" [] [Whitespace(" ")]
1: (empty)
2: JS_INITIALIZER_CLAUSE@92..96
0: EQ@92..94 "=" [] [Whitespace(" ")]
1: JS_OBJECT_EXPRESSION@94..96
0: L_CURLY@94..95 "{" [] []
1: JS_OBJECT_MEMBER_LIST@95..95
2: R_CURLY@95..96 "}" [] []
1: SEMICOLON@96..97 ";" [] []
5: JS_VARIABLE_STATEMENT@97..163
0: JS_VARIABLE_DECLARATION@97..162
0: (empty)
1: LET_KW@97..102 "let" [Newline("\n")] [Whitespace(" ")]
2: JS_VARIABLE_DECLARATOR_LIST@102..162
0: JS_VARIABLE_DECLARATOR@102..116
0: JS_IDENTIFIER_BINDING@102..107
0: IDENT@102..107 "foo6" [] [Whitespace(" ")]
1: (empty)
2: JS_INITIALIZER_CLAUSE@107..116
0: EQ@107..109 "=" [] [Whitespace(" ")]
1: JS_STRING_LITERAL_EXPRESSION@109..116
0: JS_STRING_LITERAL@109..116 "\"lorem\"" [] []
1: COMMA@116..118 "," [] [Whitespace(" ")]
2: JS_VARIABLE_DECLARATOR@118..132
0: JS_IDENTIFIER_BINDING@118..123
0: IDENT@118..123 "bar7" [] [Whitespace(" ")]
1: (empty)
2: JS_INITIALIZER_CLAUSE@123..132
0: EQ@123..125 "=" [] [Whitespace(" ")]
1: JS_STRING_LITERAL_EXPRESSION@125..132
0: JS_STRING_LITERAL@125..132 "\"ipsum\"" [] []
3: COMMA@132..134 "," [] [Whitespace(" ")]
4: JS_VARIABLE_DECLARATOR@134..150
0: JS_IDENTIFIER_BINDING@134..141
0: IDENT@134..141 "third8" [] [Whitespace(" ")]
1: (empty)
2: JS_INITIALIZER_CLAUSE@141..150
0: EQ@141..143 "=" [] [Whitespace(" ")]
1: JS_STRING_LITERAL_EXPRESSION@143..150
0: JS_STRING_LITERAL@143..150 "\"value\"" [] []
5: COMMA@150..152 "," [] [Whitespace(" ")]
6: JS_VARIABLE_DECLARATOR@152..162
0: JS_IDENTIFIER_BINDING@152..159
0: IDENT@152..159 "fourth" [] [Whitespace(" ")]
1: (empty)
2: JS_INITIALIZER_CLAUSE@159..162
0: EQ@159..161 "=" [] [Whitespace(" ")]
1: JS_NUMBER_LITERAL_EXPRESSION@161..162
0: JS_NUMBER_LITERAL@161..162 "6" [] []
1: SEMICOLON@162..163 ";" [] []
6: JS_VARIABLE_STATEMENT@163..182
0: JS_VARIABLE_DECLARATION@163..181
0: (empty)
1: VAR_KW@163..168 "var" [Newline("\n")] [Whitespace(" ")]
2: JS_VARIABLE_DECLARATOR_LIST@168..181
0: JS_VARIABLE_DECLARATOR@168..169
0: JS_IDENTIFIER_BINDING@168..169
0: IDENT@168..169 "q" [] []
1: (empty)
2: (empty)
1: COMMA@169..171 "," [] [Whitespace(" ")]
2: JS_VARIABLE_DECLARATOR@171..172
0: JS_IDENTIFIER_BINDING@171..172
0: IDENT@171..172 "w" [] []
1: (empty)
2: (empty)
3: COMMA@172..174 "," [] [Whitespace(" ")]
4: JS_VARIABLE_DECLARATOR@174..175
0: JS_IDENTIFIER_BINDING@174..175
0: IDENT@174..175 "e" [] []
1: (empty)
2: (empty)
5: COMMA@175..177 "," [] [Whitespace(" ")]
6: JS_VARIABLE_DECLARATOR@177..178
0: JS_IDENTIFIER_BINDING@177..178
0: IDENT@177..178 "r" [] []
1: (empty)
2: (empty)
7: COMMA@178..180 "," [] [Whitespace(" ")]
8: JS_VARIABLE_DECLARATOR@180..181
0: JS_IDENTIFIER_BINDING@180..181
0: IDENT@180..181 "t" [] []
1: (empty)
2: (empty)
1: SEMICOLON@181..182 ";" [] []
4: EOF@182..183 "" [Newline("\n")] []