window.js 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = void 0;
  6. var _Path2D = _interopRequireDefault(require("./classes/Path2D"));
  7. var _CanvasGradient = _interopRequireDefault(require("./classes/CanvasGradient"));
  8. var _CanvasPattern = _interopRequireDefault(require("./classes/CanvasPattern"));
  9. var _CanvasRenderingContext2D = _interopRequireDefault(require("./classes/CanvasRenderingContext2D"));
  10. var _DOMMatrix = _interopRequireDefault(require("./classes/DOMMatrix"));
  11. var _ImageData = _interopRequireDefault(require("./classes/ImageData"));
  12. var _TextMetrics = _interopRequireDefault(require("./classes/TextMetrics"));
  13. var _ImageBitmap = _interopRequireDefault(require("./classes/ImageBitmap"));
  14. var _prototype = _interopRequireDefault(require("./mock/prototype"));
  15. var _createImageBitmap = _interopRequireDefault(require("./mock/createImageBitmap"));
  16. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  17. /**
  18. * Created by hustcc 17/12/25.
  19. * Contract: i@hust.cc
  20. */
  21. var _default = win => {
  22. const d = win.document;
  23. const f = win.document.createElement; // jsdom@11.6.2 || jest@^22.0.0, console.error in Function getContext();
  24. // https://github.com/jsdom/jsdom/blob/4c7698f760fc64f20b2a0ddff450eddbdd193176/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js#L55-L58
  25. // cosole.error will make ci error.
  26. // try {
  27. // // get the context 2d.
  28. // const ctx = d.createElement('canvas').getContext('2d');
  29. //
  30. // // if canvas and context2d all exist, means mock is not needed.
  31. // if (ctx) {
  32. // console.warn('Context 2d of canvas is exist! No need to mock');
  33. // return win;
  34. // }
  35. // } catch (_) {
  36. // // catch the throw `Error: Not implemented: HTMLCanvasElement.prototype.getContext`
  37. // // https://github.com/jsdom/jsdom/blob/4c7698f760fc64f20b2a0ddff450eddbdd193176/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js
  38. // // when throw error, means mock is needed.
  39. // // code continue
  40. // }
  41. // if ctx not exist, mock it.
  42. // just mock canvas creator.
  43. /*
  44. win.document.createElement = param => param.toString().toLowerCase() === 'canvas'
  45. ? createCanvas('canvas')
  46. : f.call(d, param);
  47. */
  48. // if not exist, then mock it.
  49. if (!win.Path2D) win.Path2D = _Path2D.default;
  50. if (!win.CanvasGradient) win.CanvasGradient = _CanvasGradient.default;
  51. if (!win.CanvasPattern) win.CanvasPattern = _CanvasPattern.default;
  52. if (!win.CanvasRenderingContext2D) win.CanvasRenderingContext2D = _CanvasRenderingContext2D.default;
  53. if (!win.DOMMatrix) win.DOMMatrix = _DOMMatrix.default;
  54. if (!win.ImageData) win.ImageData = _ImageData.default;
  55. if (!win.TextMetrics) win.TextMetrics = _TextMetrics.default;
  56. if (!win.ImageBitmap) win.ImageBitmap = _ImageBitmap.default;
  57. if (!win.createImageBitmap) win.createImageBitmap = _createImageBitmap.default;
  58. (0, _prototype.default)();
  59. return win;
  60. };
  61. exports.default = _default;