From c251f412b6a6add42dd85ede5fbf9e42475482e3 Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Mon, 17 Apr 2017 14:15:13 -0700 Subject: [PATCH] yield in async generator should implicitly unwrap operand --- src/compiler/transformers/esnext.ts | 3 ++- ...ter.asyncGenerators.classMethods.es2015.js | 27 ++++++++++++------- ...mitter.asyncGenerators.classMethods.es5.js | 27 ++++++++++++------- ...cGenerators.functionDeclarations.es2015.js | 21 ++++++++++----- ...syncGenerators.functionDeclarations.es5.js | 21 ++++++++++----- ...ncGenerators.functionExpressions.es2015.js | 21 ++++++++++----- ...asyncGenerators.functionExpressions.es5.js | 21 ++++++++++----- ...cGenerators.objectLiteralMethods.es2015.js | 21 ++++++++++----- ...syncGenerators.objectLiteralMethods.es5.js | 21 ++++++++++----- .../reference/emitter.forAwait.es2015.js | 6 +++-- .../reference/emitter.forAwait.es5.js | 6 +++-- 11 files changed, 130 insertions(+), 65 deletions(-) diff --git a/src/compiler/transformers/esnext.ts b/src/compiler/transformers/esnext.ts index b0e8b527820..4f824f510a5 100644 --- a/src/compiler/transformers/esnext.ts +++ b/src/compiler/transformers/esnext.ts @@ -891,7 +891,8 @@ namespace ts { function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } diff --git a/tests/baselines/reference/emitter.asyncGenerators.classMethods.es2015.js b/tests/baselines/reference/emitter.asyncGenerators.classMethods.es2015.js index ba4902102b1..aa7a61e5538 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.classMethods.es2015.js +++ b/tests/baselines/reference/emitter.asyncGenerators.classMethods.es2015.js @@ -68,7 +68,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -88,7 +89,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -109,7 +111,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -135,7 +138,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -156,7 +160,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -182,7 +187,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -203,7 +209,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -224,7 +231,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -247,7 +255,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } diff --git a/tests/baselines/reference/emitter.asyncGenerators.classMethods.es5.js b/tests/baselines/reference/emitter.asyncGenerators.classMethods.es5.js index 74a65673e5a..dede0ac2a7f 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.classMethods.es5.js +++ b/tests/baselines/reference/emitter.asyncGenerators.classMethods.es5.js @@ -95,7 +95,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -148,7 +149,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -207,7 +209,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -271,7 +274,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -340,7 +344,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -421,7 +426,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -480,7 +486,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -533,7 +540,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -599,7 +607,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } diff --git a/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es2015.js b/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es2015.js index 2b0d6db5353..b8d9fb6bb4d 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es2015.js +++ b/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es2015.js @@ -37,7 +37,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -55,7 +56,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -74,7 +76,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -98,7 +101,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -117,7 +121,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -141,7 +146,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -160,7 +166,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } diff --git a/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es5.js b/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es5.js index 42098455ed1..ea8a94b66d7 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es5.js +++ b/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es5.js @@ -64,7 +64,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -112,7 +113,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -166,7 +168,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -225,7 +228,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -289,7 +293,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -365,7 +370,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -419,7 +425,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } diff --git a/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es2015.js b/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es2015.js index 90f4b70e9bd..18af4869853 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es2015.js +++ b/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es2015.js @@ -37,7 +37,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -55,7 +56,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -74,7 +76,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -98,7 +101,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -117,7 +121,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -141,7 +146,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -160,7 +166,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } diff --git a/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es5.js b/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es5.js index a6265063fde..7f57e78700e 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es5.js +++ b/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es5.js @@ -64,7 +64,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -112,7 +113,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -166,7 +168,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -225,7 +228,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -289,7 +293,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -365,7 +370,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -419,7 +425,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } diff --git a/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es2015.js b/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es2015.js index 817b3904f02..a7d8d132d58 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es2015.js +++ b/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es2015.js @@ -51,7 +51,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -71,7 +72,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -92,7 +94,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -118,7 +121,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -139,7 +143,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -165,7 +170,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -186,7 +192,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } diff --git a/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es5.js b/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es5.js index a0839d8258d..2913877e9bc 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es5.js +++ b/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es5.js @@ -78,7 +78,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -128,7 +129,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -184,7 +186,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -245,7 +248,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -311,7 +315,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -389,7 +394,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -445,7 +451,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } diff --git a/tests/baselines/reference/emitter.forAwait.es2015.js b/tests/baselines/reference/emitter.forAwait.es2015.js index a76c3e0b545..0e63d4af4db 100644 --- a/tests/baselines/reference/emitter.forAwait.es2015.js +++ b/tests/baselines/reference/emitter.forAwait.es2015.js @@ -102,7 +102,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -139,7 +140,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } diff --git a/tests/baselines/reference/emitter.forAwait.es5.js b/tests/baselines/reference/emitter.forAwait.es5.js index 14b70e933bb..edce30e7e9a 100644 --- a/tests/baselines/reference/emitter.forAwait.es5.js +++ b/tests/baselines/reference/emitter.forAwait.es5.js @@ -231,7 +231,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } @@ -319,7 +320,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; } function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } } - function step(r) { r.done ? settle(c[2], r) : r.value[0] === "yield" ? settle(c[2], { value: r.value[1], done: false }) : Promise.resolve(r.value[1]).then(r.value[0] === "delegate" ? delegate : fulfill, reject); } + 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); } + function yield(value) { settle(c[2], { value: value, done: false }); } function delegate(r) { step(r.done ? r : { value: ["yield", r.value], done: false }); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); }