'use strict';

var timm = require('../../../timm/lib/timm.js');
var index = require('../../plugin-blit/es/index.js');
var index$1 = require('../../plugin-blur/es/index.js');
var index$2 = require('../../plugin-circle/es/index.js');
var index$3 = require('../../plugin-color/es/index.js');
var index$4 = require('../../plugin-contain/es/index.js');
var index$5 = require('../../plugin-cover/es/index.js');
var index$6 = require('../../plugin-crop/es/index.js');
var index$7 = require('../../plugin-displace/es/index.js');
var index$8 = require('../../plugin-dither/es/index.js');
var index$9 = require('../../plugin-fisheye/es/index.js');
var index$a = require('../../plugin-flip/es/index.js');
var index$b = require('../../plugin-gaussian/es/index.js');
var index$c = require('../../plugin-invert/es/index.js');
var index$d = require('../../plugin-mask/es/index.js');
var index$e = require('../../plugin-normalize/es/index.js');
var index$f = require('../../plugin-print/es/index.js');
var index$g = require('../../plugin-resize/es/index.js');
var index$h = require('../../plugin-rotate/es/index.js');
var index$i = require('../../plugin-scale/es/index.js');
var index$j = require('../../plugin-shadow/es/index.js');
var index$k = require('../../plugin-threshold/es/index.js');

const plugins = [index, index$1, index$2, index$3, index$4, index$5, index$6, index$7, index$8, index$9, index$a, index$b, index$c, index$d, index$e, index$f, index$g, index$h, index$i, index$j, index$k];
var plugins$1 = (jimpEvChange => {
  const initializedPlugins = plugins.map(pluginModule => {
    let plugin = pluginModule(jimpEvChange) || {};
    if (!plugin.class && !plugin.constants) {
      // Default to class function
      plugin = {
        class: plugin
      };
    }
    return plugin;
  });
  return timm.mergeDeep(...initializedPlugins);
});

module.exports = plugins$1;
