????
Current Path : C:/inetpub/vhost/invest.gdtsolutions.vn/api/node_modules/@jimp/custom/src/ |
Current File : C:/inetpub/vhost/invest.gdtsolutions.vn/api/node_modules/@jimp/custom/src/index.js |
import Jimp, { addType, addJimpMethods, addConstants, jimpEvChange, } from "@jimp/core"; export default function configure(configuration, jimpInstance = Jimp) { const jimpConfig = { hasAlpha: {}, encoders: {}, decoders: {}, class: {}, constants: {}, }; function addToConfig(newConfig) { Object.entries(newConfig).forEach(([key, value]) => { jimpConfig[key] = { ...jimpConfig[key], ...value, }; }); } function addImageType(typeModule) { const type = typeModule(); if (Array.isArray(type.mime)) { addType(...type.mime); } else { Object.entries(type.mime).forEach((mimeType) => addType(...mimeType)); } delete type.mime; addToConfig(type); } function addPlugin(pluginModule) { const plugin = pluginModule(jimpEvChange) || {}; if (!plugin.class && !plugin.constants) { // Default to class function addToConfig({ class: plugin }); } else { addToConfig(plugin); } } if (configuration.types) { configuration.types.forEach(addImageType); jimpInstance.decoders = { ...jimpInstance.decoders, ...jimpConfig.decoders, }; jimpInstance.encoders = { ...jimpInstance.encoders, ...jimpConfig.encoders, }; jimpInstance.hasAlpha = { ...jimpInstance.hasAlpha, ...jimpConfig.hasAlpha, }; } if (configuration.plugins) { configuration.plugins.forEach(addPlugin); } addJimpMethods(jimpConfig.class, jimpInstance); addConstants(jimpConfig.constants, jimpInstance); return Jimp; }