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: JsExportDefaultDeclarationClause { default_token: DEFAULT_KW@7..15 "default" [] [Whitespace(" ")], declaration: TsDeclareFunctionExportDefaultDeclaration { async_token: missing (optional), function_token: FUNCTION_KW@15..24 "function" [] [Whitespace(" ")], id: JsIdentifierBinding { name_token: IDENT@24..28 "test" [] [], }, type_parameters: missing (optional), parameters: JsParameters { l_paren_token: L_PAREN@28..29 "(" [] [], items: JsParameterList [ JsFormalParameter { decorators: JsDecoratorList [], binding: JsIdentifierBinding { name_token: IDENT@29..30 "a" [] [], }, question_mark_token: missing (optional), type_annotation: TsTypeAnnotation { colon_token: COLON@30..32 ":" [] [Whitespace(" ")], ty: TsStringType { string_token: STRING_KW@32..38 "string" [] [], }, }, initializer: missing (optional), }, ], r_paren_token: R_PAREN@38..39 ")" [] [], }, return_type_annotation: TsReturnTypeAnnotation { colon_token: COLON@39..41 ":" [] [Whitespace(" ")], ty: TsStringType { string_token: STRING_KW@41..47 "string" [] [], }, }, semicolon_token: SEMICOLON@47..48 ";" [] [], }, semicolon_token: missing (optional), }, }, JsExport { decorators: JsDecoratorList [], export_token: EXPORT_KW@48..56 "export" [Newline("\n")] [Whitespace(" ")], export_clause: JsExportDefaultDeclarationClause { default_token: DEFAULT_KW@56..64 "default" [] [Whitespace(" ")], declaration: JsFunctionExportDefaultDeclaration { async_token: missing (optional), function_token: FUNCTION_KW@64..73 "function" [] [Whitespace(" ")], star_token: missing (optional), id: JsIdentifierBinding { name_token: IDENT@73..77 "test" [] [], }, type_parameters: missing (optional), parameters: JsParameters { l_paren_token: L_PAREN@77..78 "(" [] [], items: JsParameterList [ JsFormalParameter { decorators: JsDecoratorList [], binding: JsIdentifierBinding { name_token: IDENT@78..79 "a" [] [], }, question_mark_token: missing (optional), type_annotation: TsTypeAnnotation { colon_token: COLON@79..81 ":" [] [Whitespace(" ")], ty: TsUnionType { leading_separator_token: missing (optional), types: TsUnionTypeVariantList [ TsStringType { string_token: STRING_KW@81..88 "string" [] [Whitespace(" ")], }, PIPE@88..90 "|" [] [Whitespace(" ")], TsUndefinedType { undefined_token: UNDEFINED_KW@90..99 "undefined" [] [], }, ], }, }, initializer: missing (optional), }, ], r_paren_token: R_PAREN@99..100 ")" [] [], }, return_type_annotation: TsReturnTypeAnnotation { colon_token: COLON@100..102 ":" [] [Whitespace(" ")], ty: TsStringType { string_token: STRING_KW@102..109 "string" [] [Whitespace(" ")], }, }, body: JsFunctionBody { l_curly_token: L_CURLY@109..111 "{" [] [Whitespace(" ")], directives: JsDirectiveList [], statements: JsStatementList [ JsReturnStatement { return_token: RETURN_KW@111..118 "return" [] [Whitespace(" ")], argument: JsStringLiteralExpression { value_token: JS_STRING_LITERAL@118..126 "\"hello\"" [] [Whitespace(" ")], }, semicolon_token: missing (optional), }, ], r_curly_token: R_CURLY@126..127 "}" [] [], }, }, semicolon_token: missing (optional), }, }, ], eof_token: EOF@127..128 "" [Newline("\n")] [], } 0: JS_MODULE@0..128 0: (empty) 1: (empty) 2: JS_DIRECTIVE_LIST@0..0 3: JS_MODULE_ITEM_LIST@0..127 0: JS_EXPORT@0..48 0: JS_DECORATOR_LIST@0..0 1: EXPORT_KW@0..7 "export" [] [Whitespace(" ")] 2: JS_EXPORT_DEFAULT_DECLARATION_CLAUSE@7..48 0: DEFAULT_KW@7..15 "default" [] [Whitespace(" ")] 1: TS_DECLARE_FUNCTION_EXPORT_DEFAULT_DECLARATION@15..48 0: (empty) 1: FUNCTION_KW@15..24 "function" [] [Whitespace(" ")] 2: JS_IDENTIFIER_BINDING@24..28 0: IDENT@24..28 "test" [] [] 3: (empty) 4: JS_PARAMETERS@28..39 0: L_PAREN@28..29 "(" [] [] 1: JS_PARAMETER_LIST@29..38 0: JS_FORMAL_PARAMETER@29..38 0: JS_DECORATOR_LIST@29..29 1: JS_IDENTIFIER_BINDING@29..30 0: IDENT@29..30 "a" [] [] 2: (empty) 3: TS_TYPE_ANNOTATION@30..38 0: COLON@30..32 ":" [] [Whitespace(" ")] 1: TS_STRING_TYPE@32..38 0: STRING_KW@32..38 "string" [] [] 4: (empty) 2: R_PAREN@38..39 ")" [] [] 5: TS_RETURN_TYPE_ANNOTATION@39..47 0: COLON@39..41 ":" [] [Whitespace(" ")] 1: TS_STRING_TYPE@41..47 0: STRING_KW@41..47 "string" [] [] 6: SEMICOLON@47..48 ";" [] [] 2: (empty) 1: JS_EXPORT@48..127 0: JS_DECORATOR_LIST@48..48 1: EXPORT_KW@48..56 "export" [Newline("\n")] [Whitespace(" ")] 2: JS_EXPORT_DEFAULT_DECLARATION_CLAUSE@56..127 0: DEFAULT_KW@56..64 "default" [] [Whitespace(" ")] 1: JS_FUNCTION_EXPORT_DEFAULT_DECLARATION@64..127 0: (empty) 1: FUNCTION_KW@64..73 "function" [] [Whitespace(" ")] 2: (empty) 3: JS_IDENTIFIER_BINDING@73..77 0: IDENT@73..77 "test" [] [] 4: (empty) 5: JS_PARAMETERS@77..100 0: L_PAREN@77..78 "(" [] [] 1: JS_PARAMETER_LIST@78..99 0: JS_FORMAL_PARAMETER@78..99 0: JS_DECORATOR_LIST@78..78 1: JS_IDENTIFIER_BINDING@78..79 0: IDENT@78..79 "a" [] [] 2: (empty) 3: TS_TYPE_ANNOTATION@79..99 0: COLON@79..81 ":" [] [Whitespace(" ")] 1: TS_UNION_TYPE@81..99 0: (empty) 1: TS_UNION_TYPE_VARIANT_LIST@81..99 0: TS_STRING_TYPE@81..88 0: STRING_KW@81..88 "string" [] [Whitespace(" ")] 1: PIPE@88..90 "|" [] [Whitespace(" ")] 2: TS_UNDEFINED_TYPE@90..99 0: UNDEFINED_KW@90..99 "undefined" [] [] 4: (empty) 2: R_PAREN@99..100 ")" [] [] 6: TS_RETURN_TYPE_ANNOTATION@100..109 0: COLON@100..102 ":" [] [Whitespace(" ")] 1: TS_STRING_TYPE@102..109 0: STRING_KW@102..109 "string" [] [Whitespace(" ")] 7: JS_FUNCTION_BODY@109..127 0: L_CURLY@109..111 "{" [] [Whitespace(" ")] 1: JS_DIRECTIVE_LIST@111..111 2: JS_STATEMENT_LIST@111..126 0: JS_RETURN_STATEMENT@111..126 0: RETURN_KW@111..118 "return" [] [Whitespace(" ")] 1: JS_STRING_LITERAL_EXPRESSION@118..126 0: JS_STRING_LITERAL@118..126 "\"hello\"" [] [Whitespace(" ")] 2: (empty) 3: R_CURLY@126..127 "}" [] [] 2: (empty) 4: EOF@127..128 "" [Newline("\n")] []