now handling CLI options
This commit is contained in:
parent
44b20b011c
commit
ce1dde6d54
32
index.js
32
index.js
@ -10,6 +10,35 @@ var smartcli = {};
|
|||||||
smartcli.inquirer = inquirer;
|
smartcli.inquirer = inquirer;
|
||||||
smartcli.cliff = cliff;
|
smartcli.cliff = cliff;
|
||||||
smartcli.argv = argv;
|
smartcli.argv = argv;
|
||||||
|
/* ------------------------------------------------------------------------------
|
||||||
|
*----------------------- initial call CLI args -----------------------------
|
||||||
|
*----------------------------------------------------------------------------- */
|
||||||
|
// commands
|
||||||
|
smartcli.checkCommand = function (commandString) {
|
||||||
|
if (argv._.indexOf(commandString) != -1) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
smartcli.getCommands = function () {
|
||||||
|
return argv._;
|
||||||
|
};
|
||||||
|
// options
|
||||||
|
smartcli.checkOption = function (optionParam) {
|
||||||
|
if (argv.hasOwnProperty(optionParam)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
smartcli.getOptions = function () {
|
||||||
|
var options = {};
|
||||||
|
for (var key in argv) {
|
||||||
|
if (key != "_") {
|
||||||
|
options['key'] = argv['key'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return options;
|
||||||
|
};
|
||||||
/**
|
/**
|
||||||
* returns the current working directory
|
* returns the current working directory
|
||||||
* @returns {string}
|
* @returns {string}
|
||||||
@ -17,6 +46,9 @@ smartcli.argv = argv;
|
|||||||
smartcli.getCwd = function () {
|
smartcli.getCwd = function () {
|
||||||
return process.cwd();
|
return process.cwd();
|
||||||
};
|
};
|
||||||
|
/* ------------------------------------------------------------------------------
|
||||||
|
*----------------------- in program CLI interaction -----------------------------
|
||||||
|
*----------------------------------------------------------------------------- */
|
||||||
/**
|
/**
|
||||||
* executes callback with answer to question as argument
|
* executes callback with answer to question as argument
|
||||||
* @param questionString the question you want to ask the user
|
* @param questionString the question you want to ask the user
|
||||||
|
15
test.js
15
test.js
@ -1,5 +1,20 @@
|
|||||||
/// <reference path="typings/tsd.d.ts" />
|
/// <reference path="typings/tsd.d.ts" />
|
||||||
var smartcli = require("./index.js");
|
var smartcli = require("./index.js");
|
||||||
|
var bl = require("beautylog");
|
||||||
|
bl.log('now starting Test');
|
||||||
|
bl.log('starting with initial CLI commands and options');
|
||||||
|
var commandsString = 'You specified the following commands:';
|
||||||
|
var commands = smartcli.getCommands();
|
||||||
|
for (var key in commands) {
|
||||||
|
commandsString = commandsString + ' ' + commands[key];
|
||||||
|
}
|
||||||
|
bl.log(commandsString);
|
||||||
|
if (smartcli.checkCommand('jazz')) {
|
||||||
|
bl.log('One of your commands is jazz');
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
bl.log('None of your commands is jazz');
|
||||||
|
}
|
||||||
var getAnswerTest = function () {
|
var getAnswerTest = function () {
|
||||||
smartcli.getAnswer('How do you feel?', function (answer) {
|
smartcli.getAnswer('How do you feel?', function (answer) {
|
||||||
console.log('The answer is: ' + answer);
|
console.log('The answer is: ' + answer);
|
||||||
|
45
ts/index.ts
45
ts/index.ts
@ -14,6 +14,43 @@ smartcli.inquirer = inquirer;
|
|||||||
smartcli.cliff = cliff;
|
smartcli.cliff = cliff;
|
||||||
smartcli.argv = argv;
|
smartcli.argv = argv;
|
||||||
|
|
||||||
|
/* ------------------------------------------------------------------------------
|
||||||
|
*----------------------- initial call CLI args -----------------------------
|
||||||
|
*----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
// commands
|
||||||
|
|
||||||
|
|
||||||
|
smartcli.checkCommand = function(commandString:string):boolean {
|
||||||
|
if (argv._.indexOf(commandString) != -1) {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
|
||||||
|
smartcli.getCommands = function ():string[] {
|
||||||
|
return argv._;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// options
|
||||||
|
smartcli.checkOption = function(optionParam:string):boolean {
|
||||||
|
if (argv.hasOwnProperty(optionParam)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
smartcli.getOptions = function() {
|
||||||
|
var options = {};
|
||||||
|
for (var key in argv) {
|
||||||
|
if (key != "_") {
|
||||||
|
options['key'] = argv['key'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return options;
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* returns the current working directory
|
* returns the current working directory
|
||||||
* @returns {string}
|
* @returns {string}
|
||||||
@ -22,6 +59,14 @@ smartcli.getCwd = function () {
|
|||||||
return process.cwd();
|
return process.cwd();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* ------------------------------------------------------------------------------
|
||||||
|
*----------------------- in program CLI interaction -----------------------------
|
||||||
|
*----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* executes callback with answer to question as argument
|
* executes callback with answer to question as argument
|
||||||
* @param questionString the question you want to ask the user
|
* @param questionString the question you want to ask the user
|
||||||
|
18
ts/test.ts
18
ts/test.ts
@ -1,5 +1,23 @@
|
|||||||
/// <reference path="typings/tsd.d.ts" />
|
/// <reference path="typings/tsd.d.ts" />
|
||||||
var smartcli = require("./index.js");
|
var smartcli = require("./index.js");
|
||||||
|
var bl = require("beautylog");
|
||||||
|
|
||||||
|
bl.log('now starting Test');
|
||||||
|
bl.log('starting with initial CLI commands and options');
|
||||||
|
|
||||||
|
var commandsString:string = 'You specified the following commands:';
|
||||||
|
var commands = smartcli.getCommands();
|
||||||
|
for (var key in commands) {
|
||||||
|
commandsString = commandsString + ' ' + commands[key];
|
||||||
|
}
|
||||||
|
bl.log(commandsString);
|
||||||
|
|
||||||
|
if (smartcli.checkCommand('jazz')) {
|
||||||
|
bl.log('One of your commands is jazz');
|
||||||
|
} else {
|
||||||
|
bl.log('None of your commands is jazz');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
var getAnswerTest = function() {
|
var getAnswerTest = function() {
|
||||||
smartcli.getAnswer('How do you feel?',function(answer){
|
smartcli.getAnswer('How do you feel?',function(answer){
|
||||||
|
Loading…
Reference in New Issue
Block a user