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: JsIdentifierBinding { name_token: IDENT@4..6 "a" [] [Whitespace(" ")], }, variable_annotation: missing (optional), initializer: JsInitializerClause { eq_token: EQ@6..8 "=" [] [Whitespace(" ")], expression: JsObjectExpression { l_curly_token: L_CURLY@8..9 "{" [] [], members: JsObjectMemberList [ JsPropertyObjectMember { name: JsLiteralMemberName { value: JS_STRING_LITERAL@9..14 "\"foo\"" [] [], }, colon_token: COLON@14..16 ":" [] [Whitespace(" ")], value: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@16..19 "foo" [] [], }, }, }, COMMA@19..21 "," [] [Whitespace(" ")], JsPropertyObjectMember { name: JsComputedMemberName { l_brack_token: L_BRACK@21..22 "[" [] [], expression: JsBinaryExpression { left: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@22..24 "6" [] [Whitespace(" ")], }, operator_token: PLUS@24..26 "+" [] [Whitespace(" ")], right: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@26..27 "6" [] [], }, }, r_brack_token: R_BRACK@27..28 "]" [] [], }, colon_token: COLON@28..30 ":" [] [Whitespace(" ")], value: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@30..33 "foo" [] [], }, }, }, COMMA@33..35 "," [] [Whitespace(" ")], JsPropertyObjectMember { name: JsLiteralMemberName { value: IDENT@35..38 "bar" [] [], }, colon_token: COLON@38..40 ":" [] [Whitespace(" ")], value: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@40..43 "foo" [] [], }, }, }, COMMA@43..45 "," [] [Whitespace(" ")], JsPropertyObjectMember { name: JsLiteralMemberName { value: JS_NUMBER_LITERAL@45..46 "7" [] [], }, colon_token: COLON@46..48 ":" [] [Whitespace(" ")], value: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@48..51 "foo" [] [], }, }, }, ], r_curly_token: R_CURLY@51..52 "}" [] [], }, }, }, ], }, semicolon_token: missing (optional), }, ], eof_token: EOF@52..53 "" [Newline("\n")] [], } 0: JS_MODULE@0..53 0: (empty) 1: (empty) 2: JS_DIRECTIVE_LIST@0..0 3: JS_MODULE_ITEM_LIST@0..52 0: JS_VARIABLE_STATEMENT@0..52 0: JS_VARIABLE_DECLARATION@0..52 0: (empty) 1: LET_KW@0..4 "let" [] [Whitespace(" ")] 2: JS_VARIABLE_DECLARATOR_LIST@4..52 0: JS_VARIABLE_DECLARATOR@4..52 0: JS_IDENTIFIER_BINDING@4..6 0: IDENT@4..6 "a" [] [Whitespace(" ")] 1: (empty) 2: JS_INITIALIZER_CLAUSE@6..52 0: EQ@6..8 "=" [] [Whitespace(" ")] 1: JS_OBJECT_EXPRESSION@8..52 0: L_CURLY@8..9 "{" [] [] 1: JS_OBJECT_MEMBER_LIST@9..51 0: JS_PROPERTY_OBJECT_MEMBER@9..19 0: JS_LITERAL_MEMBER_NAME@9..14 0: JS_STRING_LITERAL@9..14 "\"foo\"" [] [] 1: COLON@14..16 ":" [] [Whitespace(" ")] 2: JS_IDENTIFIER_EXPRESSION@16..19 0: JS_REFERENCE_IDENTIFIER@16..19 0: IDENT@16..19 "foo" [] [] 1: COMMA@19..21 "," [] [Whitespace(" ")] 2: JS_PROPERTY_OBJECT_MEMBER@21..33 0: JS_COMPUTED_MEMBER_NAME@21..28 0: L_BRACK@21..22 "[" [] [] 1: JS_BINARY_EXPRESSION@22..27 0: JS_NUMBER_LITERAL_EXPRESSION@22..24 0: JS_NUMBER_LITERAL@22..24 "6" [] [Whitespace(" ")] 1: PLUS@24..26 "+" [] [Whitespace(" ")] 2: JS_NUMBER_LITERAL_EXPRESSION@26..27 0: JS_NUMBER_LITERAL@26..27 "6" [] [] 2: R_BRACK@27..28 "]" [] [] 1: COLON@28..30 ":" [] [Whitespace(" ")] 2: JS_IDENTIFIER_EXPRESSION@30..33 0: JS_REFERENCE_IDENTIFIER@30..33 0: IDENT@30..33 "foo" [] [] 3: COMMA@33..35 "," [] [Whitespace(" ")] 4: JS_PROPERTY_OBJECT_MEMBER@35..43 0: JS_LITERAL_MEMBER_NAME@35..38 0: IDENT@35..38 "bar" [] [] 1: COLON@38..40 ":" [] [Whitespace(" ")] 2: JS_IDENTIFIER_EXPRESSION@40..43 0: JS_REFERENCE_IDENTIFIER@40..43 0: IDENT@40..43 "foo" [] [] 5: COMMA@43..45 "," [] [Whitespace(" ")] 6: JS_PROPERTY_OBJECT_MEMBER@45..51 0: JS_LITERAL_MEMBER_NAME@45..46 0: JS_NUMBER_LITERAL@45..46 "7" [] [] 1: COLON@46..48 ":" [] [Whitespace(" ")] 2: JS_IDENTIFIER_EXPRESSION@48..51 0: JS_REFERENCE_IDENTIFIER@48..51 0: IDENT@48..51 "foo" [] [] 2: R_CURLY@51..52 "}" [] [] 1: (empty) 4: EOF@52..53 "" [Newline("\n")] []