{"version":3,"sources":["../src/index.js"],"names":["Jimp","addType","addJimpMethods","addConstants","jimpEvChange","configure","configuration","jimpInstance","jimpConfig","hasAlpha","encoders","decoders","class","constants","addToConfig","newConfig","Object","entries","forEach","key","value","addImageType","typeModule","type","Array","isArray","mime","mimeType","addPlugin","pluginModule","plugin","types","plugins"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,OAAOA,IAAP,IACEC,OADF,EAEEC,cAFF,EAGEC,YAHF,EAIEC,YAJF,QAKO,YALP;AAOA,eAAe,SAASC,SAAT,CAAmBC,aAAnB,EAAuD;AAAA,MAArBC,YAAqB,uEAANP,IAAM;AACpE,MAAMQ,UAAU,GAAG;AACjBC,IAAAA,QAAQ,EAAE,EADO;AAEjBC,IAAAA,QAAQ,EAAE,EAFO;AAGjBC,IAAAA,QAAQ,EAAE,EAHO;AAIjBC,IAAAA,KAAK,EAAE,EAJU;AAKjBC,IAAAA,SAAS,EAAE;AALM,GAAnB;;AAQA,WAASC,WAAT,CAAqBC,SAArB,EAAgC;AAC9BC,IAAAA,MAAM,CAACC,OAAP,CAAeF,SAAf,EAA0BG,OAA1B,CAAkC,gBAAkB;AAAA;AAAA,UAAhBC,GAAgB;AAAA,UAAXC,KAAW;;AAClDZ,MAAAA,UAAU,CAACW,GAAD,CAAV,qBACKX,UAAU,CAACW,GAAD,CADf,EAEKC,KAFL;AAID,KALD;AAMD;;AAED,WAASC,YAAT,CAAsBC,UAAtB,EAAkC;AAChC,QAAMC,IAAI,GAAGD,UAAU,EAAvB;;AAEA,QAAIE,KAAK,CAACC,OAAN,CAAcF,IAAI,CAACG,IAAnB,CAAJ,EAA8B;AAC5BzB,MAAAA,OAAO,MAAP,4BAAWsB,IAAI,CAACG,IAAhB;AACD,KAFD,MAEO;AACLV,MAAAA,MAAM,CAACC,OAAP,CAAeM,IAAI,CAACG,IAApB,EAA0BR,OAA1B,CAAkC,UAAAS,QAAQ;AAAA,eAAI1B,OAAO,MAAP,4BAAW0B,QAAX,EAAJ;AAAA,OAA1C;AACD;;AAED,WAAOJ,IAAI,CAACG,IAAZ;AACAZ,IAAAA,WAAW,CAACS,IAAD,CAAX;AACD;;AAED,WAASK,SAAT,CAAmBC,YAAnB,EAAiC;AAC/B,QAAMC,MAAM,GAAGD,YAAY,CAACzB,YAAD,CAAZ,IAA8B,EAA7C;;AACA,QAAI,CAAC0B,MAAM,CAAClB,KAAR,IAAiB,CAACkB,MAAM,CAACjB,SAA7B,EAAwC;AACtC;AACAC,MAAAA,WAAW,CAAC;AAAEF,QAAAA,KAAK,EAAEkB;AAAT,OAAD,CAAX;AACD,KAHD,MAGO;AACLhB,MAAAA,WAAW,CAACgB,MAAD,CAAX;AACD;AACF;;AAED,MAAIxB,aAAa,CAACyB,KAAlB,EAAyB;AACvBzB,IAAAA,aAAa,CAACyB,KAAd,CAAoBb,OAApB,CAA4BG,YAA5B;AAEAd,IAAAA,YAAY,CAACI,QAAb,qBACKJ,YAAY,CAACI,QADlB,EAEKH,UAAU,CAACG,QAFhB;AAIAJ,IAAAA,YAAY,CAACG,QAAb,qBACKH,YAAY,CAACG,QADlB,EAEKF,UAAU,CAACE,QAFhB;AAIAH,IAAAA,YAAY,CAACE,QAAb,qBACKF,YAAY,CAACE,QADlB,EAEKD,UAAU,CAACC,QAFhB;AAID;;AAED,MAAIH,aAAa,CAAC0B,OAAlB,EAA2B;AACzB1B,IAAAA,aAAa,CAAC0B,OAAd,CAAsBd,OAAtB,CAA8BU,SAA9B;AACD;;AAED1B,EAAAA,cAAc,CAACM,UAAU,CAACI,KAAZ,EAAmBL,YAAnB,CAAd;AACAJ,EAAAA,YAAY,CAACK,UAAU,CAACK,SAAZ,EAAuBN,YAAvB,CAAZ;AAEA,SAAOP,IAAP;AACD","sourcesContent":["import Jimp, {\n addType,\n addJimpMethods,\n addConstants,\n jimpEvChange\n} from '@jimp/core';\n\nexport default function configure(configuration, jimpInstance = Jimp) {\n const jimpConfig = {\n hasAlpha: {},\n encoders: {},\n decoders: {},\n class: {},\n constants: {}\n };\n\n function addToConfig(newConfig) {\n Object.entries(newConfig).forEach(([key, value]) => {\n jimpConfig[key] = {\n ...jimpConfig[key],\n ...value\n };\n });\n }\n\n function addImageType(typeModule) {\n const type = typeModule();\n\n if (Array.isArray(type.mime)) {\n addType(...type.mime);\n } else {\n Object.entries(type.mime).forEach(mimeType => addType(...mimeType));\n }\n\n delete type.mime;\n addToConfig(type);\n }\n\n function addPlugin(pluginModule) {\n const plugin = pluginModule(jimpEvChange) || {};\n if (!plugin.class && !plugin.constants) {\n // Default to class function\n addToConfig({ class: plugin });\n } else {\n addToConfig(plugin);\n }\n }\n\n if (configuration.types) {\n configuration.types.forEach(addImageType);\n\n jimpInstance.decoders = {\n ...jimpInstance.decoders,\n ...jimpConfig.decoders\n };\n jimpInstance.encoders = {\n ...jimpInstance.encoders,\n ...jimpConfig.encoders\n };\n jimpInstance.hasAlpha = {\n ...jimpInstance.hasAlpha,\n ...jimpConfig.hasAlpha\n };\n }\n\n if (configuration.plugins) {\n configuration.plugins.forEach(addPlugin);\n }\n\n addJimpMethods(jimpConfig.class, jimpInstance);\n addConstants(jimpConfig.constants, jimpInstance);\n\n return Jimp;\n}\n"],"file":"index.js"}