JsModule { bom_token: missing (optional), interpreter_token: missing (optional), directives: JsDirectiveList [], items: JsModuleItemList [ TsDeclareFunctionDeclaration { async_token: missing (optional), function_token: FUNCTION_KW@0..9 "function" [] [Whitespace(" ")], id: JsIdentifierBinding { name_token: IDENT@9..13 "test" [] [], }, type_parameters: missing (optional), parameters: JsParameters { l_paren_token: L_PAREN@13..14 "(" [] [], items: JsParameterList [ JsFormalParameter { decorators: JsDecoratorList [], binding: JsIdentifierBinding { name_token: IDENT@14..15 "a" [] [], }, question_mark_token: missing (optional), type_annotation: TsTypeAnnotation { colon_token: COLON@15..17 ":" [] [Whitespace(" ")], ty: TsStringType { string_token: STRING_KW@17..23 "string" [] [], }, }, initializer: missing (optional), }, ], r_paren_token: R_PAREN@23..24 ")" [] [], }, return_type_annotation: TsReturnTypeAnnotation { colon_token: COLON@24..26 ":" [] [Whitespace(" ")], ty: TsVoidType { void_token: VOID_KW@26..30 "void" [] [], }, }, semicolon_token: SEMICOLON@30..31 ";" [] [], }, JsFunctionDeclaration { async_token: missing (optional), function_token: FUNCTION_KW@31..41 "function" [Newline("\n")] [Whitespace(" ")], star_token: missing (optional), id: JsIdentifierBinding { name_token: IDENT@41..45 "test" [] [], }, type_parameters: missing (optional), parameters: JsParameters { l_paren_token: L_PAREN@45..46 "(" [] [], items: JsParameterList [ JsFormalParameter { decorators: JsDecoratorList [], binding: JsIdentifierBinding { name_token: IDENT@46..47 "a" [] [], }, question_mark_token: missing (optional), type_annotation: TsTypeAnnotation { colon_token: COLON@47..49 ":" [] [Whitespace(" ")], ty: TsUnionType { leading_separator_token: missing (optional), types: TsUnionTypeVariantList [ TsStringType { string_token: STRING_KW@49..56 "string" [] [Whitespace(" ")], }, PIPE@56..58 "|" [] [Whitespace(" ")], TsUndefinedType { undefined_token: UNDEFINED_KW@58..67 "undefined" [] [], }, ], }, }, initializer: missing (optional), }, ], r_paren_token: R_PAREN@67..68 ")" [] [], }, return_type_annotation: TsReturnTypeAnnotation { colon_token: COLON@68..70 ":" [] [Whitespace(" ")], ty: TsVoidType { void_token: VOID_KW@70..75 "void" [] [Whitespace(" ")], }, }, body: JsFunctionBody { l_curly_token: L_CURLY@75..76 "{" [] [], directives: JsDirectiveList [], statements: JsStatementList [], r_curly_token: R_CURLY@76..77 "}" [] [], }, }, TsDeclareFunctionDeclaration { async_token: missing (optional), function_token: FUNCTION_KW@77..87 "function" [Newline("\n")] [Whitespace(" ")], id: JsIdentifierBinding { name_token: IDENT@87..94 "no_semi" [] [], }, type_parameters: missing (optional), parameters: JsParameters { l_paren_token: L_PAREN@94..95 "(" [] [], items: JsParameterList [ JsFormalParameter { decorators: JsDecoratorList [], binding: JsIdentifierBinding { name_token: IDENT@95..96 "a" [] [], }, question_mark_token: missing (optional), type_annotation: TsTypeAnnotation { colon_token: COLON@96..98 ":" [] [Whitespace(" ")], ty: TsStringType { string_token: STRING_KW@98..104 "string" [] [], }, }, initializer: missing (optional), }, ], r_paren_token: R_PAREN@104..105 ")" [] [], }, return_type_annotation: missing (optional), semicolon_token: missing (optional), }, JsFunctionDeclaration { async_token: missing (optional), function_token: FUNCTION_KW@105..115 "function" [Newline("\n")] [Whitespace(" ")], star_token: missing (optional), id: JsIdentifierBinding { name_token: IDENT@115..122 "no_semi" [] [], }, type_parameters: missing (optional), parameters: JsParameters { l_paren_token: L_PAREN@122..123 "(" [] [], items: JsParameterList [ JsFormalParameter { decorators: JsDecoratorList [], binding: JsIdentifierBinding { name_token: IDENT@123..124 "a" [] [], }, question_mark_token: missing (optional), type_annotation: TsTypeAnnotation { colon_token: COLON@124..126 ":" [] [Whitespace(" ")], ty: TsStringType { string_token: STRING_KW@126..132 "string" [] [], }, }, initializer: missing (optional), }, ], r_paren_token: R_PAREN@132..134 ")" [] [Whitespace(" ")], }, return_type_annotation: missing (optional), body: JsFunctionBody { l_curly_token: L_CURLY@134..135 "{" [] [], directives: JsDirectiveList [], statements: JsStatementList [], r_curly_token: R_CURLY@135..136 "}" [] [], }, }, TsDeclareFunctionDeclaration { async_token: ASYNC_KW@136..143 "async" [Newline("\n")] [Whitespace(" ")], function_token: FUNCTION_KW@143..152 "function" [] [Whitespace(" ")], id: JsIdentifierBinding { name_token: IDENT@152..166 "async_overload" [] [], }, type_parameters: missing (optional), parameters: JsParameters { l_paren_token: L_PAREN@166..167 "(" [] [], items: JsParameterList [ JsFormalParameter { decorators: JsDecoratorList [], binding: JsIdentifierBinding { name_token: IDENT@167..168 "a" [] [], }, question_mark_token: missing (optional), type_annotation: TsTypeAnnotation { colon_token: COLON@168..170 ":" [] [Whitespace(" ")], ty: TsStringType { string_token: STRING_KW@170..176 "string" [] [], }, }, initializer: missing (optional), }, ], r_paren_token: R_PAREN@176..177 ")" [] [], }, return_type_annotation: missing (optional), semicolon_token: missing (optional), }, JsFunctionDeclaration { async_token: ASYNC_KW@177..184 "async" [Newline("\n")] [Whitespace(" ")], function_token: FUNCTION_KW@184..193 "function" [] [Whitespace(" ")], star_token: missing (optional), id: JsIdentifierBinding { name_token: IDENT@193..207 "async_overload" [] [], }, type_parameters: missing (optional), parameters: JsParameters { l_paren_token: L_PAREN@207..208 "(" [] [], items: JsParameterList [ JsFormalParameter { decorators: JsDecoratorList [], binding: JsIdentifierBinding { name_token: IDENT@208..209 "a" [] [], }, question_mark_token: missing (optional), type_annotation: TsTypeAnnotation { colon_token: COLON@209..211 ":" [] [Whitespace(" ")], ty: TsStringType { string_token: STRING_KW@211..217 "string" [] [], }, }, initializer: missing (optional), }, ], r_paren_token: R_PAREN@217..219 ")" [] [Whitespace(" ")], }, return_type_annotation: missing (optional), body: JsFunctionBody { l_curly_token: L_CURLY@219..220 "{" [] [], directives: JsDirectiveList [], statements: JsStatementList [], r_curly_token: R_CURLY@220..221 "}" [] [], }, }, ], eof_token: EOF@221..222 "" [Newline("\n")] [], } 0: JS_MODULE@0..222 0: (empty) 1: (empty) 2: JS_DIRECTIVE_LIST@0..0 3: JS_MODULE_ITEM_LIST@0..221 0: TS_DECLARE_FUNCTION_DECLARATION@0..31 0: (empty) 1: FUNCTION_KW@0..9 "function" [] [Whitespace(" ")] 2: JS_IDENTIFIER_BINDING@9..13 0: IDENT@9..13 "test" [] [] 3: (empty) 4: JS_PARAMETERS@13..24 0: L_PAREN@13..14 "(" [] [] 1: JS_PARAMETER_LIST@14..23 0: JS_FORMAL_PARAMETER@14..23 0: JS_DECORATOR_LIST@14..14 1: JS_IDENTIFIER_BINDING@14..15 0: IDENT@14..15 "a" [] [] 2: (empty) 3: TS_TYPE_ANNOTATION@15..23 0: COLON@15..17 ":" [] [Whitespace(" ")] 1: TS_STRING_TYPE@17..23 0: STRING_KW@17..23 "string" [] [] 4: (empty) 2: R_PAREN@23..24 ")" [] [] 5: TS_RETURN_TYPE_ANNOTATION@24..30 0: COLON@24..26 ":" [] [Whitespace(" ")] 1: TS_VOID_TYPE@26..30 0: VOID_KW@26..30 "void" [] [] 6: SEMICOLON@30..31 ";" [] [] 1: JS_FUNCTION_DECLARATION@31..77 0: (empty) 1: FUNCTION_KW@31..41 "function" [Newline("\n")] [Whitespace(" ")] 2: (empty) 3: JS_IDENTIFIER_BINDING@41..45 0: IDENT@41..45 "test" [] [] 4: (empty) 5: JS_PARAMETERS@45..68 0: L_PAREN@45..46 "(" [] [] 1: JS_PARAMETER_LIST@46..67 0: JS_FORMAL_PARAMETER@46..67 0: JS_DECORATOR_LIST@46..46 1: JS_IDENTIFIER_BINDING@46..47 0: IDENT@46..47 "a" [] [] 2: (empty) 3: TS_TYPE_ANNOTATION@47..67 0: COLON@47..49 ":" [] [Whitespace(" ")] 1: TS_UNION_TYPE@49..67 0: (empty) 1: TS_UNION_TYPE_VARIANT_LIST@49..67 0: TS_STRING_TYPE@49..56 0: STRING_KW@49..56 "string" [] [Whitespace(" ")] 1: PIPE@56..58 "|" [] [Whitespace(" ")] 2: TS_UNDEFINED_TYPE@58..67 0: UNDEFINED_KW@58..67 "undefined" [] [] 4: (empty) 2: R_PAREN@67..68 ")" [] [] 6: TS_RETURN_TYPE_ANNOTATION@68..75 0: COLON@68..70 ":" [] [Whitespace(" ")] 1: TS_VOID_TYPE@70..75 0: VOID_KW@70..75 "void" [] [Whitespace(" ")] 7: JS_FUNCTION_BODY@75..77 0: L_CURLY@75..76 "{" [] [] 1: JS_DIRECTIVE_LIST@76..76 2: JS_STATEMENT_LIST@76..76 3: R_CURLY@76..77 "}" [] [] 2: TS_DECLARE_FUNCTION_DECLARATION@77..105 0: (empty) 1: FUNCTION_KW@77..87 "function" [Newline("\n")] [Whitespace(" ")] 2: JS_IDENTIFIER_BINDING@87..94 0: IDENT@87..94 "no_semi" [] [] 3: (empty) 4: JS_PARAMETERS@94..105 0: L_PAREN@94..95 "(" [] [] 1: JS_PARAMETER_LIST@95..104 0: JS_FORMAL_PARAMETER@95..104 0: JS_DECORATOR_LIST@95..95 1: JS_IDENTIFIER_BINDING@95..96 0: IDENT@95..96 "a" [] [] 2: (empty) 3: TS_TYPE_ANNOTATION@96..104 0: COLON@96..98 ":" [] [Whitespace(" ")] 1: TS_STRING_TYPE@98..104 0: STRING_KW@98..104 "string" [] [] 4: (empty) 2: R_PAREN@104..105 ")" [] [] 5: (empty) 6: (empty) 3: JS_FUNCTION_DECLARATION@105..136 0: (empty) 1: FUNCTION_KW@105..115 "function" [Newline("\n")] [Whitespace(" ")] 2: (empty) 3: JS_IDENTIFIER_BINDING@115..122 0: IDENT@115..122 "no_semi" [] [] 4: (empty) 5: JS_PARAMETERS@122..134 0: L_PAREN@122..123 "(" [] [] 1: JS_PARAMETER_LIST@123..132 0: JS_FORMAL_PARAMETER@123..132 0: JS_DECORATOR_LIST@123..123 1: JS_IDENTIFIER_BINDING@123..124 0: IDENT@123..124 "a" [] [] 2: (empty) 3: TS_TYPE_ANNOTATION@124..132 0: COLON@124..126 ":" [] [Whitespace(" ")] 1: TS_STRING_TYPE@126..132 0: STRING_KW@126..132 "string" [] [] 4: (empty) 2: R_PAREN@132..134 ")" [] [Whitespace(" ")] 6: (empty) 7: JS_FUNCTION_BODY@134..136 0: L_CURLY@134..135 "{" [] [] 1: JS_DIRECTIVE_LIST@135..135 2: JS_STATEMENT_LIST@135..135 3: R_CURLY@135..136 "}" [] [] 4: TS_DECLARE_FUNCTION_DECLARATION@136..177 0: ASYNC_KW@136..143 "async" [Newline("\n")] [Whitespace(" ")] 1: FUNCTION_KW@143..152 "function" [] [Whitespace(" ")] 2: JS_IDENTIFIER_BINDING@152..166 0: IDENT@152..166 "async_overload" [] [] 3: (empty) 4: JS_PARAMETERS@166..177 0: L_PAREN@166..167 "(" [] [] 1: JS_PARAMETER_LIST@167..176 0: JS_FORMAL_PARAMETER@167..176 0: JS_DECORATOR_LIST@167..167 1: JS_IDENTIFIER_BINDING@167..168 0: IDENT@167..168 "a" [] [] 2: (empty) 3: TS_TYPE_ANNOTATION@168..176 0: COLON@168..170 ":" [] [Whitespace(" ")] 1: TS_STRING_TYPE@170..176 0: STRING_KW@170..176 "string" [] [] 4: (empty) 2: R_PAREN@176..177 ")" [] [] 5: (empty) 6: (empty) 5: JS_FUNCTION_DECLARATION@177..221 0: ASYNC_KW@177..184 "async" [Newline("\n")] [Whitespace(" ")] 1: FUNCTION_KW@184..193 "function" [] [Whitespace(" ")] 2: (empty) 3: JS_IDENTIFIER_BINDING@193..207 0: IDENT@193..207 "async_overload" [] [] 4: (empty) 5: JS_PARAMETERS@207..219 0: L_PAREN@207..208 "(" [] [] 1: JS_PARAMETER_LIST@208..217 0: JS_FORMAL_PARAMETER@208..217 0: JS_DECORATOR_LIST@208..208 1: JS_IDENTIFIER_BINDING@208..209 0: IDENT@208..209 "a" [] [] 2: (empty) 3: TS_TYPE_ANNOTATION@209..217 0: COLON@209..211 ":" [] [Whitespace(" ")] 1: TS_STRING_TYPE@211..217 0: STRING_KW@211..217 "string" [] [] 4: (empty) 2: R_PAREN@217..219 ")" [] [Whitespace(" ")] 6: (empty) 7: JS_FUNCTION_BODY@219..221 0: L_CURLY@219..220 "{" [] [] 1: JS_DIRECTIVE_LIST@220..220 2: JS_STATEMENT_LIST@220..220 3: R_CURLY@220..221 "}" [] [] 4: EOF@221..222 "" [Newline("\n")] []