babel-runtime
Advanced tools
Comparing version 5.6.15 to 5.6.16
@@ -16,3 +16,3 @@ "use strict"; | ||
descriptor.configurable = true; | ||
descriptor.writable = true; | ||
if ("value" in descriptor || descriptor.initializer) descriptor.writable = true; | ||
@@ -19,0 +19,0 @@ if (decorators) { |
@@ -10,3 +10,3 @@ { | ||
}, | ||
"version": "5.6.15" | ||
"version": "5.6.16" | ||
} |
@@ -139,5 +139,20 @@ /** | ||
return value instanceof AwaitArgument ? _Promise.resolve(value.arg).then(invokeNext, invokeThrow) : _Promise.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. If the Promise is rejected, however, the | ||
// result for this iteration will be rejected with the same | ||
// reason. Note that rejections of yielded Promises are not | ||
// thrown back into the generator function, as is the case | ||
// when an awaited Promise is rejected. This difference in | ||
// behavior between yield and await is important, because it | ||
// allows the consumer to decide what to do with the yielded | ||
// rejection (swallow it and continue, manually .throw it back | ||
// into the generator, abandon iteration, whatever). With | ||
// await, by contrast, there is no opportunity to examine the | ||
// rejection reason outside the generator function, so the | ||
// only option is to throw it from the await expression, and | ||
// let the generator function handle the exception. | ||
result.value = unwrapped; | ||
return result; | ||
}, invokeThrow); | ||
}); | ||
} | ||
@@ -175,5 +190,4 @@ | ||
// Avoid propagating enqueueResult failures to Promises returned by | ||
// later invocations of the iterator, and call generator.return() to | ||
// allow the generator a chance to clean up. | ||
previousPromise = enqueueResult["catch"](invokeReturn); | ||
// later invocations of the iterator. | ||
previousPromise = enqueueResult["catch"](function (ignored) {}); | ||
@@ -211,2 +225,6 @@ return enqueueResult; | ||
if (state === GenStateCompleted) { | ||
if (method === "throw") { | ||
throw arg; | ||
} | ||
// Be forgiving, per 25.3.3.3.3 of the spec: | ||
@@ -280,3 +298,3 @@ // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume | ||
} else { | ||
delete context.sent; | ||
context.sent = undefined; | ||
} | ||
@@ -372,3 +390,3 @@ } else if (method === "throw") { | ||
tryLocsList.forEach(pushTryEntry, this); | ||
this.reset(); | ||
this.reset(true); | ||
} | ||
@@ -447,3 +465,3 @@ | ||
reset: function reset() { | ||
reset: function reset(skipTempReset) { | ||
this.prev = 0; | ||
@@ -457,6 +475,9 @@ this.next = 0; | ||
// Pre-initialize at least 20 temporary variables to enable hidden | ||
// class optimizations for simple generators. | ||
for (var tempIndex = 0, tempName; hasOwn.call(this, tempName = "t" + tempIndex) || tempIndex < 20; ++tempIndex) { | ||
this[tempName] = null; | ||
if (!skipTempReset) { | ||
for (var name in this) { | ||
// Not sure about the optimal order of these conditions: | ||
if (name.charAt(0) === "t" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) { | ||
this[name] = undefined; | ||
} | ||
} | ||
} | ||
@@ -463,0 +484,0 @@ }, |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
49561
958