/* 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); } };