swc/crates/swc_ecma_parser/tests/tsc/genericRestParameters1.json
2022-02-04 20:17:42 +09:00

12451 lines
323 KiB
JSON

{
"type": "Script",
"span": {
"start": 40,
"end": 5350,
"ctxt": 0
},
"body": [
{
"type": "VariableDeclaration",
"span": {
"start": 40,
"end": 98,
"ctxt": 0
},
"kind": "let",
"declare": true,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 52,
"end": 97,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 52,
"end": 54,
"ctxt": 0
},
"value": "f1",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 54,
"end": 97,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 56,
"end": 97,
"ctxt": 0
},
"params": [
{
"type": "RestElement",
"span": {
"start": 57,
"end": 88,
"ctxt": 0
},
"rest": {
"start": 57,
"end": 60,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 60,
"end": 61,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 61,
"end": 88,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTupleType",
"span": {
"start": 63,
"end": 88,
"ctxt": 0
},
"elemTypes": [
{
"type": "TsTupleElement",
"span": {
"start": 64,
"end": 70,
"ctxt": 0
},
"label": null,
"ty": {
"type": "TsKeywordType",
"span": {
"start": 64,
"end": 70,
"ctxt": 0
},
"kind": "number"
}
},
{
"type": "TsTupleElement",
"span": {
"start": 72,
"end": 78,
"ctxt": 0
},
"label": null,
"ty": {
"type": "TsKeywordType",
"span": {
"start": 72,
"end": 78,
"ctxt": 0
},
"kind": "string"
}
},
{
"type": "TsTupleElement",
"span": {
"start": 80,
"end": 87,
"ctxt": 0
},
"label": null,
"ty": {
"type": "TsKeywordType",
"span": {
"start": 80,
"end": 87,
"ctxt": 0
},
"kind": "boolean"
}
}
]
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 90,
"end": 97,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 93,
"end": 97,
"ctxt": 0
},
"kind": "void"
}
}
}
}
},
"init": null,
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 99,
"end": 161,
"ctxt": 0
},
"kind": "let",
"declare": true,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 111,
"end": 160,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 111,
"end": 113,
"ctxt": 0
},
"value": "f2",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 113,
"end": 160,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 115,
"end": 160,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 116,
"end": 126,
"ctxt": 0
},
"value": "x0",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 118,
"end": 126,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 120,
"end": 126,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "Identifier",
"span": {
"start": 128,
"end": 138,
"ctxt": 0
},
"value": "x1",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 130,
"end": 138,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 132,
"end": 138,
"ctxt": 0
},
"kind": "string"
}
}
},
{
"type": "Identifier",
"span": {
"start": 140,
"end": 151,
"ctxt": 0
},
"value": "x2",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 142,
"end": 151,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 144,
"end": 151,
"ctxt": 0
},
"kind": "boolean"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 153,
"end": 160,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 156,
"end": 160,
"ctxt": 0
},
"kind": "void"
}
}
}
}
},
"init": null,
"definite": false
}
]
},
{
"type": "ExpressionStatement",
"span": {
"start": 163,
"end": 171,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 163,
"end": 170,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "Identifier",
"span": {
"start": 163,
"end": 165,
"ctxt": 0
},
"value": "f1",
"optional": false,
"typeAnnotation": null
},
"right": {
"type": "Identifier",
"span": {
"start": 168,
"end": 170,
"ctxt": 0
},
"value": "f2",
"optional": false
}
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 172,
"end": 180,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 172,
"end": 179,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "Identifier",
"span": {
"start": 172,
"end": 174,
"ctxt": 0
},
"value": "f2",
"optional": false,
"typeAnnotation": null
},
"right": {
"type": "Identifier",
"span": {
"start": 177,
"end": 179,
"ctxt": 0
},
"value": "f1",
"optional": false
}
}
},
{
"type": "VariableDeclaration",
"span": {
"start": 182,
"end": 226,
"ctxt": 0
},
"kind": "const",
"declare": true,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 196,
"end": 225,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 196,
"end": 198,
"ctxt": 0
},
"value": "t3",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 198,
"end": 225,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTupleType",
"span": {
"start": 200,
"end": 225,
"ctxt": 0
},
"elemTypes": [
{
"type": "TsTupleElement",
"span": {
"start": 201,
"end": 207,
"ctxt": 0
},
"label": null,
"ty": {
"type": "TsKeywordType",
"span": {
"start": 201,
"end": 207,
"ctxt": 0
},
"kind": "number"
}
},
{
"type": "TsTupleElement",
"span": {
"start": 209,
"end": 215,
"ctxt": 0
},
"label": null,
"ty": {
"type": "TsKeywordType",
"span": {
"start": 209,
"end": 215,
"ctxt": 0
},
"kind": "string"
}
},
{
"type": "TsTupleElement",
"span": {
"start": 217,
"end": 224,
"ctxt": 0
},
"label": null,
"ty": {
"type": "TsKeywordType",
"span": {
"start": 217,
"end": 224,
"ctxt": 0
},
"kind": "boolean"
}
}
]
}
}
},
"init": null,
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 227,
"end": 263,
"ctxt": 0
},
"kind": "const",
"declare": true,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 241,
"end": 262,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 241,
"end": 243,
"ctxt": 0
},
"value": "t2",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 243,
"end": 262,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTupleType",
"span": {
"start": 245,
"end": 262,
"ctxt": 0
},
"elemTypes": [
{
"type": "TsTupleElement",
"span": {
"start": 246,
"end": 252,
"ctxt": 0
},
"label": null,
"ty": {
"type": "TsKeywordType",
"span": {
"start": 246,
"end": 252,
"ctxt": 0
},
"kind": "string"
}
},
{
"type": "TsTupleElement",
"span": {
"start": 254,
"end": 261,
"ctxt": 0
},
"label": null,
"ty": {
"type": "TsKeywordType",
"span": {
"start": 254,
"end": 261,
"ctxt": 0
},
"kind": "boolean"
}
}
]
}
}
},
"init": null,
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 264,
"end": 292,
"ctxt": 0
},
"kind": "const",
"declare": true,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 278,
"end": 291,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 278,
"end": 280,
"ctxt": 0
},
"value": "t1",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 280,
"end": 291,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTupleType",
"span": {
"start": 282,
"end": 291,
"ctxt": 0
},
"elemTypes": [
{
"type": "TsTupleElement",
"span": {
"start": 283,
"end": 290,
"ctxt": 0
},
"label": null,
"ty": {
"type": "TsKeywordType",
"span": {
"start": 283,
"end": 290,
"ctxt": 0
},
"kind": "boolean"
}
}
]
}
}
},
"init": null,
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 293,
"end": 314,
"ctxt": 0
},
"kind": "const",
"declare": true,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 307,
"end": 313,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 307,
"end": 309,
"ctxt": 0
},
"value": "t0",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 309,
"end": 313,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTupleType",
"span": {
"start": 311,
"end": 313,
"ctxt": 0
},
"elemTypes": []
}
}
},
"init": null,
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 316,
"end": 351,
"ctxt": 0
},
"kind": "const",
"declare": true,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 330,
"end": 350,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 330,
"end": 332,
"ctxt": 0
},
"value": "ns",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 332,
"end": 350,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTupleType",
"span": {
"start": 334,
"end": 350,
"ctxt": 0
},
"elemTypes": [
{
"type": "TsTupleElement",
"span": {
"start": 335,
"end": 341,
"ctxt": 0
},
"label": null,
"ty": {
"type": "TsKeywordType",
"span": {
"start": 335,
"end": 341,
"ctxt": 0
},
"kind": "number"
}
},
{
"type": "TsTupleElement",
"span": {
"start": 343,
"end": 349,
"ctxt": 0
},
"label": null,
"ty": {
"type": "TsKeywordType",
"span": {
"start": 343,
"end": 349,
"ctxt": 0
},
"kind": "string"
}
}
]
}
}
},
"init": null,
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 352,
"end": 387,
"ctxt": 0
},
"kind": "const",
"declare": true,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 366,
"end": 386,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 366,
"end": 368,
"ctxt": 0
},
"value": "sn",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 368,
"end": 386,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTupleType",
"span": {
"start": 370,
"end": 386,
"ctxt": 0
},
"elemTypes": [
{
"type": "TsTupleElement",
"span": {
"start": 371,
"end": 377,
"ctxt": 0
},
"label": null,
"ty": {
"type": "TsKeywordType",
"span": {
"start": 371,
"end": 377,
"ctxt": 0
},
"kind": "string"
}
},
{
"type": "TsTupleElement",
"span": {
"start": 379,
"end": 385,
"ctxt": 0
},
"label": null,
"ty": {
"type": "TsKeywordType",
"span": {
"start": 379,
"end": 385,
"ctxt": 0
},
"kind": "number"
}
}
]
}
}
},
"init": null,
"definite": false
}
]
},
{
"type": "ExpressionStatement",
"span": {
"start": 389,
"end": 411,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 389,
"end": 410,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 389,
"end": 391,
"ctxt": 0
},
"value": "f1",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 392,
"end": 394,
"ctxt": 0
},
"value": 42.0
}
},
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 396,
"end": 403,
"ctxt": 0
},
"value": "hello",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
},
{
"spread": null,
"expression": {
"type": "BooleanLiteral",
"span": {
"start": 405,
"end": 409,
"ctxt": 0
},
"value": true
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 412,
"end": 436,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 412,
"end": 435,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 412,
"end": 414,
"ctxt": 0
},
"value": "f1",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "MemberExpression",
"span": {
"start": 415,
"end": 420,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 415,
"end": 417,
"ctxt": 0
},
"value": "t3",
"optional": false
},
"property": {
"type": "Computed",
"span": {
"start": 417,
"end": 420,
"ctxt": 0
},
"expression": {
"type": "NumericLiteral",
"span": {
"start": 418,
"end": 419,
"ctxt": 0
},
"value": 0.0
}
}
}
},
{
"spread": null,
"expression": {
"type": "MemberExpression",
"span": {
"start": 422,
"end": 427,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 422,
"end": 424,
"ctxt": 0
},
"value": "t3",
"optional": false
},
"property": {
"type": "Computed",
"span": {
"start": 424,
"end": 427,
"ctxt": 0
},
"expression": {
"type": "NumericLiteral",
"span": {
"start": 425,
"end": 426,
"ctxt": 0
},
"value": 1.0
}
}
}
},
{
"spread": null,
"expression": {
"type": "MemberExpression",
"span": {
"start": 429,
"end": 434,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 429,
"end": 431,
"ctxt": 0
},
"value": "t3",
"optional": false
},
"property": {
"type": "Computed",
"span": {
"start": 431,
"end": 434,
"ctxt": 0
},
"expression": {
"type": "NumericLiteral",
"span": {
"start": 432,
"end": 433,
"ctxt": 0
},
"value": 2.0
}
}
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 437,
"end": 447,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 437,
"end": 446,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 437,
"end": 439,
"ctxt": 0
},
"value": "f1",
"optional": false
},
"arguments": [
{
"spread": {
"start": 440,
"end": 443,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 443,
"end": 445,
"ctxt": 0
},
"value": "t3",
"optional": false
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 448,
"end": 462,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 448,
"end": 461,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 448,
"end": 450,
"ctxt": 0
},
"value": "f1",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 451,
"end": 453,
"ctxt": 0
},
"value": 42.0
}
},
{
"spread": {
"start": 455,
"end": 458,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 458,
"end": 460,
"ctxt": 0
},
"value": "t2",
"optional": false
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 463,
"end": 486,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 463,
"end": 485,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 463,
"end": 465,
"ctxt": 0
},
"value": "f1",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 466,
"end": 468,
"ctxt": 0
},
"value": 42.0
}
},
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 470,
"end": 477,
"ctxt": 0
},
"value": "hello",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
},
{
"spread": {
"start": 479,
"end": 482,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 482,
"end": 484,
"ctxt": 0
},
"value": "t1",
"optional": false
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 487,
"end": 516,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 487,
"end": 515,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 487,
"end": 489,
"ctxt": 0
},
"value": "f1",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 490,
"end": 492,
"ctxt": 0
},
"value": 42.0
}
},
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 494,
"end": 501,
"ctxt": 0
},
"value": "hello",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
},
{
"spread": null,
"expression": {
"type": "BooleanLiteral",
"span": {
"start": 503,
"end": 507,
"ctxt": 0
},
"value": true
}
},
{
"spread": {
"start": 509,
"end": 512,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 512,
"end": 514,
"ctxt": 0
},
"value": "t0",
"optional": false
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 517,
"end": 540,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 517,
"end": 539,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 517,
"end": 519,
"ctxt": 0
},
"value": "f1",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "MemberExpression",
"span": {
"start": 520,
"end": 525,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 520,
"end": 522,
"ctxt": 0
},
"value": "ns",
"optional": false
},
"property": {
"type": "Computed",
"span": {
"start": 522,
"end": 525,
"ctxt": 0
},
"expression": {
"type": "NumericLiteral",
"span": {
"start": 523,
"end": 524,
"ctxt": 0
},
"value": 0.0
}
}
}
},
{
"spread": null,
"expression": {
"type": "MemberExpression",
"span": {
"start": 527,
"end": 532,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 527,
"end": 529,
"ctxt": 0
},
"value": "ns",
"optional": false
},
"property": {
"type": "Computed",
"span": {
"start": 529,
"end": 532,
"ctxt": 0
},
"expression": {
"type": "NumericLiteral",
"span": {
"start": 530,
"end": 531,
"ctxt": 0
},
"value": 1.0
}
}
}
},
{
"spread": null,
"expression": {
"type": "BooleanLiteral",
"span": {
"start": 534,
"end": 538,
"ctxt": 0
},
"value": true
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 541,
"end": 557,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 541,
"end": 556,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 541,
"end": 543,
"ctxt": 0
},
"value": "f1",
"optional": false
},
"arguments": [
{
"spread": {
"start": 544,
"end": 547,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 547,
"end": 549,
"ctxt": 0
},
"value": "ns",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "BooleanLiteral",
"span": {
"start": 551,
"end": 555,
"ctxt": 0
},
"value": true
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 625,
"end": 647,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 625,
"end": 646,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 625,
"end": 627,
"ctxt": 0
},
"value": "f2",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 628,
"end": 630,
"ctxt": 0
},
"value": 42.0
}
},
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 632,
"end": 639,
"ctxt": 0
},
"value": "hello",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
},
{
"spread": null,
"expression": {
"type": "BooleanLiteral",
"span": {
"start": 641,
"end": 645,
"ctxt": 0
},
"value": true
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 648,
"end": 672,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 648,
"end": 671,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 648,
"end": 650,
"ctxt": 0
},
"value": "f2",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "MemberExpression",
"span": {
"start": 651,
"end": 656,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 651,
"end": 653,
"ctxt": 0
},
"value": "t3",
"optional": false
},
"property": {
"type": "Computed",
"span": {
"start": 653,
"end": 656,
"ctxt": 0
},
"expression": {
"type": "NumericLiteral",
"span": {
"start": 654,
"end": 655,
"ctxt": 0
},
"value": 0.0
}
}
}
},
{
"spread": null,
"expression": {
"type": "MemberExpression",
"span": {
"start": 658,
"end": 663,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 658,
"end": 660,
"ctxt": 0
},
"value": "t3",
"optional": false
},
"property": {
"type": "Computed",
"span": {
"start": 660,
"end": 663,
"ctxt": 0
},
"expression": {
"type": "NumericLiteral",
"span": {
"start": 661,
"end": 662,
"ctxt": 0
},
"value": 1.0
}
}
}
},
{
"spread": null,
"expression": {
"type": "MemberExpression",
"span": {
"start": 665,
"end": 670,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 665,
"end": 667,
"ctxt": 0
},
"value": "t3",
"optional": false
},
"property": {
"type": "Computed",
"span": {
"start": 667,
"end": 670,
"ctxt": 0
},
"expression": {
"type": "NumericLiteral",
"span": {
"start": 668,
"end": 669,
"ctxt": 0
},
"value": 2.0
}
}
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 673,
"end": 683,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 673,
"end": 682,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 673,
"end": 675,
"ctxt": 0
},
"value": "f2",
"optional": false
},
"arguments": [
{
"spread": {
"start": 676,
"end": 679,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 679,
"end": 681,
"ctxt": 0
},
"value": "t3",
"optional": false
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 684,
"end": 698,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 684,
"end": 697,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 684,
"end": 686,
"ctxt": 0
},
"value": "f2",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 687,
"end": 689,
"ctxt": 0
},
"value": 42.0
}
},
{
"spread": {
"start": 691,
"end": 694,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 694,
"end": 696,
"ctxt": 0
},
"value": "t2",
"optional": false
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 699,
"end": 722,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 699,
"end": 721,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 699,
"end": 701,
"ctxt": 0
},
"value": "f2",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 702,
"end": 704,
"ctxt": 0
},
"value": 42.0
}
},
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 706,
"end": 713,
"ctxt": 0
},
"value": "hello",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
},
{
"spread": {
"start": 715,
"end": 718,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 718,
"end": 720,
"ctxt": 0
},
"value": "t1",
"optional": false
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 723,
"end": 752,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 723,
"end": 751,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 723,
"end": 725,
"ctxt": 0
},
"value": "f2",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 726,
"end": 728,
"ctxt": 0
},
"value": 42.0
}
},
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 730,
"end": 737,
"ctxt": 0
},
"value": "hello",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
},
{
"spread": null,
"expression": {
"type": "BooleanLiteral",
"span": {
"start": 739,
"end": 743,
"ctxt": 0
},
"value": true
}
},
{
"spread": {
"start": 745,
"end": 748,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 748,
"end": 750,
"ctxt": 0
},
"value": "t0",
"optional": false
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 753,
"end": 776,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 753,
"end": 775,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 753,
"end": 755,
"ctxt": 0
},
"value": "f2",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "MemberExpression",
"span": {
"start": 756,
"end": 761,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 756,
"end": 758,
"ctxt": 0
},
"value": "ns",
"optional": false
},
"property": {
"type": "Computed",
"span": {
"start": 758,
"end": 761,
"ctxt": 0
},
"expression": {
"type": "NumericLiteral",
"span": {
"start": 759,
"end": 760,
"ctxt": 0
},
"value": 0.0
}
}
}
},
{
"spread": null,
"expression": {
"type": "MemberExpression",
"span": {
"start": 763,
"end": 768,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 763,
"end": 765,
"ctxt": 0
},
"value": "ns",
"optional": false
},
"property": {
"type": "Computed",
"span": {
"start": 765,
"end": 768,
"ctxt": 0
},
"expression": {
"type": "NumericLiteral",
"span": {
"start": 766,
"end": 767,
"ctxt": 0
},
"value": 1.0
}
}
}
},
{
"spread": null,
"expression": {
"type": "BooleanLiteral",
"span": {
"start": 770,
"end": 774,
"ctxt": 0
},
"value": true
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 777,
"end": 793,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 777,
"end": 792,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 777,
"end": 779,
"ctxt": 0
},
"value": "f2",
"optional": false
},
"arguments": [
{
"spread": {
"start": 780,
"end": 783,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 783,
"end": 785,
"ctxt": 0
},
"value": "ns",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "BooleanLiteral",
"span": {
"start": 787,
"end": 791,
"ctxt": 0
},
"value": true
}
}
],
"typeArguments": null
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 878,
"end": 881,
"ctxt": 0
},
"value": "f10",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 903,
"end": 913,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "RestElement",
"span": {
"start": 903,
"end": 913,
"ctxt": 0
},
"rest": {
"start": 903,
"end": 906,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 906,
"end": 910,
"ctxt": 0
},
"value": "args",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 910,
"end": 913,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 912,
"end": 913,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 912,
"end": 913,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
}
}
],
"decorators": [],
"span": {
"start": 861,
"end": 918,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": {
"type": "TsTypeParameterDeclaration",
"span": {
"start": 881,
"end": 902,
"ctxt": 0
},
"parameters": [
{
"type": "TsTypeParameter",
"span": {
"start": 882,
"end": 901,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 882,
"end": 883,
"ctxt": 0
},
"value": "T",
"optional": false
},
"constraint": {
"type": "TsArrayType",
"span": {
"start": 892,
"end": 901,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 892,
"end": 899,
"ctxt": 0
},
"kind": "unknown"
}
},
"default": null
}
]
},
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 914,
"end": 917,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 916,
"end": 917,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 916,
"end": 917,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
},
{
"type": "VariableDeclaration",
"span": {
"start": 920,
"end": 955,
"ctxt": 0
},
"kind": "const",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 926,
"end": 954,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 926,
"end": 929,
"ctxt": 0
},
"value": "x10",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 932,
"end": 954,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 932,
"end": 935,
"ctxt": 0
},
"value": "f10",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 936,
"end": 938,
"ctxt": 0
},
"value": 42.0
}
},
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 940,
"end": 947,
"ctxt": 0
},
"value": "hello",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
},
{
"spread": null,
"expression": {
"type": "BooleanLiteral",
"span": {
"start": 949,
"end": 953,
"ctxt": 0
},
"value": true
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 986,
"end": 1015,
"ctxt": 0
},
"kind": "const",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 992,
"end": 1014,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 992,
"end": 995,
"ctxt": 0
},
"value": "x11",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 998,
"end": 1014,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 998,
"end": 1001,
"ctxt": 0
},
"value": "f10",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 1002,
"end": 1004,
"ctxt": 0
},
"value": 42.0
}
},
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 1006,
"end": 1013,
"ctxt": 0
},
"value": "hello",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 1037,
"end": 1057,
"ctxt": 0
},
"kind": "const",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1043,
"end": 1056,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1043,
"end": 1046,
"ctxt": 0
},
"value": "x12",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 1049,
"end": 1056,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 1049,
"end": 1052,
"ctxt": 0
},
"value": "f10",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 1053,
"end": 1055,
"ctxt": 0
},
"value": 42.0
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 1071,
"end": 1089,
"ctxt": 0
},
"kind": "const",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1077,
"end": 1088,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1077,
"end": 1080,
"ctxt": 0
},
"value": "x13",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 1083,
"end": 1088,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 1083,
"end": 1086,
"ctxt": 0
},
"value": "f10",
"optional": false
},
"arguments": [],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 1097,
"end": 1120,
"ctxt": 0
},
"kind": "const",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1103,
"end": 1119,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1103,
"end": 1106,
"ctxt": 0
},
"value": "x14",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 1109,
"end": 1119,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 1109,
"end": 1112,
"ctxt": 0
},
"value": "f10",
"optional": false
},
"arguments": [
{
"spread": {
"start": 1113,
"end": 1116,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1116,
"end": 1118,
"ctxt": 0
},
"value": "t3",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 1151,
"end": 1178,
"ctxt": 0
},
"kind": "const",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1157,
"end": 1177,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1157,
"end": 1160,
"ctxt": 0
},
"value": "x15",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 1163,
"end": 1177,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 1163,
"end": 1166,
"ctxt": 0
},
"value": "f10",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 1167,
"end": 1169,
"ctxt": 0
},
"value": 42.0
}
},
{
"spread": {
"start": 1171,
"end": 1174,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1174,
"end": 1176,
"ctxt": 0
},
"value": "t2",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 1209,
"end": 1245,
"ctxt": 0
},
"kind": "const",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1215,
"end": 1244,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1215,
"end": 1218,
"ctxt": 0
},
"value": "x16",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 1221,
"end": 1244,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 1221,
"end": 1224,
"ctxt": 0
},
"value": "f10",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 1225,
"end": 1227,
"ctxt": 0
},
"value": 42.0
}
},
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 1229,
"end": 1236,
"ctxt": 0
},
"value": "hello",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
},
{
"spread": {
"start": 1238,
"end": 1241,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1241,
"end": 1243,
"ctxt": 0
},
"value": "t1",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 1276,
"end": 1318,
"ctxt": 0
},
"kind": "const",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1282,
"end": 1317,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1282,
"end": 1285,
"ctxt": 0
},
"value": "x17",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 1288,
"end": 1317,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 1288,
"end": 1291,
"ctxt": 0
},
"value": "f10",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 1292,
"end": 1294,
"ctxt": 0
},
"value": 42.0
}
},
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 1296,
"end": 1303,
"ctxt": 0
},
"value": "hello",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
},
{
"spread": null,
"expression": {
"type": "BooleanLiteral",
"span": {
"start": 1305,
"end": 1309,
"ctxt": 0
},
"value": true
}
},
{
"spread": {
"start": 1311,
"end": 1314,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1314,
"end": 1316,
"ctxt": 0
},
"value": "t0",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 1349,
"end": 1378,
"ctxt": 0
},
"kind": "const",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1355,
"end": 1377,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1355,
"end": 1358,
"ctxt": 0
},
"value": "x18",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 1361,
"end": 1377,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 1361,
"end": 1364,
"ctxt": 0
},
"value": "f10",
"optional": false
},
"arguments": [
{
"spread": {
"start": 1365,
"end": 1368,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1368,
"end": 1370,
"ctxt": 0
},
"value": "ns",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "BooleanLiteral",
"span": {
"start": 1372,
"end": 1376,
"ctxt": 0
},
"value": true
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 1423,
"end": 1426,
"ctxt": 0
},
"value": "g10",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 1475,
"end": 1479,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 1475,
"end": 1479,
"ctxt": 0
},
"value": "u",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1476,
"end": 1479,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 1478,
"end": 1479,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1478,
"end": 1479,
"ctxt": 0
},
"value": "U",
"optional": false
},
"typeParams": null
}
}
}
},
{
"type": "Parameter",
"span": {
"start": 1481,
"end": 1485,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 1481,
"end": 1485,
"ctxt": 0
},
"value": "v",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1482,
"end": 1485,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 1484,
"end": 1485,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1484,
"end": 1485,
"ctxt": 0
},
"value": "V",
"optional": false
},
"typeParams": null
}
}
}
}
],
"decorators": [],
"span": {
"start": 1414,
"end": 1657,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 1487,
"end": 1657,
"ctxt": 0
},
"stmts": [
{
"type": "VariableDeclaration",
"span": {
"start": 1493,
"end": 1512,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1497,
"end": 1511,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1497,
"end": 1499,
"ctxt": 0
},
"value": "x1",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 1502,
"end": 1511,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 1502,
"end": 1505,
"ctxt": 0
},
"value": "f10",
"optional": false
},
"arguments": [
{
"spread": {
"start": 1506,
"end": 1509,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1509,
"end": 1510,
"ctxt": 0
},
"value": "u",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 1523,
"end": 1542,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1527,
"end": 1541,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1527,
"end": 1529,
"ctxt": 0
},
"value": "x2",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 1532,
"end": 1541,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 1532,
"end": 1535,
"ctxt": 0
},
"value": "f10",
"optional": false
},
"arguments": [
{
"spread": {
"start": 1536,
"end": 1539,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1539,
"end": 1540,
"ctxt": 0
},
"value": "v",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 1553,
"end": 1575,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1557,
"end": 1574,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1557,
"end": 1559,
"ctxt": 0
},
"value": "x3",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 1562,
"end": 1574,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 1562,
"end": 1565,
"ctxt": 0
},
"value": "f10",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 1566,
"end": 1567,
"ctxt": 0
},
"value": 1.0
}
},
{
"spread": {
"start": 1569,
"end": 1572,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1572,
"end": 1573,
"ctxt": 0
},
"value": "u",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 1606,
"end": 1631,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1610,
"end": 1630,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1610,
"end": 1612,
"ctxt": 0
},
"value": "x4",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 1615,
"end": 1630,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 1615,
"end": 1618,
"ctxt": 0
},
"value": "f10",
"optional": false
},
"arguments": [
{
"spread": {
"start": 1619,
"end": 1622,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1622,
"end": 1623,
"ctxt": 0
},
"value": "u",
"optional": false
}
},
{
"spread": {
"start": 1625,
"end": 1628,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1628,
"end": 1629,
"ctxt": 0
},
"value": "v",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
}
]
},
"generator": false,
"async": false,
"typeParameters": {
"type": "TsTypeParameterDeclaration",
"span": {
"start": 1426,
"end": 1474,
"ctxt": 0
},
"parameters": [
{
"type": "TsTypeParameter",
"span": {
"start": 1427,
"end": 1445,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 1427,
"end": 1428,
"ctxt": 0
},
"value": "U",
"optional": false
},
"constraint": {
"type": "TsArrayType",
"span": {
"start": 1437,
"end": 1445,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 1437,
"end": 1443,
"ctxt": 0
},
"kind": "string"
}
},
"default": null
},
{
"type": "TsTypeParameter",
"span": {
"start": 1447,
"end": 1473,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 1447,
"end": 1448,
"ctxt": 0
},
"value": "V",
"optional": false
},
"constraint": {
"type": "TsTupleType",
"span": {
"start": 1457,
"end": 1473,
"ctxt": 0
},
"elemTypes": [
{
"type": "TsTupleElement",
"span": {
"start": 1458,
"end": 1464,
"ctxt": 0
},
"label": null,
"ty": {
"type": "TsKeywordType",
"span": {
"start": 1458,
"end": 1464,
"ctxt": 0
},
"kind": "number"
}
},
{
"type": "TsTupleElement",
"span": {
"start": 1466,
"end": 1472,
"ctxt": 0
},
"label": null,
"ty": {
"type": "TsKeywordType",
"span": {
"start": 1466,
"end": 1472,
"ctxt": 0
},
"kind": "number"
}
}
]
},
"default": null
}
]
},
"returnType": null
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 1676,
"end": 1679,
"ctxt": 0
},
"value": "f11",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 1721,
"end": 1731,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "RestElement",
"span": {
"start": 1721,
"end": 1731,
"ctxt": 0
},
"rest": {
"start": 1721,
"end": 1724,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 1724,
"end": 1728,
"ctxt": 0
},
"value": "args",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1728,
"end": 1731,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 1730,
"end": 1731,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1730,
"end": 1731,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
}
}
],
"decorators": [],
"span": {
"start": 1659,
"end": 1736,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": {
"type": "TsTypeParameterDeclaration",
"span": {
"start": 1679,
"end": 1720,
"ctxt": 0
},
"parameters": [
{
"type": "TsTypeParameter",
"span": {
"start": 1680,
"end": 1719,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 1680,
"end": 1681,
"ctxt": 0
},
"value": "T",
"optional": false
},
"constraint": {
"type": "TsArrayType",
"span": {
"start": 1690,
"end": 1719,
"ctxt": 0
},
"elemType": {
"type": "TsParenthesizedType",
"span": {
"start": 1690,
"end": 1717,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsUnionType",
"span": {
"start": 1691,
"end": 1716,
"ctxt": 0
},
"types": [
{
"type": "TsKeywordType",
"span": {
"start": 1691,
"end": 1697,
"ctxt": 0
},
"kind": "string"
},
{
"type": "TsKeywordType",
"span": {
"start": 1700,
"end": 1706,
"ctxt": 0
},
"kind": "number"
},
{
"type": "TsKeywordType",
"span": {
"start": 1709,
"end": 1716,
"ctxt": 0
},
"kind": "boolean"
}
]
}
}
},
"default": null
}
]
},
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 1732,
"end": 1735,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 1734,
"end": 1735,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 1734,
"end": 1735,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
},
{
"type": "VariableDeclaration",
"span": {
"start": 1738,
"end": 1773,
"ctxt": 0
},
"kind": "const",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1744,
"end": 1772,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1744,
"end": 1747,
"ctxt": 0
},
"value": "z10",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 1750,
"end": 1772,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 1750,
"end": 1753,
"ctxt": 0
},
"value": "f11",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 1754,
"end": 1756,
"ctxt": 0
},
"value": 42.0
}
},
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 1758,
"end": 1765,
"ctxt": 0
},
"value": "hello",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
},
{
"spread": null,
"expression": {
"type": "BooleanLiteral",
"span": {
"start": 1767,
"end": 1771,
"ctxt": 0
},
"value": true
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 1798,
"end": 1827,
"ctxt": 0
},
"kind": "const",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1804,
"end": 1826,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1804,
"end": 1807,
"ctxt": 0
},
"value": "z11",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 1810,
"end": 1826,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 1810,
"end": 1813,
"ctxt": 0
},
"value": "f11",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 1814,
"end": 1816,
"ctxt": 0
},
"value": 42.0
}
},
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 1818,
"end": 1825,
"ctxt": 0
},
"value": "hello",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 1846,
"end": 1866,
"ctxt": 0
},
"kind": "const",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1852,
"end": 1865,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1852,
"end": 1855,
"ctxt": 0
},
"value": "z12",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 1858,
"end": 1865,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 1858,
"end": 1861,
"ctxt": 0
},
"value": "f11",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 1862,
"end": 1864,
"ctxt": 0
},
"value": 42.0
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 1876,
"end": 1894,
"ctxt": 0
},
"kind": "const",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1882,
"end": 1893,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1882,
"end": 1885,
"ctxt": 0
},
"value": "z13",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 1888,
"end": 1893,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 1888,
"end": 1891,
"ctxt": 0
},
"value": "f11",
"optional": false
},
"arguments": [],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 1902,
"end": 1925,
"ctxt": 0
},
"kind": "const",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1908,
"end": 1924,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1908,
"end": 1911,
"ctxt": 0
},
"value": "z14",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 1914,
"end": 1924,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 1914,
"end": 1917,
"ctxt": 0
},
"value": "f11",
"optional": false
},
"arguments": [
{
"spread": {
"start": 1918,
"end": 1921,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1921,
"end": 1923,
"ctxt": 0
},
"value": "t3",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 1956,
"end": 1983,
"ctxt": 0
},
"kind": "const",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1962,
"end": 1982,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1962,
"end": 1965,
"ctxt": 0
},
"value": "z15",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 1968,
"end": 1982,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 1968,
"end": 1971,
"ctxt": 0
},
"value": "f11",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 1972,
"end": 1974,
"ctxt": 0
},
"value": 42.0
}
},
{
"spread": {
"start": 1976,
"end": 1979,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1979,
"end": 1981,
"ctxt": 0
},
"value": "t2",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 2010,
"end": 2046,
"ctxt": 0
},
"kind": "const",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 2016,
"end": 2045,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2016,
"end": 2019,
"ctxt": 0
},
"value": "z16",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 2022,
"end": 2045,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 2022,
"end": 2025,
"ctxt": 0
},
"value": "f11",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 2026,
"end": 2028,
"ctxt": 0
},
"value": 42.0
}
},
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 2030,
"end": 2037,
"ctxt": 0
},
"value": "hello",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
},
{
"spread": {
"start": 2039,
"end": 2042,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 2042,
"end": 2044,
"ctxt": 0
},
"value": "t1",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 2074,
"end": 2116,
"ctxt": 0
},
"kind": "const",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 2080,
"end": 2115,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2080,
"end": 2083,
"ctxt": 0
},
"value": "z17",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 2086,
"end": 2115,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 2086,
"end": 2089,
"ctxt": 0
},
"value": "f11",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 2090,
"end": 2092,
"ctxt": 0
},
"value": 42.0
}
},
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 2094,
"end": 2101,
"ctxt": 0
},
"value": "hello",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
},
{
"spread": null,
"expression": {
"type": "BooleanLiteral",
"span": {
"start": 2103,
"end": 2107,
"ctxt": 0
},
"value": true
}
},
{
"spread": {
"start": 2109,
"end": 2112,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 2112,
"end": 2114,
"ctxt": 0
},
"value": "t0",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 2141,
"end": 2170,
"ctxt": 0
},
"kind": "const",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 2147,
"end": 2169,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2147,
"end": 2150,
"ctxt": 0
},
"value": "z18",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 2153,
"end": 2169,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 2153,
"end": 2156,
"ctxt": 0
},
"value": "f11",
"optional": false
},
"arguments": [
{
"spread": {
"start": 2157,
"end": 2160,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 2160,
"end": 2162,
"ctxt": 0
},
"value": "ns",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "BooleanLiteral",
"span": {
"start": 2164,
"end": 2168,
"ctxt": 0
},
"value": true
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 2212,
"end": 2215,
"ctxt": 0
},
"value": "g11",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 2264,
"end": 2268,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 2264,
"end": 2268,
"ctxt": 0
},
"value": "u",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2265,
"end": 2268,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 2267,
"end": 2268,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 2267,
"end": 2268,
"ctxt": 0
},
"value": "U",
"optional": false
},
"typeParams": null
}
}
}
},
{
"type": "Parameter",
"span": {
"start": 2270,
"end": 2274,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 2270,
"end": 2274,
"ctxt": 0
},
"value": "v",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2271,
"end": 2274,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 2273,
"end": 2274,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 2273,
"end": 2274,
"ctxt": 0
},
"value": "V",
"optional": false
},
"typeParams": null
}
}
}
}
],
"decorators": [],
"span": {
"start": 2203,
"end": 2441,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 2276,
"end": 2441,
"ctxt": 0
},
"stmts": [
{
"type": "VariableDeclaration",
"span": {
"start": 2282,
"end": 2301,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 2286,
"end": 2300,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2286,
"end": 2288,
"ctxt": 0
},
"value": "x1",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 2291,
"end": 2300,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 2291,
"end": 2294,
"ctxt": 0
},
"value": "f11",
"optional": false
},
"arguments": [
{
"spread": {
"start": 2295,
"end": 2298,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 2298,
"end": 2299,
"ctxt": 0
},
"value": "u",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 2312,
"end": 2331,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 2316,
"end": 2330,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2316,
"end": 2318,
"ctxt": 0
},
"value": "x2",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 2321,
"end": 2330,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 2321,
"end": 2324,
"ctxt": 0
},
"value": "f11",
"optional": false
},
"arguments": [
{
"spread": {
"start": 2325,
"end": 2328,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 2328,
"end": 2329,
"ctxt": 0
},
"value": "v",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 2342,
"end": 2364,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 2346,
"end": 2363,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2346,
"end": 2348,
"ctxt": 0
},
"value": "x3",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 2351,
"end": 2363,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 2351,
"end": 2354,
"ctxt": 0
},
"value": "f11",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 2355,
"end": 2356,
"ctxt": 0
},
"value": 1.0
}
},
{
"spread": {
"start": 2358,
"end": 2361,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 2361,
"end": 2362,
"ctxt": 0
},
"value": "u",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 2390,
"end": 2415,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 2394,
"end": 2414,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2394,
"end": 2396,
"ctxt": 0
},
"value": "x4",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 2399,
"end": 2414,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 2399,
"end": 2402,
"ctxt": 0
},
"value": "f11",
"optional": false
},
"arguments": [
{
"spread": {
"start": 2403,
"end": 2406,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 2406,
"end": 2407,
"ctxt": 0
},
"value": "u",
"optional": false
}
},
{
"spread": {
"start": 2409,
"end": 2412,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 2412,
"end": 2413,
"ctxt": 0
},
"value": "v",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
}
]
},
"generator": false,
"async": false,
"typeParameters": {
"type": "TsTypeParameterDeclaration",
"span": {
"start": 2215,
"end": 2263,
"ctxt": 0
},
"parameters": [
{
"type": "TsTypeParameter",
"span": {
"start": 2216,
"end": 2234,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 2216,
"end": 2217,
"ctxt": 0
},
"value": "U",
"optional": false
},
"constraint": {
"type": "TsArrayType",
"span": {
"start": 2226,
"end": 2234,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 2226,
"end": 2232,
"ctxt": 0
},
"kind": "string"
}
},
"default": null
},
{
"type": "TsTypeParameter",
"span": {
"start": 2236,
"end": 2262,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 2236,
"end": 2237,
"ctxt": 0
},
"value": "V",
"optional": false
},
"constraint": {
"type": "TsTupleType",
"span": {
"start": 2246,
"end": 2262,
"ctxt": 0
},
"elemTypes": [
{
"type": "TsTupleElement",
"span": {
"start": 2247,
"end": 2253,
"ctxt": 0
},
"label": null,
"ty": {
"type": "TsKeywordType",
"span": {
"start": 2247,
"end": 2253,
"ctxt": 0
},
"kind": "number"
}
},
{
"type": "TsTupleElement",
"span": {
"start": 2255,
"end": 2261,
"ctxt": 0
},
"label": null,
"ty": {
"type": "TsKeywordType",
"span": {
"start": 2255,
"end": 2261,
"ctxt": 0
},
"kind": "number"
}
}
]
},
"default": null
}
]
},
"returnType": null
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 2452,
"end": 2456,
"ctxt": 0
},
"value": "call",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 2481,
"end": 2501,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 2481,
"end": 2501,
"ctxt": 0
},
"value": "f",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2482,
"end": 2501,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 2484,
"end": 2501,
"ctxt": 0
},
"params": [
{
"type": "RestElement",
"span": {
"start": 2485,
"end": 2495,
"ctxt": 0
},
"rest": {
"start": 2485,
"end": 2488,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 2488,
"end": 2492,
"ctxt": 0
},
"value": "args",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2492,
"end": 2495,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 2494,
"end": 2495,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 2494,
"end": 2495,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2497,
"end": 2501,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 2500,
"end": 2501,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 2500,
"end": 2501,
"ctxt": 0
},
"value": "U",
"optional": false
},
"typeParams": null
}
}
}
}
}
},
{
"type": "Parameter",
"span": {
"start": 2503,
"end": 2513,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "RestElement",
"span": {
"start": 2503,
"end": 2513,
"ctxt": 0
},
"rest": {
"start": 2503,
"end": 2506,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 2506,
"end": 2510,
"ctxt": 0
},
"value": "args",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2510,
"end": 2513,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 2512,
"end": 2513,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 2512,
"end": 2513,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
}
}
],
"decorators": [],
"span": {
"start": 2443,
"end": 2541,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 2515,
"end": 2541,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 2521,
"end": 2539,
"ctxt": 0
},
"argument": {
"type": "CallExpression",
"span": {
"start": 2528,
"end": 2538,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 2528,
"end": 2529,
"ctxt": 0
},
"value": "f",
"optional": false
},
"arguments": [
{
"spread": {
"start": 2530,
"end": 2533,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 2533,
"end": 2537,
"ctxt": 0
},
"value": "args",
"optional": false
}
}
],
"typeArguments": null
}
}
]
},
"generator": false,
"async": false,
"typeParameters": {
"type": "TsTypeParameterDeclaration",
"span": {
"start": 2456,
"end": 2480,
"ctxt": 0
},
"parameters": [
{
"type": "TsTypeParameter",
"span": {
"start": 2457,
"end": 2476,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 2457,
"end": 2458,
"ctxt": 0
},
"value": "T",
"optional": false
},
"constraint": {
"type": "TsArrayType",
"span": {
"start": 2467,
"end": 2476,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 2467,
"end": 2474,
"ctxt": 0
},
"kind": "unknown"
}
},
"default": null
},
{
"type": "TsTypeParameter",
"span": {
"start": 2478,
"end": 2479,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 2478,
"end": 2479,
"ctxt": 0
},
"value": "U",
"optional": false
},
"constraint": null,
"default": null
}
]
},
"returnType": null
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 2552,
"end": 2557,
"ctxt": 0
},
"value": "callr",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 2582,
"end": 2589,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 2582,
"end": 2589,
"ctxt": 0
},
"value": "args",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2586,
"end": 2589,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 2588,
"end": 2589,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 2588,
"end": 2589,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
}
},
{
"type": "Parameter",
"span": {
"start": 2591,
"end": 2611,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 2591,
"end": 2611,
"ctxt": 0
},
"value": "f",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2592,
"end": 2611,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 2594,
"end": 2611,
"ctxt": 0
},
"params": [
{
"type": "RestElement",
"span": {
"start": 2595,
"end": 2605,
"ctxt": 0
},
"rest": {
"start": 2595,
"end": 2598,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 2598,
"end": 2602,
"ctxt": 0
},
"value": "args",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2602,
"end": 2605,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 2604,
"end": 2605,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 2604,
"end": 2605,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2607,
"end": 2611,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 2610,
"end": 2611,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 2610,
"end": 2611,
"ctxt": 0
},
"value": "U",
"optional": false
},
"typeParams": null
}
}
}
}
}
}
],
"decorators": [],
"span": {
"start": 2543,
"end": 2639,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 2613,
"end": 2639,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 2619,
"end": 2637,
"ctxt": 0
},
"argument": {
"type": "CallExpression",
"span": {
"start": 2626,
"end": 2636,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 2626,
"end": 2627,
"ctxt": 0
},
"value": "f",
"optional": false
},
"arguments": [
{
"spread": {
"start": 2628,
"end": 2631,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 2631,
"end": 2635,
"ctxt": 0
},
"value": "args",
"optional": false
}
}
],
"typeArguments": null
}
}
]
},
"generator": false,
"async": false,
"typeParameters": {
"type": "TsTypeParameterDeclaration",
"span": {
"start": 2557,
"end": 2581,
"ctxt": 0
},
"parameters": [
{
"type": "TsTypeParameter",
"span": {
"start": 2558,
"end": 2577,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 2558,
"end": 2559,
"ctxt": 0
},
"value": "T",
"optional": false
},
"constraint": {
"type": "TsArrayType",
"span": {
"start": 2568,
"end": 2577,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 2568,
"end": 2575,
"ctxt": 0
},
"kind": "unknown"
}
},
"default": null
},
{
"type": "TsTypeParameter",
"span": {
"start": 2579,
"end": 2580,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 2579,
"end": 2580,
"ctxt": 0
},
"value": "U",
"optional": false
},
"constraint": null,
"default": null
}
]
},
"returnType": null
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 2658,
"end": 2661,
"ctxt": 0
},
"value": "f15",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 2662,
"end": 2671,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 2662,
"end": 2671,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2663,
"end": 2671,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2665,
"end": 2671,
"ctxt": 0
},
"kind": "string"
}
}
}
},
{
"type": "Parameter",
"span": {
"start": 2673,
"end": 2682,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 2673,
"end": 2682,
"ctxt": 0
},
"value": "b",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2674,
"end": 2682,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2676,
"end": 2682,
"ctxt": 0
},
"kind": "number"
}
}
}
}
],
"decorators": [],
"span": {
"start": 2641,
"end": 2701,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": null,
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 2683,
"end": 2700,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsUnionType",
"span": {
"start": 2685,
"end": 2700,
"ctxt": 0
},
"types": [
{
"type": "TsKeywordType",
"span": {
"start": 2685,
"end": 2691,
"ctxt": 0
},
"kind": "string"
},
{
"type": "TsKeywordType",
"span": {
"start": 2694,
"end": 2700,
"ctxt": 0
},
"kind": "number"
}
]
}
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 2719,
"end": 2722,
"ctxt": 0
},
"value": "f16",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 2729,
"end": 2733,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 2729,
"end": 2733,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2730,
"end": 2733,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 2732,
"end": 2733,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 2732,
"end": 2733,
"ctxt": 0
},
"value": "A",
"optional": false
},
"typeParams": null
}
}
}
},
{
"type": "Parameter",
"span": {
"start": 2735,
"end": 2739,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 2735,
"end": 2739,
"ctxt": 0
},
"value": "b",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2736,
"end": 2739,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 2738,
"end": 2739,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 2738,
"end": 2739,
"ctxt": 0
},
"value": "B",
"optional": false
},
"typeParams": null
}
}
}
}
],
"decorators": [],
"span": {
"start": 2702,
"end": 2748,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": {
"type": "TsTypeParameterDeclaration",
"span": {
"start": 2722,
"end": 2728,
"ctxt": 0
},
"parameters": [
{
"type": "TsTypeParameter",
"span": {
"start": 2723,
"end": 2724,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 2723,
"end": 2724,
"ctxt": 0
},
"value": "A",
"optional": false
},
"constraint": null,
"default": null
},
{
"type": "TsTypeParameter",
"span": {
"start": 2726,
"end": 2727,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 2726,
"end": 2727,
"ctxt": 0
},
"value": "B",
"optional": false
},
"constraint": null,
"default": null
}
]
},
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 2740,
"end": 2747,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsUnionType",
"span": {
"start": 2742,
"end": 2747,
"ctxt": 0
},
"types": [
{
"type": "TsTypeReference",
"span": {
"start": 2742,
"end": 2743,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 2742,
"end": 2743,
"ctxt": 0
},
"value": "A",
"optional": false
},
"typeParams": null
},
{
"type": "TsTypeReference",
"span": {
"start": 2746,
"end": 2747,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 2746,
"end": 2747,
"ctxt": 0
},
"value": "B",
"optional": false
},
"typeParams": null
}
]
}
}
},
{
"type": "VariableDeclaration",
"span": {
"start": 2750,
"end": 2790,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 2754,
"end": 2789,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2754,
"end": 2757,
"ctxt": 0
},
"value": "x20",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 2760,
"end": 2789,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 2760,
"end": 2764,
"ctxt": 0
},
"value": "call",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "ArrowFunctionExpression",
"span": {
"start": 2765,
"end": 2780,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 2766,
"end": 2767,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": null
},
{
"type": "Identifier",
"span": {
"start": 2769,
"end": 2770,
"ctxt": 0
},
"value": "y",
"optional": false,
"typeAnnotation": null
}
],
"body": {
"type": "BinaryExpression",
"span": {
"start": 2775,
"end": 2780,
"ctxt": 0
},
"operator": "+",
"left": {
"type": "Identifier",
"span": {
"start": 2775,
"end": 2776,
"ctxt": 0
},
"value": "x",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 2779,
"end": 2780,
"ctxt": 0
},
"value": "y",
"optional": false
}
},
"async": false,
"generator": false,
"typeParameters": null,
"returnType": null
}
},
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 2782,
"end": 2784,
"ctxt": 0
},
"value": 10.0
}
},
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 2786,
"end": 2788,
"ctxt": 0
},
"value": 20.0
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 2802,
"end": 2847,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 2806,
"end": 2846,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2806,
"end": 2809,
"ctxt": 0
},
"value": "x21",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 2812,
"end": 2846,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 2812,
"end": 2816,
"ctxt": 0
},
"value": "call",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "ArrowFunctionExpression",
"span": {
"start": 2817,
"end": 2832,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 2818,
"end": 2819,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": null
},
{
"type": "Identifier",
"span": {
"start": 2821,
"end": 2822,
"ctxt": 0
},
"value": "y",
"optional": false,
"typeAnnotation": null
}
],
"body": {
"type": "BinaryExpression",
"span": {
"start": 2827,
"end": 2832,
"ctxt": 0
},
"operator": "+",
"left": {
"type": "Identifier",
"span": {
"start": 2827,
"end": 2828,
"ctxt": 0
},
"value": "x",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 2831,
"end": 2832,
"ctxt": 0
},
"value": "y",
"optional": false
}
},
"async": false,
"generator": false,
"typeParameters": null,
"returnType": null
}
},
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 2834,
"end": 2836,
"ctxt": 0
},
"value": 10.0
}
},
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 2838,
"end": 2845,
"ctxt": 0
},
"value": "hello",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 2859,
"end": 2892,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 2863,
"end": 2891,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2863,
"end": 2866,
"ctxt": 0
},
"value": "x22",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 2869,
"end": 2891,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 2869,
"end": 2873,
"ctxt": 0
},
"value": "call",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 2874,
"end": 2877,
"ctxt": 0
},
"value": "f15",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 2879,
"end": 2886,
"ctxt": 0
},
"value": "hello",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
},
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 2888,
"end": 2890,
"ctxt": 0
},
"value": 42.0
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 2913,
"end": 2946,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 2917,
"end": 2945,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2917,
"end": 2920,
"ctxt": 0
},
"value": "x23",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 2923,
"end": 2945,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 2923,
"end": 2927,
"ctxt": 0
},
"value": "call",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 2928,
"end": 2931,
"ctxt": 0
},
"value": "f16",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 2933,
"end": 2940,
"ctxt": 0
},
"value": "hello",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
},
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 2942,
"end": 2944,
"ctxt": 0
},
"value": 42.0
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 2959,
"end": 3027,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 2963,
"end": 3026,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2963,
"end": 2966,
"ctxt": 0
},
"value": "x24",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 2969,
"end": 3026,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 2969,
"end": 2973,
"ctxt": 0
},
"value": "call",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3009,
"end": 3012,
"ctxt": 0
},
"value": "f16",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 3014,
"end": 3021,
"ctxt": 0
},
"value": "hello",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
},
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 3023,
"end": 3025,
"ctxt": 0
},
"value": 42.0
}
}
],
"typeArguments": {
"type": "TsTypeParameterInstantiation",
"span": {
"start": 2973,
"end": 3008,
"ctxt": 0
},
"params": [
{
"type": "TsTupleType",
"span": {
"start": 2974,
"end": 2990,
"ctxt": 0
},
"elemTypes": [
{
"type": "TsTupleElement",
"span": {
"start": 2975,
"end": 2981,
"ctxt": 0
},
"label": null,
"ty": {
"type": "TsKeywordType",
"span": {
"start": 2975,
"end": 2981,
"ctxt": 0
},
"kind": "string"
}
},
{
"type": "TsTupleElement",
"span": {
"start": 2983,
"end": 2989,
"ctxt": 0
},
"label": null,
"ty": {
"type": "TsKeywordType",
"span": {
"start": 2983,
"end": 2989,
"ctxt": 0
},
"kind": "number"
}
}
]
},
{
"type": "TsUnionType",
"span": {
"start": 2992,
"end": 3007,
"ctxt": 0
},
"types": [
{
"type": "TsKeywordType",
"span": {
"start": 2992,
"end": 2998,
"ctxt": 0
},
"kind": "string"
},
{
"type": "TsKeywordType",
"span": {
"start": 3001,
"end": 3007,
"ctxt": 0
},
"kind": "number"
}
]
}
]
}
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 3049,
"end": 3086,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3053,
"end": 3085,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3053,
"end": 3056,
"ctxt": 0
},
"value": "x30",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 3059,
"end": 3085,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 3059,
"end": 3064,
"ctxt": 0
},
"value": "callr",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3065,
"end": 3067,
"ctxt": 0
},
"value": "sn",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "ArrowFunctionExpression",
"span": {
"start": 3069,
"end": 3084,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 3070,
"end": 3071,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": null
},
{
"type": "Identifier",
"span": {
"start": 3073,
"end": 3074,
"ctxt": 0
},
"value": "y",
"optional": false,
"typeAnnotation": null
}
],
"body": {
"type": "BinaryExpression",
"span": {
"start": 3079,
"end": 3084,
"ctxt": 0
},
"operator": "+",
"left": {
"type": "Identifier",
"span": {
"start": 3079,
"end": 3080,
"ctxt": 0
},
"value": "x",
"optional": false
},
"right": {
"type": "Identifier",
"span": {
"start": 3083,
"end": 3084,
"ctxt": 0
},
"value": "y",
"optional": false
}
},
"async": false,
"generator": false,
"typeParameters": null,
"returnType": null
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 3098,
"end": 3123,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3102,
"end": 3122,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3102,
"end": 3105,
"ctxt": 0
},
"value": "x31",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 3108,
"end": 3122,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 3108,
"end": 3113,
"ctxt": 0
},
"value": "callr",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3114,
"end": 3116,
"ctxt": 0
},
"value": "sn",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3118,
"end": 3121,
"ctxt": 0
},
"value": "f15",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 3144,
"end": 3169,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3148,
"end": 3168,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3148,
"end": 3151,
"ctxt": 0
},
"value": "x32",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 3154,
"end": 3168,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 3154,
"end": 3159,
"ctxt": 0
},
"value": "callr",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3160,
"end": 3162,
"ctxt": 0
},
"value": "sn",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3164,
"end": 3167,
"ctxt": 0
},
"value": "f16",
"optional": false
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 3200,
"end": 3204,
"ctxt": 0
},
"value": "bind",
"optional": false
},
"declare": false,
"params": [
{
"type": "Parameter",
"span": {
"start": 3232,
"end": 3258,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 3232,
"end": 3258,
"ctxt": 0
},
"value": "f",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3233,
"end": 3258,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 3235,
"end": 3258,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 3236,
"end": 3240,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3237,
"end": 3240,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 3239,
"end": 3240,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3239,
"end": 3240,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
},
{
"type": "RestElement",
"span": {
"start": 3242,
"end": 3252,
"ctxt": 0
},
"rest": {
"start": 3242,
"end": 3245,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 3245,
"end": 3249,
"ctxt": 0
},
"value": "rest",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3249,
"end": 3252,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 3251,
"end": 3252,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3251,
"end": 3252,
"ctxt": 0
},
"value": "U",
"optional": false
},
"typeParams": null
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3254,
"end": 3258,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 3257,
"end": 3258,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3257,
"end": 3258,
"ctxt": 0
},
"value": "V",
"optional": false
},
"typeParams": null
}
}
}
}
}
},
{
"type": "Parameter",
"span": {
"start": 3260,
"end": 3264,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 3260,
"end": 3264,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3261,
"end": 3264,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 3263,
"end": 3264,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3263,
"end": 3264,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
}
}
],
"decorators": [],
"span": {
"start": 3191,
"end": 3311,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 3266,
"end": 3311,
"ctxt": 0
},
"stmts": [
{
"type": "ReturnStatement",
"span": {
"start": 3272,
"end": 3309,
"ctxt": 0
},
"argument": {
"type": "ArrowFunctionExpression",
"span": {
"start": 3279,
"end": 3308,
"ctxt": 0
},
"params": [
{
"type": "RestElement",
"span": {
"start": 3280,
"end": 3290,
"ctxt": 0
},
"rest": {
"start": 3280,
"end": 3283,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 3283,
"end": 3287,
"ctxt": 0
},
"value": "rest",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3287,
"end": 3290,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 3289,
"end": 3290,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 3289,
"end": 3290,
"ctxt": 0
},
"value": "U",
"optional": false
},
"typeParams": null
}
}
}
],
"body": {
"type": "CallExpression",
"span": {
"start": 3295,
"end": 3308,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 3295,
"end": 3296,
"ctxt": 0
},
"value": "f",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3297,
"end": 3298,
"ctxt": 0
},
"value": "x",
"optional": false
}
},
{
"spread": {
"start": 3300,
"end": 3303,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 3303,
"end": 3307,
"ctxt": 0
},
"value": "rest",
"optional": false
}
}
],
"typeArguments": null
},
"async": false,
"generator": false,
"typeParameters": null,
"returnType": null
}
}
]
},
"generator": false,
"async": false,
"typeParameters": {
"type": "TsTypeParameterDeclaration",
"span": {
"start": 3204,
"end": 3231,
"ctxt": 0
},
"parameters": [
{
"type": "TsTypeParameter",
"span": {
"start": 3205,
"end": 3206,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 3205,
"end": 3206,
"ctxt": 0
},
"value": "T",
"optional": false
},
"constraint": null,
"default": null
},
{
"type": "TsTypeParameter",
"span": {
"start": 3208,
"end": 3227,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 3208,
"end": 3209,
"ctxt": 0
},
"value": "U",
"optional": false
},
"constraint": {
"type": "TsArrayType",
"span": {
"start": 3218,
"end": 3227,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 3218,
"end": 3225,
"ctxt": 0
},
"kind": "unknown"
}
},
"default": null
},
{
"type": "TsTypeParameter",
"span": {
"start": 3229,
"end": 3230,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 3229,
"end": 3230,
"ctxt": 0
},
"value": "V",
"optional": false
},
"constraint": null,
"default": null
}
]
},
"returnType": null
},
{
"type": "VariableDeclaration",
"span": {
"start": 3313,
"end": 3379,
"ctxt": 0
},
"kind": "const",
"declare": true,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3327,
"end": 3378,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3327,
"end": 3330,
"ctxt": 0
},
"value": "f20",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3330,
"end": 3378,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 3332,
"end": 3378,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 3333,
"end": 3342,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3334,
"end": 3342,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 3336,
"end": 3342,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "Identifier",
"span": {
"start": 3344,
"end": 3353,
"ctxt": 0
},
"value": "y",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3345,
"end": 3353,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 3347,
"end": 3353,
"ctxt": 0
},
"kind": "string"
}
}
},
{
"type": "Identifier",
"span": {
"start": 3355,
"end": 3365,
"ctxt": 0
},
"value": "z",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3356,
"end": 3365,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 3358,
"end": 3365,
"ctxt": 0
},
"kind": "boolean"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3367,
"end": 3378,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 3370,
"end": 3378,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 3370,
"end": 3376,
"ctxt": 0
},
"kind": "string"
}
}
}
}
}
},
"init": null,
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 3381,
"end": 3407,
"ctxt": 0
},
"kind": "const",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3387,
"end": 3406,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3387,
"end": 3390,
"ctxt": 0
},
"value": "f21",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 3393,
"end": 3406,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 3393,
"end": 3397,
"ctxt": 0
},
"value": "bind",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3398,
"end": 3401,
"ctxt": 0
},
"value": "f20",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 3403,
"end": 3405,
"ctxt": 0
},
"value": 42.0
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 3448,
"end": 3479,
"ctxt": 0
},
"kind": "const",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3454,
"end": 3478,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3454,
"end": 3457,
"ctxt": 0
},
"value": "f22",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 3460,
"end": 3478,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 3460,
"end": 3464,
"ctxt": 0
},
"value": "bind",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3465,
"end": 3468,
"ctxt": 0
},
"value": "f21",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 3470,
"end": 3477,
"ctxt": 0
},
"value": "hello",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 3509,
"end": 3537,
"ctxt": 0
},
"kind": "const",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3515,
"end": 3536,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3515,
"end": 3518,
"ctxt": 0
},
"value": "f23",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 3521,
"end": 3536,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 3521,
"end": 3525,
"ctxt": 0
},
"value": "bind",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3526,
"end": 3529,
"ctxt": 0
},
"value": "f22",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "BooleanLiteral",
"span": {
"start": 3531,
"end": 3535,
"ctxt": 0
},
"value": true
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "ExpressionStatement",
"span": {
"start": 3558,
"end": 3581,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 3558,
"end": 3580,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 3558,
"end": 3561,
"ctxt": 0
},
"value": "f20",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 3562,
"end": 3564,
"ctxt": 0
},
"value": 42.0
}
},
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 3566,
"end": 3573,
"ctxt": 0
},
"value": "hello",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
},
{
"spread": null,
"expression": {
"type": "BooleanLiteral",
"span": {
"start": 3575,
"end": 3579,
"ctxt": 0
},
"value": true
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 3582,
"end": 3601,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 3582,
"end": 3600,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 3582,
"end": 3585,
"ctxt": 0
},
"value": "f21",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 3586,
"end": 3593,
"ctxt": 0
},
"value": "hello",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
},
{
"spread": null,
"expression": {
"type": "BooleanLiteral",
"span": {
"start": 3595,
"end": 3599,
"ctxt": 0
},
"value": true
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 3602,
"end": 3612,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 3602,
"end": 3611,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 3602,
"end": 3605,
"ctxt": 0
},
"value": "f22",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "BooleanLiteral",
"span": {
"start": 3606,
"end": 3610,
"ctxt": 0
},
"value": true
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 3613,
"end": 3619,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 3613,
"end": 3618,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 3613,
"end": 3616,
"ctxt": 0
},
"value": "f23",
"optional": false
},
"arguments": [],
"typeArguments": null
}
},
{
"type": "VariableDeclaration",
"span": {
"start": 3621,
"end": 3689,
"ctxt": 0
},
"kind": "const",
"declare": true,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3635,
"end": 3688,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3635,
"end": 3638,
"ctxt": 0
},
"value": "g20",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3638,
"end": 3688,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 3640,
"end": 3688,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 3641,
"end": 3650,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3642,
"end": 3650,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 3644,
"end": 3650,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "Identifier",
"span": {
"start": 3652,
"end": 3662,
"ctxt": 0
},
"value": "y",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3654,
"end": 3662,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 3656,
"end": 3662,
"ctxt": 0
},
"kind": "string"
}
}
},
{
"type": "Identifier",
"span": {
"start": 3664,
"end": 3675,
"ctxt": 0
},
"value": "z",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3666,
"end": 3675,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 3668,
"end": 3675,
"ctxt": 0
},
"kind": "boolean"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3677,
"end": 3688,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 3680,
"end": 3688,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 3680,
"end": 3686,
"ctxt": 0
},
"kind": "string"
}
}
}
}
}
},
"init": null,
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 3691,
"end": 3717,
"ctxt": 0
},
"kind": "const",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3697,
"end": 3716,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3697,
"end": 3700,
"ctxt": 0
},
"value": "g21",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 3703,
"end": 3716,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 3703,
"end": 3707,
"ctxt": 0
},
"value": "bind",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3708,
"end": 3711,
"ctxt": 0
},
"value": "g20",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 3713,
"end": 3715,
"ctxt": 0
},
"value": 42.0
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 3758,
"end": 3789,
"ctxt": 0
},
"kind": "const",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3764,
"end": 3788,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3764,
"end": 3767,
"ctxt": 0
},
"value": "g22",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 3770,
"end": 3788,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 3770,
"end": 3774,
"ctxt": 0
},
"value": "bind",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3775,
"end": 3778,
"ctxt": 0
},
"value": "g21",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 3780,
"end": 3787,
"ctxt": 0
},
"value": "hello",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 3819,
"end": 3847,
"ctxt": 0
},
"kind": "const",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 3825,
"end": 3846,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3825,
"end": 3828,
"ctxt": 0
},
"value": "g23",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 3831,
"end": 3846,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 3831,
"end": 3835,
"ctxt": 0
},
"value": "bind",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "Identifier",
"span": {
"start": 3836,
"end": 3839,
"ctxt": 0
},
"value": "g22",
"optional": false
}
},
{
"spread": null,
"expression": {
"type": "BooleanLiteral",
"span": {
"start": 3841,
"end": 3845,
"ctxt": 0
},
"value": true
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "ExpressionStatement",
"span": {
"start": 3868,
"end": 3891,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 3868,
"end": 3890,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 3868,
"end": 3871,
"ctxt": 0
},
"value": "g20",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 3872,
"end": 3874,
"ctxt": 0
},
"value": 42.0
}
},
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 3876,
"end": 3883,
"ctxt": 0
},
"value": "hello",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
},
{
"spread": null,
"expression": {
"type": "BooleanLiteral",
"span": {
"start": 3885,
"end": 3889,
"ctxt": 0
},
"value": true
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 3892,
"end": 3909,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 3892,
"end": 3908,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 3892,
"end": 3895,
"ctxt": 0
},
"value": "g20",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 3896,
"end": 3898,
"ctxt": 0
},
"value": 42.0
}
},
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 3900,
"end": 3907,
"ctxt": 0
},
"value": "hello",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 3910,
"end": 3918,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 3910,
"end": 3917,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 3910,
"end": 3913,
"ctxt": 0
},
"value": "g20",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 3914,
"end": 3916,
"ctxt": 0
},
"value": 42.0
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 3919,
"end": 3938,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 3919,
"end": 3937,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 3919,
"end": 3922,
"ctxt": 0
},
"value": "g21",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 3923,
"end": 3930,
"ctxt": 0
},
"value": "hello",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
},
{
"spread": null,
"expression": {
"type": "BooleanLiteral",
"span": {
"start": 3932,
"end": 3936,
"ctxt": 0
},
"value": true
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 3939,
"end": 3952,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 3939,
"end": 3951,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 3939,
"end": 3942,
"ctxt": 0
},
"value": "g21",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 3943,
"end": 3950,
"ctxt": 0
},
"value": "hello",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 3953,
"end": 3959,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 3953,
"end": 3958,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 3953,
"end": 3956,
"ctxt": 0
},
"value": "g21",
"optional": false
},
"arguments": [],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 3960,
"end": 3970,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 3960,
"end": 3969,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 3960,
"end": 3963,
"ctxt": 0
},
"value": "g22",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "BooleanLiteral",
"span": {
"start": 3964,
"end": 3968,
"ctxt": 0
},
"value": true
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 3971,
"end": 3977,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 3971,
"end": 3976,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 3971,
"end": 3974,
"ctxt": 0
},
"value": "g22",
"optional": false
},
"arguments": [],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 3978,
"end": 3984,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 3978,
"end": 3983,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 3978,
"end": 3981,
"ctxt": 0
},
"value": "g23",
"optional": false
},
"arguments": [],
"typeArguments": null
}
},
{
"type": "FunctionDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 4003,
"end": 4006,
"ctxt": 0
},
"value": "f30",
"optional": false
},
"declare": true,
"params": [
{
"type": "Parameter",
"span": {
"start": 4039,
"end": 4043,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "Identifier",
"span": {
"start": 4039,
"end": 4043,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4040,
"end": 4043,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4042,
"end": 4043,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4042,
"end": 4043,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
}
},
{
"type": "Parameter",
"span": {
"start": 4045,
"end": 4055,
"ctxt": 0
},
"decorators": [],
"pat": {
"type": "RestElement",
"span": {
"start": 4045,
"end": 4055,
"ctxt": 0
},
"rest": {
"start": 4045,
"end": 4048,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 4048,
"end": 4052,
"ctxt": 0
},
"value": "args",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4052,
"end": 4055,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4054,
"end": 4055,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4054,
"end": 4055,
"ctxt": 0
},
"value": "U",
"optional": false
},
"typeParams": null
}
}
}
}
],
"decorators": [],
"span": {
"start": 3986,
"end": 4060,
"ctxt": 0
},
"body": null,
"generator": false,
"async": false,
"typeParameters": {
"type": "TsTypeParameterDeclaration",
"span": {
"start": 4006,
"end": 4038,
"ctxt": 0
},
"parameters": [
{
"type": "TsTypeParameter",
"span": {
"start": 4007,
"end": 4008,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 4007,
"end": 4008,
"ctxt": 0
},
"value": "T",
"optional": false
},
"constraint": null,
"default": null
},
{
"type": "TsTypeParameter",
"span": {
"start": 4010,
"end": 4037,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 4010,
"end": 4011,
"ctxt": 0
},
"value": "U",
"optional": false
},
"constraint": {
"type": "TsArrayType",
"span": {
"start": 4020,
"end": 4037,
"ctxt": 0
},
"elemType": {
"type": "TsParenthesizedType",
"span": {
"start": 4020,
"end": 4035,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 4021,
"end": 4034,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 4022,
"end": 4026,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4023,
"end": 4026,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4025,
"end": 4026,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4025,
"end": 4026,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4028,
"end": 4034,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 4031,
"end": 4034,
"ctxt": 0
},
"kind": "any"
}
}
}
}
},
"default": null
}
]
},
"returnType": {
"type": "TsTypeAnnotation",
"span": {
"start": 4056,
"end": 4059,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4058,
"end": 4059,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4058,
"end": 4059,
"ctxt": 0
},
"value": "U",
"optional": false
},
"typeParams": null
}
}
},
{
"type": "VariableDeclaration",
"span": {
"start": 4062,
"end": 4107,
"ctxt": 0
},
"kind": "const",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 4068,
"end": 4106,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 4068,
"end": 4071,
"ctxt": 0
},
"value": "c30",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "CallExpression",
"span": {
"start": 4074,
"end": 4106,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 4074,
"end": 4077,
"ctxt": 0
},
"value": "f30",
"optional": false
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 4078,
"end": 4080,
"ctxt": 0
},
"value": 42.0
}
},
{
"spread": null,
"expression": {
"type": "ArrowFunctionExpression",
"span": {
"start": 4082,
"end": 4093,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 4082,
"end": 4083,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": null
}
],
"body": {
"type": "BinaryExpression",
"span": {
"start": 4087,
"end": 4093,
"ctxt": 0
},
"operator": "+",
"left": {
"type": "StringLiteral",
"span": {
"start": 4087,
"end": 4089,
"ctxt": 0
},
"value": "",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
},
"right": {
"type": "Identifier",
"span": {
"start": 4092,
"end": 4093,
"ctxt": 0
},
"value": "x",
"optional": false
}
},
"async": false,
"generator": false,
"typeParameters": null,
"returnType": null
}
},
{
"spread": null,
"expression": {
"type": "ArrowFunctionExpression",
"span": {
"start": 4095,
"end": 4105,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 4095,
"end": 4096,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": null
}
],
"body": {
"type": "BinaryExpression",
"span": {
"start": 4100,
"end": 4105,
"ctxt": 0
},
"operator": "+",
"left": {
"type": "Identifier",
"span": {
"start": 4100,
"end": 4101,
"ctxt": 0
},
"value": "x",
"optional": false
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 4104,
"end": 4105,
"ctxt": 0
},
"value": 1.0
}
},
"async": false,
"generator": false,
"typeParameters": null,
"returnType": null
}
}
],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "TsTypeAliasDeclaration",
"span": {
"start": 4160,
"end": 4226,
"ctxt": 0
},
"declare": false,
"id": {
"type": "Identifier",
"span": {
"start": 4165,
"end": 4168,
"ctxt": 0
},
"value": "T01",
"optional": false
},
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4171,
"end": 4225,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4171,
"end": 4181,
"ctxt": 0
},
"value": "Parameters",
"optional": false
},
"typeParams": {
"type": "TsTypeParameterInstantiation",
"span": {
"start": 4181,
"end": 4225,
"ctxt": 0
},
"params": [
{
"type": "TsFunctionType",
"span": {
"start": 4182,
"end": 4224,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 4183,
"end": 4192,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4184,
"end": 4192,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 4186,
"end": 4192,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "Identifier",
"span": {
"start": 4194,
"end": 4203,
"ctxt": 0
},
"value": "y",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4195,
"end": 4203,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 4197,
"end": 4203,
"ctxt": 0
},
"kind": "string"
}
}
},
{
"type": "Identifier",
"span": {
"start": 4205,
"end": 4215,
"ctxt": 0
},
"value": "z",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4206,
"end": 4215,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 4208,
"end": 4215,
"ctxt": 0
},
"kind": "boolean"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4217,
"end": 4224,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 4220,
"end": 4224,
"ctxt": 0
},
"kind": "void"
}
}
}
]
}
}
},
{
"type": "TsTypeAliasDeclaration",
"span": {
"start": 4227,
"end": 4295,
"ctxt": 0
},
"declare": false,
"id": {
"type": "Identifier",
"span": {
"start": 4232,
"end": 4235,
"ctxt": 0
},
"value": "T02",
"optional": false
},
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4238,
"end": 4294,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4238,
"end": 4248,
"ctxt": 0
},
"value": "Parameters",
"optional": false
},
"typeParams": {
"type": "TsTypeParameterInstantiation",
"span": {
"start": 4248,
"end": 4294,
"ctxt": 0
},
"params": [
{
"type": "TsFunctionType",
"span": {
"start": 4249,
"end": 4293,
"ctxt": 0
},
"params": [
{
"type": "RestElement",
"span": {
"start": 4250,
"end": 4284,
"ctxt": 0
},
"rest": {
"start": 4250,
"end": 4253,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 4253,
"end": 4257,
"ctxt": 0
},
"value": "args",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4257,
"end": 4284,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTupleType",
"span": {
"start": 4259,
"end": 4284,
"ctxt": 0
},
"elemTypes": [
{
"type": "TsTupleElement",
"span": {
"start": 4260,
"end": 4266,
"ctxt": 0
},
"label": null,
"ty": {
"type": "TsKeywordType",
"span": {
"start": 4260,
"end": 4266,
"ctxt": 0
},
"kind": "number"
}
},
{
"type": "TsTupleElement",
"span": {
"start": 4268,
"end": 4274,
"ctxt": 0
},
"label": null,
"ty": {
"type": "TsKeywordType",
"span": {
"start": 4268,
"end": 4274,
"ctxt": 0
},
"kind": "string"
}
},
{
"type": "TsTupleElement",
"span": {
"start": 4276,
"end": 4283,
"ctxt": 0
},
"label": null,
"ty": {
"type": "TsKeywordType",
"span": {
"start": 4276,
"end": 4283,
"ctxt": 0
},
"kind": "boolean"
}
}
]
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4286,
"end": 4293,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 4289,
"end": 4293,
"ctxt": 0
},
"kind": "void"
}
}
}
]
}
}
},
{
"type": "TsTypeAliasDeclaration",
"span": {
"start": 4296,
"end": 4377,
"ctxt": 0
},
"declare": false,
"id": {
"type": "Identifier",
"span": {
"start": 4301,
"end": 4304,
"ctxt": 0
},
"value": "T03",
"optional": false
},
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4307,
"end": 4376,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4307,
"end": 4328,
"ctxt": 0
},
"value": "ConstructorParameters",
"optional": false
},
"typeParams": {
"type": "TsTypeParameterInstantiation",
"span": {
"start": 4328,
"end": 4376,
"ctxt": 0
},
"params": [
{
"type": "TsConstructorType",
"span": {
"start": 4329,
"end": 4375,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 4334,
"end": 4343,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4335,
"end": 4343,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 4337,
"end": 4343,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "Identifier",
"span": {
"start": 4345,
"end": 4354,
"ctxt": 0
},
"value": "y",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4346,
"end": 4354,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 4348,
"end": 4354,
"ctxt": 0
},
"kind": "string"
}
}
},
{
"type": "Identifier",
"span": {
"start": 4356,
"end": 4366,
"ctxt": 0
},
"value": "z",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4357,
"end": 4366,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 4359,
"end": 4366,
"ctxt": 0
},
"kind": "boolean"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4368,
"end": 4375,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 4371,
"end": 4375,
"ctxt": 0
},
"kind": "void"
}
},
"isAbstract": false
}
]
}
}
},
{
"type": "TsTypeAliasDeclaration",
"span": {
"start": 4378,
"end": 4461,
"ctxt": 0
},
"declare": false,
"id": {
"type": "Identifier",
"span": {
"start": 4383,
"end": 4386,
"ctxt": 0
},
"value": "T04",
"optional": false
},
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4389,
"end": 4460,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4389,
"end": 4410,
"ctxt": 0
},
"value": "ConstructorParameters",
"optional": false
},
"typeParams": {
"type": "TsTypeParameterInstantiation",
"span": {
"start": 4410,
"end": 4460,
"ctxt": 0
},
"params": [
{
"type": "TsConstructorType",
"span": {
"start": 4411,
"end": 4459,
"ctxt": 0
},
"params": [
{
"type": "RestElement",
"span": {
"start": 4416,
"end": 4450,
"ctxt": 0
},
"rest": {
"start": 4416,
"end": 4419,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 4419,
"end": 4423,
"ctxt": 0
},
"value": "args",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4423,
"end": 4450,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTupleType",
"span": {
"start": 4425,
"end": 4450,
"ctxt": 0
},
"elemTypes": [
{
"type": "TsTupleElement",
"span": {
"start": 4426,
"end": 4432,
"ctxt": 0
},
"label": null,
"ty": {
"type": "TsKeywordType",
"span": {
"start": 4426,
"end": 4432,
"ctxt": 0
},
"kind": "number"
}
},
{
"type": "TsTupleElement",
"span": {
"start": 4434,
"end": 4440,
"ctxt": 0
},
"label": null,
"ty": {
"type": "TsKeywordType",
"span": {
"start": 4434,
"end": 4440,
"ctxt": 0
},
"kind": "string"
}
},
{
"type": "TsTupleElement",
"span": {
"start": 4442,
"end": 4449,
"ctxt": 0
},
"label": null,
"ty": {
"type": "TsKeywordType",
"span": {
"start": 4442,
"end": 4449,
"ctxt": 0
},
"kind": "boolean"
}
}
]
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4452,
"end": 4459,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 4455,
"end": 4459,
"ctxt": 0
},
"kind": "void"
}
},
"isAbstract": false
}
]
}
}
},
{
"type": "TsTypeAliasDeclaration",
"span": {
"start": 4462,
"end": 4511,
"ctxt": 0
},
"declare": false,
"id": {
"type": "Identifier",
"span": {
"start": 4467,
"end": 4470,
"ctxt": 0
},
"value": "T05",
"optional": false
},
"typeParams": {
"type": "TsTypeParameterDeclaration",
"span": {
"start": 4470,
"end": 4473,
"ctxt": 0
},
"parameters": [
{
"type": "TsTypeParameter",
"span": {
"start": 4471,
"end": 4472,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 4471,
"end": 4472,
"ctxt": 0
},
"value": "T",
"optional": false
},
"constraint": null,
"default": null
}
]
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4476,
"end": 4510,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4476,
"end": 4486,
"ctxt": 0
},
"value": "Parameters",
"optional": false
},
"typeParams": {
"type": "TsTypeParameterInstantiation",
"span": {
"start": 4486,
"end": 4510,
"ctxt": 0
},
"params": [
{
"type": "TsFunctionType",
"span": {
"start": 4487,
"end": 4509,
"ctxt": 0
},
"params": [
{
"type": "RestElement",
"span": {
"start": 4488,
"end": 4500,
"ctxt": 0
},
"rest": {
"start": 4488,
"end": 4491,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 4491,
"end": 4495,
"ctxt": 0
},
"value": "args",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4495,
"end": 4500,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 4497,
"end": 4500,
"ctxt": 0
},
"elemType": {
"type": "TsTypeReference",
"span": {
"start": 4497,
"end": 4498,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4497,
"end": 4498,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4502,
"end": 4509,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 4505,
"end": 4509,
"ctxt": 0
},
"kind": "void"
}
}
}
]
}
}
},
{
"type": "TsTypeAliasDeclaration",
"span": {
"start": 4512,
"end": 4575,
"ctxt": 0
},
"declare": false,
"id": {
"type": "Identifier",
"span": {
"start": 4517,
"end": 4520,
"ctxt": 0
},
"value": "T06",
"optional": false
},
"typeParams": {
"type": "TsTypeParameterDeclaration",
"span": {
"start": 4520,
"end": 4523,
"ctxt": 0
},
"parameters": [
{
"type": "TsTypeParameter",
"span": {
"start": 4521,
"end": 4522,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 4521,
"end": 4522,
"ctxt": 0
},
"value": "T",
"optional": false
},
"constraint": null,
"default": null
}
]
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4526,
"end": 4574,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4526,
"end": 4547,
"ctxt": 0
},
"value": "ConstructorParameters",
"optional": false
},
"typeParams": {
"type": "TsTypeParameterInstantiation",
"span": {
"start": 4547,
"end": 4574,
"ctxt": 0
},
"params": [
{
"type": "TsConstructorType",
"span": {
"start": 4548,
"end": 4573,
"ctxt": 0
},
"params": [
{
"type": "RestElement",
"span": {
"start": 4553,
"end": 4564,
"ctxt": 0
},
"rest": {
"start": 4553,
"end": 4556,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 4556,
"end": 4560,
"ctxt": 0
},
"value": "args",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4560,
"end": 4564,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTupleType",
"span": {
"start": 4562,
"end": 4564,
"ctxt": 0
},
"elemTypes": []
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4566,
"end": 4573,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 4569,
"end": 4573,
"ctxt": 0
},
"kind": "void"
}
},
"isAbstract": false
}
]
}
}
},
{
"type": "TsTypeAliasDeclaration",
"span": {
"start": 4576,
"end": 4637,
"ctxt": 0
},
"declare": false,
"id": {
"type": "Identifier",
"span": {
"start": 4581,
"end": 4584,
"ctxt": 0
},
"value": "T07",
"optional": false
},
"typeParams": {
"type": "TsTypeParameterDeclaration",
"span": {
"start": 4584,
"end": 4601,
"ctxt": 0
},
"parameters": [
{
"type": "TsTypeParameter",
"span": {
"start": 4585,
"end": 4600,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 4585,
"end": 4586,
"ctxt": 0
},
"value": "T",
"optional": false
},
"constraint": {
"type": "TsArrayType",
"span": {
"start": 4595,
"end": 4600,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 4595,
"end": 4598,
"ctxt": 0
},
"kind": "any"
}
},
"default": null
}
]
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4604,
"end": 4636,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4604,
"end": 4614,
"ctxt": 0
},
"value": "Parameters",
"optional": false
},
"typeParams": {
"type": "TsTypeParameterInstantiation",
"span": {
"start": 4614,
"end": 4636,
"ctxt": 0
},
"params": [
{
"type": "TsFunctionType",
"span": {
"start": 4615,
"end": 4635,
"ctxt": 0
},
"params": [
{
"type": "RestElement",
"span": {
"start": 4616,
"end": 4626,
"ctxt": 0
},
"rest": {
"start": 4616,
"end": 4619,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 4619,
"end": 4623,
"ctxt": 0
},
"value": "args",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4623,
"end": 4626,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4625,
"end": 4626,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4625,
"end": 4626,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4628,
"end": 4635,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 4631,
"end": 4635,
"ctxt": 0
},
"kind": "void"
}
}
}
]
}
}
},
{
"type": "TsTypeAliasDeclaration",
"span": {
"start": 4638,
"end": 4714,
"ctxt": 0
},
"declare": false,
"id": {
"type": "Identifier",
"span": {
"start": 4643,
"end": 4646,
"ctxt": 0
},
"value": "T08",
"optional": false
},
"typeParams": {
"type": "TsTypeParameterDeclaration",
"span": {
"start": 4646,
"end": 4663,
"ctxt": 0
},
"parameters": [
{
"type": "TsTypeParameter",
"span": {
"start": 4647,
"end": 4662,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 4647,
"end": 4648,
"ctxt": 0
},
"value": "T",
"optional": false
},
"constraint": {
"type": "TsArrayType",
"span": {
"start": 4657,
"end": 4662,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 4657,
"end": 4660,
"ctxt": 0
},
"kind": "any"
}
},
"default": null
}
]
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4666,
"end": 4713,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4666,
"end": 4687,
"ctxt": 0
},
"value": "ConstructorParameters",
"optional": false
},
"typeParams": {
"type": "TsTypeParameterInstantiation",
"span": {
"start": 4687,
"end": 4713,
"ctxt": 0
},
"params": [
{
"type": "TsConstructorType",
"span": {
"start": 4688,
"end": 4712,
"ctxt": 0
},
"params": [
{
"type": "RestElement",
"span": {
"start": 4693,
"end": 4703,
"ctxt": 0
},
"rest": {
"start": 4693,
"end": 4696,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 4696,
"end": 4700,
"ctxt": 0
},
"value": "args",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4700,
"end": 4703,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4702,
"end": 4703,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4702,
"end": 4703,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4705,
"end": 4712,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 4708,
"end": 4712,
"ctxt": 0
},
"kind": "void"
}
},
"isAbstract": false
}
]
}
}
},
{
"type": "TsTypeAliasDeclaration",
"span": {
"start": 4715,
"end": 4747,
"ctxt": 0
},
"declare": false,
"id": {
"type": "Identifier",
"span": {
"start": 4720,
"end": 4723,
"ctxt": 0
},
"value": "T09",
"optional": false
},
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4726,
"end": 4746,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4726,
"end": 4736,
"ctxt": 0
},
"value": "Parameters",
"optional": false
},
"typeParams": {
"type": "TsTypeParameterInstantiation",
"span": {
"start": 4736,
"end": 4746,
"ctxt": 0
},
"params": [
{
"type": "TsTypeReference",
"span": {
"start": 4737,
"end": 4745,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4737,
"end": 4745,
"ctxt": 0
},
"value": "Function",
"optional": false
},
"typeParams": null
}
]
}
}
},
{
"type": "TsTypeAliasDeclaration",
"span": {
"start": 4749,
"end": 4864,
"ctxt": 0
},
"declare": false,
"id": {
"type": "Identifier",
"span": {
"start": 4754,
"end": 4761,
"ctxt": 0
},
"value": "Record1",
"optional": false
},
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeLiteral",
"span": {
"start": 4764,
"end": 4864,
"ctxt": 0
},
"members": [
{
"type": "TsPropertySignature",
"span": {
"start": 4768,
"end": 4801,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 4768,
"end": 4772,
"ctxt": 0
},
"value": "move",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4772,
"end": 4800,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTupleType",
"span": {
"start": 4774,
"end": 4800,
"ctxt": 0
},
"elemTypes": [
{
"type": "TsTupleElement",
"span": {
"start": 4775,
"end": 4781,
"ctxt": 0
},
"label": null,
"ty": {
"type": "TsKeywordType",
"span": {
"start": 4775,
"end": 4781,
"ctxt": 0
},
"kind": "number"
}
},
{
"type": "TsTupleElement",
"span": {
"start": 4783,
"end": 4799,
"ctxt": 0
},
"label": null,
"ty": {
"type": "TsUnionType",
"span": {
"start": 4783,
"end": 4799,
"ctxt": 0
},
"types": [
{
"type": "TsLiteralType",
"span": {
"start": 4783,
"end": 4789,
"ctxt": 0
},
"literal": {
"type": "StringLiteral",
"span": {
"start": 4783,
"end": 4789,
"ctxt": 0
},
"value": "left",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
},
{
"type": "TsLiteralType",
"span": {
"start": 4792,
"end": 4799,
"ctxt": 0
},
"literal": {
"type": "StringLiteral",
"span": {
"start": 4792,
"end": 4799,
"ctxt": 0
},
"value": "right",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
}
]
}
}
]
}
},
"typeParams": null
},
{
"type": "TsPropertySignature",
"span": {
"start": 4804,
"end": 4834,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 4804,
"end": 4808,
"ctxt": 0
},
"value": "jump",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4808,
"end": 4833,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTupleType",
"span": {
"start": 4810,
"end": 4833,
"ctxt": 0
},
"elemTypes": [
{
"type": "TsTupleElement",
"span": {
"start": 4811,
"end": 4817,
"ctxt": 0
},
"label": null,
"ty": {
"type": "TsKeywordType",
"span": {
"start": 4811,
"end": 4817,
"ctxt": 0
},
"kind": "number"
}
},
{
"type": "TsTupleElement",
"span": {
"start": 4819,
"end": 4832,
"ctxt": 0
},
"label": null,
"ty": {
"type": "TsUnionType",
"span": {
"start": 4819,
"end": 4832,
"ctxt": 0
},
"types": [
{
"type": "TsLiteralType",
"span": {
"start": 4819,
"end": 4823,
"ctxt": 0
},
"literal": {
"type": "StringLiteral",
"span": {
"start": 4819,
"end": 4823,
"ctxt": 0
},
"value": "up",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
},
{
"type": "TsLiteralType",
"span": {
"start": 4826,
"end": 4832,
"ctxt": 0
},
"literal": {
"type": "StringLiteral",
"span": {
"start": 4826,
"end": 4832,
"ctxt": 0
},
"value": "down",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
}
]
}
}
]
}
},
"typeParams": null
},
{
"type": "TsPropertySignature",
"span": {
"start": 4837,
"end": 4850,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 4837,
"end": 4841,
"ctxt": 0
},
"value": "stop",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4841,
"end": 4849,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 4843,
"end": 4849,
"ctxt": 0
},
"kind": "string"
}
},
"typeParams": null
},
{
"type": "TsPropertySignature",
"span": {
"start": 4853,
"end": 4862,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 4853,
"end": 4857,
"ctxt": 0
},
"value": "done",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4857,
"end": 4861,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTupleType",
"span": {
"start": 4859,
"end": 4861,
"ctxt": 0
},
"elemTypes": []
}
},
"typeParams": null
}
]
}
},
{
"type": "TsTypeAliasDeclaration",
"span": {
"start": 4866,
"end": 4987,
"ctxt": 0
},
"declare": false,
"id": {
"type": "Identifier",
"span": {
"start": 4871,
"end": 4880,
"ctxt": 0
},
"value": "EventType",
"optional": false
},
"typeParams": {
"type": "TsTypeParameterDeclaration",
"span": {
"start": 4880,
"end": 4883,
"ctxt": 0
},
"parameters": [
{
"type": "TsTypeParameter",
"span": {
"start": 4881,
"end": 4882,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 4881,
"end": 4882,
"ctxt": 0
},
"value": "T",
"optional": false
},
"constraint": null,
"default": null
}
]
},
"typeAnnotation": {
"type": "TsTypeLiteral",
"span": {
"start": 4886,
"end": 4987,
"ctxt": 0
},
"members": [
{
"type": "TsMethodSignature",
"span": {
"start": 4890,
"end": 4984,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 4890,
"end": 4894,
"ctxt": 0
},
"value": "emit",
"optional": false
},
"computed": false,
"optional": false,
"params": [
{
"type": "Identifier",
"span": {
"start": 4924,
"end": 4928,
"ctxt": 0
},
"value": "e",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4925,
"end": 4928,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4927,
"end": 4928,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4927,
"end": 4928,
"ctxt": 0
},
"value": "K",
"optional": false
},
"typeParams": null
}
}
},
{
"type": "RestElement",
"span": {
"start": 4930,
"end": 4976,
"ctxt": 0
},
"rest": {
"start": 4930,
"end": 4933,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 4933,
"end": 4940,
"ctxt": 0
},
"value": "payload",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 4940,
"end": 4976,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsConditionalType",
"span": {
"start": 4942,
"end": 4976,
"ctxt": 0
},
"checkType": {
"type": "TsIndexedAccessType",
"span": {
"start": 4942,
"end": 4946,
"ctxt": 0
},
"readonly": false,
"objectType": {
"type": "TsTypeReference",
"span": {
"start": 4942,
"end": 4943,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4942,
"end": 4943,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
},
"indexType": {
"type": "TsTypeReference",
"span": {
"start": 4944,
"end": 4945,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4944,
"end": 4945,
"ctxt": 0
},
"value": "K",
"optional": false
},
"typeParams": null
}
},
"extendsType": {
"type": "TsArrayType",
"span": {
"start": 4955,
"end": 4960,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 4955,
"end": 4958,
"ctxt": 0
},
"kind": "any"
}
},
"trueType": {
"type": "TsIndexedAccessType",
"span": {
"start": 4963,
"end": 4967,
"ctxt": 0
},
"readonly": false,
"objectType": {
"type": "TsTypeReference",
"span": {
"start": 4963,
"end": 4964,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4963,
"end": 4964,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
},
"indexType": {
"type": "TsTypeReference",
"span": {
"start": 4965,
"end": 4966,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4965,
"end": 4966,
"ctxt": 0
},
"value": "K",
"optional": false
},
"typeParams": null
}
},
"falseType": {
"type": "TsTupleType",
"span": {
"start": 4970,
"end": 4976,
"ctxt": 0
},
"elemTypes": [
{
"type": "TsTupleElement",
"span": {
"start": 4971,
"end": 4975,
"ctxt": 0
},
"label": null,
"ty": {
"type": "TsIndexedAccessType",
"span": {
"start": 4971,
"end": 4975,
"ctxt": 0
},
"readonly": false,
"objectType": {
"type": "TsTypeReference",
"span": {
"start": 4971,
"end": 4972,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4971,
"end": 4972,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
},
"indexType": {
"type": "TsTypeReference",
"span": {
"start": 4973,
"end": 4974,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4973,
"end": 4974,
"ctxt": 0
},
"value": "K",
"optional": false
},
"typeParams": null
}
}
}
]
}
}
}
}
],
"typeAnn": {
"type": "TsTypeAnnotation",
"span": {
"start": 4977,
"end": 4983,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 4979,
"end": 4983,
"ctxt": 0
},
"kind": "void"
}
},
"typeParams": {
"type": "TsTypeParameterDeclaration",
"span": {
"start": 4894,
"end": 4923,
"ctxt": 0
},
"parameters": [
{
"type": "TsTypeParameter",
"span": {
"start": 4895,
"end": 4922,
"ctxt": 0
},
"name": {
"type": "Identifier",
"span": {
"start": 4895,
"end": 4896,
"ctxt": 0
},
"value": "K",
"optional": false
},
"constraint": {
"type": "TsTypeOperator",
"span": {
"start": 4905,
"end": 4912,
"ctxt": 0
},
"op": "keyof",
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4911,
"end": 4912,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4911,
"end": 4912,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
},
"default": {
"type": "TsTypeOperator",
"span": {
"start": 4915,
"end": 4922,
"ctxt": 0
},
"op": "keyof",
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 4921,
"end": 4922,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 4921,
"end": 4922,
"ctxt": 0
},
"value": "T",
"optional": false
},
"typeParams": null
}
}
}
]
}
}
]
}
},
{
"type": "VariableDeclaration",
"span": {
"start": 4989,
"end": 5028,
"ctxt": 0
},
"kind": "var",
"declare": true,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 5001,
"end": 5027,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 5001,
"end": 5007,
"ctxt": 0
},
"value": "events",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 5007,
"end": 5027,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 5009,
"end": 5027,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5009,
"end": 5018,
"ctxt": 0
},
"value": "EventType",
"optional": false
},
"typeParams": {
"type": "TsTypeParameterInstantiation",
"span": {
"start": 5018,
"end": 5027,
"ctxt": 0
},
"params": [
{
"type": "TsTypeReference",
"span": {
"start": 5019,
"end": 5026,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 5019,
"end": 5026,
"ctxt": 0
},
"value": "Record1",
"optional": false
},
"typeParams": null
}
]
}
}
}
},
"init": null,
"definite": false
}
]
},
{
"type": "ExpressionStatement",
"span": {
"start": 5029,
"end": 5061,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 5029,
"end": 5060,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 5029,
"end": 5040,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 5029,
"end": 5035,
"ctxt": 0
},
"value": "events",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 5036,
"end": 5040,
"ctxt": 0
},
"value": "emit",
"optional": false
}
},
"arguments": [
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 5041,
"end": 5047,
"ctxt": 0
},
"value": "move",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
},
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 5049,
"end": 5051,
"ctxt": 0
},
"value": 10.0
}
},
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 5053,
"end": 5059,
"ctxt": 0
},
"value": "left",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 5062,
"end": 5092,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 5062,
"end": 5091,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 5062,
"end": 5073,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 5062,
"end": 5068,
"ctxt": 0
},
"value": "events",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 5069,
"end": 5073,
"ctxt": 0
},
"value": "emit",
"optional": false
}
},
"arguments": [
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 5074,
"end": 5080,
"ctxt": 0
},
"value": "jump",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
},
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 5082,
"end": 5084,
"ctxt": 0
},
"value": 20.0
}
},
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 5086,
"end": 5090,
"ctxt": 0
},
"value": "up",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 5093,
"end": 5121,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 5093,
"end": 5120,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 5093,
"end": 5104,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 5093,
"end": 5099,
"ctxt": 0
},
"value": "events",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 5100,
"end": 5104,
"ctxt": 0
},
"value": "emit",
"optional": false
}
},
"arguments": [
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 5105,
"end": 5111,
"ctxt": 0
},
"value": "stop",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
},
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 5113,
"end": 5119,
"ctxt": 0
},
"value": "Bye!",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
}
],
"typeArguments": null
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 5122,
"end": 5142,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 5122,
"end": 5141,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 5122,
"end": 5133,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 5122,
"end": 5128,
"ctxt": 0
},
"value": "events",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 5129,
"end": 5133,
"ctxt": 0
},
"value": "emit",
"optional": false
}
},
"arguments": [
{
"spread": null,
"expression": {
"type": "StringLiteral",
"span": {
"start": 5134,
"end": 5140,
"ctxt": 0
},
"value": "done",
"hasEscape": false,
"kind": {
"type": "normal",
"containsQuote": true
}
}
}
],
"typeArguments": null
}
},
{
"type": "VariableDeclaration",
"span": {
"start": 5166,
"end": 5209,
"ctxt": 0
},
"kind": "var",
"declare": true,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 5178,
"end": 5208,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 5178,
"end": 5181,
"ctxt": 0
},
"value": "ff1",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 5181,
"end": 5208,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 5183,
"end": 5208,
"ctxt": 0
},
"params": [
{
"type": "RestElement",
"span": {
"start": 5184,
"end": 5199,
"ctxt": 0
},
"rest": {
"start": 5184,
"end": 5187,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 5188,
"end": 5192,
"ctxt": 0
},
"value": "args",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 5192,
"end": 5199,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 5194,
"end": 5199,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 5194,
"end": 5197,
"ctxt": 0
},
"kind": "any"
}
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 5201,
"end": 5208,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 5204,
"end": 5208,
"ctxt": 0
},
"kind": "void"
}
}
}
}
},
"init": null,
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 5211,
"end": 5239,
"ctxt": 0
},
"kind": "var",
"declare": true,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 5223,
"end": 5238,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 5223,
"end": 5226,
"ctxt": 0
},
"value": "ff2",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 5226,
"end": 5238,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 5228,
"end": 5238,
"ctxt": 0
},
"params": [],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 5231,
"end": 5238,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 5234,
"end": 5238,
"ctxt": 0
},
"kind": "void"
}
}
}
}
},
"init": null,
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 5240,
"end": 5279,
"ctxt": 0
},
"kind": "var",
"declare": true,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 5252,
"end": 5278,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 5252,
"end": 5255,
"ctxt": 0
},
"value": "ff3",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 5255,
"end": 5278,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 5257,
"end": 5278,
"ctxt": 0
},
"params": [
{
"type": "RestElement",
"span": {
"start": 5258,
"end": 5269,
"ctxt": 0
},
"rest": {
"start": 5258,
"end": 5261,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 5261,
"end": 5265,
"ctxt": 0
},
"value": "args",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 5265,
"end": 5269,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTupleType",
"span": {
"start": 5267,
"end": 5269,
"ctxt": 0
},
"elemTypes": []
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 5271,
"end": 5278,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 5274,
"end": 5278,
"ctxt": 0
},
"kind": "void"
}
}
}
}
},
"init": null,
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 5280,
"end": 5316,
"ctxt": 0
},
"kind": "var",
"declare": true,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 5292,
"end": 5315,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 5292,
"end": 5295,
"ctxt": 0
},
"value": "ff4",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 5295,
"end": 5315,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 5297,
"end": 5315,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 5298,
"end": 5306,
"ctxt": 0
},
"value": "a",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 5299,
"end": 5306,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 5301,
"end": 5306,
"ctxt": 0
},
"kind": "never"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 5308,
"end": 5315,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 5311,
"end": 5315,
"ctxt": 0
},
"kind": "void"
}
}
}
}
},
"init": null,
"definite": false
}
]
},
{
"type": "ExpressionStatement",
"span": {
"start": 5318,
"end": 5328,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 5318,
"end": 5327,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "Identifier",
"span": {
"start": 5318,
"end": 5321,
"ctxt": 0
},
"value": "ff1",
"optional": false,
"typeAnnotation": null
},
"right": {
"type": "Identifier",
"span": {
"start": 5324,
"end": 5327,
"ctxt": 0
},
"value": "ff2",
"optional": false
}
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 5329,
"end": 5339,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 5329,
"end": 5338,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "Identifier",
"span": {
"start": 5329,
"end": 5332,
"ctxt": 0
},
"value": "ff1",
"optional": false,
"typeAnnotation": null
},
"right": {
"type": "Identifier",
"span": {
"start": 5335,
"end": 5338,
"ctxt": 0
},
"value": "ff3",
"optional": false
}
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 5340,
"end": 5350,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 5340,
"end": 5349,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "Identifier",
"span": {
"start": 5340,
"end": 5343,
"ctxt": 0
},
"value": "ff1",
"optional": false,
"typeAnnotation": null
},
"right": {
"type": "Identifier",
"span": {
"start": 5346,
"end": 5349,
"ctxt": 0
},
"value": "ff4",
"optional": false
}
}
}
],
"interpreter": null
}