-
Notifications
You must be signed in to change notification settings - Fork 0
Examples
Ashish Uttam edited this page Jul 26, 2020
·
5 revisions
Creating Simple CLI Program that accepts command-line arguments
const { Program } = require('@auttam/easycli');
class HelloWorld extends Program {
main(message, $options){
// use default message if message not from the cli
let greetMessage = message || "Hello World!";
// check for the underline options
if($options.$has("u", "U", "underline")) {
greetMessage = `\u001b[4m${greetMessage}\u001b[0m`;
}
// check of the color options
if($options.$has("c", "C", "color")) {
greetMessage = `\u001b[32m${greetMessage}\u001b[0m`;
}
console.log(greetMessage);
}
}
// run the program
Program.run(new HelloWorld());Create a CLI Program with custom configuration that accepts 2 commands Run this example here
const { Program } = require("@auttam/easycli");
// enable commands
Program.settings({
enableCommands: true,
});
class SimpleCalculator extends Program {
divideCommand(dividend, divisor) {
if (isNaN(dividend) || isNaN(divisor)) {
console.log("dividend and divisor must be numbers");
return;
}
console.log(`Divide: ${dividend}/${divisor} = ${dividend / divisor}`);
}
addCommand(...numbers) {
// due to configuration added for numbers below
// number array will never be empty
if (numbers.some((item) => isNaN(item))) {
console.log("All parameters must be numbers");
return;
}
const total = numbers.reduce((sum, number) => sum + number);
console.log(`Add: ${numbers.join("+")} = ${total}`);
}
}
Program.run(
new SimpleCalculator({
commands: [
{
name: "add",
method: "addCommand",
params: [
{
name: "numbers",
required: true,
},
],
},
],
})
);