Skip to content

Commit 90b4e18

Browse files
committed
Update with changes from microsoft/TypeScript#15277
1 parent 138204b commit 90b4e18

File tree

2 files changed

+8
-10
lines changed

2 files changed

+8
-10
lines changed

tslib.es6.js

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -139,18 +139,17 @@ export function __asyncGenerator(thisArg, _arguments, generator) {
139139
function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; }
140140
function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); }
141141
function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } }
142-
function step(r) { r.done ? settle(c[2], r) : Promise.resolve(r.value[1]).then(r.value[0] === "yield" ? _yield : r.value[0] === "delegate" ? delegate : fulfill, reject); }
143-
function _yield(value) { settle(c[2], { value: value, done: false }); }
144-
function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); }
142+
function step(r) { r.done ? settle(c[2], r) : Promise.resolve(r.value[1]).then(r.value[0] === "yield" ? send : fulfill, reject); }
143+
function send(value) { settle(c[2], { value: value, done: false }); }
145144
function fulfill(value) { resume("next", value); }
146145
function reject(value) { resume("throw", value); }
147146
function settle(f, v) { c = void 0, f(v), next(); }
148147
};
149148

150149
export function __asyncDelegator(o) {
151-
var i = { next: verb("next"), "throw": verb("throw", function (e) { throw e; }), "return": verb("return", function (v) { return { value: v, done: true }; }) };
150+
var i = { next: verb("next"), "throw": verb("throw", function (e) { throw e; }), "return": verb("return", function (v) { return { value: v, done: true }; }) }, p;
152151
return o = __asyncValues(o), i[Symbol.iterator] = function () { return this; }, i;
153-
function verb(n, f) { return function (v) { return { value: ["delegate", (o[n] || f).call(o, v)], done: false }; }; }
152+
function verb(n, f) { return function (v) { return v = p && n === "throw" ? f(v) : p && v.done ? v : { value: p ? ["yield", v.value] : ["await", (o[n] || f).call(o, v)], done: false }, p = !p, v; }; }
154153
};
155154

156155
export function __asyncValues(o) {

tslib.js

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -169,18 +169,17 @@ var __asyncValues;
169169
function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; }
170170
function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); }
171171
function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } }
172-
function step(r) { r.done ? settle(c[2], r) : Promise.resolve(r.value[1]).then(r.value[0] === "yield" ? _yield : r.value[0] === "delegate" ? delegate : fulfill, reject); }
173-
function _yield(value) { settle(c[2], { value: value, done: false }); }
174-
function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); }
172+
function step(r) { r.done ? settle(c[2], r) : Promise.resolve(r.value[1]).then(r.value[0] === "yield" ? send : fulfill, reject); }
173+
function send(value) { settle(c[2], { value: value, done: false }); }
175174
function fulfill(value) { resume("next", value); }
176175
function reject(value) { resume("throw", value); }
177176
function settle(f, v) { c = void 0, f(v), next(); }
178177
};
179178

180179
__asyncDelegator = function (o) {
181-
var i = { next: verb("next"), "throw": verb("throw", function (e) { throw e; }), "return": verb("return", function (v) { return { value: v, done: true }; }) };
180+
var i = { next: verb("next"), "throw": verb("throw", function (e) { throw e; }), "return": verb("return", function (v) { return { value: v, done: true }; }) }, p;
182181
return o = __asyncValues(o), i[Symbol.iterator] = function () { return this; }, i;
183-
function verb(n, f) { return function (v) { return { value: ["delegate", (o[n] || f).call(o, v)], done: false }; }; }
182+
function verb(n, f) { return function (v) { return v = p && n === "throw" ? f(v) : p && v.done ? v : { value: p ? ["yield", v.value] : ["await", (o[n] || f).call(o, v)], done: false }, p = !p, v; }; }
184183
};
185184

186185
__asyncValues = function (o) {

0 commit comments

Comments
 (0)