{ "type": "Script", "span": { "start": 41, "end": 1217, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 55, "end": 63, "ctxt": 0 }, "value": "Thenable", "optional": false }, "declare": true, "span": { "start": 41, "end": 81, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassMethod", "span": { "start": 66, "end": 79, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 66, "end": 70, "ctxt": 0 }, "value": "then", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 66, "end": 79, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 72, "end": 78, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 74, "end": 78, "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": 82, "end": 101, "ctxt": 0 }, "kind": "let", "declare": true, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 94, "end": 100, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 94, "end": 95, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 95, "end": 100, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 97, "end": 100, "ctxt": 0 }, "kind": "any" } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 102, "end": 137, "ctxt": 0 }, "kind": "let", "declare": true, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 114, "end": 136, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 114, "end": 117, "ctxt": 0 }, "value": "obj", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 117, "end": 136, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 119, "end": 136, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 121, "end": 134, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 121, "end": 125, "ctxt": 0 }, "value": "then", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 125, "end": 133, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 127, "end": 133, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 138, "end": 169, "ctxt": 0 }, "kind": "let", "declare": true, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 150, "end": 168, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 150, "end": 158, "ctxt": 0 }, "value": "thenable", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 158, "end": 168, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 160, "end": 168, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 160, "end": 168, "ctxt": 0 }, "value": "Thenable", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 185, "end": 188, "ctxt": 0 }, "value": "fn1", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 170, "end": 194, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 191, "end": 194, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": true, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 234, "end": 237, "ctxt": 0 }, "value": "fn2", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 219, "end": 248, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 245, "end": 248, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": true, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 239, "end": 244, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 241, "end": 244, "ctxt": 0 }, "members": [] } } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 273, "end": 276, "ctxt": 0 }, "value": "fn3", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 258, "end": 287, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 284, "end": 287, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": true, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 278, "end": 283, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 280, "end": 283, "ctxt": 0 }, "kind": "any" } } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 312, "end": 315, "ctxt": 0 }, "value": "fn4", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 297, "end": 329, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 326, "end": 329, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": true, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 317, "end": 325, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 319, "end": 325, "ctxt": 0 }, "kind": "number" } } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 354, "end": 357, "ctxt": 0 }, "value": "fn5", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 339, "end": 382, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 379, "end": 382, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": true, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 359, "end": 378, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 361, "end": 378, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 361, "end": 372, "ctxt": 0 }, "value": "PromiseLike", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 372, "end": 378, "ctxt": 0 }, "params": [ { "type": "TsKeywordType", "span": { "start": 373, "end": 377, "ctxt": 0 }, "kind": "void" } ] } } } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 407, "end": 410, "ctxt": 0 }, "value": "fn6", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 392, "end": 426, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 423, "end": 426, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": true, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 412, "end": 422, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 414, "end": 422, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 414, "end": 422, "ctxt": 0 }, "value": "Thenable", "optional": false }, "typeParams": null } } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 451, "end": 454, "ctxt": 0 }, "value": "fn7", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 436, "end": 468, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 457, "end": 468, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 459, "end": 466, "ctxt": 0 }, "argument": null } ] }, "generator": false, "async": true, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 508, "end": 511, "ctxt": 0 }, "value": "fn8", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 493, "end": 527, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 514, "end": 527, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 516, "end": 525, "ctxt": 0 }, "argument": { "type": "NumericLiteral", "span": { "start": 523, "end": 524, "ctxt": 0 }, "value": 1.0, "raw": "1" } } ] }, "generator": false, "async": true, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 569, "end": 572, "ctxt": 0 }, "value": "fn9", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 554, "end": 591, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 575, "end": 591, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 577, "end": 589, "ctxt": 0 }, "argument": { "type": "NullLiteral", "span": { "start": 584, "end": 588, "ctxt": 0 } } } ] }, "generator": false, "async": true, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 630, "end": 634, "ctxt": 0 }, "value": "fn10", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 615, "end": 658, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 637, "end": 658, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 639, "end": 656, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 646, "end": 655, "ctxt": 0 }, "value": "undefined", "optional": false } } ] }, "generator": false, "async": true, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 697, "end": 701, "ctxt": 0 }, "value": "fn11", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 682, "end": 717, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 704, "end": 717, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 706, "end": 715, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 713, "end": 714, "ctxt": 0 }, "value": "a", "optional": false } } ] }, "generator": false, "async": true, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 756, "end": 760, "ctxt": 0 }, "value": "fn12", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 741, "end": 778, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 763, "end": 778, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 765, "end": 776, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 772, "end": 775, "ctxt": 0 }, "value": "obj", "optional": false } } ] }, "generator": false, "async": true, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 831, "end": 835, "ctxt": 0 }, "value": "fn13", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 816, "end": 858, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 838, "end": 858, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 840, "end": 856, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 847, "end": 855, "ctxt": 0 }, "value": "thenable", "optional": false } } ] }, "generator": false, "async": true, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 883, "end": 887, "ctxt": 0 }, "value": "fn14", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 868, "end": 902, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 890, "end": 902, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 892, "end": 900, "ctxt": 0 }, "expression": { "type": "AwaitExpression", "span": { "start": 892, "end": 899, "ctxt": 0 }, "argument": { "type": "NumericLiteral", "span": { "start": 898, "end": 899, "ctxt": 0 }, "value": 1.0, "raw": "1" } } } ] }, "generator": false, "async": true, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 942, "end": 946, "ctxt": 0 }, "value": "fn15", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 927, "end": 964, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 949, "end": 964, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 951, "end": 962, "ctxt": 0 }, "expression": { "type": "AwaitExpression", "span": { "start": 951, "end": 961, "ctxt": 0 }, "argument": { "type": "NullLiteral", "span": { "start": 957, "end": 961, "ctxt": 0 } } } } ] }, "generator": false, "async": true, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1004, "end": 1008, "ctxt": 0 }, "value": "fn16", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 989, "end": 1031, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1011, "end": 1031, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 1013, "end": 1029, "ctxt": 0 }, "expression": { "type": "AwaitExpression", "span": { "start": 1013, "end": 1028, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 1019, "end": 1028, "ctxt": 0 }, "value": "undefined", "optional": false } } } ] }, "generator": false, "async": true, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1071, "end": 1075, "ctxt": 0 }, "value": "fn17", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 1056, "end": 1090, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1078, "end": 1090, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 1080, "end": 1088, "ctxt": 0 }, "expression": { "type": "AwaitExpression", "span": { "start": 1080, "end": 1087, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 1086, "end": 1087, "ctxt": 0 }, "value": "a", "optional": false } } } ] }, "generator": false, "async": true, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1130, "end": 1134, "ctxt": 0 }, "value": "fn18", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 1115, "end": 1151, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1137, "end": 1151, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 1139, "end": 1149, "ctxt": 0 }, "expression": { "type": "AwaitExpression", "span": { "start": 1139, "end": 1148, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 1145, "end": 1148, "ctxt": 0 }, "value": "obj", "optional": false } } } ] }, "generator": false, "async": true, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1191, "end": 1195, "ctxt": 0 }, "value": "fn19", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 1176, "end": 1217, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1198, "end": 1217, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 1200, "end": 1215, "ctxt": 0 }, "expression": { "type": "AwaitExpression", "span": { "start": 1200, "end": 1214, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 1206, "end": 1214, "ctxt": 0 }, "value": "thenable", "optional": false } } } ] }, "generator": false, "async": true, "typeParameters": null, "returnType": null } ], "interpreter": null }