diff --git a/lib/mosh.js b/lib/mosh.js index 97ff86f..0b87eff 100644 --- a/lib/mosh.js +++ b/lib/mosh.js @@ -4,6 +4,7 @@ const Jimp = require('jimp') const debug = require('util').debuglog('mosh') const path = require('path') +const fs = require('fs') module.exports = mosh @@ -40,6 +41,17 @@ function mosh (options, cb) { } } + mosh.MODES = {} + + const modeNames = fs.readdirSync(path.join(__dirname, '/modes')) + + modeNames.forEach((name) => { + if (name.endsWith('.js')) { + name = name.slice(0, name.indexOf('.')) + mosh.MODES[name] = require(`./modes/${name}`) + } + }) + /* lean on jimp for img encoding */ Jimp.read(read) .then(doMosh) @@ -90,11 +102,3 @@ function mosh (options, cb) { } } } - -mosh.MODES = { - blurbobb: require('./modes/blurbobb'), - schifty: require('./modes/schifty'), - veneneux: require('./modes/veneneux'), - vana: require('./modes/vana'), - fatcat: require('./modes/fatcat') -}