JsModule { bom_token: missing (optional), interpreter_token: missing (optional), directives: JsDirectiveList [], items: JsModuleItemList [ JsExpressionStatement { expression: JsAssignmentExpression { left: JsArrayAssignmentPattern { l_brack_token: L_BRACK@0..1 "[" [] [], elements: JsArrayAssignmentPatternElementList [ JsArrayAssignmentPatternElement { pattern: JsIdentifierAssignment { name_token: IDENT@1..4 "foo" [] [], }, init: missing (optional), }, COMMA@4..6 "," [] [Whitespace(" ")], JsArrayAssignmentPatternElement { pattern: JsIdentifierAssignment { name_token: IDENT@6..9 "bar" [] [], }, init: missing (optional), }, ], r_brack_token: R_BRACK@9..11 "]" [] [Whitespace(" ")], }, operator_token: EQ@11..13 "=" [] [Whitespace(" ")], right: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@13..16 "baz" [] [], }, }, }, semicolon_token: SEMICOLON@16..17 ";" [] [], }, JsExpressionStatement { expression: JsAssignmentExpression { left: JsArrayAssignmentPattern { l_brack_token: L_BRACK@17..19 "[" [Newline("\n")] [], elements: JsArrayAssignmentPatternElementList [ JsArrayHole, COMMA@19..20 "," [] [], JsArrayHole, COMMA@20..21 "," [] [], JsArrayHole, COMMA@21..22 "," [] [], JsArrayAssignmentPatternElement { pattern: JsIdentifierAssignment { name_token: IDENT@22..23 "b" [] [], }, init: missing (optional), }, COMMA@23..24 "," [] [], JsArrayHole, COMMA@24..25 "," [] [], JsArrayAssignmentPatternElement { pattern: JsIdentifierAssignment { name_token: IDENT@25..26 "c" [] [], }, init: missing (optional), }, COMMA@26..27 "," [] [], ], r_brack_token: R_BRACK@27..29 "]" [] [Whitespace(" ")], }, operator_token: EQ@29..31 "=" [] [Whitespace(" ")], right: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@31..34 "baz" [] [], }, }, }, semicolon_token: SEMICOLON@34..35 ";" [] [], }, JsExpressionStatement { expression: JsAssignmentExpression { left: JsArrayAssignmentPattern { l_brack_token: L_BRACK@35..37 "[" [Newline("\n")] [], elements: JsArrayAssignmentPatternElementList [ JsArrayAssignmentPatternElement { pattern: JsIdentifierAssignment { name_token: IDENT@37..39 "a" [] [Whitespace(" ")], }, init: JsInitializerClause { eq_token: EQ@39..41 "=" [] [Whitespace(" ")], expression: JsStringLiteralExpression { value_token: JS_STRING_LITERAL@41..47 "\"test\"" [] [], }, }, }, COMMA@47..49 "," [] [Whitespace(" ")], JsArrayAssignmentPatternElement { pattern: JsStaticMemberAssignment { object: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@49..50 "a" [] [], }, }, dot_token: DOT@50..51 "." [] [], member: JsName { value_token: IDENT@51..52 "b" [] [], }, }, init: missing (optional), }, COMMA@52..54 "," [] [Whitespace(" ")], JsArrayAssignmentPatternElement { pattern: JsStaticMemberAssignment { object: JsCallExpression { callee: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@54..58 "call" [] [], }, }, optional_chain_token: missing (optional), type_arguments: missing (optional), arguments: JsCallArguments { l_paren_token: L_PAREN@58..59 "(" [] [], args: JsCallArgumentList [], r_paren_token: R_PAREN@59..60 ")" [] [], }, }, dot_token: DOT@60..61 "." [] [], member: JsName { value_token: IDENT@61..62 "b" [] [], }, }, init: missing (optional), }, ], r_brack_token: R_BRACK@62..64 "]" [] [Whitespace(" ")], }, operator_token: EQ@64..66 "=" [] [Whitespace(" ")], right: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@66..69 "baz" [] [], }, }, }, semicolon_token: SEMICOLON@69..70 ";" [] [], }, JsExpressionStatement { expression: JsAssignmentExpression { left: JsArrayAssignmentPattern { l_brack_token: L_BRACK@70..72 "[" [Newline("\n")] [], elements: JsArrayAssignmentPatternElementList [ JsArrayAssignmentPatternElement { pattern: JsParenthesizedAssignment { l_paren_token: L_PAREN@72..73 "(" [] [], assignment: JsParenthesizedAssignment { l_paren_token: L_PAREN@73..74 "(" [] [], assignment: JsIdentifierAssignment { name_token: IDENT@74..75 "a" [] [], }, r_paren_token: R_PAREN@75..76 ")" [] [], }, r_paren_token: R_PAREN@76..77 ")" [] [], }, init: missing (optional), }, ], r_brack_token: R_BRACK@77..79 "]" [] [Whitespace(" ")], }, operator_token: EQ@79..81 "=" [] [Whitespace(" ")], right: JsIdentifierExpression { name: JsReferenceIdentifier { value_token: IDENT@81..84 "baz" [] [], }, }, }, semicolon_token: SEMICOLON@84..85 ";" [] [], }, ], eof_token: EOF@85..86 "" [Newline("\n")] [], } 0: JS_MODULE@0..86 0: (empty) 1: (empty) 2: JS_DIRECTIVE_LIST@0..0 3: JS_MODULE_ITEM_LIST@0..85 0: JS_EXPRESSION_STATEMENT@0..17 0: JS_ASSIGNMENT_EXPRESSION@0..16 0: JS_ARRAY_ASSIGNMENT_PATTERN@0..11 0: L_BRACK@0..1 "[" [] [] 1: JS_ARRAY_ASSIGNMENT_PATTERN_ELEMENT_LIST@1..9 0: JS_ARRAY_ASSIGNMENT_PATTERN_ELEMENT@1..4 0: JS_IDENTIFIER_ASSIGNMENT@1..4 0: IDENT@1..4 "foo" [] [] 1: (empty) 1: COMMA@4..6 "," [] [Whitespace(" ")] 2: JS_ARRAY_ASSIGNMENT_PATTERN_ELEMENT@6..9 0: JS_IDENTIFIER_ASSIGNMENT@6..9 0: IDENT@6..9 "bar" [] [] 1: (empty) 2: R_BRACK@9..11 "]" [] [Whitespace(" ")] 1: EQ@11..13 "=" [] [Whitespace(" ")] 2: JS_IDENTIFIER_EXPRESSION@13..16 0: JS_REFERENCE_IDENTIFIER@13..16 0: IDENT@13..16 "baz" [] [] 1: SEMICOLON@16..17 ";" [] [] 1: JS_EXPRESSION_STATEMENT@17..35 0: JS_ASSIGNMENT_EXPRESSION@17..34 0: JS_ARRAY_ASSIGNMENT_PATTERN@17..29 0: L_BRACK@17..19 "[" [Newline("\n")] [] 1: JS_ARRAY_ASSIGNMENT_PATTERN_ELEMENT_LIST@19..27 0: JS_ARRAY_HOLE@19..19 1: COMMA@19..20 "," [] [] 2: JS_ARRAY_HOLE@20..20 3: COMMA@20..21 "," [] [] 4: JS_ARRAY_HOLE@21..21 5: COMMA@21..22 "," [] [] 6: JS_ARRAY_ASSIGNMENT_PATTERN_ELEMENT@22..23 0: JS_IDENTIFIER_ASSIGNMENT@22..23 0: IDENT@22..23 "b" [] [] 1: (empty) 7: COMMA@23..24 "," [] [] 8: JS_ARRAY_HOLE@24..24 9: COMMA@24..25 "," [] [] 10: JS_ARRAY_ASSIGNMENT_PATTERN_ELEMENT@25..26 0: JS_IDENTIFIER_ASSIGNMENT@25..26 0: IDENT@25..26 "c" [] [] 1: (empty) 11: COMMA@26..27 "," [] [] 2: R_BRACK@27..29 "]" [] [Whitespace(" ")] 1: EQ@29..31 "=" [] [Whitespace(" ")] 2: JS_IDENTIFIER_EXPRESSION@31..34 0: JS_REFERENCE_IDENTIFIER@31..34 0: IDENT@31..34 "baz" [] [] 1: SEMICOLON@34..35 ";" [] [] 2: JS_EXPRESSION_STATEMENT@35..70 0: JS_ASSIGNMENT_EXPRESSION@35..69 0: JS_ARRAY_ASSIGNMENT_PATTERN@35..64 0: L_BRACK@35..37 "[" [Newline("\n")] [] 1: JS_ARRAY_ASSIGNMENT_PATTERN_ELEMENT_LIST@37..62 0: JS_ARRAY_ASSIGNMENT_PATTERN_ELEMENT@37..47 0: JS_IDENTIFIER_ASSIGNMENT@37..39 0: IDENT@37..39 "a" [] [Whitespace(" ")] 1: JS_INITIALIZER_CLAUSE@39..47 0: EQ@39..41 "=" [] [Whitespace(" ")] 1: JS_STRING_LITERAL_EXPRESSION@41..47 0: JS_STRING_LITERAL@41..47 "\"test\"" [] [] 1: COMMA@47..49 "," [] [Whitespace(" ")] 2: JS_ARRAY_ASSIGNMENT_PATTERN_ELEMENT@49..52 0: JS_STATIC_MEMBER_ASSIGNMENT@49..52 0: JS_IDENTIFIER_EXPRESSION@49..50 0: JS_REFERENCE_IDENTIFIER@49..50 0: IDENT@49..50 "a" [] [] 1: DOT@50..51 "." [] [] 2: JS_NAME@51..52 0: IDENT@51..52 "b" [] [] 1: (empty) 3: COMMA@52..54 "," [] [Whitespace(" ")] 4: JS_ARRAY_ASSIGNMENT_PATTERN_ELEMENT@54..62 0: JS_STATIC_MEMBER_ASSIGNMENT@54..62 0: JS_CALL_EXPRESSION@54..60 0: JS_IDENTIFIER_EXPRESSION@54..58 0: JS_REFERENCE_IDENTIFIER@54..58 0: IDENT@54..58 "call" [] [] 1: (empty) 2: (empty) 3: JS_CALL_ARGUMENTS@58..60 0: L_PAREN@58..59 "(" [] [] 1: JS_CALL_ARGUMENT_LIST@59..59 2: R_PAREN@59..60 ")" [] [] 1: DOT@60..61 "." [] [] 2: JS_NAME@61..62 0: IDENT@61..62 "b" [] [] 1: (empty) 2: R_BRACK@62..64 "]" [] [Whitespace(" ")] 1: EQ@64..66 "=" [] [Whitespace(" ")] 2: JS_IDENTIFIER_EXPRESSION@66..69 0: JS_REFERENCE_IDENTIFIER@66..69 0: IDENT@66..69 "baz" [] [] 1: SEMICOLON@69..70 ";" [] [] 3: JS_EXPRESSION_STATEMENT@70..85 0: JS_ASSIGNMENT_EXPRESSION@70..84 0: JS_ARRAY_ASSIGNMENT_PATTERN@70..79 0: L_BRACK@70..72 "[" [Newline("\n")] [] 1: JS_ARRAY_ASSIGNMENT_PATTERN_ELEMENT_LIST@72..77 0: JS_ARRAY_ASSIGNMENT_PATTERN_ELEMENT@72..77 0: JS_PARENTHESIZED_ASSIGNMENT@72..77 0: L_PAREN@72..73 "(" [] [] 1: JS_PARENTHESIZED_ASSIGNMENT@73..76 0: L_PAREN@73..74 "(" [] [] 1: JS_IDENTIFIER_ASSIGNMENT@74..75 0: IDENT@74..75 "a" [] [] 2: R_PAREN@75..76 ")" [] [] 2: R_PAREN@76..77 ")" [] [] 1: (empty) 2: R_BRACK@77..79 "]" [] [Whitespace(" ")] 1: EQ@79..81 "=" [] [Whitespace(" ")] 2: JS_IDENTIFIER_EXPRESSION@81..84 0: JS_REFERENCE_IDENTIFIER@81..84 0: IDENT@81..84 "baz" [] [] 1: SEMICOLON@84..85 ";" [] [] 4: EOF@85..86 "" [Newline("\n")] []