JsModule { bom_token: missing (optional), interpreter_token: missing (optional), directives: JsDirectiveList [], items: JsModuleItemList [ JsExport { decorators: JsDecoratorList [], export_token: EXPORT_KW@0..7 "export" [] [Whitespace(" ")], export_clause: JsExportNamedFromClause { type_token: missing (optional), l_curly_token: L_CURLY@7..9 "{" [] [Whitespace(" ")], specifiers: JsExportNamedFromSpecifierList [ JsExportNamedFromSpecifier { type_token: missing (optional), source_name: JsLiteralExportName { value: IDENT@9..10 "a" [] [], }, export_as: missing (optional), }, COMMA@10..12 "," [] [Whitespace(" ")], JsExportNamedFromSpecifier { type_token: missing (optional), source_name: JsLiteralExportName { value: IDENT@12..20 "default" [] [Whitespace(" ")], }, export_as: missing (optional), }, ], r_curly_token: R_CURLY@20..22 "}" [] [Whitespace(" ")], from_token: FROM_KW@22..27 "from" [] [Whitespace(" ")], source: JsModuleSource { value_token: JS_STRING_LITERAL@27..32 "\"mod\"" [] [], }, assertion: missing (optional), semicolon_token: SEMICOLON@32..33 ";" [] [], }, }, JsExport { decorators: JsDecoratorList [], export_token: EXPORT_KW@33..41 "export" [Newline("\n")] [Whitespace(" ")], export_clause: JsExportNamedFromClause { type_token: missing (optional), l_curly_token: L_CURLY@41..43 "{" [] [Whitespace(" ")], specifiers: JsExportNamedFromSpecifierList [ JsExportNamedFromSpecifier { type_token: missing (optional), source_name: JsLiteralExportName { value: IDENT@43..45 "a" [] [Whitespace(" ")], }, export_as: JsExportAsClause { as_token: AS_KW@45..48 "as" [] [Whitespace(" ")], exported_name: JsLiteralExportName { value: IDENT@48..49 "z" [] [], }, }, }, COMMA@49..51 "," [] [Whitespace(" ")], JsExportNamedFromSpecifier { type_token: missing (optional), source_name: JsLiteralExportName { value: IDENT@51..53 "b" [] [Whitespace(" ")], }, export_as: JsExportAsClause { as_token: AS_KW@53..56 "as" [] [Whitespace(" ")], exported_name: JsLiteralExportName { value: JS_STRING_LITERAL@56..59 "\"y\"" [] [], }, }, }, COMMA@59..61 "," [] [Whitespace(" ")], JsExportNamedFromSpecifier { type_token: missing (optional), source_name: JsLiteralExportName { value: IDENT@61..63 "c" [] [Whitespace(" ")], }, export_as: JsExportAsClause { as_token: AS_KW@63..66 "as" [] [Whitespace(" ")], exported_name: JsLiteralExportName { value: IDENT@66..74 "default" [] [Whitespace(" ")], }, }, }, ], r_curly_token: R_CURLY@74..76 "}" [] [Whitespace(" ")], from_token: FROM_KW@76..81 "from" [] [Whitespace(" ")], source: JsModuleSource { value_token: JS_STRING_LITERAL@81..86 "\"mod\"" [] [], }, assertion: missing (optional), semicolon_token: missing (optional), }, }, JsExport { decorators: JsDecoratorList [], export_token: EXPORT_KW@86..94 "export" [Newline("\n")] [Whitespace(" ")], export_clause: JsExportNamedFromClause { type_token: missing (optional), l_curly_token: L_CURLY@94..96 "{" [] [Whitespace(" ")], specifiers: JsExportNamedFromSpecifierList [ JsExportNamedFromSpecifier { type_token: missing (optional), source_name: JsLiteralExportName { value: IDENT@96..99 "as" [] [Whitespace(" ")], }, export_as: missing (optional), }, ], r_curly_token: R_CURLY@99..101 "}" [] [Whitespace(" ")], from_token: FROM_KW@101..106 "from" [] [Whitespace(" ")], source: JsModuleSource { value_token: JS_STRING_LITERAL@106..111 "\"mod\"" [] [], }, assertion: missing (optional), semicolon_token: SEMICOLON@111..112 ";" [] [], }, }, JsExport { decorators: JsDecoratorList [], export_token: EXPORT_KW@112..120 "export" [Newline("\n")] [Whitespace(" ")], export_clause: JsExportNamedFromClause { type_token: missing (optional), l_curly_token: L_CURLY@120..122 "{" [] [Whitespace(" ")], specifiers: JsExportNamedFromSpecifierList [ JsExportNamedFromSpecifier { type_token: missing (optional), source_name: JsLiteralExportName { value: IDENT@122..130 "default" [] [Whitespace(" ")], }, export_as: JsExportAsClause { as_token: AS_KW@130..133 "as" [] [Whitespace(" ")], exported_name: JsLiteralExportName { value: JS_STRING_LITERAL@133..137 "\"b\"" [] [Whitespace(" ")], }, }, }, ], r_curly_token: R_CURLY@137..139 "}" [] [Whitespace(" ")], from_token: FROM_KW@139..144 "from" [] [Whitespace(" ")], source: JsModuleSource { value_token: JS_STRING_LITERAL@144..149 "\"mod\"" [] [], }, assertion: missing (optional), semicolon_token: SEMICOLON@149..150 ";" [] [], }, }, JsExport { decorators: JsDecoratorList [], export_token: EXPORT_KW@150..158 "export" [Newline("\n")] [Whitespace(" ")], export_clause: JsExportNamedFromClause { type_token: missing (optional), l_curly_token: L_CURLY@158..160 "{" [] [Whitespace(" ")], specifiers: JsExportNamedFromSpecifierList [ JsExportNamedFromSpecifier { type_token: missing (optional), source_name: JsLiteralExportName { value: JS_STRING_LITERAL@160..164 "\"a\"" [] [Whitespace(" ")], }, export_as: JsExportAsClause { as_token: AS_KW@164..167 "as" [] [Whitespace(" ")], exported_name: JsLiteralExportName { value: IDENT@167..169 "b" [] [Whitespace(" ")], }, }, }, ], r_curly_token: R_CURLY@169..171 "}" [] [Whitespace(" ")], from_token: FROM_KW@171..176 "from" [] [Whitespace(" ")], source: JsModuleSource { value_token: JS_STRING_LITERAL@176..181 "\"mod\"" [] [], }, assertion: missing (optional), semicolon_token: SEMICOLON@181..182 ";" [] [], }, }, JsExport { decorators: JsDecoratorList [], export_token: EXPORT_KW@182..190 "export" [Newline("\n")] [Whitespace(" ")], export_clause: JsExportNamedFromClause { type_token: missing (optional), l_curly_token: L_CURLY@190..192 "{" [] [Whitespace(" ")], specifiers: JsExportNamedFromSpecifierList [ JsExportNamedFromSpecifier { type_token: missing (optional), source_name: JsLiteralExportName { value: IDENT@192..194 "a" [] [Whitespace(" ")], }, export_as: missing (optional), }, ], r_curly_token: R_CURLY@194..196 "}" [] [Whitespace(" ")], from_token: FROM_KW@196..201 "from" [] [Whitespace(" ")], source: JsModuleSource { value_token: JS_STRING_LITERAL@201..207 "\"mod\"" [] [Whitespace(" ")], }, assertion: JsImportAssertion { assertion_kind: ASSERT_KW@207..214 "assert" [] [Whitespace(" ")], l_curly_token: L_CURLY@214..216 "{" [] [Whitespace(" ")], assertions: JsImportAssertionEntryList [ JsImportAssertionEntry { key: IDENT@216..220 "type" [] [], colon_token: COLON@220..222 ":" [] [Whitespace(" ")], value_token: JS_STRING_LITERAL@222..229 "\"json\"" [] [Whitespace(" ")], }, ], r_curly_token: R_CURLY@229..230 "}" [] [], }, semicolon_token: missing (optional), }, }, JsExport { decorators: JsDecoratorList [], export_token: EXPORT_KW@230..238 "export" [Newline("\n")] [Whitespace(" ")], export_clause: JsExportNamedFromClause { type_token: missing (optional), l_curly_token: L_CURLY@238..240 "{" [] [Whitespace(" ")], specifiers: JsExportNamedFromSpecifierList [ JsExportNamedFromSpecifier { type_token: missing (optional), source_name: JsLiteralExportName { value: JS_STRING_LITERAL@240..244 "\"a\"" [] [Whitespace(" ")], }, export_as: missing (optional), }, ], r_curly_token: R_CURLY@244..246 "}" [] [Whitespace(" ")], from_token: FROM_KW@246..251 "from" [] [Whitespace(" ")], source: JsModuleSource { value_token: JS_STRING_LITERAL@251..258 "\"./mod\"" [] [], }, assertion: missing (optional), semicolon_token: SEMICOLON@258..259 ";" [] [], }, }, JsExport { decorators: JsDecoratorList [], export_token: EXPORT_KW@259..267 "export" [Newline("\n")] [Whitespace(" ")], export_clause: JsExportNamedFromClause { type_token: missing (optional), l_curly_token: L_CURLY@267..268 "{" [] [], specifiers: JsExportNamedFromSpecifierList [ JsExportNamedFromSpecifier { type_token: missing (optional), source_name: JsLiteralExportName { value: JS_STRING_LITERAL@268..277 "\"a\"" [Newline("\n"), Whitespace(" ")] [], }, export_as: missing (optional), }, ], r_curly_token: R_CURLY@277..280 "}" [Newline("\n")] [Whitespace(" ")], from_token: FROM_KW@280..285 "from" [] [Whitespace(" ")], source: JsModuleSource { value_token: JS_STRING_LITERAL@285..292 "\"./mod\"" [] [], }, assertion: missing (optional), semicolon_token: SEMICOLON@292..293 ";" [] [], }, }, ], eof_token: EOF@293..294 "" [Newline("\n")] [], } 0: JS_MODULE@0..294 0: (empty) 1: (empty) 2: JS_DIRECTIVE_LIST@0..0 3: JS_MODULE_ITEM_LIST@0..293 0: JS_EXPORT@0..33 0: JS_DECORATOR_LIST@0..0 1: EXPORT_KW@0..7 "export" [] [Whitespace(" ")] 2: JS_EXPORT_NAMED_FROM_CLAUSE@7..33 0: (empty) 1: L_CURLY@7..9 "{" [] [Whitespace(" ")] 2: JS_EXPORT_NAMED_FROM_SPECIFIER_LIST@9..20 0: JS_EXPORT_NAMED_FROM_SPECIFIER@9..10 0: (empty) 1: JS_LITERAL_EXPORT_NAME@9..10 0: IDENT@9..10 "a" [] [] 2: (empty) 1: COMMA@10..12 "," [] [Whitespace(" ")] 2: JS_EXPORT_NAMED_FROM_SPECIFIER@12..20 0: (empty) 1: JS_LITERAL_EXPORT_NAME@12..20 0: IDENT@12..20 "default" [] [Whitespace(" ")] 2: (empty) 3: R_CURLY@20..22 "}" [] [Whitespace(" ")] 4: FROM_KW@22..27 "from" [] [Whitespace(" ")] 5: JS_MODULE_SOURCE@27..32 0: JS_STRING_LITERAL@27..32 "\"mod\"" [] [] 6: (empty) 7: SEMICOLON@32..33 ";" [] [] 1: JS_EXPORT@33..86 0: JS_DECORATOR_LIST@33..33 1: EXPORT_KW@33..41 "export" [Newline("\n")] [Whitespace(" ")] 2: JS_EXPORT_NAMED_FROM_CLAUSE@41..86 0: (empty) 1: L_CURLY@41..43 "{" [] [Whitespace(" ")] 2: JS_EXPORT_NAMED_FROM_SPECIFIER_LIST@43..74 0: JS_EXPORT_NAMED_FROM_SPECIFIER@43..49 0: (empty) 1: JS_LITERAL_EXPORT_NAME@43..45 0: IDENT@43..45 "a" [] [Whitespace(" ")] 2: JS_EXPORT_AS_CLAUSE@45..49 0: AS_KW@45..48 "as" [] [Whitespace(" ")] 1: JS_LITERAL_EXPORT_NAME@48..49 0: IDENT@48..49 "z" [] [] 1: COMMA@49..51 "," [] [Whitespace(" ")] 2: JS_EXPORT_NAMED_FROM_SPECIFIER@51..59 0: (empty) 1: JS_LITERAL_EXPORT_NAME@51..53 0: IDENT@51..53 "b" [] [Whitespace(" ")] 2: JS_EXPORT_AS_CLAUSE@53..59 0: AS_KW@53..56 "as" [] [Whitespace(" ")] 1: JS_LITERAL_EXPORT_NAME@56..59 0: JS_STRING_LITERAL@56..59 "\"y\"" [] [] 3: COMMA@59..61 "," [] [Whitespace(" ")] 4: JS_EXPORT_NAMED_FROM_SPECIFIER@61..74 0: (empty) 1: JS_LITERAL_EXPORT_NAME@61..63 0: IDENT@61..63 "c" [] [Whitespace(" ")] 2: JS_EXPORT_AS_CLAUSE@63..74 0: AS_KW@63..66 "as" [] [Whitespace(" ")] 1: JS_LITERAL_EXPORT_NAME@66..74 0: IDENT@66..74 "default" [] [Whitespace(" ")] 3: R_CURLY@74..76 "}" [] [Whitespace(" ")] 4: FROM_KW@76..81 "from" [] [Whitespace(" ")] 5: JS_MODULE_SOURCE@81..86 0: JS_STRING_LITERAL@81..86 "\"mod\"" [] [] 6: (empty) 7: (empty) 2: JS_EXPORT@86..112 0: JS_DECORATOR_LIST@86..86 1: EXPORT_KW@86..94 "export" [Newline("\n")] [Whitespace(" ")] 2: JS_EXPORT_NAMED_FROM_CLAUSE@94..112 0: (empty) 1: L_CURLY@94..96 "{" [] [Whitespace(" ")] 2: JS_EXPORT_NAMED_FROM_SPECIFIER_LIST@96..99 0: JS_EXPORT_NAMED_FROM_SPECIFIER@96..99 0: (empty) 1: JS_LITERAL_EXPORT_NAME@96..99 0: IDENT@96..99 "as" [] [Whitespace(" ")] 2: (empty) 3: R_CURLY@99..101 "}" [] [Whitespace(" ")] 4: FROM_KW@101..106 "from" [] [Whitespace(" ")] 5: JS_MODULE_SOURCE@106..111 0: JS_STRING_LITERAL@106..111 "\"mod\"" [] [] 6: (empty) 7: SEMICOLON@111..112 ";" [] [] 3: JS_EXPORT@112..150 0: JS_DECORATOR_LIST@112..112 1: EXPORT_KW@112..120 "export" [Newline("\n")] [Whitespace(" ")] 2: JS_EXPORT_NAMED_FROM_CLAUSE@120..150 0: (empty) 1: L_CURLY@120..122 "{" [] [Whitespace(" ")] 2: JS_EXPORT_NAMED_FROM_SPECIFIER_LIST@122..137 0: JS_EXPORT_NAMED_FROM_SPECIFIER@122..137 0: (empty) 1: JS_LITERAL_EXPORT_NAME@122..130 0: IDENT@122..130 "default" [] [Whitespace(" ")] 2: JS_EXPORT_AS_CLAUSE@130..137 0: AS_KW@130..133 "as" [] [Whitespace(" ")] 1: JS_LITERAL_EXPORT_NAME@133..137 0: JS_STRING_LITERAL@133..137 "\"b\"" [] [Whitespace(" ")] 3: R_CURLY@137..139 "}" [] [Whitespace(" ")] 4: FROM_KW@139..144 "from" [] [Whitespace(" ")] 5: JS_MODULE_SOURCE@144..149 0: JS_STRING_LITERAL@144..149 "\"mod\"" [] [] 6: (empty) 7: SEMICOLON@149..150 ";" [] [] 4: JS_EXPORT@150..182 0: JS_DECORATOR_LIST@150..150 1: EXPORT_KW@150..158 "export" [Newline("\n")] [Whitespace(" ")] 2: JS_EXPORT_NAMED_FROM_CLAUSE@158..182 0: (empty) 1: L_CURLY@158..160 "{" [] [Whitespace(" ")] 2: JS_EXPORT_NAMED_FROM_SPECIFIER_LIST@160..169 0: JS_EXPORT_NAMED_FROM_SPECIFIER@160..169 0: (empty) 1: JS_LITERAL_EXPORT_NAME@160..164 0: JS_STRING_LITERAL@160..164 "\"a\"" [] [Whitespace(" ")] 2: JS_EXPORT_AS_CLAUSE@164..169 0: AS_KW@164..167 "as" [] [Whitespace(" ")] 1: JS_LITERAL_EXPORT_NAME@167..169 0: IDENT@167..169 "b" [] [Whitespace(" ")] 3: R_CURLY@169..171 "}" [] [Whitespace(" ")] 4: FROM_KW@171..176 "from" [] [Whitespace(" ")] 5: JS_MODULE_SOURCE@176..181 0: JS_STRING_LITERAL@176..181 "\"mod\"" [] [] 6: (empty) 7: SEMICOLON@181..182 ";" [] [] 5: JS_EXPORT@182..230 0: JS_DECORATOR_LIST@182..182 1: EXPORT_KW@182..190 "export" [Newline("\n")] [Whitespace(" ")] 2: JS_EXPORT_NAMED_FROM_CLAUSE@190..230 0: (empty) 1: L_CURLY@190..192 "{" [] [Whitespace(" ")] 2: JS_EXPORT_NAMED_FROM_SPECIFIER_LIST@192..194 0: JS_EXPORT_NAMED_FROM_SPECIFIER@192..194 0: (empty) 1: JS_LITERAL_EXPORT_NAME@192..194 0: IDENT@192..194 "a" [] [Whitespace(" ")] 2: (empty) 3: R_CURLY@194..196 "}" [] [Whitespace(" ")] 4: FROM_KW@196..201 "from" [] [Whitespace(" ")] 5: JS_MODULE_SOURCE@201..207 0: JS_STRING_LITERAL@201..207 "\"mod\"" [] [Whitespace(" ")] 6: JS_IMPORT_ASSERTION@207..230 0: ASSERT_KW@207..214 "assert" [] [Whitespace(" ")] 1: L_CURLY@214..216 "{" [] [Whitespace(" ")] 2: JS_IMPORT_ASSERTION_ENTRY_LIST@216..229 0: JS_IMPORT_ASSERTION_ENTRY@216..229 0: IDENT@216..220 "type" [] [] 1: COLON@220..222 ":" [] [Whitespace(" ")] 2: JS_STRING_LITERAL@222..229 "\"json\"" [] [Whitespace(" ")] 3: R_CURLY@229..230 "}" [] [] 7: (empty) 6: JS_EXPORT@230..259 0: JS_DECORATOR_LIST@230..230 1: EXPORT_KW@230..238 "export" [Newline("\n")] [Whitespace(" ")] 2: JS_EXPORT_NAMED_FROM_CLAUSE@238..259 0: (empty) 1: L_CURLY@238..240 "{" [] [Whitespace(" ")] 2: JS_EXPORT_NAMED_FROM_SPECIFIER_LIST@240..244 0: JS_EXPORT_NAMED_FROM_SPECIFIER@240..244 0: (empty) 1: JS_LITERAL_EXPORT_NAME@240..244 0: JS_STRING_LITERAL@240..244 "\"a\"" [] [Whitespace(" ")] 2: (empty) 3: R_CURLY@244..246 "}" [] [Whitespace(" ")] 4: FROM_KW@246..251 "from" [] [Whitespace(" ")] 5: JS_MODULE_SOURCE@251..258 0: JS_STRING_LITERAL@251..258 "\"./mod\"" [] [] 6: (empty) 7: SEMICOLON@258..259 ";" [] [] 7: JS_EXPORT@259..293 0: JS_DECORATOR_LIST@259..259 1: EXPORT_KW@259..267 "export" [Newline("\n")] [Whitespace(" ")] 2: JS_EXPORT_NAMED_FROM_CLAUSE@267..293 0: (empty) 1: L_CURLY@267..268 "{" [] [] 2: JS_EXPORT_NAMED_FROM_SPECIFIER_LIST@268..277 0: JS_EXPORT_NAMED_FROM_SPECIFIER@268..277 0: (empty) 1: JS_LITERAL_EXPORT_NAME@268..277 0: JS_STRING_LITERAL@268..277 "\"a\"" [Newline("\n"), Whitespace(" ")] [] 2: (empty) 3: R_CURLY@277..280 "}" [Newline("\n")] [Whitespace(" ")] 4: FROM_KW@280..285 "from" [] [Whitespace(" ")] 5: JS_MODULE_SOURCE@285..292 0: JS_STRING_LITERAL@285..292 "\"./mod\"" [] [] 6: (empty) 7: SEMICOLON@292..293 ";" [] [] 4: EOF@293..294 "" [Newline("\n")] []