55 lines
1.2 KiB
JavaScript
55 lines
1.2 KiB
JavaScript
import { mergeDeep } from 'timm';
|
|
|
|
import dither from '@jimp/plugin-dither';
|
|
import resize from '@jimp/plugin-resize';
|
|
import blit from '@jimp/plugin-blit';
|
|
import rotate from '@jimp/plugin-rotate';
|
|
import color from '@jimp/plugin-color';
|
|
import print from '@jimp/plugin-print';
|
|
import blur from '@jimp/plugin-blur';
|
|
import crop from '@jimp/plugin-crop';
|
|
import normalize from '@jimp/plugin-normalize';
|
|
import invert from '@jimp/plugin-invert';
|
|
import gaussian from '@jimp/plugin-gaussian';
|
|
import flip from '@jimp/plugin-flip';
|
|
import mask from '@jimp/plugin-mask';
|
|
import scale from '@jimp/plugin-scale';
|
|
import displace from '@jimp/plugin-displace';
|
|
import contain from '@jimp/plugin-contain';
|
|
import cover from '@jimp/plugin-cover';
|
|
|
|
const plugins = [
|
|
dither,
|
|
resize,
|
|
blit,
|
|
rotate,
|
|
color,
|
|
print,
|
|
blur,
|
|
crop,
|
|
normalize,
|
|
invert,
|
|
gaussian,
|
|
flip,
|
|
mask,
|
|
scale,
|
|
displace,
|
|
contain,
|
|
cover
|
|
];
|
|
|
|
export default 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 mergeDeep(...initializedPlugins);
|
|
};
|