32 lines
1006 B
JavaScript
32 lines
1006 B
JavaScript
|
// This method of obtaining a reference to the global object needs to be
|
||
|
// kept identical to the way it is obtained in runtime.js
|
||
|
var g =
|
||
|
typeof global === "object" ? global :
|
||
|
typeof window === "object" ? window :
|
||
|
typeof self === "object" ? self : this;
|
||
|
|
||
|
// 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;
|
||
|
|
||
|
// Force reevalutation of runtime.js.
|
||
|
g.regeneratorRuntime = undefined;
|
||
|
|
||
|
module.exports = require("./runtime");
|
||
|
|
||
|
if (hadRuntime) {
|
||
|
// Restore the original runtime.
|
||
|
g.regeneratorRuntime = oldRuntime;
|
||
|
} else {
|
||
|
// Remove the global property added by runtime.js.
|
||
|
try {
|
||
|
delete g.regeneratorRuntime;
|
||
|
} catch(e) {
|
||
|
g.regeneratorRuntime = undefined;
|
||
|
}
|
||
|
}
|