{ "type": "Script", "span": { "start": 69, "end": 1245, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 83, "end": 91, "ctxt": 0 }, "value": "Thenable", "optional": false }, "declare": true, "span": { "start": 69, "end": 109, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassMethod", "span": { "start": 94, "end": 107, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 94, "end": 98, "ctxt": 0 }, "value": "then", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 94, "end": 107, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 100, "end": 106, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 102, "end": 106, "ctxt": 0 }, "kind": "void" } } }, "kind": "method", "isStatic": false, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "VariableDeclaration", "span": { "start": 110, "end": 129, "ctxt": 0 }, "kind": "let", "declare": true, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 122, "end": 128, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 122, "end": 123, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 123, "end": 128, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 125, "end": 128, "ctxt": 0 }, "kind": "any" } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 130, "end": 165, "ctxt": 0 }, "kind": "let", "declare": true, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 142, "end": 164, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 142, "end": 145, "ctxt": 0 }, "value": "obj", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 145, "end": 164, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 147, "end": 164, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 149, "end": 162, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 149, "end": 153, "ctxt": 0 }, "value": "then", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 153, "end": 161, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 155, "end": 161, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 166, "end": 197, "ctxt": 0 }, "kind": "let", "declare": true, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 178, "end": 196, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 178, "end": 186, "ctxt": 0 }, "value": "thenable", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 186, "end": 196, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 188, "end": 196, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 188, "end": 196, "ctxt": 0 }, "value": "Thenable", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 213, "end": 216, "ctxt": 0 }, "value": "fn1", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 198, "end": 222, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 219, "end": 222, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": true, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 262, "end": 265, "ctxt": 0 }, "value": "fn2", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 247, "end": 276, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 273, "end": 276, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": true, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 267, "end": 272, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 269, "end": 272, "ctxt": 0 }, "members": [] } } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 301, "end": 304, "ctxt": 0 }, "value": "fn3", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 286, "end": 315, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 312, "end": 315, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": true, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 306, "end": 311, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 308, "end": 311, "ctxt": 0 }, "kind": "any" } } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 340, "end": 343, "ctxt": 0 }, "value": "fn4", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 325, "end": 357, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 354, "end": 357, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": true, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 345, "end": 353, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 347, "end": 353, "ctxt": 0 }, "kind": "number" } } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 382, "end": 385, "ctxt": 0 }, "value": "fn5", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 367, "end": 410, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 407, "end": 410, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": true, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 387, "end": 406, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 389, "end": 406, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 389, "end": 400, "ctxt": 0 }, "value": "PromiseLike", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 400, "end": 406, "ctxt": 0 }, "params": [ { "type": "TsKeywordType", "span": { "start": 401, "end": 405, "ctxt": 0 }, "kind": "void" } ] } } } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 435, "end": 438, "ctxt": 0 }, "value": "fn6", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 420, "end": 454, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 451, "end": 454, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": true, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 440, "end": 450, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 442, "end": 450, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 442, "end": 450, "ctxt": 0 }, "value": "Thenable", "optional": false }, "typeParams": null } } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 479, "end": 482, "ctxt": 0 }, "value": "fn7", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 464, "end": 496, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 485, "end": 496, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 487, "end": 494, "ctxt": 0 }, "argument": null } ] }, "generator": false, "async": true, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 536, "end": 539, "ctxt": 0 }, "value": "fn8", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 521, "end": 555, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 542, "end": 555, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 544, "end": 553, "ctxt": 0 }, "argument": { "type": "NumericLiteral", "span": { "start": 551, "end": 552, "ctxt": 0 }, "value": 1.0, "raw": "1" } } ] }, "generator": false, "async": true, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 597, "end": 600, "ctxt": 0 }, "value": "fn9", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 582, "end": 619, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 603, "end": 619, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 605, "end": 617, "ctxt": 0 }, "argument": { "type": "NullLiteral", "span": { "start": 612, "end": 616, "ctxt": 0 } } } ] }, "generator": false, "async": true, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 658, "end": 662, "ctxt": 0 }, "value": "fn10", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 643, "end": 686, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 665, "end": 686, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 667, "end": 684, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 674, "end": 683, "ctxt": 0 }, "value": "undefined", "optional": false } } ] }, "generator": false, "async": true, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 725, "end": 729, "ctxt": 0 }, "value": "fn11", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 710, "end": 745, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 732, "end": 745, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 734, "end": 743, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 741, "end": 742, "ctxt": 0 }, "value": "a", "optional": false } } ] }, "generator": false, "async": true, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 784, "end": 788, "ctxt": 0 }, "value": "fn12", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 769, "end": 806, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 791, "end": 806, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 793, "end": 804, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 800, "end": 803, "ctxt": 0 }, "value": "obj", "optional": false } } ] }, "generator": false, "async": true, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 859, "end": 863, "ctxt": 0 }, "value": "fn13", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 844, "end": 886, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 866, "end": 886, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 868, "end": 884, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 875, "end": 883, "ctxt": 0 }, "value": "thenable", "optional": false } } ] }, "generator": false, "async": true, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 911, "end": 915, "ctxt": 0 }, "value": "fn14", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 896, "end": 930, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 918, "end": 930, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 920, "end": 928, "ctxt": 0 }, "expression": { "type": "AwaitExpression", "span": { "start": 920, "end": 927, "ctxt": 0 }, "argument": { "type": "NumericLiteral", "span": { "start": 926, "end": 927, "ctxt": 0 }, "value": 1.0, "raw": "1" } } } ] }, "generator": false, "async": true, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 970, "end": 974, "ctxt": 0 }, "value": "fn15", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 955, "end": 992, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 977, "end": 992, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 979, "end": 990, "ctxt": 0 }, "expression": { "type": "AwaitExpression", "span": { "start": 979, "end": 989, "ctxt": 0 }, "argument": { "type": "NullLiteral", "span": { "start": 985, "end": 989, "ctxt": 0 } } } } ] }, "generator": false, "async": true, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1032, "end": 1036, "ctxt": 0 }, "value": "fn16", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 1017, "end": 1059, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1039, "end": 1059, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 1041, "end": 1057, "ctxt": 0 }, "expression": { "type": "AwaitExpression", "span": { "start": 1041, "end": 1056, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 1047, "end": 1056, "ctxt": 0 }, "value": "undefined", "optional": false } } } ] }, "generator": false, "async": true, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1099, "end": 1103, "ctxt": 0 }, "value": "fn17", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 1084, "end": 1118, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1106, "end": 1118, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 1108, "end": 1116, "ctxt": 0 }, "expression": { "type": "AwaitExpression", "span": { "start": 1108, "end": 1115, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 1114, "end": 1115, "ctxt": 0 }, "value": "a", "optional": false } } } ] }, "generator": false, "async": true, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1158, "end": 1162, "ctxt": 0 }, "value": "fn18", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 1143, "end": 1179, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1165, "end": 1179, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 1167, "end": 1177, "ctxt": 0 }, "expression": { "type": "AwaitExpression", "span": { "start": 1167, "end": 1176, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 1173, "end": 1176, "ctxt": 0 }, "value": "obj", "optional": false } } } ] }, "generator": false, "async": true, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1219, "end": 1223, "ctxt": 0 }, "value": "fn19", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 1204, "end": 1245, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1226, "end": 1245, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 1228, "end": 1243, "ctxt": 0 }, "expression": { "type": "AwaitExpression", "span": { "start": 1228, "end": 1242, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 1234, "end": 1242, "ctxt": 0 }, "value": "thenable", "optional": false } } } ] }, "generator": false, "async": true, "typeParameters": null, "returnType": null } ], "interpreter": null }