JsModule { bom_token: missing (optional), interpreter_token: missing (optional), directives: JsDirectiveList [], items: JsModuleItemList [ JsImport { import_token: IMPORT_KW@0..7 "import" [] [Whitespace(" ")], import_clause: JsImportBareClause { source: JsModuleSource { value_token: JS_STRING_LITERAL@7..11 "\"x\"" [] [Whitespace(" ")], }, assertion: JsImportAssertion { assertion_kind: WITH_KW@11..16 "with" [] [Whitespace(" ")], l_curly_token: L_CURLY@16..18 "{" [] [Whitespace(" ")], assertions: JsImportAssertionEntryList [ JsImportAssertionEntry { key: IDENT@18..22 "type" [] [], colon_token: COLON@22..24 ":" [] [Whitespace(" ")], value_token: JS_STRING_LITERAL@24..31 "\"json\"" [] [Whitespace(" ")], }, ], r_curly_token: R_CURLY@31..32 "}" [] [], }, }, semicolon_token: missing (optional), }, JsImport { import_token: IMPORT_KW@32..40 "import" [Newline("\n")] [Whitespace(" ")], import_clause: JsImportBareClause { source: JsModuleSource { value_token: JS_STRING_LITERAL@40..46 "\"foo\"" [] [Whitespace(" ")], }, assertion: JsImportAssertion { assertion_kind: WITH_KW@46..51 "with" [] [Whitespace(" ")], l_curly_token: L_CURLY@51..53 "{" [] [Whitespace(" ")], assertions: JsImportAssertionEntryList [ JsImportAssertionEntry { key: JS_STRING_LITERAL@53..59 "\"type\"" [] [], colon_token: COLON@59..61 ":" [] [Whitespace(" ")], value_token: JS_STRING_LITERAL@61..68 "\"json\"" [] [Whitespace(" ")], }, ], r_curly_token: R_CURLY@68..69 "}" [] [], }, }, semicolon_token: SEMICOLON@69..70 ";" [] [], }, JsImport { import_token: IMPORT_KW@70..78 "import" [Newline("\n")] [Whitespace(" ")], import_clause: JsImportDefaultClause { type_token: missing (optional), default_specifier: JsDefaultImportSpecifier { local_name: JsIdentifierBinding { name_token: IDENT@78..82 "foo" [] [Whitespace(" ")], }, }, from_token: FROM_KW@82..87 "from" [] [Whitespace(" ")], source: JsModuleSource { value_token: JS_STRING_LITERAL@87..98 "\"foo.json\"" [] [Whitespace(" ")], }, assertion: JsImportAssertion { assertion_kind: WITH_KW@98..103 "with" [] [Whitespace(" ")], l_curly_token: L_CURLY@103..105 "{" [] [Whitespace(" ")], assertions: JsImportAssertionEntryList [ JsImportAssertionEntry { key: IDENT@105..109 "type" [] [], colon_token: COLON@109..111 ":" [] [Whitespace(" ")], value_token: JS_STRING_LITERAL@111..118 "\"json\"" [] [Whitespace(" ")], }, ], r_curly_token: R_CURLY@118..119 "}" [] [], }, }, semicolon_token: SEMICOLON@119..120 ";" [] [], }, JsImport { import_token: IMPORT_KW@120..128 "import" [Newline("\n")] [Whitespace(" ")], import_clause: JsImportNamedClause { type_token: missing (optional), named_specifiers: JsNamedImportSpecifiers { l_curly_token: L_CURLY@128..129 "{" [] [], specifiers: JsNamedImportSpecifierList [ JsShorthandNamedImportSpecifier { type_token: missing (optional), local_name: JsIdentifierBinding { name_token: IDENT@129..133 "test" [] [], }, }, ], r_curly_token: R_CURLY@133..135 "}" [] [Whitespace(" ")], }, from_token: FROM_KW@135..140 "from" [] [Whitespace(" ")], source: JsModuleSource { value_token: JS_STRING_LITERAL@140..151 "\"foo.json\"" [] [Whitespace(" ")], }, assertion: JsImportAssertion { assertion_kind: WITH_KW@151..156 "with" [] [Whitespace(" ")], l_curly_token: L_CURLY@156..158 "{" [] [Whitespace(" ")], assertions: JsImportAssertionEntryList [ JsImportAssertionEntry { key: IDENT@158..161 "for" [] [], colon_token: COLON@161..163 ":" [] [Whitespace(" ")], value_token: JS_STRING_LITERAL@163..169 "\"for\"" [] [Whitespace(" ")], }, ], r_curly_token: R_CURLY@169..170 "}" [] [], }, }, semicolon_token: missing (optional), }, JsImport { import_token: IMPORT_KW@170..178 "import" [Newline("\n")] [Whitespace(" ")], import_clause: JsImportDefaultClause { type_token: missing (optional), default_specifier: JsDefaultImportSpecifier { local_name: JsIdentifierBinding { name_token: IDENT@178..187 "foo_json" [] [Whitespace(" ")], }, }, from_token: FROM_KW@187..192 "from" [] [Whitespace(" ")], source: JsModuleSource { value_token: JS_STRING_LITERAL@192..203 "\"foo.json\"" [] [Whitespace(" ")], }, assertion: JsImportAssertion { assertion_kind: WITH_KW@203..208 "with" [] [Whitespace(" ")], l_curly_token: L_CURLY@208..210 "{" [] [Whitespace(" ")], assertions: JsImportAssertionEntryList [ JsImportAssertionEntry { key: IDENT@210..214 "type" [] [], colon_token: COLON@214..216 ":" [] [Whitespace(" ")], value_token: JS_STRING_LITERAL@216..222 "\"json\"" [] [], }, COMMA@222..224 "," [] [Whitespace(" ")], JsImportAssertionEntry { key: IDENT@224..238 "hasOwnProperty" [] [], colon_token: COLON@238..240 ":" [] [Whitespace(" ")], value_token: JS_STRING_LITERAL@240..247 "\"true\"" [] [Whitespace(" ")], }, ], r_curly_token: R_CURLY@247..248 "}" [] [], }, }, semicolon_token: SEMICOLON@248..249 ";" [] [], }, JsImport { import_token: IMPORT_KW@249..257 "import" [Newline("\n")] [Whitespace(" ")], import_clause: JsImportBareClause { source: JsModuleSource { value_token: JS_STRING_LITERAL@257..261 "\"x\"" [] [Whitespace(" ")], }, assertion: JsImportAssertion { assertion_kind: WITH_KW@261..265 "with" [] [], l_curly_token: L_CURLY@265..268 "{" [Newline("\n")] [Whitespace(" ")], assertions: JsImportAssertionEntryList [ JsImportAssertionEntry { key: IDENT@268..272 "type" [] [], colon_token: COLON@272..274 ":" [] [Whitespace(" ")], value_token: JS_STRING_LITERAL@274..281 "\"json\"" [] [Whitespace(" ")], }, ], r_curly_token: R_CURLY@281..282 "}" [] [], }, }, semicolon_token: missing (optional), }, ], eof_token: EOF@282..283 "" [Newline("\n")] [], } 0: JS_MODULE@0..283 0: (empty) 1: (empty) 2: JS_DIRECTIVE_LIST@0..0 3: JS_MODULE_ITEM_LIST@0..282 0: JS_IMPORT@0..32 0: IMPORT_KW@0..7 "import" [] [Whitespace(" ")] 1: JS_IMPORT_BARE_CLAUSE@7..32 0: JS_MODULE_SOURCE@7..11 0: JS_STRING_LITERAL@7..11 "\"x\"" [] [Whitespace(" ")] 1: JS_IMPORT_ASSERTION@11..32 0: WITH_KW@11..16 "with" [] [Whitespace(" ")] 1: L_CURLY@16..18 "{" [] [Whitespace(" ")] 2: JS_IMPORT_ASSERTION_ENTRY_LIST@18..31 0: JS_IMPORT_ASSERTION_ENTRY@18..31 0: IDENT@18..22 "type" [] [] 1: COLON@22..24 ":" [] [Whitespace(" ")] 2: JS_STRING_LITERAL@24..31 "\"json\"" [] [Whitespace(" ")] 3: R_CURLY@31..32 "}" [] [] 2: (empty) 1: JS_IMPORT@32..70 0: IMPORT_KW@32..40 "import" [Newline("\n")] [Whitespace(" ")] 1: JS_IMPORT_BARE_CLAUSE@40..69 0: JS_MODULE_SOURCE@40..46 0: JS_STRING_LITERAL@40..46 "\"foo\"" [] [Whitespace(" ")] 1: JS_IMPORT_ASSERTION@46..69 0: WITH_KW@46..51 "with" [] [Whitespace(" ")] 1: L_CURLY@51..53 "{" [] [Whitespace(" ")] 2: JS_IMPORT_ASSERTION_ENTRY_LIST@53..68 0: JS_IMPORT_ASSERTION_ENTRY@53..68 0: JS_STRING_LITERAL@53..59 "\"type\"" [] [] 1: COLON@59..61 ":" [] [Whitespace(" ")] 2: JS_STRING_LITERAL@61..68 "\"json\"" [] [Whitespace(" ")] 3: R_CURLY@68..69 "}" [] [] 2: SEMICOLON@69..70 ";" [] [] 2: JS_IMPORT@70..120 0: IMPORT_KW@70..78 "import" [Newline("\n")] [Whitespace(" ")] 1: JS_IMPORT_DEFAULT_CLAUSE@78..119 0: (empty) 1: JS_DEFAULT_IMPORT_SPECIFIER@78..82 0: JS_IDENTIFIER_BINDING@78..82 0: IDENT@78..82 "foo" [] [Whitespace(" ")] 2: FROM_KW@82..87 "from" [] [Whitespace(" ")] 3: JS_MODULE_SOURCE@87..98 0: JS_STRING_LITERAL@87..98 "\"foo.json\"" [] [Whitespace(" ")] 4: JS_IMPORT_ASSERTION@98..119 0: WITH_KW@98..103 "with" [] [Whitespace(" ")] 1: L_CURLY@103..105 "{" [] [Whitespace(" ")] 2: JS_IMPORT_ASSERTION_ENTRY_LIST@105..118 0: JS_IMPORT_ASSERTION_ENTRY@105..118 0: IDENT@105..109 "type" [] [] 1: COLON@109..111 ":" [] [Whitespace(" ")] 2: JS_STRING_LITERAL@111..118 "\"json\"" [] [Whitespace(" ")] 3: R_CURLY@118..119 "}" [] [] 2: SEMICOLON@119..120 ";" [] [] 3: JS_IMPORT@120..170 0: IMPORT_KW@120..128 "import" [Newline("\n")] [Whitespace(" ")] 1: JS_IMPORT_NAMED_CLAUSE@128..170 0: (empty) 1: JS_NAMED_IMPORT_SPECIFIERS@128..135 0: L_CURLY@128..129 "{" [] [] 1: JS_NAMED_IMPORT_SPECIFIER_LIST@129..133 0: JS_SHORTHAND_NAMED_IMPORT_SPECIFIER@129..133 0: (empty) 1: JS_IDENTIFIER_BINDING@129..133 0: IDENT@129..133 "test" [] [] 2: R_CURLY@133..135 "}" [] [Whitespace(" ")] 2: FROM_KW@135..140 "from" [] [Whitespace(" ")] 3: JS_MODULE_SOURCE@140..151 0: JS_STRING_LITERAL@140..151 "\"foo.json\"" [] [Whitespace(" ")] 4: JS_IMPORT_ASSERTION@151..170 0: WITH_KW@151..156 "with" [] [Whitespace(" ")] 1: L_CURLY@156..158 "{" [] [Whitespace(" ")] 2: JS_IMPORT_ASSERTION_ENTRY_LIST@158..169 0: JS_IMPORT_ASSERTION_ENTRY@158..169 0: IDENT@158..161 "for" [] [] 1: COLON@161..163 ":" [] [Whitespace(" ")] 2: JS_STRING_LITERAL@163..169 "\"for\"" [] [Whitespace(" ")] 3: R_CURLY@169..170 "}" [] [] 2: (empty) 4: JS_IMPORT@170..249 0: IMPORT_KW@170..178 "import" [Newline("\n")] [Whitespace(" ")] 1: JS_IMPORT_DEFAULT_CLAUSE@178..248 0: (empty) 1: JS_DEFAULT_IMPORT_SPECIFIER@178..187 0: JS_IDENTIFIER_BINDING@178..187 0: IDENT@178..187 "foo_json" [] [Whitespace(" ")] 2: FROM_KW@187..192 "from" [] [Whitespace(" ")] 3: JS_MODULE_SOURCE@192..203 0: JS_STRING_LITERAL@192..203 "\"foo.json\"" [] [Whitespace(" ")] 4: JS_IMPORT_ASSERTION@203..248 0: WITH_KW@203..208 "with" [] [Whitespace(" ")] 1: L_CURLY@208..210 "{" [] [Whitespace(" ")] 2: JS_IMPORT_ASSERTION_ENTRY_LIST@210..247 0: JS_IMPORT_ASSERTION_ENTRY@210..222 0: IDENT@210..214 "type" [] [] 1: COLON@214..216 ":" [] [Whitespace(" ")] 2: JS_STRING_LITERAL@216..222 "\"json\"" [] [] 1: COMMA@222..224 "," [] [Whitespace(" ")] 2: JS_IMPORT_ASSERTION_ENTRY@224..247 0: IDENT@224..238 "hasOwnProperty" [] [] 1: COLON@238..240 ":" [] [Whitespace(" ")] 2: JS_STRING_LITERAL@240..247 "\"true\"" [] [Whitespace(" ")] 3: R_CURLY@247..248 "}" [] [] 2: SEMICOLON@248..249 ";" [] [] 5: JS_IMPORT@249..282 0: IMPORT_KW@249..257 "import" [Newline("\n")] [Whitespace(" ")] 1: JS_IMPORT_BARE_CLAUSE@257..282 0: JS_MODULE_SOURCE@257..261 0: JS_STRING_LITERAL@257..261 "\"x\"" [] [Whitespace(" ")] 1: JS_IMPORT_ASSERTION@261..282 0: WITH_KW@261..265 "with" [] [] 1: L_CURLY@265..268 "{" [Newline("\n")] [Whitespace(" ")] 2: JS_IMPORT_ASSERTION_ENTRY_LIST@268..281 0: JS_IMPORT_ASSERTION_ENTRY@268..281 0: IDENT@268..272 "type" [] [] 1: COLON@272..274 ":" [] [Whitespace(" ")] 2: JS_STRING_LITERAL@274..281 "\"json\"" [] [Whitespace(" ")] 3: R_CURLY@281..282 "}" [] [] 2: (empty) 4: EOF@282..283 "" [Newline("\n")] []