index.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. var createBrowserEnv_1 = require("./createBrowserEnv");
  4. var createFileSystem_1 = require("./createFileSystem");
  5. var createNodejsEnv_1 = require("./createNodejsEnv");
  6. var isBrowser_1 = require("./isBrowser");
  7. var isNodejs_1 = require("./isNodejs");
  8. var environment;
  9. function getEnv() {
  10. if (!environment) {
  11. throw new Error('getEnv - environment is not defined, check isNodejs() and isBrowser()');
  12. }
  13. return environment;
  14. }
  15. function setEnv(env) {
  16. environment = env;
  17. }
  18. function initialize() {
  19. // check for isBrowser() first to prevent electron renderer process
  20. // to be initialized with wrong environment due to isNodejs() returning true
  21. if (isBrowser_1.isBrowser()) {
  22. setEnv(createBrowserEnv_1.createBrowserEnv());
  23. }
  24. if (isNodejs_1.isNodejs()) {
  25. setEnv(createNodejsEnv_1.createNodejsEnv());
  26. }
  27. }
  28. function monkeyPatch(env) {
  29. if (!environment) {
  30. initialize();
  31. }
  32. if (!environment) {
  33. throw new Error('monkeyPatch - environment is not defined, check isNodejs() and isBrowser()');
  34. }
  35. var _a = env.Canvas, Canvas = _a === void 0 ? environment.Canvas : _a, _b = env.Image, Image = _b === void 0 ? environment.Image : _b;
  36. environment.Canvas = Canvas;
  37. environment.Image = Image;
  38. environment.createCanvasElement = env.createCanvasElement || (function () { return new Canvas(); });
  39. environment.createImageElement = env.createImageElement || (function () { return new Image(); });
  40. environment.ImageData = env.ImageData || environment.ImageData;
  41. environment.Video = env.Video || environment.Video;
  42. environment.fetch = env.fetch || environment.fetch;
  43. environment.readFile = env.readFile || environment.readFile;
  44. }
  45. exports.env = {
  46. getEnv: getEnv,
  47. setEnv: setEnv,
  48. initialize: initialize,
  49. createBrowserEnv: createBrowserEnv_1.createBrowserEnv,
  50. createFileSystem: createFileSystem_1.createFileSystem,
  51. createNodejsEnv: createNodejsEnv_1.createNodejsEnv,
  52. monkeyPatch: monkeyPatch,
  53. isBrowser: isBrowser_1.isBrowser,
  54. isNodejs: isNodejs_1.isNodejs
  55. };
  56. initialize();
  57. //# sourceMappingURL=index.js.map