smartcli/dist/smartcli.getters.js

103 lines
10 KiB
JavaScript
Raw Normal View History

2016-03-18 17:08:26 +00:00
/// <reference path="typings/main.d.ts" />
"use strict";
var plugins = require("./smartcli.plugins");
var SmartcliChecks = require("./smartcli.checks");
/**
*
* @param commandString
* @returns {{specified: boolean, name: any, arguments: CliCommandArgument}}
*/
exports.command = function () {
var cliCommand = {
specified: SmartcliChecks.commandPresence(),
name: plugins.argv._[0],
arguments: exports.commandArgs()
};
return cliCommand;
};
/**
* gets the second or higher value of plugins.argv._ if specified and returns it as commandArgument
* @param argumentLevel
* @returns {{specified: (boolean|boolean), name}}
*/
exports.commandArgument = function (argumentLevel) {
var commandArgument = {
specified: false,
name: "undefined",
level: argumentLevel
};
if (argumentLevel < 1) {
plugins.beautylog.error("smartcli.get.argument cannot be invoked with an argumentLevel smaller than 1");
return commandArgument;
}
if (SmartcliChecks.commandArgumentPresence(argumentLevel)) {
commandArgument.specified = true;
commandArgument.name = plugins.argv._[argumentLevel];
}
return commandArgument;
};
/**
* returns array with commandArgs
* @returns {CliCommandArgument[]}
*/
exports.commandArgs = function () {
var commandArgs = [];
var argsArray = exports.commandArray().slice(0);
argsArray.shift();
for (var item in argsArray) {
2016-05-11 00:21:30 +00:00
var commandArgument_1 = {
2016-03-18 17:08:26 +00:00
specified: true,
name: argsArray[item],
2016-05-11 00:21:30 +00:00
level: parseInt(item) + 1
2016-03-18 17:08:26 +00:00
};
2016-05-11 00:21:30 +00:00
commandArgs.push(commandArgument_1);
2016-03-18 17:08:26 +00:00
}
return commandArgs;
};
/**
* returns complete command array
* @returns {any}
*/
exports.commandArray = function () {
var commandArray = plugins.argv._;
return commandArray;
};
/**
* returns a cli option
* @param optionName
* @returns {CliOption}
*/
exports.option = function (optionName) {
var cliOption = {
name: optionName,
specified: false,
value: false
};
if (plugins.smartparam.exists(plugins.argv, optionName)) {
cliOption.name = optionName;
cliOption.specified = true;
cliOption.value = plugins.argv[optionName]; //we already know from the "if" above that the value is available.
}
return cliOption;
};
exports.options = function () {
var options = {};
for (var key in plugins.argv) {
if (key != "_") {
options['key'] = plugins.argv['key'];
}
}
return options;
};
/**
* returns Directory of cwd
* @returns {{path: string}}
*/
exports.cwd = function () {
return {
path: process.cwd()
};
};
2016-05-12 01:27:45 +00:00
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0Y2xpLmdldHRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMENBQTBDOztBQUcxQyxJQUFPLE9BQU8sV0FBVyxvQkFBb0IsQ0FBQyxDQUFDO0FBQy9DLElBQU8sY0FBYyxXQUFXLG1CQUFtQixDQUFDLENBQUM7QUFFckQ7Ozs7R0FJRztBQUNRLGVBQU8sR0FBRztJQUNqQixJQUFJLFVBQVUsR0FBRztRQUNiLFNBQVMsRUFBRSxjQUFjLENBQUMsZUFBZSxFQUFFO1FBQzNDLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkIsU0FBUyxFQUFFLG1CQUFXLEVBQUU7S0FDM0IsQ0FBQTtJQUNELE1BQU0sQ0FBQyxVQUFVLENBQUM7QUFDdEIsQ0FBQyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNRLHVCQUFlLEdBQUcsVUFBUyxhQUFhO0lBQy9DLElBQUksZUFBZSxHQUFpQztRQUNoRCxTQUFTLEVBQUUsS0FBSztRQUNoQixJQUFJLEVBQUUsV0FBVztRQUNqQixLQUFLLEVBQUMsYUFBYTtLQUN0QixDQUFDO0lBQ0YsRUFBRSxDQUFBLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsOEVBQThFLENBQUMsQ0FBQztRQUN4RyxNQUFNLENBQUMsZUFBZSxDQUFDO0lBQzNCLENBQUM7SUFDRCxFQUFFLENBQUEsQ0FBQyxjQUFjLENBQUMsdUJBQXVCLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELGVBQWUsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLGVBQWUsQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUNELE1BQU0sQ0FBQyxlQUFlLENBQUM7QUFDM0IsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ1EsbUJBQVcsR0FBRztJQUNyQixJQUFJLFdBQVcsR0FBbUMsRUFBRSxDQUFDO0lBQ3JELElBQUksU0FBUyxHQUFHLG9CQUFZLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2xCLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLFNBQVMsQ0FBQyxDQUFBLENBQUM7UUFDeEIsSUFBSSxpQkFBZSxHQUFpQztZQUNoRCxTQUFTLEVBQUMsSUFBSTtZQUNkLElBQUksRUFBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQ3BCLEtBQUssRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztTQUM1QixDQUFBO1FBQ0QsV0FBVyxDQUFDLElBQUksQ0FBQyxpQkFBZSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNELE1BQU0sQ0FBQyxXQUFXLENBQUM7QUFDdkIsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ1Esb0JBQVksR0FBRztJQUN0QixJQUFJLFlBQVksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNsQyxNQUFNLENBQUMsWUFBWSxDQUFDO0FBQ3hCLENBQUMsQ0FBQztBQUdGOzs7O0dBSUc7QUFDUSxjQUFNLEdBQUcsVUFBUyxVQUFpQjtJQUMxQyxJQUFJLFNBQVMsR0FBd0I7UUFDakMsSUFBSSxFQUFDLFVBQVU7UUFDZixTQUFTLEVBQUUsS0FBSztRQUNoQixLQUFLLEVBQUUsS0FBSztLQUNmLENBQUM7SUFDRixFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyRCxTQUFTLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztRQUM1QixTQUFTLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUMzQixTQUFTLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUEsQ0FBQyxrRUFBa0U7SUFDakgsQ0FBQztJQUNELE1BQU0sQ0FBQyxTQUFTLENBQUM7QUFDckIsQ0FBQyxDQUFDO0FBR1MsZUFBTyxHQUFHO0lBQ2pCLElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNqQixHQUFHLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMzQixFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLENBQUM7SUFDTCxDQUFDO0lBQ0QsTUFBTSxDQUFDLE9BQU8sQ0FBQztBQUNuQixDQUFDLENBQUM7QUFFRjs7O0dBR0c7QUFDUSxXQUFHLEdBQUc7SUFDYixNQUFNLENBQUM7UUFDSCxJQUFJLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRTtLQUN0QixDQUFBO0FBQ0wsQ0FBQyxDQUFDIiwiZmlsZSI6InNtYXJ0Y2xpLmdldHRlcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSBwYXRoPVwidHlwaW5ncy9tYWluLmQudHNcIiAvPlxyXG5cclxuaW1wb3J0ICogYXMgaW50ZXJmYWNlcyBmcm9tIFwiLi9zbWFydGNsaS5pbnRlcmZhY2VzXCI7XHJcbmltcG9ydCBwbHVnaW5zID0gcmVxdWlyZShcIi4vc21hcnRjbGkucGx1Z2luc1wiKTtcclxuaW1wb3J0IFNtYXJ0Y2xpQ2hlY2tzID0gcmVxdWlyZShcIi4vc21hcnRjbGkuY2hlY2tzXCIpO1xyXG5cclxuLyoqXHJcbiAqXHJcbiAqIEBwYXJhbSBjb21tYW5kU3RyaW5nXHJcbiAqIEByZXR1cm5zIHt7c3BlY2lmaWVkOiBib29sZWFuLCBuYW1lOiBhbnksIGFyZ3VtZW50czogQ2xpQ29tbWFuZEFyZ3VtZW50fX1cclxuICovXHJcbmV4cG9ydCBsZXQgY29tbWFuZCA9IGZ1bmN0aW9uKCk6aW50ZXJmYWNlcy5DbGlDb21tYW5kIHtcclxuICAgIHZhciBjbGlDb21tYW5kID0ge1xyXG4gICAgICAgIHNwZWNpZmllZDogU21hcnRjbGlDaGVja3MuY29tbWFuZFByZXNlbmNlKCksXHJcbiAgICAgICAgbmFtZTogcGx1Z2lucy5hcmd2Ll9bMF0sXHJcbiAgICAgICAgYXJndW1lbnRzOiBjb21tYW5kQXJncygpXHJcbiAgICB9XHJcbiAgICByZXR1cm4gY2xpQ29tbWFuZDtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBnZXRzIHRoZSBzZWNvbmQgb3IgaGlnaGVyIHZhbHVlIG9mIHBsdWdpbnMuYXJndi5fIGlmIHNwZWNpZmllZCBhbmQgcmV0dXJucyBpdCBhcyBjb21tYW5kQXJndW1lbnRc