File: asyncAwaitNestedClasses_es5.js

package info (click to toggle)
node-typescript 3.3.3333-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 324,548 kB
  • sloc: makefile: 6; sh: 3
file content (52 lines) | stat: -rw-r--r-- 1,508 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
//// [asyncAwaitNestedClasses_es5.ts]
// https://github.com/Microsoft/TypeScript/issues/20744
class A {
    static B = class B {
        static func2(): Promise<void> {
            return new Promise((resolve) => { resolve(null); });
        }
        static C = class C {
            static async func() {
                await B.func2();
            }
        }
    }
}

A.B.C.func();

//// [asyncAwaitNestedClasses_es5.js]
// https://github.com/Microsoft/TypeScript/issues/20744
var A = /** @class */ (function () {
    function A() {
    }
    var _a;
    A.B = (_a = /** @class */ (function () {
            function B() {
            }
            B.func2 = function () {
                return new Promise(function (resolve) { resolve(null); });
            };
            return B;
        }()),
        _a.C = /** @class */ (function () {
            function C() {
            }
            C.func = function () {
                return __awaiter(this, void 0, void 0, function () {
                    return __generator(this, function (_b) {
                        switch (_b.label) {
                            case 0: return [4 /*yield*/, _a.func2()];
                            case 1:
                                _b.sent();
                                return [2 /*return*/];
                        }
                    });
                });
            };
            return C;
        }()),
        _a);
    return A;
}());
A.B.C.func();