Files

Return to Package Diff Home.
Brought to you by Intrinsic.

Package Diff: regenerator-runtime @ 0.13.3 .. 0.13.5

package.json

@@ -2,7 +2,7 @@
"name": "regenerator-runtime",
"author": "Ben Newman <bn@cs.stanford.edu>",
"description": "Runtime for Regenerator-compiled generator and async functions.",
- "version": "0.13.3",
+ "version": "0.13.5",
"main": "runtime.js",
"keywords": [
"regenerator",

README.md

@@ -21,7 +21,7 @@
require("regenerator-runtime/runtime");
// ECMAScript 2015
-import "regenerator-runtime/runtime";
+import "regenerator-runtime/runtime.js";
```
To get the absolute file system path of `runtime.js`, evaluate the

runtime.js

@@ -130,7 +130,7 @@
return { __await: arg };
};
- function AsyncIterator(generator) {
+ function AsyncIterator(generator, PromiseImpl) {
function invoke(method, arg, resolve, reject) {
var record = tryCatch(generator[method], generator, arg);
if (record.type === "throw") {
@@ -141,14 +141,14 @@
if (value &&
typeof value === "object" &&
hasOwn.call(value, "__await")) {
- return Promise.resolve(value.__await).then(function(value) {
+ return PromiseImpl.resolve(value.__await).then(function(value) {
invoke("next", value, resolve, reject);
}, function(err) {
invoke("throw", err, resolve, reject);
});
}
- return Promise.resolve(value).then(function(unwrapped) {
+ return PromiseImpl.resolve(value).then(function(unwrapped) {
// When a yielded Promise is resolved, its final value becomes
// the .value of the Promise<{value,done}> result for the
// current iteration.
@@ -166,7 +166,7 @@
function enqueue(method, arg) {
function callInvokeWithMethodAndArg() {
- return new Promise(function(resolve, reject) {
+ return new PromiseImpl(function(resolve, reject) {
invoke(method, arg, resolve, reject);
});
}
@@ -206,9 +206,12 @@
// Note that simple async functions are implemented on top of
// AsyncIterator objects; they just return a Promise for the value of
// the final result produced by the iterator.
- exports.async = function(innerFn, outerFn, self, tryLocsList) {
+ exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {
+ if (PromiseImpl === void 0) PromiseImpl = Promise;
+
var iter = new AsyncIterator(
- wrap(innerFn, outerFn, self, tryLocsList)
+ wrap(innerFn, outerFn, self, tryLocsList),
+ PromiseImpl
);
return exports.isGeneratorFunction(outerFn)