Skip to content

Commit ea64184

Browse files
committed
Handle rejection in async delegation
1 parent 3a8c61f commit ea64184

9 files changed

+17
-17
lines changed

src/compiler/transformers/esnext.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -924,7 +924,7 @@ namespace ts {
924924
var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {
925925
var i = { next: verb("next"), "throw": verb("throw", function (e) { throw e; }), "return": verb("return", function (v) { return { value: v, done: true }; }) }, p;
926926
return o = __asyncValues(o), i[Symbol.iterator] = function () { return this; }, i;
927-
function verb(n, f) { return function (v) { return v = p && v.done ? v : { value: p ? ["yield", v.value] : ["await", (o[n] || f).call(o, v)], done: false }, p = !p, v; }; }
927+
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; }; }
928928
};
929929
`
930930
};

tests/baselines/reference/emitter.asyncGenerators.classMethods.es2015.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ class C3 {
126126
var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {
127127
var i = { next: verb("next"), "throw": verb("throw", function (e) { throw e; }), "return": verb("return", function (v) { return { value: v, done: true }; }) }, p;
128128
return o = __asyncValues(o), i[Symbol.iterator] = function () { return this; }, i;
129-
function verb(n, f) { return function (v) { return v = p && v.done ? v : { value: p ? ["yield", v.value] : ["await", (o[n] || f).call(o, v)], done: false }, p = !p, v; }; }
129+
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; }; }
130130
};
131131
var __asyncValues = (this && this.__asyncIterator) || function (o) {
132132
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
@@ -170,7 +170,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar
170170
var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {
171171
var i = { next: verb("next"), "throw": verb("throw", function (e) { throw e; }), "return": verb("return", function (v) { return { value: v, done: true }; }) }, p;
172172
return o = __asyncValues(o), i[Symbol.iterator] = function () { return this; }, i;
173-
function verb(n, f) { return function (v) { return v = p && v.done ? v : { value: p ? ["yield", v.value] : ["await", (o[n] || f).call(o, v)], done: false }, p = !p, v; }; }
173+
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; }; }
174174
};
175175
var __asyncValues = (this && this.__asyncIterator) || function (o) {
176176
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");

tests/baselines/reference/emitter.asyncGenerators.classMethods.es5.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
262262
var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {
263263
var i = { next: verb("next"), "throw": verb("throw", function (e) { throw e; }), "return": verb("return", function (v) { return { value: v, done: true }; }) }, p;
264264
return o = __asyncValues(o), i[Symbol.iterator] = function () { return this; }, i;
265-
function verb(n, f) { return function (v) { return v = p && v.done ? v : { value: p ? ["yield", v.value] : ["await", (o[n] || f).call(o, v)], done: false }, p = !p, v; }; }
265+
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; }; }
266266
};
267267
var __asyncValues = (this && this.__asyncIterator) || function (o) {
268268
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
@@ -354,7 +354,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar
354354
var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {
355355
var i = { next: verb("next"), "throw": verb("throw", function (e) { throw e; }), "return": verb("return", function (v) { return { value: v, done: true }; }) }, p;
356356
return o = __asyncValues(o), i[Symbol.iterator] = function () { return this; }, i;
357-
function verb(n, f) { return function (v) { return v = p && v.done ? v : { value: p ? ["yield", v.value] : ["await", (o[n] || f).call(o, v)], done: false }, p = !p, v; }; }
357+
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; }; }
358358
};
359359
var __asyncValues = (this && this.__asyncIterator) || function (o) {
360360
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");

tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es2015.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ function f3() {
8989
var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {
9090
var i = { next: verb("next"), "throw": verb("throw", function (e) { throw e; }), "return": verb("return", function (v) { return { value: v, done: true }; }) }, p;
9191
return o = __asyncValues(o), i[Symbol.iterator] = function () { return this; }, i;
92-
function verb(n, f) { return function (v) { return v = p && v.done ? v : { value: p ? ["yield", v.value] : ["await", (o[n] || f).call(o, v)], done: false }, p = !p, v; }; }
92+
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; }; }
9393
};
9494
var __asyncValues = (this && this.__asyncIterator) || function (o) {
9595
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
@@ -131,7 +131,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar
131131
var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {
132132
var i = { next: verb("next"), "throw": verb("throw", function (e) { throw e; }), "return": verb("return", function (v) { return { value: v, done: true }; }) }, p;
133133
return o = __asyncValues(o), i[Symbol.iterator] = function () { return this; }, i;
134-
function verb(n, f) { return function (v) { return v = p && v.done ? v : { value: p ? ["yield", v.value] : ["await", (o[n] || f).call(o, v)], done: false }, p = !p, v; }; }
134+
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; }; }
135135
};
136136
var __asyncValues = (this && this.__asyncIterator) || function (o) {
137137
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");

tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es5.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
216216
var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {
217217
var i = { next: verb("next"), "throw": verb("throw", function (e) { throw e; }), "return": verb("return", function (v) { return { value: v, done: true }; }) }, p;
218218
return o = __asyncValues(o), i[Symbol.iterator] = function () { return this; }, i;
219-
function verb(n, f) { return function (v) { return v = p && v.done ? v : { value: p ? ["yield", v.value] : ["await", (o[n] || f).call(o, v)], done: false }, p = !p, v; }; }
219+
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; }; }
220220
};
221221
var __asyncValues = (this && this.__asyncIterator) || function (o) {
222222
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
@@ -303,7 +303,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar
303303
var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {
304304
var i = { next: verb("next"), "throw": verb("throw", function (e) { throw e; }), "return": verb("return", function (v) { return { value: v, done: true }; }) }, p;
305305
return o = __asyncValues(o), i[Symbol.iterator] = function () { return this; }, i;
306-
function verb(n, f) { return function (v) { return v = p && v.done ? v : { value: p ? ["yield", v.value] : ["await", (o[n] || f).call(o, v)], done: false }, p = !p, v; }; }
306+
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; }; }
307307
};
308308
var __asyncValues = (this && this.__asyncIterator) || function (o) {
309309
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");

tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es2015.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ const f3 = function () {
8989
var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {
9090
var i = { next: verb("next"), "throw": verb("throw", function (e) { throw e; }), "return": verb("return", function (v) { return { value: v, done: true }; }) }, p;
9191
return o = __asyncValues(o), i[Symbol.iterator] = function () { return this; }, i;
92-
function verb(n, f) { return function (v) { return v = p && v.done ? v : { value: p ? ["yield", v.value] : ["await", (o[n] || f).call(o, v)], done: false }, p = !p, v; }; }
92+
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; }; }
9393
};
9494
var __asyncValues = (this && this.__asyncIterator) || function (o) {
9595
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
@@ -131,7 +131,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar
131131
var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {
132132
var i = { next: verb("next"), "throw": verb("throw", function (e) { throw e; }), "return": verb("return", function (v) { return { value: v, done: true }; }) }, p;
133133
return o = __asyncValues(o), i[Symbol.iterator] = function () { return this; }, i;
134-
function verb(n, f) { return function (v) { return v = p && v.done ? v : { value: p ? ["yield", v.value] : ["await", (o[n] || f).call(o, v)], done: false }, p = !p, v; }; }
134+
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; }; }
135135
};
136136
var __asyncValues = (this && this.__asyncIterator) || function (o) {
137137
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");

tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es5.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
216216
var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {
217217
var i = { next: verb("next"), "throw": verb("throw", function (e) { throw e; }), "return": verb("return", function (v) { return { value: v, done: true }; }) }, p;
218218
return o = __asyncValues(o), i[Symbol.iterator] = function () { return this; }, i;
219-
function verb(n, f) { return function (v) { return v = p && v.done ? v : { value: p ? ["yield", v.value] : ["await", (o[n] || f).call(o, v)], done: false }, p = !p, v; }; }
219+
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; }; }
220220
};
221221
var __asyncValues = (this && this.__asyncIterator) || function (o) {
222222
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
@@ -303,7 +303,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar
303303
var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {
304304
var i = { next: verb("next"), "throw": verb("throw", function (e) { throw e; }), "return": verb("return", function (v) { return { value: v, done: true }; }) }, p;
305305
return o = __asyncValues(o), i[Symbol.iterator] = function () { return this; }, i;
306-
function verb(n, f) { return function (v) { return v = p && v.done ? v : { value: p ? ["yield", v.value] : ["await", (o[n] || f).call(o, v)], done: false }, p = !p, v; }; }
306+
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; }; }
307307
};
308308
var __asyncValues = (this && this.__asyncIterator) || function (o) {
309309
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");

tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es2015.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ const o3 = {
109109
var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {
110110
var i = { next: verb("next"), "throw": verb("throw", function (e) { throw e; }), "return": verb("return", function (v) { return { value: v, done: true }; }) }, p;
111111
return o = __asyncValues(o), i[Symbol.iterator] = function () { return this; }, i;
112-
function verb(n, f) { return function (v) { return v = p && v.done ? v : { value: p ? ["yield", v.value] : ["await", (o[n] || f).call(o, v)], done: false }, p = !p, v; }; }
112+
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; }; }
113113
};
114114
var __asyncValues = (this && this.__asyncIterator) || function (o) {
115115
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
@@ -153,7 +153,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar
153153
var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {
154154
var i = { next: verb("next"), "throw": verb("throw", function (e) { throw e; }), "return": verb("return", function (v) { return { value: v, done: true }; }) }, p;
155155
return o = __asyncValues(o), i[Symbol.iterator] = function () { return this; }, i;
156-
function verb(n, f) { return function (v) { return v = p && v.done ? v : { value: p ? ["yield", v.value] : ["await", (o[n] || f).call(o, v)], done: false }, p = !p, v; }; }
156+
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; }; }
157157
};
158158
var __asyncValues = (this && this.__asyncIterator) || function (o) {
159159
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");

tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es5.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
236236
var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {
237237
var i = { next: verb("next"), "throw": verb("throw", function (e) { throw e; }), "return": verb("return", function (v) { return { value: v, done: true }; }) }, p;
238238
return o = __asyncValues(o), i[Symbol.iterator] = function () { return this; }, i;
239-
function verb(n, f) { return function (v) { return v = p && v.done ? v : { value: p ? ["yield", v.value] : ["await", (o[n] || f).call(o, v)], done: false }, p = !p, v; }; }
239+
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; }; }
240240
};
241241
var __asyncValues = (this && this.__asyncIterator) || function (o) {
242242
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
@@ -325,7 +325,7 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar
325325
var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {
326326
var i = { next: verb("next"), "throw": verb("throw", function (e) { throw e; }), "return": verb("return", function (v) { return { value: v, done: true }; }) }, p;
327327
return o = __asyncValues(o), i[Symbol.iterator] = function () { return this; }, i;
328-
function verb(n, f) { return function (v) { return v = p && v.done ? v : { value: p ? ["yield", v.value] : ["await", (o[n] || f).call(o, v)], done: false }, p = !p, v; }; }
328+
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; }; }
329329
};
330330
var __asyncValues = (this && this.__asyncIterator) || function (o) {
331331
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");

0 commit comments

Comments
 (0)