Start restructuring to use a smarter Smartcli class that handles command evaluation for you
This commit is contained in:
parent
cf78839e12
commit
9e76f2afb1
12
dist/index.d.ts
vendored
12
dist/index.d.ts
vendored
@ -1,10 +1,2 @@
|
|||||||
import * as SmartcliChecks from "./smartcli.checks";
|
import "typings-global";
|
||||||
import * as SmartcliGetters from "./smartcli.getters";
|
export { Smartcli } from "./smartcli.classes.smartcli";
|
||||||
import * as SmartcliInteractions from "./smartcli.interaction";
|
|
||||||
export declare let commander: any;
|
|
||||||
export declare let inquirer: any;
|
|
||||||
export declare let cliff: any;
|
|
||||||
export declare let argv: any;
|
|
||||||
export declare let check: typeof SmartcliChecks;
|
|
||||||
export declare let get: typeof SmartcliGetters;
|
|
||||||
export declare let interaction: typeof SmartcliInteractions;
|
|
||||||
|
29
dist/index.js
vendored
29
dist/index.js
vendored
@ -1,27 +1,6 @@
|
|||||||
/// <reference path="typings/index.d.ts" />
|
|
||||||
"use strict";
|
"use strict";
|
||||||
var plugins = require("./smartcli.plugins");
|
require("typings-global");
|
||||||
var SmartcliChecks = require("./smartcli.checks");
|
var smartcli_classes_smartcli_1 = require("./smartcli.classes.smartcli");
|
||||||
var SmartcliGetters = require("./smartcli.getters");
|
exports.Smartcli = smartcli_classes_smartcli_1.Smartcli;
|
||||||
var SmartcliInteractions = require("./smartcli.interaction");
|
|
||||||
/* ------------------------------------------------ *
|
|
||||||
* ---------- plugins for direct use -------------- *
|
|
||||||
* ------------------------------------------------ */
|
|
||||||
exports.commander = plugins.commander; //commander allows cool chaining of cli actions
|
|
||||||
exports.inquirer = plugins.inquirer; //inquirer is for asking questions
|
|
||||||
exports.cliff = plugins.cliff; // formats cli output
|
|
||||||
exports.argv = plugins.argv; //argv gets initial cli commands and options.
|
|
||||||
/* ------------------------------------------------ *
|
|
||||||
* ---------- checks ------------------------------ *
|
|
||||||
* ------------------------------------------------ */
|
|
||||||
exports.check = SmartcliChecks;
|
|
||||||
/* ------------------------------------------------ *
|
|
||||||
* ---------- getters ----------------------------- *
|
|
||||||
* ------------------------------------------------ */
|
|
||||||
exports.get = SmartcliGetters;
|
|
||||||
/* ------------------------------------------------ *
|
|
||||||
* ---------- interaction ----------------------------- *
|
|
||||||
* ------------------------------------------------ */
|
|
||||||
exports.interaction = SmartcliInteractions;
|
|
||||||
|
|
||||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJDQUEyQzs7QUFHM0MsSUFBWSxPQUFPLFdBQU0sb0JBQ3pCLENBQUMsQ0FENEM7QUFDN0MsSUFBWSxjQUFjLFdBQU0sbUJBQW1CLENBQUMsQ0FBQTtBQUNwRCxJQUFZLGVBQWUsV0FBTSxvQkFBb0IsQ0FBQyxDQUFBO0FBQ3RELElBQVksb0JBQW9CLFdBQU0sd0JBQXdCLENBQUMsQ0FBQTtBQUUvRDs7c0RBRXNEO0FBQzNDLGlCQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLCtDQUErQztBQUM5RSxnQkFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxrQ0FBa0M7QUFDL0QsYUFBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxxQkFBcUI7QUFDNUMsWUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyw2Q0FBNkM7QUFFN0U7O3NEQUVzRDtBQUMzQyxhQUFLLEdBQUcsY0FBYyxDQUFDO0FBRWxDOztzREFFc0Q7QUFDM0MsV0FBRyxHQUFHLGVBQWUsQ0FBQztBQUVqQzs7c0RBRXNEO0FBQzNDLG1CQUFXLEdBQUcsb0JBQW9CLENBQUMiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSBwYXRoPVwidHlwaW5ncy9pbmRleC5kLnRzXCIgLz5cclxuXHJcbmltcG9ydCAqIGFzIGludGVyZmFjZXMgZnJvbSBcIi4vc21hcnRjbGkuaW50ZXJmYWNlc1wiXHJcbmltcG9ydCAqIGFzIHBsdWdpbnMgZnJvbSBcIi4vc21hcnRjbGkucGx1Z2luc1wiXHJcbmltcG9ydCAqIGFzIFNtYXJ0Y2xpQ2hlY2tzIGZyb20gXCIuL3NtYXJ0Y2xpLmNoZWNrc1wiO1xyXG5pbXBvcnQgKiBhcyBTbWFydGNsaUdldHRlcnMgZnJvbSBcIi4vc21hcnRjbGkuZ2V0dGVyc1wiO1xyXG5pbXBvcnQgKiBhcyBTbWFydGNsaUludGVyYWN0aW9ucyBmcm9tIFwiLi9zbWFydGNsaS5pbnRlcmFjdGlvblwiO1xyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcclxuICogLS0tLS0tLS0tLSBwbHVnaW5zIGZvciBkaXJlY3QgdXNlIC0tLS0tLS0tLS0tLS0tICpcclxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbmV4cG9ydCBsZXQgY29tbWFuZGVyID0gcGx1Z2lucy5jb21tYW5kZXI7IC8vY29tbWFuZGVyIGFsbG93cyBjb29sIGNoYWluaW5nIG9mIGNsaSBhY3Rpb25zXHJcbmV4cG9ydCBsZXQgaW5xdWlyZXIgPSBwbHVnaW5zLmlucXVpcmVyOyAvL2lucXVpcmVyIGlzIGZvciBhc2tpbmcgcXVlc3Rpb25zXHJcbmV4cG9ydCBsZXQgY2xpZmYgPSBwbHVnaW5zLmNsaWZmOyAvLyBmb3JtYXRzIGNsaSBvdXRwdXRcclxuZXhwb3J0IGxldCBhcmd2ID0gcGx1Z2lucy5hcmd2OyAvL2FyZ3YgZ2V0cyBpbml0aWFsIGNsaSBjb21tYW5kcyBhbmQgb3B0aW9ucy5cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXHJcbiAqIC0tLS0tLS0tLS0gY2hlY2tzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXHJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5leHBvcnQgbGV0IGNoZWNrID0gU21hcnRjbGlDaGVja3M7XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxyXG4gKiAtLS0tLS0tLS0tIGdldHRlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuZXhwb3J0IGxldCBnZXQgPSBTbWFydGNsaUdldHRlcnM7XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxyXG4gKiAtLS0tLS0tLS0tIGludGVyYWN0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcclxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbmV4cG9ydCBsZXQgaW50ZXJhY3Rpb24gPSBTbWFydGNsaUludGVyYWN0aW9ucztcclxuIl19
|
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUFnQixDQUFDLENBQUE7QUFHeEIsMENBQXVCLDZCQUE2QixDQUFDO0FBQTdDLHdEQUE2QyIsImZpbGUiOiJpbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XG5cbmltcG9ydCB7U21hcnRjbGl9IGZyb20gXCIuL3NtYXJ0Y2xpLmNsYXNzZXMuc21hcnRjbGlcIjtcbmV4cG9ydCB7U21hcnRjbGl9IGZyb20gXCIuL3NtYXJ0Y2xpLmNsYXNzZXMuc21hcnRjbGlcIjtcbiJdfQ==
|
||||||
|
12
dist/smartcli.checks.d.ts
vendored
12
dist/smartcli.checks.d.ts
vendored
@ -1,15 +1,5 @@
|
|||||||
|
import "typings-global";
|
||||||
import "./smartcli.interfaces";
|
import "./smartcli.interfaces";
|
||||||
/**
|
|
||||||
* checks for a special command string and returns true if found.
|
|
||||||
* @param commandString
|
|
||||||
* @returns {boolean}
|
|
||||||
*/
|
|
||||||
export declare let command: (commandString: string) => boolean;
|
|
||||||
/**
|
|
||||||
* checks if a command is present, returns true if yes, false if no.
|
|
||||||
* @returns {boolean}
|
|
||||||
*/
|
|
||||||
export declare let commandPresence: () => boolean;
|
|
||||||
/**
|
/**
|
||||||
* checks for an special command argument at a certain position, returns true if matches, returns false if not
|
* checks for an special command argument at a certain position, returns true if matches, returns false if not
|
||||||
* @param level
|
* @param level
|
||||||
|
25
dist/smartcli.checks.js
vendored
25
dist/smartcli.checks.js
vendored
@ -1,28 +1,7 @@
|
|||||||
/// <reference path="typings/index.d.ts" />
|
|
||||||
"use strict";
|
"use strict";
|
||||||
|
require("typings-global");
|
||||||
require("./smartcli.interfaces");
|
require("./smartcli.interfaces");
|
||||||
var plugins = require("./smartcli.plugins");
|
var plugins = require("./smartcli.plugins");
|
||||||
/**
|
|
||||||
* checks for a special command string and returns true if found.
|
|
||||||
* @param commandString
|
|
||||||
* @returns {boolean}
|
|
||||||
*/
|
|
||||||
exports.command = function (commandString) {
|
|
||||||
if (plugins.argv._.indexOf(commandString) == 0) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
};
|
|
||||||
/**
|
|
||||||
* checks if a command is present, returns true if yes, false if no.
|
|
||||||
* @returns {boolean}
|
|
||||||
*/
|
|
||||||
exports.commandPresence = function () {
|
|
||||||
if (plugins.argv._.length > 0) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
};
|
|
||||||
/**
|
/**
|
||||||
* checks for an special command argument at a certain position, returns true if matches, returns false if not
|
* checks for an special command argument at a certain position, returns true if matches, returns false if not
|
||||||
* @param level
|
* @param level
|
||||||
@ -59,4 +38,4 @@ exports.optionPresence = function () {
|
|||||||
return false;
|
return false;
|
||||||
};
|
};
|
||||||
|
|
||||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0Y2xpLmNoZWNrcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7O0FBRTNDLFFBQU8sdUJBQXVCLENBQUMsQ0FBQTtBQUMvQixJQUFPLE9BQU8sV0FBVyxvQkFBb0IsQ0FBQyxDQUFDO0FBRS9DOzs7O0dBSUc7QUFDUSxlQUFPLEdBQUcsVUFBUyxhQUFvQjtJQUM5QyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3QyxNQUFNLENBQUMsSUFBSSxDQUFBO0lBQ2YsQ0FBQztJQUNELE1BQU0sQ0FBQyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ1EsdUJBQWUsR0FBRztJQUN6QixFQUFFLENBQUEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUEsQ0FBQztRQUMxQixNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxNQUFNLENBQUMsS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQztBQUVGOzs7O0dBSUc7QUFDUSx1QkFBZSxHQUFHLFVBQVMscUJBQTRCLEVBQUMsS0FBZ0I7SUFBaEIscUJBQWdCLEdBQWhCLFNBQWdCO0lBQy9FLEVBQUUsQ0FBQSxDQUFDLCtCQUF1QixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUkscUJBQXFCLENBQUUsQ0FBQyxDQUFDLENBQUM7UUFDckYsTUFBTSxDQUFDLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0QsTUFBTSxDQUFDLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUM7QUFFUywrQkFBdUIsR0FBRyxVQUFTLEtBQWdCO0lBQWhCLHFCQUFnQixHQUFoQixTQUFnQjtJQUMxRCxFQUFFLENBQUEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNELE1BQU0sQ0FBQyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ1EsY0FBTSxHQUFHLFVBQVMsWUFBWTtJQUNyQyxFQUFFLENBQUEsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RCxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxNQUFNLENBQUMsS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQztBQUVTLHNCQUFjLEdBQUc7SUFDeEIsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0IsTUFBTSxDQUFDLElBQUksQ0FBQTtJQUNmLENBQUM7SUFDRCxNQUFNLENBQUMsS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsImZpbGUiOiJzbWFydGNsaS5jaGVja3MuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSBwYXRoPVwidHlwaW5ncy9pbmRleC5kLnRzXCIgLz5cclxuXHJcbmltcG9ydCBcIi4vc21hcnRjbGkuaW50ZXJmYWNlc1wiO1xyXG5pbXBvcnQgcGx1Z2lucyA9IHJlcXVpcmUoXCIuL3NtYXJ0Y2xpLnBsdWdpbnNcIik7XHJcblxyXG4vKipcclxuICogY2hlY2tzIGZvciBhIHNwZWNpYWwgY29tbWFuZCBzdHJpbmcgYW5kIHJldHVybnMgdHJ1ZSBpZiBmb3VuZC5cclxuICogQHBhcmFtIGNvbW1hbmRTdHJpbmdcclxuICogQHJldHVybnMge2Jvb2xlYW59XHJcbiAqL1xyXG5leHBvcnQgbGV0IGNvbW1hbmQgPSBmdW5jdGlvbihjb21tYW5kU3RyaW5nOnN0cmluZyk6Ym9vbGVhbiB7XHJcbiAgICBpZiAocGx1Z2lucy5hcmd2Ll8uaW5kZXhPZihjb21tYW5kU3RyaW5nKSA9PSAwKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWVcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBjaGVja3MgaWYgYSBjb21tYW5kIGlzIHByZXNlbnQsIHJldHVybnMgdHJ1ZSBpZiB5ZXMsIGZhbHNlIGlmIG5vLlxyXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cclxuICovXHJcbmV4cG9ydCBsZXQgY29tbWFuZFByZXNlbmNlID0gZnVuY3Rpb24oKTpib29sZWFuIHtcclxuICAgIGlmKHBsdWdpbnMuYXJndi5fLmxlbmd0aCA+IDApe1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIGNoZWNrcyBmb3IgYW4gc3BlY2lhbCBjb21tYW5kIGFyZ3VtZW50IGF0IGEgY2VydGFpbiBwb3NpdGlvbiwgcmV0dXJucyB0cnVlIGlmIG1hdGNoZXMsIHJldHVybnMgZmFsc2UgaWYgbm90XHJcbiAqIEBwYXJhbSBsZXZlbFxyXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cclxuICovXHJcbmV4cG9ydCBsZXQgY29tbWFuZEFyZ3VtZW50ID0gZnVuY3Rpb24oY29tbWFuZEFyZ3VtZW50U3RyaW5nOnN0cmluZyxsZXZlbDpudW1iZXIgPSAxKTpib29sZWFuIHtcclxuICAgIGlmKGNvbW1hbmRBcmd1bWVudFByZXNlbmNlKGxldmVsKSAmJiAocGx1Z2lucy5hcmd2Ll9bbGV2ZWxdID09IGNvbW1hbmRBcmd1bWVudFN0cmluZyApKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbn07XHJcblxyXG5leHBvcnQgbGV0IGNvbW1hbmRBcmd1bWVudFByZXNlbmNlID0gZnVuY3Rpb24obGV2ZWw6bnVtYmVyID0gMSkge1xyXG4gICAgaWYocGx1Z2lucy5hcmd2Ll8ubGVuZ3RoID49IChsZXZlbCArIDEpKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbn07XHJcblxyXG4vKipcclxuICogY2hlY2tzIGZvciBhIHNwZWNpZmljIG9wdGlvbiBzdHJpbmcsIHJldHVybnMgdHJ1ZSBpZiB5ZXMsIHJldHVybnMgZmFsc2UgaWYgbm9cclxuICogQHJldHVybnMge2Jvb2xlYW59XHJcbiAqL1xyXG5leHBvcnQgbGV0IG9wdGlvbiA9IGZ1bmN0aW9uKG9wdGlvblN0cmluZyk6Ym9vbGVhbiB7XHJcbiAgICBpZihwbHVnaW5zLnNtYXJ0cGFyYW0uZXhpc3RzKHBsdWdpbnMuYXJndiwgb3B0aW9uU3RyaW5nKSkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG59O1xyXG5cclxuZXhwb3J0IGxldCBvcHRpb25QcmVzZW5jZSA9IGZ1bmN0aW9uKCk6Ym9vbGVhbiB7XHJcbiAgICBpZiAocGx1Z2lucy5hcmd2LmluZGV4T2YoKSAhPSAtMSkge1xyXG4gICAgICAgIHJldHVybiB0cnVlXHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbn07Il19
|
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0Y2xpLmNoZWNrcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBRXhCLFFBQU8sdUJBQXVCLENBQUMsQ0FBQTtBQUMvQixJQUFPLE9BQU8sV0FBVyxvQkFBb0IsQ0FBQyxDQUFDO0FBRy9DOzs7O0dBSUc7QUFDUSx1QkFBZSxHQUFHLFVBQVMscUJBQTRCLEVBQUMsS0FBZ0I7SUFBaEIscUJBQWdCLEdBQWhCLFNBQWdCO0lBQy9FLEVBQUUsQ0FBQSxDQUFDLCtCQUF1QixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUkscUJBQXFCLENBQUUsQ0FBQyxDQUFDLENBQUM7UUFDckYsTUFBTSxDQUFDLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0QsTUFBTSxDQUFDLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUM7QUFFUywrQkFBdUIsR0FBRyxVQUFTLEtBQWdCO0lBQWhCLHFCQUFnQixHQUFoQixTQUFnQjtJQUMxRCxFQUFFLENBQUEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNELE1BQU0sQ0FBQyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ1EsY0FBTSxHQUFHLFVBQVMsWUFBWTtJQUNyQyxFQUFFLENBQUEsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RCxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxNQUFNLENBQUMsS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQztBQUVTLHNCQUFjLEdBQUc7SUFDeEIsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0IsTUFBTSxDQUFDLElBQUksQ0FBQTtJQUNmLENBQUM7SUFDRCxNQUFNLENBQUMsS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsImZpbGUiOiJzbWFydGNsaS5jaGVja3MuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiO1xuXG5pbXBvcnQgXCIuL3NtYXJ0Y2xpLmludGVyZmFjZXNcIjtcbmltcG9ydCBwbHVnaW5zID0gcmVxdWlyZShcIi4vc21hcnRjbGkucGx1Z2luc1wiKTtcblxuXG4vKipcbiAqIGNoZWNrcyBmb3IgYW4gc3BlY2lhbCBjb21tYW5kIGFyZ3VtZW50IGF0IGEgY2VydGFpbiBwb3NpdGlvbiwgcmV0dXJucyB0cnVlIGlmIG1hdGNoZXMsIHJldHVybnMgZmFsc2UgaWYgbm90XG4gKiBAcGFyYW0gbGV2ZWxcbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5leHBvcnQgbGV0IGNvbW1hbmRBcmd1bWVudCA9IGZ1bmN0aW9uKGNvbW1hbmRBcmd1bWVudFN0cmluZzpzdHJpbmcsbGV2ZWw6bnVtYmVyID0gMSk6Ym9vbGVhbiB7XG4gICAgaWYoY29tbWFuZEFyZ3VtZW50UHJlc2VuY2UobGV2ZWwpICYmIChwbHVnaW5zLmFyZ3YuX1tsZXZlbF0gPT0gY29tbWFuZEFyZ3VtZW50U3RyaW5nICkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn07XG5cbmV4cG9ydCBsZXQgY29tbWFuZEFyZ3VtZW50UHJlc2VuY2UgPSBmdW5jdGlvbihsZXZlbDpudW1iZXIgPSAxKSB7XG4gICAgaWYocGx1Z2lucy5hcmd2Ll8ubGVuZ3RoID49IChsZXZlbCArIDEpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59O1xuXG4vKipcbiAqIGNoZWNrcyBmb3IgYSBzcGVjaWZpYyBvcHRpb24gc3RyaW5nLCByZXR1cm5zIHRydWUgaWYgeWVzLCByZXR1cm5zIGZhbHNlIGlmIG5vXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZXhwb3J0IGxldCBvcHRpb24gPSBmdW5jdGlvbihvcHRpb25TdHJpbmcpOmJvb2xlYW4ge1xuICAgIGlmKHBsdWdpbnMuc21hcnRwYXJhbS5leGlzdHMocGx1Z2lucy5hcmd2LCBvcHRpb25TdHJpbmcpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59O1xuXG5leHBvcnQgbGV0IG9wdGlvblByZXNlbmNlID0gZnVuY3Rpb24oKTpib29sZWFuIHtcbiAgICBpZiAocGx1Z2lucy5hcmd2LmluZGV4T2YoKSAhPSAtMSkge1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59OyJdfQ==
|
||||||
|
3
dist/smartcli.classes.d.ts
vendored
3
dist/smartcli.classes.d.ts
vendored
@ -1,3 +0,0 @@
|
|||||||
export declare class smartcli {
|
|
||||||
constructor();
|
|
||||||
}
|
|
9
dist/smartcli.classes.js
vendored
9
dist/smartcli.classes.js
vendored
@ -1,9 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
var smartcli = (function () {
|
|
||||||
function smartcli() {
|
|
||||||
}
|
|
||||||
return smartcli;
|
|
||||||
}());
|
|
||||||
exports.smartcli = smartcli;
|
|
||||||
|
|
||||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0Y2xpLmNsYXNzZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBO0lBRUk7SUFFQSxDQUFDO0lBQ0wsZUFBQztBQUFELENBTEEsQUFLQyxJQUFBO0FBTFksZ0JBQVEsV0FLcEIsQ0FBQSIsImZpbGUiOiJzbWFydGNsaS5jbGFzc2VzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIHNtYXJ0Y2xpIHtcclxuICAgIFxyXG4gICAgY29uc3RydWN0b3IoKXtcclxuICAgICAgICBcclxuICAgIH1cclxufSJdfQ==
|
|
17
dist/smartcli.classes.smartcli.d.ts
vendored
17
dist/smartcli.classes.smartcli.d.ts
vendored
@ -1,2 +1,17 @@
|
|||||||
export declare class smartcli {
|
import "typings-global";
|
||||||
|
import * as interfaces from "./smartcli.interfaces";
|
||||||
|
export declare class Smartcli {
|
||||||
|
questionsDone: any;
|
||||||
|
commands: interfaces.CliCommand[];
|
||||||
|
questions: any;
|
||||||
|
constructor();
|
||||||
|
addCommand(definitionArg: {
|
||||||
|
commandName: string;
|
||||||
|
}): any;
|
||||||
|
addQuestion(definitionArg: {
|
||||||
|
questionString: string;
|
||||||
|
questionType: string;
|
||||||
|
}): void;
|
||||||
|
addVersion(versionArg: string): void;
|
||||||
|
startParse(): void;
|
||||||
}
|
}
|
||||||
|
31
dist/smartcli.classes.smartcli.js
vendored
31
dist/smartcli.classes.smartcli.js
vendored
@ -1,9 +1,30 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
var smartcli = (function () {
|
require("typings-global");
|
||||||
function smartcli() {
|
var plugins = require("./smartcli.plugins");
|
||||||
|
var Smartcli = (function () {
|
||||||
|
function Smartcli() {
|
||||||
|
this.questionsDone = plugins.q.defer();
|
||||||
}
|
}
|
||||||
return smartcli;
|
Smartcli.prototype.addCommand = function (definitionArg) {
|
||||||
|
var done = plugins.q.defer();
|
||||||
|
if (plugins.argv._.indexOf(definitionArg.commandName) == 0) {
|
||||||
|
done.resolve();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return done.reject();
|
||||||
|
}
|
||||||
|
return done.promsise;
|
||||||
|
};
|
||||||
|
;
|
||||||
|
Smartcli.prototype.addQuestion = function (definitionArg) {
|
||||||
|
};
|
||||||
|
;
|
||||||
|
Smartcli.prototype.addVersion = function (versionArg) {
|
||||||
|
};
|
||||||
|
Smartcli.prototype.startParse = function () {
|
||||||
|
};
|
||||||
|
return Smartcli;
|
||||||
}());
|
}());
|
||||||
exports.smartcli = smartcli;
|
exports.Smartcli = Smartcli;
|
||||||
|
|
||||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0Y2xpLmNsYXNzZXMuc21hcnRjbGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBO0lBQUE7SUFFQSxDQUFDO0lBQUQsZUFBQztBQUFELENBRkEsQUFFQyxJQUFBO0FBRlksZ0JBQVEsV0FFcEIsQ0FBQSIsImZpbGUiOiJzbWFydGNsaS5jbGFzc2VzLnNtYXJ0Y2xpLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIHNtYXJ0Y2xpIHtcclxuICAgIFxyXG59Il19
|
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0Y2xpLmNsYXNzZXMuc21hcnRjbGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUd4QixJQUFZLE9BQU8sV0FBTSxvQkFDekIsQ0FBQyxDQUQ0QztBQUs3QztJQUlJO1FBQ0ksSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFDRCw2QkFBVSxHQUFWLFVBQVcsYUFBa0M7UUFDekMsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM3QixFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDekQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25CLENBQUM7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNKLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDekIsQ0FBQztRQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7O0lBQ0QsOEJBQVcsR0FBWCxVQUFZLGFBQXlEO0lBRXJFLENBQUM7O0lBQ0QsNkJBQVUsR0FBVixVQUFXLFVBQWlCO0lBRTVCLENBQUM7SUFDRCw2QkFBVSxHQUFWO0lBRUEsQ0FBQztJQUVMLGVBQUM7QUFBRCxDQTFCQSxBQTBCQyxJQUFBO0FBMUJZLGdCQUFRLFdBMEJwQixDQUFBIiwiZmlsZSI6InNtYXJ0Y2xpLmNsYXNzZXMuc21hcnRjbGkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiO1xuXG5pbXBvcnQgKiBhcyBpbnRlcmZhY2VzIGZyb20gXCIuL3NtYXJ0Y2xpLmludGVyZmFjZXNcIlxuaW1wb3J0ICogYXMgcGx1Z2lucyBmcm9tIFwiLi9zbWFydGNsaS5wbHVnaW5zXCJcbmltcG9ydCAqIGFzIFNtYXJ0Y2xpQ2hlY2tzIGZyb20gXCIuL3NtYXJ0Y2xpLmNoZWNrc1wiO1xuaW1wb3J0ICogYXMgU21hcnRjbGlHZXR0ZXJzIGZyb20gXCIuL3NtYXJ0Y2xpLmdldHRlcnNcIjtcbmltcG9ydCAqIGFzIFNtYXJ0Y2xpSW50ZXJhY3Rpb25zIGZyb20gXCIuL3NtYXJ0Y2xpLmludGVyYWN0aW9uXCI7XG5cbmV4cG9ydCBjbGFzcyBTbWFydGNsaSB7XG4gICAgcXVlc3Rpb25zRG9uZTtcbiAgICBjb21tYW5kczppbnRlcmZhY2VzLkNsaUNvbW1hbmRbXTtcbiAgICBxdWVzdGlvbnM7XG4gICAgY29uc3RydWN0b3IoKXtcbiAgICAgICAgdGhpcy5xdWVzdGlvbnNEb25lID0gcGx1Z2lucy5xLmRlZmVyKCk7XG4gICAgfVxuICAgIGFkZENvbW1hbmQoZGVmaW5pdGlvbkFyZzp7Y29tbWFuZE5hbWU6c3RyaW5nfSl7XG4gICAgICAgIGxldCBkb25lID0gcGx1Z2lucy5xLmRlZmVyKCk7XG4gICAgICAgIGlmIChwbHVnaW5zLmFyZ3YuXy5pbmRleE9mKGRlZmluaXRpb25BcmcuY29tbWFuZE5hbWUpID09IDApIHtcbiAgICAgICAgICAgIGRvbmUucmVzb2x2ZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGRvbmUucmVqZWN0KCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRvbmUucHJvbXNpc2U7XG4gICAgfTtcbiAgICBhZGRRdWVzdGlvbihkZWZpbml0aW9uQXJnOntxdWVzdGlvblN0cmluZzpzdHJpbmcscXVlc3Rpb25UeXBlOnN0cmluZ30pe1xuICAgICAgICBcbiAgICB9O1xuICAgIGFkZFZlcnNpb24odmVyc2lvbkFyZzpzdHJpbmcpe1xuXG4gICAgfVxuICAgIHN0YXJ0UGFyc2UoKXtcblxuICAgIH1cblxufSJdfQ==
|
||||||
|
7
dist/smartcli.getters.d.ts
vendored
7
dist/smartcli.getters.d.ts
vendored
@ -1,10 +1,5 @@
|
|||||||
|
import "typings-global";
|
||||||
import * as interfaces from "./smartcli.interfaces";
|
import * as interfaces from "./smartcli.interfaces";
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @param commandString
|
|
||||||
* @returns {{specified: boolean, name: any, arguments: CliCommandArgument}}
|
|
||||||
*/
|
|
||||||
export declare let command: () => interfaces.CliCommand;
|
|
||||||
/**
|
/**
|
||||||
* gets the second or higher value of plugins.argv._ if specified and returns it as commandArgument
|
* gets the second or higher value of plugins.argv._ if specified and returns it as commandArgument
|
||||||
* @param argumentLevel
|
* @param argumentLevel
|
||||||
|
17
dist/smartcli.getters.js
vendored
17
dist/smartcli.getters.js
vendored
File diff suppressed because one or more lines are too long
1
dist/smartcli.interaction.d.ts
vendored
1
dist/smartcli.interaction.d.ts
vendored
@ -1,3 +1,4 @@
|
|||||||
|
import "typings-global";
|
||||||
import "./smartcli.interfaces";
|
import "./smartcli.interfaces";
|
||||||
/**
|
/**
|
||||||
* executes callback with answer to question as argument
|
* executes callback with answer to question as argument
|
||||||
|
4
dist/smartcli.interaction.js
vendored
4
dist/smartcli.interaction.js
vendored
@ -1,5 +1,5 @@
|
|||||||
/// <reference path="typings/index.d.ts" />
|
|
||||||
"use strict";
|
"use strict";
|
||||||
|
require("typings-global");
|
||||||
require("./smartcli.interfaces");
|
require("./smartcli.interfaces");
|
||||||
var plugins = require("./smartcli.plugins");
|
var plugins = require("./smartcli.plugins");
|
||||||
/**
|
/**
|
||||||
@ -52,4 +52,4 @@ exports.getChoice = function (questionString, choiceOptions, cb) {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0Y2xpLmludGVyYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJDQUEyQzs7QUFFM0MsUUFBTyx1QkFBdUIsQ0FBQyxDQUFBO0FBQy9CLElBQU8sT0FBTyxXQUFXLG9CQUFvQixDQUFDLENBQUM7QUFFL0M7Ozs7O0dBS0c7QUFDUSxpQkFBUyxHQUFHLFVBQVMsY0FBcUIsRUFBRSxFQUFFO0lBQ3JELEVBQUUsQ0FBQyxDQUFDLE9BQU8sY0FBYyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDcEMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUNqRCxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCwwQ0FBMEM7SUFDMUMsSUFBSSxRQUFRLEdBQUc7UUFDWCxJQUFJLEVBQUUsT0FBTztRQUNiLElBQUksRUFBRSxjQUFjO1FBQ3BCLE9BQU8sRUFBRSxjQUFjO1FBQ3ZCLFFBQVEsRUFBRSxVQUFVLEtBQUs7WUFDckIsTUFBTSxDQUFDLElBQUksQ0FBQztRQUNoQixDQUFDO0tBQ0osQ0FBQztJQUVGLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUMsVUFBUyxPQUFPO1FBQy9DLElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUM7UUFDbEMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2YsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUM7QUFFRjs7Ozs7O0dBTUc7QUFDUSxpQkFBUyxHQUFHLFVBQVMsY0FBcUIsRUFBRSxhQUFzQixFQUFFLEVBQUU7SUFDN0UsRUFBRSxDQUFBLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQixNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCwwQ0FBMEM7SUFDMUMsSUFBSSxRQUFRLEdBQUc7UUFDWCxJQUFJLEVBQUUsTUFBTTtRQUNaLElBQUksRUFBRSxjQUFjO1FBQ3BCLE9BQU8sRUFBRSxjQUFjO1FBQ3ZCLE9BQU8sRUFBRSxhQUFhO1FBQ3RCLE1BQU0sRUFBRSxVQUFVLEdBQUcsSUFBSyxNQUFNLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztLQUN4RCxDQUFDO0lBRUYsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFDLFVBQVMsT0FBTztRQUM3QyxJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDO1FBQ2xDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNmLENBQUMsQ0FBQyxDQUFDO0FBRVAsQ0FBQyxDQUFDIiwiZmlsZSI6InNtYXJ0Y2xpLmludGVyYWN0aW9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cInR5cGluZ3MvaW5kZXguZC50c1wiIC8+XHJcblxyXG5pbXBvcnQgXCIuL3NtYXJ0Y2xpLmludGVyZmFjZXNcIjtcclxuaW1wb3J0IHBsdWdpbnMgPSByZXF1aXJlKFwiLi9zbWFydGNsaS5wbHVnaW5zXCIpO1xyXG5cclxuLyoqXHJcbiAqIGV4ZWN1dGVzIGNhbGxiYWNrIHdpdGggYW5zd2VyIHRvIHF1ZXN0aW9uIGFzIGFyZ3VtZW50XHJcbiAqIEBwYXJhbSBxdWVzdGlvblN0cmluZyB0aGUgcXVlc3Rpb24geW91IHdhbnQgdG8gYXNrIHRoZSB1c2VyXHJcbiAqIEBwYXJhbSBjYiB0aGUgZnVuY3Rpb24gdG8gZXhlY3V0ZSB3aXRoIGFuc3dlciBhcyBwYXJhbVxyXG4gKiBAcmV0dXJucyB7bnVsbH1cclxuICovXHJcbmV4cG9ydCBsZXQgZ2V0QW5zd2VyID0gZnVuY3Rpb24ocXVlc3Rpb25TdHJpbmc6c3RyaW5nLCBjYikge1xyXG4gICAgaWYgKHR5cGVvZiBxdWVzdGlvblN0cmluZyAhPSAnc3RyaW5nJykge1xyXG4gICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLmVycm9yKCdubyBxdWVzdGlvbiBzcGVjaWZpZWQnKTtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIC8vbWFrZSBpbnF1aXJlciBjb21wYXRpYmxlIHF1ZXN0aW9uIG9iamVjdFxyXG4gICAgdmFyIHF1ZXN0aW9uID0ge1xyXG4gICAgICAgIHR5cGU6IFwiaW5wdXRcIixcclxuICAgICAgICBuYW1lOiBcInVzZXJGZWVkYmFja1wiLFxyXG4gICAgICAgIG1lc3NhZ2U6IHF1ZXN0aW9uU3RyaW5nLFxyXG4gICAgICAgIHZhbGlkYXRlOiBmdW5jdGlvbiggdmFsdWUgKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgcGx1Z2lucy5pbnF1aXJlci5wcm9tcHQoW3F1ZXN0aW9uXSxmdW5jdGlvbihhbnN3ZXJzKXtcclxuICAgICAgICB2YXIgYW5zd2VyID0gYW5zd2Vycy51c2VyRmVlZGJhY2s7XHJcbiAgICAgICAgY2IoYW5zd2VyKTtcclxuICAgIH0pO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqXHJcbiAqIEBwYXJhbSBxdWVzdGlvblN0cmluZ1xyXG4gKiBAcGFyYW0gY2hvaWNlT3B0aW9uc1xyXG4gKiBAcGFyYW0gY2JcclxuICogQHJldHVybnMge251bGx9XHJcbiAqL1xyXG5leHBvcnQgbGV0IGdldENob2ljZSA9IGZ1bmN0aW9uKHF1ZXN0aW9uU3RyaW5nOnN0cmluZywgY2hvaWNlT3B0aW9uczpzdHJpbmdbXSwgY2IpIHtcclxuICAgIGlmKCFBcnJheS5pc0FycmF5KGNob2ljZU9wdGlvbnMpKSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgLy9tYWtlIGlucXVpcmVyIGNvbXBhdGlibGUgcXVlc3Rpb24gb2JqZWN0XHJcbiAgICB2YXIgcXVlc3Rpb24gPSB7XHJcbiAgICAgICAgdHlwZTogXCJsaXN0XCIsXHJcbiAgICAgICAgbmFtZTogXCJ1c2VyRmVlZGJhY2tcIixcclxuICAgICAgICBtZXNzYWdlOiBxdWVzdGlvblN0cmluZyxcclxuICAgICAgICBjaG9pY2VzOiBjaG9pY2VPcHRpb25zLFxyXG4gICAgICAgIGZpbHRlcjogZnVuY3Rpb24oIHZhbCApIHsgcmV0dXJuIHZhbC50b0xvd2VyQ2FzZSgpOyB9XHJcbiAgICB9O1xyXG5cclxuICAgIHBsdWdpbnMuaW5xdWlyZXIucHJvbXB0KHF1ZXN0aW9uLGZ1bmN0aW9uKGFuc3dlcnMpe1xyXG4gICAgICAgIHZhciBhbnN3ZXIgPSBhbnN3ZXJzLnVzZXJGZWVkYmFjaztcclxuICAgICAgICBjYihhbnN3ZXIpO1xyXG4gICAgfSk7XHJcblxyXG59OyJdfQ==
|
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0Y2xpLmludGVyYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUFnQixDQUFDLENBQUE7QUFFeEIsUUFBTyx1QkFBdUIsQ0FBQyxDQUFBO0FBQy9CLElBQU8sT0FBTyxXQUFXLG9CQUFvQixDQUFDLENBQUM7QUFFL0M7Ozs7O0dBS0c7QUFDUSxpQkFBUyxHQUFHLFVBQVMsY0FBcUIsRUFBRSxFQUFFO0lBQ3JELEVBQUUsQ0FBQyxDQUFDLE9BQU8sY0FBYyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDcEMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUNqRCxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCwwQ0FBMEM7SUFDMUMsSUFBSSxRQUFRLEdBQUc7UUFDWCxJQUFJLEVBQUUsT0FBTztRQUNiLElBQUksRUFBRSxjQUFjO1FBQ3BCLE9BQU8sRUFBRSxjQUFjO1FBQ3ZCLFFBQVEsRUFBRSxVQUFVLEtBQUs7WUFDckIsTUFBTSxDQUFDLElBQUksQ0FBQztRQUNoQixDQUFDO0tBQ0osQ0FBQztJQUVGLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUMsVUFBUyxPQUFPO1FBQy9DLElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUM7UUFDbEMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2YsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUM7QUFFRjs7Ozs7O0dBTUc7QUFDUSxpQkFBUyxHQUFHLFVBQVMsY0FBcUIsRUFBRSxhQUFzQixFQUFFLEVBQUU7SUFDN0UsRUFBRSxDQUFBLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQixNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCwwQ0FBMEM7SUFDMUMsSUFBSSxRQUFRLEdBQUc7UUFDWCxJQUFJLEVBQUUsTUFBTTtRQUNaLElBQUksRUFBRSxjQUFjO1FBQ3BCLE9BQU8sRUFBRSxjQUFjO1FBQ3ZCLE9BQU8sRUFBRSxhQUFhO1FBQ3RCLE1BQU0sRUFBRSxVQUFVLEdBQUcsSUFBSyxNQUFNLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztLQUN4RCxDQUFDO0lBRUYsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFDLFVBQVMsT0FBTztRQUM3QyxJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDO1FBQ2xDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNmLENBQUMsQ0FBQyxDQUFDO0FBRVAsQ0FBQyxDQUFDIiwiZmlsZSI6InNtYXJ0Y2xpLmludGVyYWN0aW9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcblxuaW1wb3J0IFwiLi9zbWFydGNsaS5pbnRlcmZhY2VzXCI7XG5pbXBvcnQgcGx1Z2lucyA9IHJlcXVpcmUoXCIuL3NtYXJ0Y2xpLnBsdWdpbnNcIik7XG5cbi8qKlxuICogZXhlY3V0ZXMgY2FsbGJhY2sgd2l0aCBhbnN3ZXIgdG8gcXVlc3Rpb24gYXMgYXJndW1lbnRcbiAqIEBwYXJhbSBxdWVzdGlvblN0cmluZyB0aGUgcXVlc3Rpb24geW91IHdhbnQgdG8gYXNrIHRoZSB1c2VyXG4gKiBAcGFyYW0gY2IgdGhlIGZ1bmN0aW9uIHRvIGV4ZWN1dGUgd2l0aCBhbnN3ZXIgYXMgcGFyYW1cbiAqIEByZXR1cm5zIHtudWxsfVxuICovXG5leHBvcnQgbGV0IGdldEFuc3dlciA9IGZ1bmN0aW9uKHF1ZXN0aW9uU3RyaW5nOnN0cmluZywgY2IpIHtcbiAgICBpZiAodHlwZW9mIHF1ZXN0aW9uU3RyaW5nICE9ICdzdHJpbmcnKSB7XG4gICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLmVycm9yKCdubyBxdWVzdGlvbiBzcGVjaWZpZWQnKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIC8vbWFrZSBpbnF1aXJlciBjb21wYXRpYmxlIHF1ZXN0aW9uIG9iamVjdFxuICAgIGxldCBxdWVzdGlvbiA9IHtcbiAgICAgICAgdHlwZTogXCJpbnB1dFwiLFxuICAgICAgICBuYW1lOiBcInVzZXJGZWVkYmFja1wiLFxuICAgICAgICBtZXNzYWdlOiBxdWVzdGlvblN0cmluZyxcbiAgICAgICAgdmFsaWRhdGU6IGZ1bmN0aW9uKCB2YWx1ZSApIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIHBsdWdpbnMuaW5xdWlyZXIucHJvbXB0KFtxdWVzdGlvbl0sZnVuY3Rpb24oYW5zd2Vycyl7XG4gICAgICAgIGxldCBhbnN3ZXIgPSBhbnN3ZXJzLnVzZXJGZWVkYmFjaztcbiAgICAgICAgY2IoYW5zd2VyKTtcbiAgICB9KTtcbn07XG5cbi8qKlxuICpcbiAqIEBwYXJhbSBxdWVzdGlvblN0cmluZ1xuICogQHBhcmFtIGNob2ljZU9wdGlvbnNcbiAqIEBwYXJhbSBjYlxuICogQHJldHVybnMge251bGx9XG4gKi9cbmV4cG9ydCBsZXQgZ2V0Q2hvaWNlID0gZnVuY3Rpb24ocXVlc3Rpb25TdHJpbmc6c3RyaW5nLCBjaG9pY2VPcHRpb25zOnN0cmluZ1tdLCBjYikge1xuICAgIGlmKCFBcnJheS5pc0FycmF5KGNob2ljZU9wdGlvbnMpKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8vbWFrZSBpbnF1aXJlciBjb21wYXRpYmxlIHF1ZXN0aW9uIG9iamVjdFxuICAgIGxldCBxdWVzdGlvbiA9IHtcbiAgICAgICAgdHlwZTogXCJsaXN0XCIsXG4gICAgICAgIG5hbWU6IFwidXNlckZlZWRiYWNrXCIsXG4gICAgICAgIG1lc3NhZ2U6IHF1ZXN0aW9uU3RyaW5nLFxuICAgICAgICBjaG9pY2VzOiBjaG9pY2VPcHRpb25zLFxuICAgICAgICBmaWx0ZXI6IGZ1bmN0aW9uKCB2YWwgKSB7IHJldHVybiB2YWwudG9Mb3dlckNhc2UoKTsgfVxuICAgIH07XG5cbiAgICBwbHVnaW5zLmlucXVpcmVyLnByb21wdChxdWVzdGlvbixmdW5jdGlvbihhbnN3ZXJzKXtcbiAgICAgICAgbGV0IGFuc3dlciA9IGFuc3dlcnMudXNlckZlZWRiYWNrO1xuICAgICAgICBjYihhbnN3ZXIpO1xuICAgIH0pO1xuXG59OyJdfQ==
|
||||||
|
11
dist/smartcli.interfaces.d.ts
vendored
11
dist/smartcli.interfaces.d.ts
vendored
@ -1,3 +1,9 @@
|
|||||||
|
import "typings-global";
|
||||||
|
export interface CliCommand {
|
||||||
|
specified: boolean;
|
||||||
|
name: string;
|
||||||
|
arguments: CliCommandArgument[];
|
||||||
|
}
|
||||||
export interface CliOption {
|
export interface CliOption {
|
||||||
name: string;
|
name: string;
|
||||||
specified: boolean;
|
specified: boolean;
|
||||||
@ -6,11 +12,6 @@ export interface CliOption {
|
|||||||
export interface Directory {
|
export interface Directory {
|
||||||
path: string;
|
path: string;
|
||||||
}
|
}
|
||||||
export interface CliCommand {
|
|
||||||
specified: boolean;
|
|
||||||
name: string;
|
|
||||||
arguments: CliCommandArgument[];
|
|
||||||
}
|
|
||||||
export interface CliCommandArgument {
|
export interface CliCommandArgument {
|
||||||
specified: boolean;
|
specified: boolean;
|
||||||
name: string;
|
name: string;
|
||||||
|
3
dist/smartcli.interfaces.js
vendored
3
dist/smartcli.interfaces.js
vendored
@ -1,3 +1,4 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
require("typings-global");
|
||||||
|
|
||||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzbWFydGNsaS5pbnRlcmZhY2VzLmpzIiwic291cmNlc0NvbnRlbnQiOltdfQ==
|
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0Y2xpLmludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQSIsImZpbGUiOiJzbWFydGNsaS5pbnRlcmZhY2VzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcblxuZXhwb3J0IGludGVyZmFjZSBDbGlDb21tYW5kIHtcbiAgICBzcGVjaWZpZWQ6IGJvb2xlYW47XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGFyZ3VtZW50czpDbGlDb21tYW5kQXJndW1lbnRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbGlPcHRpb24ge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBzcGVjaWZpZWQ6Ym9vbGVhbjtcbiAgICB2YWx1ZTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpcmVjdG9yeSB7XG4gICAgcGF0aDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsaUNvbW1hbmRBcmd1bWVudCB7XG4gICAgc3BlY2lmaWVkOmJvb2xlYW47XG4gICAgbmFtZTpzdHJpbmc7XG4gICAgbGV2ZWw6bnVtYmVyO1xufSJdfQ==
|
||||||
|
7
dist/smartcli.plugins.d.ts
vendored
7
dist/smartcli.plugins.d.ts
vendored
@ -1,7 +1,8 @@
|
|||||||
export declare let path: any;
|
import "typings-global";
|
||||||
|
export declare let argv: any;
|
||||||
export declare let beautylog: any;
|
export declare let beautylog: any;
|
||||||
export declare let cliff: any;
|
export declare let cliff: any;
|
||||||
export declare let commander: any;
|
|
||||||
export declare let inquirer: any;
|
export declare let inquirer: any;
|
||||||
|
export declare let path: any;
|
||||||
|
export declare let q: any;
|
||||||
export declare let smartparam: any;
|
export declare let smartparam: any;
|
||||||
export declare let argv: any;
|
|
||||||
|
10
dist/smartcli.plugins.js
vendored
10
dist/smartcli.plugins.js
vendored
@ -1,11 +1,11 @@
|
|||||||
/// <reference path="typings/index.d.ts" />
|
|
||||||
"use strict";
|
"use strict";
|
||||||
exports.path = require("path");
|
require("typings-global");
|
||||||
|
exports.argv = require('yargs').argv;
|
||||||
exports.beautylog = require("beautylog");
|
exports.beautylog = require("beautylog");
|
||||||
exports.cliff = require("cliff");
|
exports.cliff = require("cliff");
|
||||||
exports.commander = require("commander");
|
|
||||||
exports.inquirer = require("inquirer");
|
exports.inquirer = require("inquirer");
|
||||||
|
exports.path = require("path");
|
||||||
|
exports.q = require("q");
|
||||||
exports.smartparam = require("smartparam");
|
exports.smartparam = require("smartparam");
|
||||||
exports.argv = require('yargs').argv;
|
|
||||||
|
|
||||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0Y2xpLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkNBQTJDOztBQUVoQyxZQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3ZCLGlCQUFTLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ2pDLGFBQUssR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDekIsaUJBQVMsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDakMsZ0JBQVEsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDL0Isa0JBQVUsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDbkMsWUFBSSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMiLCJmaWxlIjoic21hcnRjbGkucGx1Z2lucy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJ0eXBpbmdzL2luZGV4LmQudHNcIiAvPlxyXG5cclxuZXhwb3J0IGxldCBwYXRoID0gcmVxdWlyZShcInBhdGhcIik7XHJcbmV4cG9ydCBsZXQgYmVhdXR5bG9nID0gcmVxdWlyZShcImJlYXV0eWxvZ1wiKTtcclxuZXhwb3J0IGxldCBjbGlmZiA9IHJlcXVpcmUoXCJjbGlmZlwiKTtcclxuZXhwb3J0IGxldCBjb21tYW5kZXIgPSByZXF1aXJlKFwiY29tbWFuZGVyXCIpO1xyXG5leHBvcnQgbGV0IGlucXVpcmVyID0gcmVxdWlyZShcImlucXVpcmVyXCIpO1xyXG5leHBvcnQgbGV0IHNtYXJ0cGFyYW0gPSByZXF1aXJlKFwic21hcnRwYXJhbVwiKTtcclxuZXhwb3J0IGxldCBhcmd2ID0gcmVxdWlyZSgneWFyZ3MnKS5hcmd2OyJdfQ==
|
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0Y2xpLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUViLFlBQUksR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQzdCLGlCQUFTLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ2pDLGFBQUssR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDekIsZ0JBQVEsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDL0IsWUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN2QixTQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2pCLGtCQUFVLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDIiwiZmlsZSI6InNtYXJ0Y2xpLnBsdWdpbnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiO1xuXG5leHBvcnQgbGV0IGFyZ3YgPSByZXF1aXJlKCd5YXJncycpLmFyZ3Y7XG5leHBvcnQgbGV0IGJlYXV0eWxvZyA9IHJlcXVpcmUoXCJiZWF1dHlsb2dcIik7XG5leHBvcnQgbGV0IGNsaWZmID0gcmVxdWlyZShcImNsaWZmXCIpO1xuZXhwb3J0IGxldCBpbnF1aXJlciA9IHJlcXVpcmUoXCJpbnF1aXJlclwiKTtcbmV4cG9ydCBsZXQgcGF0aCA9IHJlcXVpcmUoXCJwYXRoXCIpO1xuZXhwb3J0IGxldCBxID0gcmVxdWlyZShcInFcIik7XG5leHBvcnQgbGV0IHNtYXJ0cGFyYW0gPSByZXF1aXJlKFwic21hcnRwYXJhbVwiKTsiXX0=
|
||||||
|
@ -30,8 +30,8 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"beautylog": "^5.0.8",
|
"beautylog": "^5.0.8",
|
||||||
"cliff": "^0.1.10",
|
"cliff": "^0.1.10",
|
||||||
"commander": "^2.9.0",
|
|
||||||
"inquirer": "^1.0.3",
|
"inquirer": "^1.0.3",
|
||||||
|
"q": "^1.4.1",
|
||||||
"smartparam": "0.0.7",
|
"smartparam": "0.0.7",
|
||||||
"typings-global": "^1.0.3",
|
"typings-global": "^1.0.3",
|
||||||
"yargs": "^4.7.1"
|
"yargs": "^4.7.1"
|
||||||
|
15
test/test.d.ts
vendored
15
test/test.d.ts
vendored
@ -1,14 +1 @@
|
|||||||
/// <reference path="../ts/typings/index.d.ts" />
|
import "typings-test";
|
||||||
declare let smartcli: any;
|
|
||||||
declare let beautylog: any;
|
|
||||||
declare let should: any;
|
|
||||||
declare var checkCommandArgumentTest: () => void;
|
|
||||||
declare var checkCommandArgumentPresenceTest: () => void;
|
|
||||||
declare var getCommandTest: () => void;
|
|
||||||
declare var getCommandArgumentTest: () => void;
|
|
||||||
declare var getCommandArgsTest: () => void;
|
|
||||||
declare var getOptionTest: () => void;
|
|
||||||
declare var getCwdTest: () => void;
|
|
||||||
declare var interactionGetAnswerTest: () => void;
|
|
||||||
declare var interactionGetChoiceTest: () => void;
|
|
||||||
declare var endTests: () => void;
|
|
||||||
|
151
test/test.js
151
test/test.js
File diff suppressed because one or more lines are too long
159
test/test.ts
159
test/test.ts
@ -4,163 +4,4 @@ let smartcli = require("../dist/index.js");
|
|||||||
let beautylog = require("beautylog");
|
let beautylog = require("beautylog");
|
||||||
let should = require("should");
|
let should = require("should");
|
||||||
|
|
||||||
/* ------------------------------------------------------------------ *
|
|
||||||
* ------------------- CHECKS TESTS --------------------------------- *
|
|
||||||
* ------------------------------------------------------------------ */
|
|
||||||
|
|
||||||
describe("smartcli",function(){
|
|
||||||
describe(".check",function(){
|
|
||||||
describe(".command",function(){
|
|
||||||
it("should return true when specified command is found",function(){
|
|
||||||
smartcli.check.command("jazz").should.be.true();
|
|
||||||
});
|
|
||||||
it("should return false when specified command is NOT found",function(){
|
|
||||||
smartcli.check.command("rock").should.be.false();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
describe(".commandPresence",function(){
|
|
||||||
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var checkCommandArgumentTest = function() {
|
|
||||||
if (smartcli.check.commandArgument("jam",1)) {
|
|
||||||
beautylog.success('There is a level 1 argument! Perfect!');
|
|
||||||
} else {
|
|
||||||
beautylog.error('There seems to be no level 1 argument... This is wrong');
|
|
||||||
process.exit(1);
|
|
||||||
}
|
|
||||||
if (!smartcli.check.commandArgument("session",2)) {
|
|
||||||
beautylog.success('There is no level 2 argument with the name of "session"! Perfect!');
|
|
||||||
} else {
|
|
||||||
beautylog.error('There seems to be a level 2 argument with the name of "session"! This is wrong');
|
|
||||||
process.exit(1);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
checkCommandArgumentTest();
|
|
||||||
|
|
||||||
var checkCommandArgumentPresenceTest = function() {
|
|
||||||
if (smartcli.check.commandArgumentPresence(1)) {
|
|
||||||
beautylog.success('There is a level 1 argument! Perfect!');
|
|
||||||
} else {
|
|
||||||
beautylog.error('There seems to be no level 1 argument... This is wrong');
|
|
||||||
process.exit(1);
|
|
||||||
}
|
|
||||||
if (!smartcli.check.commandArgumentPresence(2)) {
|
|
||||||
beautylog.success('There is no level 2 argument! Perfect!');
|
|
||||||
} else {
|
|
||||||
beautylog.error('There seems to be a level 2 argument... This is wrong');
|
|
||||||
process.exit(1);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
checkCommandArgumentPresenceTest();
|
|
||||||
|
|
||||||
/* ------------------------------------------------------------------ *
|
|
||||||
* ------------------- GETTERS TESTS -------------------------------- *
|
|
||||||
* ------------------------------------------------------------------ */
|
|
||||||
var getCommandTest = function(){
|
|
||||||
var cliCommand = smartcli.get.command();
|
|
||||||
if(cliCommand.name == "jazz") {
|
|
||||||
beautylog.success('The specified command name is "jazz". Perfect!');
|
|
||||||
} else {
|
|
||||||
beautylog.error('The specified command name is not "jazz". Something is wrong!');
|
|
||||||
process.exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
|
||||||
getCommandTest();
|
|
||||||
|
|
||||||
var getCommandArgumentTest = function() {
|
|
||||||
var cliArgument = smartcli.get.commandArgument(1);
|
|
||||||
var cliArgument2 = smartcli.get.commandArgument(2);
|
|
||||||
if(cliArgument.name == "jam") {
|
|
||||||
beautylog.success('The first specified command argument name is "jam". Perfect!');
|
|
||||||
} else {
|
|
||||||
beautylog.error('The first specified command argument name is not "jam". Something is wrong!');
|
|
||||||
process.exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(cliArgument2.name == "undefined") {
|
|
||||||
beautylog.success('The second specified command argument name is "undefined". Perfect!');
|
|
||||||
} else {
|
|
||||||
beautylog.error('The second specified command argument name is not "undefined". Something is wrong!');
|
|
||||||
process.exit(1);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
getCommandArgumentTest();
|
|
||||||
|
|
||||||
var getCommandArgsTest = function() {
|
|
||||||
var commandArgs = smartcli.get.commandArgs();
|
|
||||||
if(commandArgs[0].name == "jam") {
|
|
||||||
beautylog.success("first command argument is 'jam'. Perfect!");
|
|
||||||
} else {
|
|
||||||
beautylog.error("first command argument is not 'jam'. Something is wromg!");
|
|
||||||
console.log(commandArgs[0].name);
|
|
||||||
process.exit(1);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
getCommandArgsTest();
|
|
||||||
|
|
||||||
var getOptionTest = function() {
|
|
||||||
var cliOption = smartcli.get.option("awesome");
|
|
||||||
var cliOption2 = smartcli.get.option("terrific");
|
|
||||||
if(cliOption.specified){
|
|
||||||
beautylog.success("awesome is specified. Perfect!")
|
|
||||||
} else {
|
|
||||||
beautylog.error("awesome is not specified. Somehthing is wrong");
|
|
||||||
process.exit(1);
|
|
||||||
}
|
|
||||||
if(!cliOption2.specified){
|
|
||||||
beautylog.success("terrific is not specified. Perfect!")
|
|
||||||
} else {
|
|
||||||
beautylog.error("terrific is specified. Somehthing is wrong");
|
|
||||||
process.exit(1);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
getOptionTest();
|
|
||||||
|
|
||||||
var getCwdTest = function(){
|
|
||||||
beautylog.info('The current directory is: ' + smartcli.get.cwd().path);
|
|
||||||
};
|
|
||||||
getCwdTest();
|
|
||||||
|
|
||||||
|
|
||||||
/* ------------------------------------------------------------------ *
|
|
||||||
* ------------------- INTERACTION TESTS ---------------------------- *
|
|
||||||
* ------------------------------------------------------------------ */
|
|
||||||
|
|
||||||
|
|
||||||
var interactionGetAnswerTest = function() {
|
|
||||||
smartcli.interaction.getAnswer('How do you feel?',function(answer){
|
|
||||||
console.log('The answer is: ' + answer);
|
|
||||||
interactionGetChoiceTest();
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var interactionGetChoiceTest = function() {
|
|
||||||
smartcli.interaction.getChoice('What music do you like to hear?',['Jazz','Blues','Classical'],function(answer){
|
|
||||||
console.log('The answer is: ' + answer);
|
|
||||||
endTests();
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
var endTests = function() {
|
|
||||||
beautylog.ok("No more tests!");
|
|
||||||
beautylog.success("Tests completed successfully!");
|
|
||||||
};
|
|
||||||
|
|
||||||
if(!smartcli.check.option("silent")){
|
|
||||||
interactionGetAnswerTest();
|
|
||||||
} else {
|
|
||||||
beautylog.info("--silent option is specified, thus we are not running interaction tests.");
|
|
||||||
endTests();
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
29
ts/index.ts
29
ts/index.ts
@ -1,33 +1,4 @@
|
|||||||
import "typings-global";
|
import "typings-global";
|
||||||
|
|
||||||
import * as interfaces from "./smartcli.interfaces"
|
|
||||||
import * as plugins from "./smartcli.plugins"
|
|
||||||
import * as SmartcliChecks from "./smartcli.checks";
|
|
||||||
import * as SmartcliGetters from "./smartcli.getters";
|
|
||||||
import * as SmartcliInteractions from "./smartcli.interaction";
|
|
||||||
|
|
||||||
import {Smartcli} from "./smartcli.classes.smartcli";
|
import {Smartcli} from "./smartcli.classes.smartcli";
|
||||||
export {Smartcli} from "./smartcli.classes.smartcli";
|
export {Smartcli} from "./smartcli.classes.smartcli";
|
||||||
|
|
||||||
/* ------------------------------------------------ *
|
|
||||||
* ---------- plugins for direct use -------------- *
|
|
||||||
* ------------------------------------------------ */
|
|
||||||
export let commander = plugins.commander; //commander allows cool chaining of cli actions
|
|
||||||
export let inquirer = plugins.inquirer; //inquirer is for asking questions
|
|
||||||
export let cliff = plugins.cliff; // formats cli output
|
|
||||||
export let argv = plugins.argv; //argv gets initial cli commands and options.
|
|
||||||
|
|
||||||
/* ------------------------------------------------ *
|
|
||||||
* ---------- checks ------------------------------ *
|
|
||||||
* ------------------------------------------------ */
|
|
||||||
export let check = SmartcliChecks;
|
|
||||||
|
|
||||||
/* ------------------------------------------------ *
|
|
||||||
* ---------- getters ----------------------------- *
|
|
||||||
* ------------------------------------------------ */
|
|
||||||
export let get = SmartcliGetters;
|
|
||||||
|
|
||||||
/* ------------------------------------------------ *
|
|
||||||
* ---------- interaction ----------------------------- *
|
|
||||||
* ------------------------------------------------ */
|
|
||||||
export let interaction = SmartcliInteractions;
|
|
||||||
|
@ -3,28 +3,6 @@ import "typings-global";
|
|||||||
import "./smartcli.interfaces";
|
import "./smartcli.interfaces";
|
||||||
import plugins = require("./smartcli.plugins");
|
import plugins = require("./smartcli.plugins");
|
||||||
|
|
||||||
/**
|
|
||||||
* checks for a special command string and returns true if found.
|
|
||||||
* @param commandString
|
|
||||||
* @returns {boolean}
|
|
||||||
*/
|
|
||||||
export let command = function(commandString:string):boolean {
|
|
||||||
if (plugins.argv._.indexOf(commandString) == 0) {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* checks if a command is present, returns true if yes, false if no.
|
|
||||||
* @returns {boolean}
|
|
||||||
*/
|
|
||||||
export let commandPresence = function():boolean {
|
|
||||||
if(plugins.argv._.length > 0){
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* checks for an special command argument at a certain position, returns true if matches, returns false if not
|
* checks for an special command argument at a certain position, returns true if matches, returns false if not
|
||||||
|
@ -1,5 +1,35 @@
|
|||||||
import "typings-global";
|
import "typings-global";
|
||||||
|
|
||||||
|
import * as interfaces from "./smartcli.interfaces"
|
||||||
|
import * as plugins from "./smartcli.plugins"
|
||||||
|
import * as SmartcliChecks from "./smartcli.checks";
|
||||||
|
import * as SmartcliGetters from "./smartcli.getters";
|
||||||
|
import * as SmartcliInteractions from "./smartcli.interaction";
|
||||||
|
|
||||||
export class Smartcli {
|
export class Smartcli {
|
||||||
|
questionsDone;
|
||||||
|
commands:interfaces.CliCommand[];
|
||||||
|
questions;
|
||||||
|
constructor(){
|
||||||
|
this.questionsDone = plugins.q.defer();
|
||||||
|
}
|
||||||
|
addCommand(definitionArg:{commandName:string}){
|
||||||
|
let done = plugins.q.defer();
|
||||||
|
if (plugins.argv._.indexOf(definitionArg.commandName) == 0) {
|
||||||
|
done.resolve();
|
||||||
|
} else {
|
||||||
|
return done.reject();
|
||||||
|
}
|
||||||
|
return done.promsise;
|
||||||
|
};
|
||||||
|
addQuestion(definitionArg:{questionString:string,questionType:string}){
|
||||||
|
|
||||||
|
};
|
||||||
|
addVersion(versionArg:string){
|
||||||
|
|
||||||
|
}
|
||||||
|
startParse(){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -4,19 +4,6 @@ import * as interfaces from "./smartcli.interfaces";
|
|||||||
import plugins = require("./smartcli.plugins");
|
import plugins = require("./smartcli.plugins");
|
||||||
import SmartcliChecks = require("./smartcli.checks");
|
import SmartcliChecks = require("./smartcli.checks");
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @param commandString
|
|
||||||
* @returns {{specified: boolean, name: any, arguments: CliCommandArgument}}
|
|
||||||
*/
|
|
||||||
export let command = function():interfaces.CliCommand {
|
|
||||||
var cliCommand = {
|
|
||||||
specified: SmartcliChecks.commandPresence(),
|
|
||||||
name: plugins.argv._[0],
|
|
||||||
arguments: commandArgs()
|
|
||||||
}
|
|
||||||
return cliCommand;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* gets the second or higher value of plugins.argv._ if specified and returns it as commandArgument
|
* gets the second or higher value of plugins.argv._ if specified and returns it as commandArgument
|
||||||
|
@ -15,7 +15,7 @@ export let getAnswer = function(questionString:string, cb) {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
//make inquirer compatible question object
|
//make inquirer compatible question object
|
||||||
var question = {
|
let question = {
|
||||||
type: "input",
|
type: "input",
|
||||||
name: "userFeedback",
|
name: "userFeedback",
|
||||||
message: questionString,
|
message: questionString,
|
||||||
@ -25,7 +25,7 @@ export let getAnswer = function(questionString:string, cb) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
plugins.inquirer.prompt([question],function(answers){
|
plugins.inquirer.prompt([question],function(answers){
|
||||||
var answer = answers.userFeedback;
|
let answer = answers.userFeedback;
|
||||||
cb(answer);
|
cb(answer);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
@ -43,7 +43,7 @@ export let getChoice = function(questionString:string, choiceOptions:string[], c
|
|||||||
}
|
}
|
||||||
|
|
||||||
//make inquirer compatible question object
|
//make inquirer compatible question object
|
||||||
var question = {
|
let question = {
|
||||||
type: "list",
|
type: "list",
|
||||||
name: "userFeedback",
|
name: "userFeedback",
|
||||||
message: questionString,
|
message: questionString,
|
||||||
@ -52,7 +52,7 @@ export let getChoice = function(questionString:string, choiceOptions:string[], c
|
|||||||
};
|
};
|
||||||
|
|
||||||
plugins.inquirer.prompt(question,function(answers){
|
plugins.inquirer.prompt(question,function(answers){
|
||||||
var answer = answers.userFeedback;
|
let answer = answers.userFeedback;
|
||||||
cb(answer);
|
cb(answer);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -1,5 +1,11 @@
|
|||||||
import "typings-global";
|
import "typings-global";
|
||||||
|
|
||||||
|
export interface CliCommand {
|
||||||
|
specified: boolean;
|
||||||
|
name: string;
|
||||||
|
arguments:CliCommandArgument[];
|
||||||
|
}
|
||||||
|
|
||||||
export interface CliOption {
|
export interface CliOption {
|
||||||
name: string;
|
name: string;
|
||||||
specified:boolean;
|
specified:boolean;
|
||||||
@ -10,12 +16,6 @@ export interface Directory {
|
|||||||
path: string;
|
path: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface CliCommand {
|
|
||||||
specified: boolean;
|
|
||||||
name: string;
|
|
||||||
arguments:CliCommandArgument[];
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface CliCommandArgument {
|
export interface CliCommandArgument {
|
||||||
specified:boolean;
|
specified:boolean;
|
||||||
name:string;
|
name:string;
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
import "typings-global";
|
import "typings-global";
|
||||||
|
|
||||||
export let path = require("path");
|
export let argv = require('yargs').argv;
|
||||||
export let beautylog = require("beautylog");
|
export let beautylog = require("beautylog");
|
||||||
export let cliff = require("cliff");
|
export let cliff = require("cliff");
|
||||||
export let commander = require("commander");
|
|
||||||
export let inquirer = require("inquirer");
|
export let inquirer = require("inquirer");
|
||||||
export let smartparam = require("smartparam");
|
export let path = require("path");
|
||||||
export let argv = require('yargs').argv;
|
export let q = require("q");
|
||||||
|
export let smartparam = require("smartparam");
|
Loading…
Reference in New Issue
Block a user