{ "type": "Script", "span": { "start": 0, "end": 3070, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 6, "end": 14, "ctxt": 0 }, "value": "SomeBase", "optional": false }, "declare": false, "span": { "start": 0, "end": 56, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 21, "end": 31, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 29, "end": 30, "ctxt": 0 }, "value": "n", "optional": false }, "value": null, "typeAnnotation": null, "isStatic": false, "decorators": [], "accessibility": "private", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 37, "end": 54, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 44, "end": 45, "ctxt": 0 }, "value": "s", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 45, "end": 53, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 47, "end": 53, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 63, "end": 75, "ctxt": 0 }, "value": "SomeDerived1", "optional": false }, "declare": false, "span": { "start": 57, "end": 111, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 99, "end": 109, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 107, "end": 108, "ctxt": 0 }, "value": "m", "optional": false }, "value": null, "typeAnnotation": null, "isStatic": false, "decorators": [], "accessibility": "private", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 84, "end": 92, "ctxt": 0 }, "value": "SomeBase", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 118, "end": 130, "ctxt": 0 }, "value": "SomeDerived2", "optional": false }, "declare": false, "span": { "start": 112, "end": 166, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 154, "end": 164, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 162, "end": 163, "ctxt": 0 }, "value": "m", "optional": false }, "value": null, "typeAnnotation": null, "isStatic": false, "decorators": [], "accessibility": "private", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 139, "end": 147, "ctxt": 0 }, "value": "SomeBase", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 173, "end": 185, "ctxt": 0 }, "value": "SomeDerived3", "optional": false }, "declare": false, "span": { "start": 167, "end": 221, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 209, "end": 219, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 217, "end": 218, "ctxt": 0 }, "value": "m", "optional": false }, "value": null, "typeAnnotation": null, "isStatic": false, "decorators": [], "accessibility": "private", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 194, "end": 202, "ctxt": 0 }, "value": "SomeBase", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "TsInterfaceDeclaration", "span": { "start": 223, "end": 298, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 233, "end": 236, "ctxt": 0 }, "value": "fn1", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 237, "end": 298, "ctxt": 0 }, "body": [ { "type": "TsConstructSignatureDeclaration", "span": { "start": 243, "end": 267, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 248, "end": 257, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 249, "end": 257, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 251, "end": 257, "ctxt": 0 }, "kind": "string" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 258, "end": 266, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 260, "end": 266, "ctxt": 0 }, "kind": "string" } }, "typeParams": null }, { "type": "TsConstructSignatureDeclaration", "span": { "start": 272, "end": 296, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 277, "end": 286, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 278, "end": 286, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 280, "end": 286, "ctxt": 0 }, "kind": "number" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 287, "end": 295, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 289, "end": 295, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } }, { "type": "VariableDeclaration", "span": { "start": 299, "end": 312, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 303, "end": 311, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 303, "end": 306, "ctxt": 0 }, "value": "fn1", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 306, "end": 311, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 308, "end": 311, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 308, "end": 311, "ctxt": 0 }, "value": "fn1", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 378, "end": 405, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 382, "end": 404, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 382, "end": 383, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 386, "end": 404, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 390, "end": 393, "ctxt": 0 }, "value": "fn1", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 394, "end": 403, "ctxt": 0 }, "value": "undefined", "optional": false } } ], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 406, "end": 420, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 410, "end": 419, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 410, "end": 411, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 411, "end": 419, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 413, "end": 419, "ctxt": 0 }, "kind": "string" } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 454, "end": 466, "ctxt": 0 }, "expression": { "type": "NewExpression", "span": { "start": 454, "end": 465, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 458, "end": 461, "ctxt": 0 }, "value": "fn1", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "ObjectExpression", "span": { "start": 462, "end": 464, "ctxt": 0 }, "properties": [] } } ], "typeArguments": null } }, { "type": "TsInterfaceDeclaration", "span": { "start": 592, "end": 682, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 602, "end": 605, "ctxt": 0 }, "value": "fn2", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 606, "end": 682, "ctxt": 0 }, "body": [ { "type": "TsConstructSignatureDeclaration", "span": { "start": 612, "end": 647, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 617, "end": 626, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 618, "end": 626, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 620, "end": 626, "ctxt": 0 }, "kind": "string" } } }, { "type": "Identifier", "span": { "start": 628, "end": 637, "ctxt": 0 }, "value": "n", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 629, "end": 637, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 631, "end": 637, "ctxt": 0 }, "kind": "number" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 638, "end": 646, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 640, "end": 646, "ctxt": 0 }, "kind": "number" } }, "typeParams": null }, { "type": "TsConstructSignatureDeclaration", "span": { "start": 652, "end": 680, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 660, "end": 669, "ctxt": 0 }, "value": "n", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 661, "end": 669, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 663, "end": 669, "ctxt": 0 }, "kind": "number" } } }, { "type": "Identifier", "span": { "start": 671, "end": 675, "ctxt": 0 }, "value": "t", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 672, "end": 675, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 674, "end": 675, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 674, "end": 675, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 676, "end": 679, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 678, "end": 679, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 678, "end": 679, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 656, "end": 659, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 657, "end": 658, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 657, "end": 658, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] } } ] } }, { "type": "VariableDeclaration", "span": { "start": 683, "end": 696, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 687, "end": 695, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 687, "end": 690, "ctxt": 0 }, "value": "fn2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 690, "end": 695, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 692, "end": 695, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 692, "end": 695, "ctxt": 0 }, "value": "fn2", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 698, "end": 734, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 702, "end": 733, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 702, "end": 703, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 706, "end": 733, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 710, "end": 713, "ctxt": 0 }, "value": "fn2", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 720, "end": 721, "ctxt": 0 }, "value": 0.0 } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 723, "end": 732, "ctxt": 0 }, "value": "undefined", "optional": false } } ], "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 713, "end": 719, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 714, "end": 718, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 714, "end": 718, "ctxt": 0 }, "value": "Date", "optional": false }, "typeParams": null } ] } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 735, "end": 747, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 739, "end": 746, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 739, "end": 740, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 740, "end": 746, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 742, "end": 746, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 742, "end": 746, "ctxt": 0 }, "value": "Date", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 867, "end": 890, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 871, "end": 889, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 871, "end": 872, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 875, "end": 889, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 879, "end": 882, "ctxt": 0 }, "value": "fn2", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 883, "end": 884, "ctxt": 0 }, "value": 0.0 } }, { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 886, "end": 888, "ctxt": 0 }, "value": "", "raw": "''" } } ], "typeArguments": null }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1013, "end": 1034, "ctxt": 0 }, "expression": { "type": "NewExpression", "span": { "start": 1013, "end": 1033, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 1017, "end": 1020, "ctxt": 0 }, "value": "fn2", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 1027, "end": 1029, "ctxt": 0 }, "value": "", "raw": "''" } }, { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 1031, "end": 1032, "ctxt": 0 }, "value": 0.0 } } ], "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 1020, "end": 1026, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1021, "end": 1025, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1021, "end": 1025, "ctxt": 0 }, "value": "Date", "optional": false }, "typeParams": null } ] } } }, { "type": "ExpressionStatement", "span": { "start": 1169, "end": 1184, "ctxt": 0 }, "expression": { "type": "NewExpression", "span": { "start": 1169, "end": 1183, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 1173, "end": 1176, "ctxt": 0 }, "value": "fn2", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 1177, "end": 1179, "ctxt": 0 }, "value": "", "raw": "''" } }, { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 1181, "end": 1182, "ctxt": 0 }, "value": 0.0 } } ], "typeArguments": null } }, { "type": "TsInterfaceDeclaration", "span": { "start": 1264, "end": 1392, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1274, "end": 1277, "ctxt": 0 }, "value": "fn3", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 1278, "end": 1392, "ctxt": 0 }, "body": [ { "type": "TsConstructSignatureDeclaration", "span": { "start": 1284, "end": 1305, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1291, "end": 1295, "ctxt": 0 }, "value": "n", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1292, "end": 1295, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1294, "end": 1295, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1294, "end": 1295, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1296, "end": 1304, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1298, "end": 1304, "ctxt": 0 }, "kind": "string" } }, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1287, "end": 1290, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1288, "end": 1289, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1288, "end": 1289, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] } }, { "type": "TsConstructSignatureDeclaration", "span": { "start": 1310, "end": 1346, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1320, "end": 1329, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1321, "end": 1329, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1323, "end": 1329, "ctxt": 0 }, "kind": "string" } } }, { "type": "Identifier", "span": { "start": 1331, "end": 1335, "ctxt": 0 }, "value": "t", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1332, "end": 1335, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1334, "end": 1335, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1334, "end": 1335, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 1337, "end": 1341, "ctxt": 0 }, "value": "u", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1338, "end": 1341, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1340, "end": 1341, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1340, "end": 1341, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1342, "end": 1345, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1344, "end": 1345, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1344, "end": 1345, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } }, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1313, "end": 1319, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1314, "end": 1315, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1314, "end": 1315, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null }, { "type": "TsTypeParameter", "span": { "start": 1317, "end": 1318, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1317, "end": 1318, "ctxt": 0 }, "value": "U", "optional": false }, "constraint": null, "default": null } ] } }, { "type": "TsConstructSignatureDeclaration", "span": { "start": 1351, "end": 1390, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1364, "end": 1368, "ctxt": 0 }, "value": "v", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1365, "end": 1368, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1367, "end": 1368, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1367, "end": 1368, "ctxt": 0 }, "value": "V", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 1370, "end": 1374, "ctxt": 0 }, "value": "u", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1371, "end": 1374, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1373, "end": 1374, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1373, "end": 1374, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 1376, "end": 1380, "ctxt": 0 }, "value": "t", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1377, "end": 1380, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1379, "end": 1380, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1379, "end": 1380, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1381, "end": 1389, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1383, "end": 1389, "ctxt": 0 }, "kind": "number" } }, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1354, "end": 1363, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1355, "end": 1356, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1355, "end": 1356, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null }, { "type": "TsTypeParameter", "span": { "start": 1358, "end": 1359, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1358, "end": 1359, "ctxt": 0 }, "value": "U", "optional": false }, "constraint": null, "default": null }, { "type": "TsTypeParameter", "span": { "start": 1361, "end": 1362, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1361, "end": 1362, "ctxt": 0 }, "value": "V", "optional": false }, "constraint": null, "default": null } ] } } ] } }, { "type": "VariableDeclaration", "span": { "start": 1393, "end": 1406, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1397, "end": 1405, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1397, "end": 1400, "ctxt": 0 }, "value": "fn3", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1400, "end": 1405, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1402, "end": 1405, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1402, "end": 1405, "ctxt": 0 }, "value": "fn3", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1408, "end": 1427, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1412, "end": 1426, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1412, "end": 1413, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 1416, "end": 1426, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 1420, "end": 1423, "ctxt": 0 }, "value": "fn3", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 1424, "end": 1425, "ctxt": 0 }, "value": 3.0 } } ], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1428, "end": 1455, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1432, "end": 1454, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1432, "end": 1433, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 1436, "end": 1454, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 1440, "end": 1443, "ctxt": 0 }, "value": "fn3", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 1444, "end": 1446, "ctxt": 0 }, "value": "", "raw": "''" } }, { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 1448, "end": 1449, "ctxt": 0 }, "value": 3.0 } }, { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 1451, "end": 1453, "ctxt": 0 }, "value": "", "raw": "''" } } ], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1456, "end": 1481, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1460, "end": 1480, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1460, "end": 1461, "ctxt": 0 }, "value": "n", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 1464, "end": 1480, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 1468, "end": 1471, "ctxt": 0 }, "value": "fn3", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 1472, "end": 1473, "ctxt": 0 }, "value": 5.0 } }, { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 1475, "end": 1476, "ctxt": 0 }, "value": 5.0 } }, { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 1478, "end": 1479, "ctxt": 0 }, "value": 5.0 } } ], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1482, "end": 1496, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1486, "end": 1495, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1486, "end": 1487, "ctxt": 0 }, "value": "n", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1487, "end": 1495, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1489, "end": 1495, "ctxt": 0 }, "kind": "number" } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1611, "end": 1638, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1615, "end": 1637, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1615, "end": 1616, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 1619, "end": 1637, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 1623, "end": 1626, "ctxt": 0 }, "value": "fn3", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 1635, "end": 1636, "ctxt": 0 }, "value": 4.0 } } ], "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 1626, "end": 1634, "ctxt": 0 }, "params": [ { "type": "TsKeywordType", "span": { "start": 1627, "end": 1633, "ctxt": 0 }, "kind": "number" } ] } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1639, "end": 1683, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1643, "end": 1682, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1643, "end": 1644, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 1647, "end": 1682, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 1651, "end": 1654, "ctxt": 0 }, "value": "fn3", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 1671, "end": 1673, "ctxt": 0 }, "value": "", "raw": "''" } }, { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 1675, "end": 1677, "ctxt": 0 }, "value": "", "raw": "''" } }, { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 1679, "end": 1681, "ctxt": 0 }, "value": "", "raw": "''" } } ], "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 1654, "end": 1670, "ctxt": 0 }, "params": [ { "type": "TsKeywordType", "span": { "start": 1655, "end": 1661, "ctxt": 0 }, "kind": "string" }, { "type": "TsKeywordType", "span": { "start": 1663, "end": 1669, "ctxt": 0 }, "kind": "string" } ] } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1684, "end": 1735, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1688, "end": 1734, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1688, "end": 1689, "ctxt": 0 }, "value": "n", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 1692, "end": 1734, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 1696, "end": 1699, "ctxt": 0 }, "value": "fn3", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 1724, "end": 1726, "ctxt": 0 }, "value": "", "raw": "''" } }, { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 1728, "end": 1730, "ctxt": 0 }, "value": "", "raw": "''" } }, { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 1732, "end": 1733, "ctxt": 0 }, "value": 3.0 } } ], "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 1699, "end": 1723, "ctxt": 0 }, "params": [ { "type": "TsKeywordType", "span": { "start": 1700, "end": 1706, "ctxt": 0 }, "kind": "number" }, { "type": "TsKeywordType", "span": { "start": 1708, "end": 1714, "ctxt": 0 }, "kind": "string" }, { "type": "TsKeywordType", "span": { "start": 1716, "end": 1722, "ctxt": 0 }, "kind": "string" } ] } }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1843, "end": 1885, "ctxt": 0 }, "expression": { "type": "NewExpression", "span": { "start": 1843, "end": 1884, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 1847, "end": 1850, "ctxt": 0 }, "value": "fn3", "optional": false }, "arguments": [], "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 1850, "end": 1882, "ctxt": 0 }, "params": [ { "type": "TsKeywordType", "span": { "start": 1851, "end": 1857, "ctxt": 0 }, "kind": "number" }, { "type": "TsKeywordType", "span": { "start": 1859, "end": 1865, "ctxt": 0 }, "kind": "number" }, { "type": "TsKeywordType", "span": { "start": 1867, "end": 1873, "ctxt": 0 }, "kind": "number" }, { "type": "TsKeywordType", "span": { "start": 1875, "end": 1881, "ctxt": 0 }, "kind": "number" } ] } } }, { "type": "TsInterfaceDeclaration", "span": { "start": 1990, "end": 2121, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2000, "end": 2003, "ctxt": 0 }, "value": "fn4", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 2004, "end": 2121, "ctxt": 0 }, "body": [ { "type": "TsConstructSignatureDeclaration", "span": { "start": 2010, "end": 2062, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2050, "end": 2054, "ctxt": 0 }, "value": "n", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2051, "end": 2054, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2053, "end": 2054, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2053, "end": 2054, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 2056, "end": 2060, "ctxt": 0 }, "value": "m", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2057, "end": 2060, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2059, "end": 2060, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2059, "end": 2060, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } ], "typeAnnotation": null, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2013, "end": 2049, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2014, "end": 2030, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2014, "end": 2015, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsKeywordType", "span": { "start": 2024, "end": 2030, "ctxt": 0 }, "kind": "string" }, "default": null }, { "type": "TsTypeParameter", "span": { "start": 2032, "end": 2048, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2032, "end": 2033, "ctxt": 0 }, "value": "U", "optional": false }, "constraint": { "type": "TsKeywordType", "span": { "start": 2042, "end": 2048, "ctxt": 0 }, "kind": "number" }, "default": null } ] } }, { "type": "TsConstructSignatureDeclaration", "span": { "start": 2067, "end": 2119, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2107, "end": 2111, "ctxt": 0 }, "value": "n", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2108, "end": 2111, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2110, "end": 2111, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2110, "end": 2111, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 2113, "end": 2117, "ctxt": 0 }, "value": "m", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2114, "end": 2117, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2116, "end": 2117, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2116, "end": 2117, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } } ], "typeAnnotation": null, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2070, "end": 2106, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2071, "end": 2087, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2071, "end": 2072, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsKeywordType", "span": { "start": 2081, "end": 2087, "ctxt": 0 }, "kind": "number" }, "default": null }, { "type": "TsTypeParameter", "span": { "start": 2089, "end": 2105, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2089, "end": 2090, "ctxt": 0 }, "value": "U", "optional": false }, "constraint": { "type": "TsKeywordType", "span": { "start": 2099, "end": 2105, "ctxt": 0 }, "kind": "string" }, "default": null } ] } } ] } }, { "type": "VariableDeclaration", "span": { "start": 2122, "end": 2135, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2126, "end": 2134, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2126, "end": 2129, "ctxt": 0 }, "value": "fn4", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2129, "end": 2134, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2131, "end": 2134, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2131, "end": 2134, "ctxt": 0 }, "value": "fn4", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2137, "end": 2168, "ctxt": 0 }, "expression": { "type": "NewExpression", "span": { "start": 2137, "end": 2167, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 2141, "end": 2144, "ctxt": 0 }, "value": "fn4", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 2161, "end": 2163, "ctxt": 0 }, "value": "", "raw": "''" } }, { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 2165, "end": 2166, "ctxt": 0 }, "value": 3.0 } } ], "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 2144, "end": 2160, "ctxt": 0 }, "params": [ { "type": "TsKeywordType", "span": { "start": 2145, "end": 2151, "ctxt": 0 }, "kind": "string" }, { "type": "TsKeywordType", "span": { "start": 2153, "end": 2159, "ctxt": 0 }, "kind": "number" } ] } } }, { "type": "ExpressionStatement", "span": { "start": 2169, "end": 2200, "ctxt": 0 }, "expression": { "type": "NewExpression", "span": { "start": 2169, "end": 2199, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 2173, "end": 2176, "ctxt": 0 }, "value": "fn4", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 2193, "end": 2194, "ctxt": 0 }, "value": 3.0 } }, { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 2196, "end": 2198, "ctxt": 0 }, "value": "", "raw": "''" } } ], "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 2176, "end": 2192, "ctxt": 0 }, "params": [ { "type": "TsKeywordType", "span": { "start": 2177, "end": 2183, "ctxt": 0 }, "kind": "string" }, { "type": "TsKeywordType", "span": { "start": 2185, "end": 2191, "ctxt": 0 }, "kind": "number" } ] } } }, { "type": "ExpressionStatement", "span": { "start": 2210, "end": 2241, "ctxt": 0 }, "expression": { "type": "NewExpression", "span": { "start": 2210, "end": 2240, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 2214, "end": 2217, "ctxt": 0 }, "value": "fn4", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 2234, "end": 2236, "ctxt": 0 }, "value": "", "raw": "''" } }, { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 2238, "end": 2239, "ctxt": 0 }, "value": 3.0 } } ], "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 2217, "end": 2233, "ctxt": 0 }, "params": [ { "type": "TsKeywordType", "span": { "start": 2218, "end": 2224, "ctxt": 0 }, "kind": "number" }, { "type": "TsKeywordType", "span": { "start": 2226, "end": 2232, "ctxt": 0 }, "kind": "string" } ] } } }, { "type": "ExpressionStatement", "span": { "start": 2251, "end": 2282, "ctxt": 0 }, "expression": { "type": "NewExpression", "span": { "start": 2251, "end": 2281, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 2255, "end": 2258, "ctxt": 0 }, "value": "fn4", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 2275, "end": 2276, "ctxt": 0 }, "value": 3.0 } }, { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 2278, "end": 2280, "ctxt": 0 }, "value": "", "raw": "''" } } ], "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 2258, "end": 2274, "ctxt": 0 }, "params": [ { "type": "TsKeywordType", "span": { "start": 2259, "end": 2265, "ctxt": 0 }, "kind": "number" }, { "type": "TsKeywordType", "span": { "start": 2267, "end": 2273, "ctxt": 0 }, "kind": "string" } ] } } }, { "type": "ExpressionStatement", "span": { "start": 2397, "end": 2412, "ctxt": 0 }, "expression": { "type": "NewExpression", "span": { "start": 2397, "end": 2411, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 2401, "end": 2404, "ctxt": 0 }, "value": "fn4", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 2405, "end": 2407, "ctxt": 0 }, "value": "", "raw": "''" } }, { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 2409, "end": 2410, "ctxt": 0 }, "value": 3.0 } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 2413, "end": 2428, "ctxt": 0 }, "expression": { "type": "NewExpression", "span": { "start": 2413, "end": 2427, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 2417, "end": 2420, "ctxt": 0 }, "value": "fn4", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 2421, "end": 2422, "ctxt": 0 }, "value": 3.0 } }, { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 2424, "end": 2426, "ctxt": 0 }, "value": "", "raw": "''" } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 2429, "end": 2451, "ctxt": 0 }, "expression": { "type": "NewExpression", "span": { "start": 2429, "end": 2450, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 2433, "end": 2436, "ctxt": 0 }, "value": "fn4", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 2437, "end": 2438, "ctxt": 0 }, "value": 3.0 } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2440, "end": 2449, "ctxt": 0 }, "value": "undefined", "optional": false } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 2452, "end": 2470, "ctxt": 0 }, "expression": { "type": "NewExpression", "span": { "start": 2452, "end": 2469, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 2456, "end": 2459, "ctxt": 0 }, "value": "fn4", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 2460, "end": 2462, "ctxt": 0 }, "value": "", "raw": "''" } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 2464, "end": 2468, "ctxt": 0 } } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 2573, "end": 2608, "ctxt": 0 }, "expression": { "type": "NewExpression", "span": { "start": 2573, "end": 2607, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 2577, "end": 2580, "ctxt": 0 }, "value": "fn4", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 2596, "end": 2600, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 2602, "end": 2606, "ctxt": 0 } } } ], "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 2580, "end": 2595, "ctxt": 0 }, "params": [ { "type": "TsKeywordType", "span": { "start": 2581, "end": 2588, "ctxt": 0 }, "kind": "boolean" }, { "type": "TsTypeReference", "span": { "start": 2590, "end": 2594, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2590, "end": 2594, "ctxt": 0 }, "value": "Date", "optional": false }, "typeParams": null } ] } } }, { "type": "ExpressionStatement", "span": { "start": 2738, "end": 2758, "ctxt": 0 }, "expression": { "type": "NewExpression", "span": { "start": 2738, "end": 2757, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 2742, "end": 2745, "ctxt": 0 }, "value": "fn4", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "BooleanLiteral", "span": { "start": 2746, "end": 2750, "ctxt": 0 }, "value": true } }, { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 2752, "end": 2756, "ctxt": 0 } } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 2768, "end": 2788, "ctxt": 0 }, "expression": { "type": "NewExpression", "span": { "start": 2768, "end": 2787, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 2772, "end": 2775, "ctxt": 0 }, "value": "fn4", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "NullLiteral", "span": { "start": 2776, "end": 2780, "ctxt": 0 } } }, { "spread": null, "expression": { "type": "BooleanLiteral", "span": { "start": 2782, "end": 2786, "ctxt": 0 }, "value": true } } ], "typeArguments": null } }, { "type": "TsInterfaceDeclaration", "span": { "start": 2883, "end": 2982, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2893, "end": 2896, "ctxt": 0 }, "value": "fn5", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 2897, "end": 2982, "ctxt": 0 }, "body": [ { "type": "TsConstructSignatureDeclaration", "span": { "start": 2903, "end": 2939, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2907, "end": 2929, "ctxt": 0 }, "value": "f", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2908, "end": 2929, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2910, "end": 2929, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2911, "end": 2920, "ctxt": 0 }, "value": "n", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2912, "end": 2920, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 2914, "end": 2920, "ctxt": 0 }, "kind": "string" } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2922, "end": 2929, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 2925, "end": 2929, "ctxt": 0 }, "kind": "void" } } } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2930, "end": 2938, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 2932, "end": 2938, "ctxt": 0 }, "kind": "string" } }, "typeParams": null }, { "type": "TsConstructSignatureDeclaration", "span": { "start": 2944, "end": 2980, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2948, "end": 2970, "ctxt": 0 }, "value": "f", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2949, "end": 2970, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2951, "end": 2970, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2952, "end": 2961, "ctxt": 0 }, "value": "n", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2953, "end": 2961, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 2955, "end": 2961, "ctxt": 0 }, "kind": "number" } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2963, "end": 2970, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 2966, "end": 2970, "ctxt": 0 }, "kind": "void" } } } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2971, "end": 2979, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 2973, "end": 2979, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } }, { "type": "VariableDeclaration", "span": { "start": 2983, "end": 2996, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2987, "end": 2995, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2987, "end": 2990, "ctxt": 0 }, "value": "fn5", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2990, "end": 2995, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2992, "end": 2995, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2992, "end": 2995, "ctxt": 0 }, "value": "fn5", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2997, "end": 3033, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3001, "end": 3032, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3001, "end": 3002, "ctxt": 0 }, "value": "n", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 3005, "end": 3032, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 3009, "end": 3012, "ctxt": 0 }, "value": "fn5", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 3013, "end": 3031, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3014, "end": 3015, "ctxt": 0 }, "value": "n", "optional": false, "typeAnnotation": null } ], "body": { "type": "CallExpression", "span": { "start": 3020, "end": 3031, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 3020, "end": 3029, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3020, "end": 3021, "ctxt": 0 }, "value": "n", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3022, "end": 3029, "ctxt": 0 }, "value": "toFixed", "optional": false } }, "arguments": [], "typeArguments": null }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ], "typeArguments": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3034, "end": 3070, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3038, "end": 3069, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3038, "end": 3039, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": null }, "init": { "type": "NewExpression", "span": { "start": 3042, "end": 3069, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 3046, "end": 3049, "ctxt": 0 }, "value": "fn5", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 3050, "end": 3068, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3051, "end": 3052, "ctxt": 0 }, "value": "n", "optional": false, "typeAnnotation": null } ], "body": { "type": "CallExpression", "span": { "start": 3057, "end": 3068, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 3057, "end": 3065, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3057, "end": 3058, "ctxt": 0 }, "value": "n", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3059, "end": 3065, "ctxt": 0 }, "value": "substr", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 3066, "end": 3067, "ctxt": 0 }, "value": 0.0 } } ], "typeArguments": null }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ], "typeArguments": null }, "definite": false } ] } ], "interpreter": null }