1 // This method of obtaining a reference to the global object needs to be
2 // kept identical to the way it is obtained in runtime.js
4 typeof global === "object" ? global :
5 typeof window === "object" ? window :
6 typeof self === "object" ? self : this;
8 // Use `getOwnPropertyNames` because not all browsers support calling
9 // `hasOwnProperty` on the global `self` object in a worker. See #183.
10 var hadRuntime = g.regeneratorRuntime &&
11 Object.getOwnPropertyNames(g).indexOf("regeneratorRuntime") >= 0;
13 // Save the old regeneratorRuntime in case it needs to be restored later.
14 var oldRuntime = hadRuntime && g.regeneratorRuntime;
16 // Force reevalutation of runtime.js.
17 g.regeneratorRuntime = undefined;
19 module.exports = require("./runtime");
22 // Restore the original runtime.
23 g.regeneratorRuntime = oldRuntime;
25 // Remove the global property added by runtime.js.
27 delete g.regeneratorRuntime;
29 g.regeneratorRuntime = undefined;