runtime-module.js 1006 B

12345678910111213141516171819202122232425262728293031
  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
  3. var g =
  4. typeof global === "object" ? global :
  5. typeof window === "object" ? window :
  6. typeof self === "object" ? self : this;
  7. // Use `getOwnPropertyNames` because not all browsers support calling
  8. // `hasOwnProperty` on the global `self` object in a worker. See #183.
  9. var hadRuntime = g.regeneratorRuntime &&
  10. Object.getOwnPropertyNames(g).indexOf("regeneratorRuntime") >= 0;
  11. // Save the old regeneratorRuntime in case it needs to be restored later.
  12. var oldRuntime = hadRuntime && g.regeneratorRuntime;
  13. // Force reevalutation of runtime.js.
  14. g.regeneratorRuntime = undefined;
  15. module.exports = require("./runtime");
  16. if (hadRuntime) {
  17. // Restore the original runtime.
  18. g.regeneratorRuntime = oldRuntime;
  19. } else {
  20. // Remove the global property added by runtime.js.
  21. try {
  22. delete g.regeneratorRuntime;
  23. } catch(e) {
  24. g.regeneratorRuntime = undefined;
  25. }
  26. }