index.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. "use strict";
  2. var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
  3. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  4. require("core-js/modules/es.symbol");
  5. require("core-js/modules/es.array.filter");
  6. require("core-js/modules/es.array.for-each");
  7. require("core-js/modules/es.array.is-array");
  8. require("core-js/modules/es.object.define-properties");
  9. require("core-js/modules/es.object.define-property");
  10. require("core-js/modules/es.object.entries");
  11. require("core-js/modules/es.object.get-own-property-descriptor");
  12. require("core-js/modules/es.object.get-own-property-descriptors");
  13. require("core-js/modules/es.object.keys");
  14. require("core-js/modules/web.dom-collections.for-each");
  15. Object.defineProperty(exports, "__esModule", {
  16. value: true
  17. });
  18. exports["default"] = configure;
  19. var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
  20. var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
  21. var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
  22. var _core = _interopRequireWildcard(require("@jimp/core"));
  23. function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
  24. function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
  25. function configure(configuration) {
  26. var jimpInstance = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _core["default"];
  27. var jimpConfig = {
  28. hasAlpha: {},
  29. encoders: {},
  30. decoders: {},
  31. "class": {},
  32. constants: {}
  33. };
  34. function addToConfig(newConfig) {
  35. Object.entries(newConfig).forEach(function (_ref) {
  36. var _ref2 = (0, _slicedToArray2["default"])(_ref, 2),
  37. key = _ref2[0],
  38. value = _ref2[1];
  39. jimpConfig[key] = _objectSpread({}, jimpConfig[key], {}, value);
  40. });
  41. }
  42. function addImageType(typeModule) {
  43. var type = typeModule();
  44. if (Array.isArray(type.mime)) {
  45. _core.addType.apply(void 0, (0, _toConsumableArray2["default"])(type.mime));
  46. } else {
  47. Object.entries(type.mime).forEach(function (mimeType) {
  48. return _core.addType.apply(void 0, (0, _toConsumableArray2["default"])(mimeType));
  49. });
  50. }
  51. delete type.mime;
  52. addToConfig(type);
  53. }
  54. function addPlugin(pluginModule) {
  55. var plugin = pluginModule(_core.jimpEvChange) || {};
  56. if (!plugin["class"] && !plugin.constants) {
  57. // Default to class function
  58. addToConfig({
  59. "class": plugin
  60. });
  61. } else {
  62. addToConfig(plugin);
  63. }
  64. }
  65. if (configuration.types) {
  66. configuration.types.forEach(addImageType);
  67. jimpInstance.decoders = _objectSpread({}, jimpInstance.decoders, {}, jimpConfig.decoders);
  68. jimpInstance.encoders = _objectSpread({}, jimpInstance.encoders, {}, jimpConfig.encoders);
  69. jimpInstance.hasAlpha = _objectSpread({}, jimpInstance.hasAlpha, {}, jimpConfig.hasAlpha);
  70. }
  71. if (configuration.plugins) {
  72. configuration.plugins.forEach(addPlugin);
  73. }
  74. (0, _core.addJimpMethods)(jimpConfig["class"], jimpInstance);
  75. (0, _core.addConstants)(jimpConfig.constants, jimpInstance);
  76. return _core["default"];
  77. }
  78. module.exports = exports.default;
  79. //# sourceMappingURL=index.js.map