/* jslint node: true */ /* eslint-disable no-console */ 'use strict'; const ExitCodes = require('./oputil_common.js').ExitCodes; const argv = require('./oputil_common.js').argv; const printUsageAndSetExitCode = require('./oputil_common.js').printUsageAndSetExitCode; const handleUserCommand = require('./oputil_user.js').handleUserCommand; const handleFileBaseCommand = require('./oputil_file_base.js').handleFileBaseCommand; const handleMessageBaseCommand = require('./oputil_message_base.js').handleMessageBaseCommand; const handleConfigCommand = require('./oputil_config.js').handleConfigCommand; const getHelpFor = require('./oputil_help.js').getHelpFor; module.exports = function () { process.exitCode = ExitCodes.SUCCESS; if (true === argv.version) { return console.info(require('../../package.json').version); } if (0 === argv._.length || 'help' === argv._[0]) { return printUsageAndSetExitCode(getHelpFor('General'), ExitCodes.SUCCESS); } switch (argv._[0]) { case 'user': return handleUserCommand(); case 'config': return handleConfigCommand(); case 'fb': return handleFileBaseCommand(); case 'mb': return handleMessageBaseCommand(); default: return printUsageAndSetExitCode(getHelpFor('General'), ExitCodes.BAD_COMMAND); } };