mite-cli
Version:
command line tool for time tracking service mite.de
46 lines (41 loc) • 1.25 kB
JavaScript
;
const options = {
archived: require('./archived'),
billable: require('./billable'),
budget: require('./budget'),
budgetType: require('./budget-type'),
columns: require('./columns'),
hourlyRate: require('./hourly-rate'),
json: require('./json'),
plain: require('./plain'),
pretty: require('./pretty'),
sort: require('./sort'),
tracking: require('./tracking'),
};
module.exports = {
...options,
/**
* @typedef CommandOption
* @property {string} definition
* @property {function} description
* @property {function} parse
*/
/**
* Returns an array of arguments which can be used in commander.option
*
* @param {CommandOption} commandOption required command option that should
* be used to create the array
* @param {string} alternateDescription optional alternate description for
* the argument
* @param {string} defaultValue optional default Value that should be used
* @return {Array<function|string>}
*/
toArgs: (commandOption, alternateDescription, defaultValue) => {
return [
commandOption.definition,
alternateDescription ? alternateDescription : commandOption.description(),
commandOption.parse,
defaultValue
];
}
};