babel-runtime
Advanced tools
Comparing version 5.1.10 to 5.1.11
{ | ||
"name": "babel-runtime", | ||
"description": "babel selfContained runtime", | ||
"version": "5.1.10", | ||
"version": "5.1.11", | ||
"repository": "babel/babel", | ||
@@ -6,0 +6,0 @@ "author": "Sebastian McKenzie <sebmck@gmail.com>", |
@@ -5,9 +5,16 @@ // This method of obtaining a reference to the global object needs to be | ||
typeof global === "object" ? global : | ||
typeof window === "object" ? window : this; | ||
typeof window === "object" ? window : | ||
typeof self === "object" ? self : this; | ||
var hasOwn = Object.prototype.hasOwnProperty; | ||
var hadRuntime = hasOwn.call(g, "regeneratorRuntime"); | ||
// Use `getOwnPropertyNames` because not all browsers support calling | ||
// `hasOwnProperty` on the global `self` object in a worker. See #183. | ||
var hadRuntime = g.regeneratorRuntime && | ||
Object.getOwnPropertyNames(g).indexOf("regeneratorRuntime") >= 0; | ||
// Save the old regeneratorRuntime in case it needs to be restored later. | ||
var oldRuntime = hadRuntime && g.regeneratorRuntime; | ||
delete g.regeneratorRuntime; // Force reevalutation of runtime.js. | ||
// Force reevalutation of runtime.js. | ||
delete g.regeneratorRuntime; | ||
module.exports = require("./runtime"); | ||
@@ -14,0 +21,0 @@ |
@@ -44,3 +44,8 @@ /** | ||
function wrap(innerFn, outerFn, self, tryLocsList) { | ||
return new Generator(innerFn, outerFn, self || null, tryLocsList || []); | ||
// If outerFn provided, then outerFn.prototype instanceof Generator. | ||
var generator = Object.create((outerFn || Generator).prototype); | ||
generator._invoke = makeInvokeMethod(innerFn, self || null, new Context(tryLocsList || [])); | ||
return generator; | ||
} | ||
@@ -80,2 +85,3 @@ runtime.wrap = wrap; | ||
// minifier not to mangle the names of these two functions. | ||
function Generator() {} | ||
function GeneratorFunction() {} | ||
@@ -106,7 +112,7 @@ function GeneratorFunctionPrototype() {} | ||
var generator = wrap(innerFn, outerFn, self, tryLocsList); | ||
var callNext = step.bind(generator.next); | ||
var callThrow = step.bind(generator["throw"]); | ||
var callNext = step.bind(generator, "next"); | ||
var callThrow = step.bind(generator, "throw"); | ||
function step(arg) { | ||
var record = tryCatch(this, null, arg); | ||
function step(method, arg) { | ||
var record = tryCatch(generator[method], generator, arg); | ||
if (record.type === "throw") { | ||
@@ -129,8 +135,6 @@ reject(record.arg); | ||
function Generator(innerFn, outerFn, self, tryLocsList) { | ||
var generator = outerFn ? Object.create(outerFn.prototype) : this; | ||
var context = new Context(tryLocsList); | ||
function makeInvokeMethod(innerFn, self, context) { | ||
var state = GenStateSuspendedStart; | ||
function invoke(method, arg) { | ||
return function invoke(method, arg) { | ||
if (state === GenStateExecuting) { | ||
@@ -149,2 +153,28 @@ throw new Error("Generator is already running"); | ||
if (delegate) { | ||
if (method === "return" || method === "throw" && delegate.iterator["throw"] === undefined) { | ||
// A return or throw (when the delegate iterator has no throw | ||
// method) always terminates the yield* loop. | ||
context.delegate = null; | ||
// If the delegate iterator has a return method, give it a | ||
// chance to clean up. | ||
var returnMethod = delegate.iterator["return"]; | ||
if (returnMethod) { | ||
var record = tryCatch(returnMethod, delegate.iterator, arg); | ||
if (record.type === "throw") { | ||
// If the return method threw an exception, let that | ||
// exception prevail over the original return or throw. | ||
method = "throw"; | ||
arg = record.arg; | ||
continue; | ||
} | ||
} | ||
if (method === "return") { | ||
// Continue with the outer return, now that the delegate | ||
// iterator has been terminated. | ||
continue; | ||
} | ||
} | ||
var record = tryCatch(delegate.iterator[method], delegate.iterator, arg); | ||
@@ -159,3 +189,2 @@ | ||
arg = record.arg; | ||
continue; | ||
@@ -183,7 +212,2 @@ } | ||
if (method === "next") { | ||
if (state === GenStateSuspendedStart && typeof arg !== "undefined") { | ||
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume | ||
throw new TypeError("attempt to send " + JSON.stringify(arg) + " to newborn generator"); | ||
} | ||
if (state === GenStateSuspendedYield) { | ||
@@ -234,18 +258,19 @@ context.sent = arg; | ||
state = GenStateCompleted; | ||
if (method === "next") { | ||
context.dispatchException(record.arg); | ||
} else { | ||
arg = record.arg; | ||
} | ||
// Dispatch the exception by looping back around to the | ||
// context.dispatchException(arg) call above. | ||
method = "throw"; | ||
arg = record.arg; | ||
} | ||
} | ||
} | ||
}; | ||
} | ||
generator.next = invoke.bind(generator, "next"); | ||
generator["throw"] = invoke.bind(generator, "throw"); | ||
generator["return"] = invoke.bind(generator, "return"); | ||
return generator; | ||
function defineGeneratorMethod(method) { | ||
Gp[method] = function (arg) { | ||
return this._invoke(method, arg); | ||
}; | ||
} | ||
defineGeneratorMethod("next"); | ||
defineGeneratorMethod("throw"); | ||
defineGeneratorMethod("return"); | ||
@@ -525,2 +550,2 @@ Gp[iteratorSymbol] = function () { | ||
// use indirect eval (which violates Content Security Policy). | ||
typeof global === "object" ? global : typeof window === "object" ? window : undefined); | ||
typeof global === "object" ? global : typeof window === "object" ? window : typeof self === "object" ? self : undefined); |
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
42972
827