{ "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 }