JsModule { bom_token: missing (optional), interpreter_token: missing (optional), directives: JsDirectiveList [], items: JsModuleItemList [ JsVariableStatement { declaration: JsVariableDeclaration { await_token: missing (optional), kind: USING_KW@0..6 "using" [] [Whitespace(" ")], declarators: JsVariableDeclaratorList [ JsVariableDeclarator { id: JsIdentifierBinding { name_token: IDENT@6..7 "a" [] [], }, variable_annotation: missing (optional), initializer: missing (optional), }, ], }, semicolon_token: SEMICOLON@7..8 ";" [] [], }, JsExpressionStatement { expression: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@8..15 "using" [Newline("\n")] [Whitespace(" ")], }, }, semicolon_token: missing (optional), }, JsBlockStatement { l_curly_token: L_CURLY@15..16 "{" [] [], statements: JsStatementList [ JsExpressionStatement { expression: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@16..17 "b" [] [], }, }, semicolon_token: missing (optional), }, ], r_curly_token: R_CURLY@17..18 "}" [] [], }, JsEmptyStatement { semicolon_token: SEMICOLON@18..19 ";" [] [], }, JsVariableStatement { declaration: JsVariableDeclaration { await_token: missing (optional), kind: USING_KW@19..26 "using" [Newline("\n")] [Whitespace(" ")], declarators: JsVariableDeclaratorList [ JsVariableDeclarator { id: JsIdentifierBinding { name_token: IDENT@26..28 "c" [] [Whitespace(" ")], }, variable_annotation: missing (optional), initializer: JsInitializerClause { eq_token: EQ@28..30 "=" [] [Whitespace(" ")], expression: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@30..31 "d" [] [], }, }, }, }, COMMA@31..33 "," [] [Whitespace(" ")], JsVariableDeclarator { id: JsIdentifierBinding { name_token: IDENT@33..34 "e" [] [], }, variable_annotation: missing (optional), initializer: missing (optional), }, ], }, semicolon_token: SEMICOLON@34..35 ";" [] [], }, JsExport { decorators: JsDecoratorList [], export_token: EXPORT_KW@35..43 "export" [Newline("\n")] [Whitespace(" ")], export_clause: missing (required), }, JsVariableStatement { declaration: JsVariableDeclaration { await_token: missing (optional), kind: USING_KW@43..49 "using" [] [Whitespace(" ")], declarators: JsVariableDeclaratorList [ JsVariableDeclarator { id: JsIdentifierBinding { name_token: IDENT@49..51 "m" [] [Whitespace(" ")], }, variable_annotation: missing (optional), initializer: JsInitializerClause { eq_token: EQ@51..53 "=" [] [Whitespace(" ")], expression: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@53..54 "n" [] [], }, }, }, }, ], }, semicolon_token: SEMICOLON@54..55 ";" [] [], }, JsVariableStatement { declaration: JsVariableDeclaration { await_token: AWAIT_KW@55..62 "await" [Newline("\n")] [Whitespace(" ")], kind: USING_KW@62..68 "using" [] [Whitespace(" ")], declarators: JsVariableDeclaratorList [ JsVariableDeclarator { id: JsIdentifierBinding { name_token: IDENT@68..69 "f" [] [], }, variable_annotation: missing (optional), initializer: missing (optional), }, ], }, semicolon_token: SEMICOLON@69..70 ";" [] [], }, JsVariableStatement { declaration: JsVariableDeclaration { await_token: AWAIT_KW@70..77 "await" [Newline("\n")] [Whitespace(" ")], kind: USING_KW@77..83 "using" [] [Whitespace(" ")], declarators: JsVariableDeclaratorList [ JsVariableDeclarator { id: JsIdentifierBinding { name_token: IDENT@83..85 "g" [] [Whitespace(" ")], }, variable_annotation: missing (optional), initializer: JsInitializerClause { eq_token: EQ@85..87 "=" [] [Whitespace(" ")], expression: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@87..88 "h" [] [], }, }, }, }, COMMA@88..90 "," [] [Whitespace(" ")], JsVariableDeclarator { id: JsIdentifierBinding { name_token: IDENT@90..91 "j" [] [], }, variable_annotation: missing (optional), initializer: missing (optional), }, ], }, semicolon_token: SEMICOLON@91..92 ";" [] [], }, JsExpressionStatement { expression: JsAssignmentExpression { left: JsBogusAssignment { items: [ AWAIT_KW@92..99 "await" [Newline("\n")] [Whitespace(" ")], JsComputedMemberExpression { object: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@99..105 "using" [] [Whitespace(" ")], }, }, optional_chain_token: missing (optional), l_brack_token: L_BRACK@105..106 "[" [] [], member: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@106..107 "o" [] [], }, }, r_brack_token: R_BRACK@107..109 "]" [] [Whitespace(" ")], }, ], }, operator_token: EQ@109..111 "=" [] [Whitespace(" ")], right: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@111..112 "p" [] [], }, }, }, semicolon_token: SEMICOLON@112..113 ";" [] [], }, JsExport { decorators: JsDecoratorList [], export_token: EXPORT_KW@113..121 "export" [Newline("\n")] [Whitespace(" ")], export_clause: missing (required), }, JsVariableStatement { declaration: JsVariableDeclaration { await_token: AWAIT_KW@121..127 "await" [] [Whitespace(" ")], kind: USING_KW@127..133 "using" [] [Whitespace(" ")], declarators: JsVariableDeclaratorList [ JsVariableDeclarator { id: JsIdentifierBinding { name_token: IDENT@133..135 "q" [] [Whitespace(" ")], }, variable_annotation: missing (optional), initializer: JsInitializerClause { eq_token: EQ@135..137 "=" [] [Whitespace(" ")], expression: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@137..138 "r" [] [], }, }, }, }, ], }, semicolon_token: SEMICOLON@138..139 ";" [] [], }, JsExpressionStatement { expression: JsAwaitExpression { await_token: AWAIT_KW@139..146 "await" [Newline("\n")] [Whitespace(" ")], argument: JsBogusExpression { items: [ JsBogus { items: [ IDENT@146..150 "let" [] [Whitespace(" ")], ], }, ], }, }, semicolon_token: missing (optional), }, JsExpressionStatement { expression: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@150..151 "s" [] [], }, }, semicolon_token: SEMICOLON@151..152 ";" [] [], }, JsExpressionStatement { expression: JsAwaitExpression { await_token: AWAIT_KW@152..159 "await" [Newline("\n")] [Whitespace(" ")], argument: missing (required), }, semicolon_token: missing (optional), }, JsVariableStatement { declaration: JsVariableDeclaration { await_token: missing (optional), kind: CONST_KW@159..165 "const" [] [Whitespace(" ")], declarators: JsVariableDeclaratorList [ JsVariableDeclarator { id: JsIdentifierBinding { name_token: IDENT@165..167 "t" [] [Whitespace(" ")], }, variable_annotation: missing (optional), initializer: JsInitializerClause { eq_token: EQ@167..169 "=" [] [Whitespace(" ")], expression: JsNumberLiteralExpression { value_token: JS_NUMBER_LITERAL@169..170 "1" [] [], }, }, }, ], }, semicolon_token: SEMICOLON@170..171 ";" [] [], }, ], eof_token: EOF@171..172 "" [Newline("\n")] [], } 0: JS_MODULE@0..172 0: (empty) 1: (empty) 2: JS_DIRECTIVE_LIST@0..0 3: JS_MODULE_ITEM_LIST@0..171 0: JS_VARIABLE_STATEMENT@0..8 0: JS_VARIABLE_DECLARATION@0..7 0: (empty) 1: USING_KW@0..6 "using" [] [Whitespace(" ")] 2: JS_VARIABLE_DECLARATOR_LIST@6..7 0: JS_VARIABLE_DECLARATOR@6..7 0: JS_IDENTIFIER_BINDING@6..7 0: IDENT@6..7 "a" [] [] 1: (empty) 2: (empty) 1: SEMICOLON@7..8 ";" [] [] 1: JS_EXPRESSION_STATEMENT@8..15 0: JS_IDENTIFIER_EXPRESSION@8..15 0: JS_REFERENCE_IDENTIFIER@8..15 0: IDENT@8..15 "using" [Newline("\n")] [Whitespace(" ")] 1: (empty) 2: JS_BLOCK_STATEMENT@15..18 0: L_CURLY@15..16 "{" [] [] 1: JS_STATEMENT_LIST@16..17 0: JS_EXPRESSION_STATEMENT@16..17 0: JS_IDENTIFIER_EXPRESSION@16..17 0: JS_REFERENCE_IDENTIFIER@16..17 0: IDENT@16..17 "b" [] [] 1: (empty) 2: R_CURLY@17..18 "}" [] [] 3: JS_EMPTY_STATEMENT@18..19 0: SEMICOLON@18..19 ";" [] [] 4: JS_VARIABLE_STATEMENT@19..35 0: JS_VARIABLE_DECLARATION@19..34 0: (empty) 1: USING_KW@19..26 "using" [Newline("\n")] [Whitespace(" ")] 2: JS_VARIABLE_DECLARATOR_LIST@26..34 0: JS_VARIABLE_DECLARATOR@26..31 0: JS_IDENTIFIER_BINDING@26..28 0: IDENT@26..28 "c" [] [Whitespace(" ")] 1: (empty) 2: JS_INITIALIZER_CLAUSE@28..31 0: EQ@28..30 "=" [] [Whitespace(" ")] 1: JS_IDENTIFIER_EXPRESSION@30..31 0: JS_REFERENCE_IDENTIFIER@30..31 0: IDENT@30..31 "d" [] [] 1: COMMA@31..33 "," [] [Whitespace(" ")] 2: JS_VARIABLE_DECLARATOR@33..34 0: JS_IDENTIFIER_BINDING@33..34 0: IDENT@33..34 "e" [] [] 1: (empty) 2: (empty) 1: SEMICOLON@34..35 ";" [] [] 5: JS_EXPORT@35..43 0: JS_DECORATOR_LIST@35..35 1: EXPORT_KW@35..43 "export" [Newline("\n")] [Whitespace(" ")] 2: (empty) 6: JS_VARIABLE_STATEMENT@43..55 0: JS_VARIABLE_DECLARATION@43..54 0: (empty) 1: USING_KW@43..49 "using" [] [Whitespace(" ")] 2: JS_VARIABLE_DECLARATOR_LIST@49..54 0: JS_VARIABLE_DECLARATOR@49..54 0: JS_IDENTIFIER_BINDING@49..51 0: IDENT@49..51 "m" [] [Whitespace(" ")] 1: (empty) 2: JS_INITIALIZER_CLAUSE@51..54 0: EQ@51..53 "=" [] [Whitespace(" ")] 1: JS_IDENTIFIER_EXPRESSION@53..54 0: JS_REFERENCE_IDENTIFIER@53..54 0: IDENT@53..54 "n" [] [] 1: SEMICOLON@54..55 ";" [] [] 7: JS_VARIABLE_STATEMENT@55..70 0: JS_VARIABLE_DECLARATION@55..69 0: AWAIT_KW@55..62 "await" [Newline("\n")] [Whitespace(" ")] 1: USING_KW@62..68 "using" [] [Whitespace(" ")] 2: JS_VARIABLE_DECLARATOR_LIST@68..69 0: JS_VARIABLE_DECLARATOR@68..69 0: JS_IDENTIFIER_BINDING@68..69 0: IDENT@68..69 "f" [] [] 1: (empty) 2: (empty) 1: SEMICOLON@69..70 ";" [] [] 8: JS_VARIABLE_STATEMENT@70..92 0: JS_VARIABLE_DECLARATION@70..91 0: AWAIT_KW@70..77 "await" [Newline("\n")] [Whitespace(" ")] 1: USING_KW@77..83 "using" [] [Whitespace(" ")] 2: JS_VARIABLE_DECLARATOR_LIST@83..91 0: JS_VARIABLE_DECLARATOR@83..88 0: JS_IDENTIFIER_BINDING@83..85 0: IDENT@83..85 "g" [] [Whitespace(" ")] 1: (empty) 2: JS_INITIALIZER_CLAUSE@85..88 0: EQ@85..87 "=" [] [Whitespace(" ")] 1: JS_IDENTIFIER_EXPRESSION@87..88 0: JS_REFERENCE_IDENTIFIER@87..88 0: IDENT@87..88 "h" [] [] 1: COMMA@88..90 "," [] [Whitespace(" ")] 2: JS_VARIABLE_DECLARATOR@90..91 0: JS_IDENTIFIER_BINDING@90..91 0: IDENT@90..91 "j" [] [] 1: (empty) 2: (empty) 1: SEMICOLON@91..92 ";" [] [] 9: JS_EXPRESSION_STATEMENT@92..113 0: JS_ASSIGNMENT_EXPRESSION@92..112 0: JS_BOGUS_ASSIGNMENT@92..109 0: AWAIT_KW@92..99 "await" [Newline("\n")] [Whitespace(" ")] 1: JS_COMPUTED_MEMBER_EXPRESSION@99..109 0: JS_IDENTIFIER_EXPRESSION@99..105 0: JS_REFERENCE_IDENTIFIER@99..105 0: IDENT@99..105 "using" [] [Whitespace(" ")] 1: (empty) 2: L_BRACK@105..106 "[" [] [] 3: JS_IDENTIFIER_EXPRESSION@106..107 0: JS_REFERENCE_IDENTIFIER@106..107 0: IDENT@106..107 "o" [] [] 4: R_BRACK@107..109 "]" [] [Whitespace(" ")] 1: EQ@109..111 "=" [] [Whitespace(" ")] 2: JS_IDENTIFIER_EXPRESSION@111..112 0: JS_REFERENCE_IDENTIFIER@111..112 0: IDENT@111..112 "p" [] [] 1: SEMICOLON@112..113 ";" [] [] 10: JS_EXPORT@113..121 0: JS_DECORATOR_LIST@113..113 1: EXPORT_KW@113..121 "export" [Newline("\n")] [Whitespace(" ")] 2: (empty) 11: JS_VARIABLE_STATEMENT@121..139 0: JS_VARIABLE_DECLARATION@121..138 0: AWAIT_KW@121..127 "await" [] [Whitespace(" ")] 1: USING_KW@127..133 "using" [] [Whitespace(" ")] 2: JS_VARIABLE_DECLARATOR_LIST@133..138 0: JS_VARIABLE_DECLARATOR@133..138 0: JS_IDENTIFIER_BINDING@133..135 0: IDENT@133..135 "q" [] [Whitespace(" ")] 1: (empty) 2: JS_INITIALIZER_CLAUSE@135..138 0: EQ@135..137 "=" [] [Whitespace(" ")] 1: JS_IDENTIFIER_EXPRESSION@137..138 0: JS_REFERENCE_IDENTIFIER@137..138 0: IDENT@137..138 "r" [] [] 1: SEMICOLON@138..139 ";" [] [] 12: JS_EXPRESSION_STATEMENT@139..150 0: JS_AWAIT_EXPRESSION@139..150 0: AWAIT_KW@139..146 "await" [Newline("\n")] [Whitespace(" ")] 1: JS_BOGUS_EXPRESSION@146..150 0: JS_BOGUS@146..150 0: IDENT@146..150 "let" [] [Whitespace(" ")] 1: (empty) 13: JS_EXPRESSION_STATEMENT@150..152 0: JS_IDENTIFIER_EXPRESSION@150..151 0: JS_REFERENCE_IDENTIFIER@150..151 0: IDENT@150..151 "s" [] [] 1: SEMICOLON@151..152 ";" [] [] 14: JS_EXPRESSION_STATEMENT@152..159 0: JS_AWAIT_EXPRESSION@152..159 0: AWAIT_KW@152..159 "await" [Newline("\n")] [Whitespace(" ")] 1: (empty) 1: (empty) 15: JS_VARIABLE_STATEMENT@159..171 0: JS_VARIABLE_DECLARATION@159..170 0: (empty) 1: CONST_KW@159..165 "const" [] [Whitespace(" ")] 2: JS_VARIABLE_DECLARATOR_LIST@165..170 0: JS_VARIABLE_DECLARATOR@165..170 0: JS_IDENTIFIER_BINDING@165..167 0: IDENT@165..167 "t" [] [Whitespace(" ")] 1: (empty) 2: JS_INITIALIZER_CLAUSE@167..170 0: EQ@167..169 "=" [] [Whitespace(" ")] 1: JS_NUMBER_LITERAL_EXPRESSION@169..170 0: JS_NUMBER_LITERAL@169..170 "1" [] [] 1: SEMICOLON@170..171 ";" [] [] 4: EOF@171..172 "" [Newline("\n")] [] -- using_declaration_statement_err.js:1:7 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Using declarations must have an initialized value. > 1 │ using a; │ ^ 2 │ using {b}; 3 │ using c = d, e; i This variable needs to be initialized. -- using_declaration_statement_err.js:2:7 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Expected a semicolon or an implicit semicolon after a statement, but found none 1 │ using a; > 2 │ using {b}; │ ^ 3 │ using c = d, e; 4 │ export using m = n; i An explicit or implicit semicolon is expected here... 1 │ using a; > 2 │ using {b}; │ ^ 3 │ using c = d, e; 4 │ export using m = n; i ...Which is required to end this statement 1 │ using a; > 2 │ using {b}; │ ^^^^^^^ 3 │ using c = d, e; 4 │ export using m = n; -- using_declaration_statement_err.js:3:14 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Using declarations must have an initialized value. 1 │ using a; 2 │ using {b}; > 3 │ using c = d, e; │ ^ 4 │ export using m = n; 5 │ await using f; i This variable needs to be initialized. -- using_declaration_statement_err.js:4:8 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Expected a class, a function, or a variable declaration but instead found 'using'. 2 │ using {b}; 3 │ using c = d, e; > 4 │ export using m = n; │ ^^^^^ 5 │ await using f; 6 │ await using g = h, j; i Expected a class, a function, or a variable declaration here. 2 │ using {b}; 3 │ using c = d, e; > 4 │ export using m = n; │ ^^^^^ 5 │ await using f; 6 │ await using g = h, j; -- using_declaration_statement_err.js:5:13 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Using declarations must have an initialized value. 3 │ using c = d, e; 4 │ export using m = n; > 5 │ await using f; │ ^ 6 │ await using g = h, j; 7 │ await using [o] = p; i This variable needs to be initialized. -- using_declaration_statement_err.js:6:20 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Using declarations must have an initialized value. 4 │ export using m = n; 5 │ await using f; > 6 │ await using g = h, j; │ ^ 7 │ await using [o] = p; 8 │ export await using q = r; i This variable needs to be initialized. -- using_declaration_statement_err.js:7:1 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Invalid assignment to `await using [o]` 5 │ await using f; 6 │ await using g = h, j; > 7 │ await using [o] = p; │ ^^^^^^^^^^^^^^^ 8 │ export await using q = r; 9 │ await let s; i This expression cannot be assigned to -- using_declaration_statement_err.js:8:8 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Expected a class, a function, or a variable declaration but instead found 'await'. 6 │ await using g = h, j; 7 │ await using [o] = p; > 8 │ export await using q = r; │ ^^^^^ 9 │ await let s; 10 │ await const t = 1; i Expected a class, a function, or a variable declaration here. 6 │ await using g = h, j; 7 │ await using [o] = p; > 8 │ export await using q = r; │ ^^^^^ 9 │ await let s; 10 │ await const t = 1; -- using_declaration_statement_err.js:9:7 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Illegal use of reserved keyword `let` as an identifier in strict mode 7 │ await using [o] = p; 8 │ export await using q = r; > 9 │ await let s; │ ^^^ 10 │ await const t = 1; 11 │ -- using_declaration_statement_err.js:9:11 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Expected a semicolon or an implicit semicolon after a statement, but found none 7 │ await using [o] = p; 8 │ export await using q = r; > 9 │ await let s; │ ^ 10 │ await const t = 1; 11 │ i An explicit or implicit semicolon is expected here... 7 │ await using [o] = p; 8 │ export await using q = r; > 9 │ await let s; │ ^ 10 │ await const t = 1; 11 │ i ...Which is required to end this statement 7 │ await using [o] = p; 8 │ export await using q = r; > 9 │ await let s; │ ^^^^^^^^^^^ 10 │ await const t = 1; 11 │ -- using_declaration_statement_err.js:10:7 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Expected an unary expression but instead found 'const'. 8 │ export await using q = r; 9 │ await let s; > 10 │ await const t = 1; │ ^^^^^ 11 │ i Expected an unary expression here. 8 │ export await using q = r; 9 │ await let s; > 10 │ await const t = 1; │ ^^^^^ 11 │ -- using a; using {b}; using c = d, e; export using m = n; await using f; await using g = h, j; await using [o] = p; export await using q = r; await let s; await const t = 1;