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")] []