diff --git a/dist/index.d.ts b/dist/index.d.ts
index 0f1d793..43d2399 100644
--- a/dist/index.d.ts
+++ b/dist/index.d.ts
@@ -1,10 +1,2 @@
-import * as SmartcliChecks from "./smartcli.checks";
-import * as SmartcliGetters from "./smartcli.getters";
-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;
+import "typings-global";
+export { Smartcli } from "./smartcli.classes.smartcli";
diff --git a/dist/index.js b/dist/index.js
index c3cf097..b6135af 100644
--- a/dist/index.js
+++ b/dist/index.js
@@ -1,27 +1,6 @@
-///
"use strict";
-var plugins = require("./smartcli.plugins");
-var SmartcliChecks = require("./smartcli.checks");
-var SmartcliGetters = require("./smartcli.getters");
-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;
+require("typings-global");
+var smartcli_classes_smartcli_1 = require("./smartcli.classes.smartcli");
+exports.Smartcli = smartcli_classes_smartcli_1.Smartcli;
-//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJDQUEyQzs7QUFHM0MsSUFBWSxPQUFPLFdBQU0sb0JBQ3pCLENBQUMsQ0FENEM7QUFDN0MsSUFBWSxjQUFjLFdBQU0sbUJBQW1CLENBQUMsQ0FBQTtBQUNwRCxJQUFZLGVBQWUsV0FBTSxvQkFBb0IsQ0FBQyxDQUFBO0FBQ3RELElBQVksb0JBQW9CLFdBQU0sd0JBQXdCLENBQUMsQ0FBQTtBQUUvRDs7c0RBRXNEO0FBQzNDLGlCQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLCtDQUErQztBQUM5RSxnQkFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxrQ0FBa0M7QUFDL0QsYUFBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxxQkFBcUI7QUFDNUMsWUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyw2Q0FBNkM7QUFFN0U7O3NEQUVzRDtBQUMzQyxhQUFLLEdBQUcsY0FBYyxDQUFDO0FBRWxDOztzREFFc0Q7QUFDM0MsV0FBRyxHQUFHLGVBQWUsQ0FBQztBQUVqQzs7c0RBRXNEO0FBQzNDLG1CQUFXLEdBQUcsb0JBQW9CLENBQUMiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSBwYXRoPVwidHlwaW5ncy9pbmRleC5kLnRzXCIgLz5cclxuXHJcbmltcG9ydCAqIGFzIGludGVyZmFjZXMgZnJvbSBcIi4vc21hcnRjbGkuaW50ZXJmYWNlc1wiXHJcbmltcG9ydCAqIGFzIHBsdWdpbnMgZnJvbSBcIi4vc21hcnRjbGkucGx1Z2luc1wiXHJcbmltcG9ydCAqIGFzIFNtYXJ0Y2xpQ2hlY2tzIGZyb20gXCIuL3NtYXJ0Y2xpLmNoZWNrc1wiO1xyXG5pbXBvcnQgKiBhcyBTbWFydGNsaUdldHRlcnMgZnJvbSBcIi4vc21hcnRjbGkuZ2V0dGVyc1wiO1xyXG5pbXBvcnQgKiBhcyBTbWFydGNsaUludGVyYWN0aW9ucyBmcm9tIFwiLi9zbWFydGNsaS5pbnRlcmFjdGlvblwiO1xyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcclxuICogLS0tLS0tLS0tLSBwbHVnaW5zIGZvciBkaXJlY3QgdXNlIC0tLS0tLS0tLS0tLS0tICpcclxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbmV4cG9ydCBsZXQgY29tbWFuZGVyID0gcGx1Z2lucy5jb21tYW5kZXI7IC8vY29tbWFuZGVyIGFsbG93cyBjb29sIGNoYWluaW5nIG9mIGNsaSBhY3Rpb25zXHJcbmV4cG9ydCBsZXQgaW5xdWlyZXIgPSBwbHVnaW5zLmlucXVpcmVyOyAvL2lucXVpcmVyIGlzIGZvciBhc2tpbmcgcXVlc3Rpb25zXHJcbmV4cG9ydCBsZXQgY2xpZmYgPSBwbHVnaW5zLmNsaWZmOyAvLyBmb3JtYXRzIGNsaSBvdXRwdXRcclxuZXhwb3J0IGxldCBhcmd2ID0gcGx1Z2lucy5hcmd2OyAvL2FyZ3YgZ2V0cyBpbml0aWFsIGNsaSBjb21tYW5kcyBhbmQgb3B0aW9ucy5cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXHJcbiAqIC0tLS0tLS0tLS0gY2hlY2tzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXHJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5leHBvcnQgbGV0IGNoZWNrID0gU21hcnRjbGlDaGVja3M7XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxyXG4gKiAtLS0tLS0tLS0tIGdldHRlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuZXhwb3J0IGxldCBnZXQgPSBTbWFydGNsaUdldHRlcnM7XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxyXG4gKiAtLS0tLS0tLS0tIGludGVyYWN0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcclxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbmV4cG9ydCBsZXQgaW50ZXJhY3Rpb24gPSBTbWFydGNsaUludGVyYWN0aW9ucztcclxuIl19
+//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUFnQixDQUFDLENBQUE7QUFHeEIsMENBQXVCLDZCQUE2QixDQUFDO0FBQTdDLHdEQUE2QyIsImZpbGUiOiJpbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XG5cbmltcG9ydCB7U21hcnRjbGl9IGZyb20gXCIuL3NtYXJ0Y2xpLmNsYXNzZXMuc21hcnRjbGlcIjtcbmV4cG9ydCB7U21hcnRjbGl9IGZyb20gXCIuL3NtYXJ0Y2xpLmNsYXNzZXMuc21hcnRjbGlcIjtcbiJdfQ==
diff --git a/dist/smartcli.checks.d.ts b/dist/smartcli.checks.d.ts
index 8d2b383..6ae1f9a 100644
--- a/dist/smartcli.checks.d.ts
+++ b/dist/smartcli.checks.d.ts
@@ -1,15 +1,5 @@
+import "typings-global";
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
* @param level
diff --git a/dist/smartcli.checks.js b/dist/smartcli.checks.js
index 23de24d..62a0c4d 100644
--- a/dist/smartcli.checks.js
+++ b/dist/smartcli.checks.js
@@ -1,28 +1,7 @@
-///
"use strict";
+require("typings-global");
require("./smartcli.interfaces");
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
* @param level
@@ -59,4 +38,4 @@ exports.optionPresence = function () {
return false;
};
-//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0Y2xpLmNoZWNrcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7O0FBRTNDLFFBQU8sdUJBQXVCLENBQUMsQ0FBQTtBQUMvQixJQUFPLE9BQU8sV0FBVyxvQkFBb0IsQ0FBQyxDQUFDO0FBRS9DOzs7O0dBSUc7QUFDUSxlQUFPLEdBQUcsVUFBUyxhQUFvQjtJQUM5QyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3QyxNQUFNLENBQUMsSUFBSSxDQUFBO0lBQ2YsQ0FBQztJQUNELE1BQU0sQ0FBQyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ1EsdUJBQWUsR0FBRztJQUN6QixFQUFFLENBQUEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUEsQ0FBQztRQUMxQixNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxNQUFNLENBQUMsS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQztBQUVGOzs7O0dBSUc7QUFDUSx1QkFBZSxHQUFHLFVBQVMscUJBQTRCLEVBQUMsS0FBZ0I7SUFBaEIscUJBQWdCLEdBQWhCLFNBQWdCO0lBQy9FLEVBQUUsQ0FBQSxDQUFDLCtCQUF1QixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUkscUJBQXFCLENBQUUsQ0FBQyxDQUFDLENBQUM7UUFDckYsTUFBTSxDQUFDLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0QsTUFBTSxDQUFDLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUM7QUFFUywrQkFBdUIsR0FBRyxVQUFTLEtBQWdCO0lBQWhCLHFCQUFnQixHQUFoQixTQUFnQjtJQUMxRCxFQUFFLENBQUEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNELE1BQU0sQ0FBQyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ1EsY0FBTSxHQUFHLFVBQVMsWUFBWTtJQUNyQyxFQUFFLENBQUEsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RCxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxNQUFNLENBQUMsS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQztBQUVTLHNCQUFjLEdBQUc7SUFDeEIsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0IsTUFBTSxDQUFDLElBQUksQ0FBQTtJQUNmLENBQUM7SUFDRCxNQUFNLENBQUMsS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsImZpbGUiOiJzbWFydGNsaS5jaGVja3MuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSBwYXRoPVwidHlwaW5ncy9pbmRleC5kLnRzXCIgLz5cclxuXHJcbmltcG9ydCBcIi4vc21hcnRjbGkuaW50ZXJmYWNlc1wiO1xyXG5pbXBvcnQgcGx1Z2lucyA9IHJlcXVpcmUoXCIuL3NtYXJ0Y2xpLnBsdWdpbnNcIik7XHJcblxyXG4vKipcclxuICogY2hlY2tzIGZvciBhIHNwZWNpYWwgY29tbWFuZCBzdHJpbmcgYW5kIHJldHVybnMgdHJ1ZSBpZiBmb3VuZC5cclxuICogQHBhcmFtIGNvbW1hbmRTdHJpbmdcclxuICogQHJldHVybnMge2Jvb2xlYW59XHJcbiAqL1xyXG5leHBvcnQgbGV0IGNvbW1hbmQgPSBmdW5jdGlvbihjb21tYW5kU3RyaW5nOnN0cmluZyk6Ym9vbGVhbiB7XHJcbiAgICBpZiAocGx1Z2lucy5hcmd2Ll8uaW5kZXhPZihjb21tYW5kU3RyaW5nKSA9PSAwKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWVcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBjaGVja3MgaWYgYSBjb21tYW5kIGlzIHByZXNlbnQsIHJldHVybnMgdHJ1ZSBpZiB5ZXMsIGZhbHNlIGlmIG5vLlxyXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cclxuICovXHJcbmV4cG9ydCBsZXQgY29tbWFuZFByZXNlbmNlID0gZnVuY3Rpb24oKTpib29sZWFuIHtcclxuICAgIGlmKHBsdWdpbnMuYXJndi5fLmxlbmd0aCA+IDApe1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIGNoZWNrcyBmb3IgYW4gc3BlY2lhbCBjb21tYW5kIGFyZ3VtZW50IGF0IGEgY2VydGFpbiBwb3NpdGlvbiwgcmV0dXJucyB0cnVlIGlmIG1hdGNoZXMsIHJldHVybnMgZmFsc2UgaWYgbm90XHJcbiAqIEBwYXJhbSBsZXZlbFxyXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cclxuICovXHJcbmV4cG9ydCBsZXQgY29tbWFuZEFyZ3VtZW50ID0gZnVuY3Rpb24oY29tbWFuZEFyZ3VtZW50U3RyaW5nOnN0cmluZyxsZXZlbDpudW1iZXIgPSAxKTpib29sZWFuIHtcclxuICAgIGlmKGNvbW1hbmRBcmd1bWVudFByZXNlbmNlKGxldmVsKSAmJiAocGx1Z2lucy5hcmd2Ll9bbGV2ZWxdID09IGNvbW1hbmRBcmd1bWVudFN0cmluZyApKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbn07XHJcblxyXG5leHBvcnQgbGV0IGNvbW1hbmRBcmd1bWVudFByZXNlbmNlID0gZnVuY3Rpb24obGV2ZWw6bnVtYmVyID0gMSkge1xyXG4gICAgaWYocGx1Z2lucy5hcmd2Ll8ubGVuZ3RoID49IChsZXZlbCArIDEpKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbn07XHJcblxyXG4vKipcclxuICogY2hlY2tzIGZvciBhIHNwZWNpZmljIG9wdGlvbiBzdHJpbmcsIHJldHVybnMgdHJ1ZSBpZiB5ZXMsIHJldHVybnMgZmFsc2UgaWYgbm9cclxuICogQHJldHVybnMge2Jvb2xlYW59XHJcbiAqL1xyXG5leHBvcnQgbGV0IG9wdGlvbiA9IGZ1bmN0aW9uKG9wdGlvblN0cmluZyk6Ym9vbGVhbiB7XHJcbiAgICBpZihwbHVnaW5zLnNtYXJ0cGFyYW0uZXhpc3RzKHBsdWdpbnMuYXJndiwgb3B0aW9uU3RyaW5nKSkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG59O1xyXG5cclxuZXhwb3J0IGxldCBvcHRpb25QcmVzZW5jZSA9IGZ1bmN0aW9uKCk6Ym9vbGVhbiB7XHJcbiAgICBpZiAocGx1Z2lucy5hcmd2LmluZGV4T2YoKSAhPSAtMSkge1xyXG4gICAgICAgIHJldHVybiB0cnVlXHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbn07Il19
+//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0Y2xpLmNoZWNrcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBRXhCLFFBQU8sdUJBQXVCLENBQUMsQ0FBQTtBQUMvQixJQUFPLE9BQU8sV0FBVyxvQkFBb0IsQ0FBQyxDQUFDO0FBRy9DOzs7O0dBSUc7QUFDUSx1QkFBZSxHQUFHLFVBQVMscUJBQTRCLEVBQUMsS0FBZ0I7SUFBaEIscUJBQWdCLEdBQWhCLFNBQWdCO0lBQy9FLEVBQUUsQ0FBQSxDQUFDLCtCQUF1QixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUkscUJBQXFCLENBQUUsQ0FBQyxDQUFDLENBQUM7UUFDckYsTUFBTSxDQUFDLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0QsTUFBTSxDQUFDLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUM7QUFFUywrQkFBdUIsR0FBRyxVQUFTLEtBQWdCO0lBQWhCLHFCQUFnQixHQUFoQixTQUFnQjtJQUMxRCxFQUFFLENBQUEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNELE1BQU0sQ0FBQyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ1EsY0FBTSxHQUFHLFVBQVMsWUFBWTtJQUNyQyxFQUFFLENBQUEsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RCxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxNQUFNLENBQUMsS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQztBQUVTLHNCQUFjLEdBQUc7SUFDeEIsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0IsTUFBTSxDQUFDLElBQUksQ0FBQTtJQUNmLENBQUM7SUFDRCxNQUFNLENBQUMsS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsImZpbGUiOiJzbWFydGNsaS5jaGVja3MuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiO1xuXG5pbXBvcnQgXCIuL3NtYXJ0Y2xpLmludGVyZmFjZXNcIjtcbmltcG9ydCBwbHVnaW5zID0gcmVxdWlyZShcIi4vc21hcnRjbGkucGx1Z2luc1wiKTtcblxuXG4vKipcbiAqIGNoZWNrcyBmb3IgYW4gc3BlY2lhbCBjb21tYW5kIGFyZ3VtZW50IGF0IGEgY2VydGFpbiBwb3NpdGlvbiwgcmV0dXJucyB0cnVlIGlmIG1hdGNoZXMsIHJldHVybnMgZmFsc2UgaWYgbm90XG4gKiBAcGFyYW0gbGV2ZWxcbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5leHBvcnQgbGV0IGNvbW1hbmRBcmd1bWVudCA9IGZ1bmN0aW9uKGNvbW1hbmRBcmd1bWVudFN0cmluZzpzdHJpbmcsbGV2ZWw6bnVtYmVyID0gMSk6Ym9vbGVhbiB7XG4gICAgaWYoY29tbWFuZEFyZ3VtZW50UHJlc2VuY2UobGV2ZWwpICYmIChwbHVnaW5zLmFyZ3YuX1tsZXZlbF0gPT0gY29tbWFuZEFyZ3VtZW50U3RyaW5nICkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn07XG5cbmV4cG9ydCBsZXQgY29tbWFuZEFyZ3VtZW50UHJlc2VuY2UgPSBmdW5jdGlvbihsZXZlbDpudW1iZXIgPSAxKSB7XG4gICAgaWYocGx1Z2lucy5hcmd2Ll8ubGVuZ3RoID49IChsZXZlbCArIDEpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59O1xuXG4vKipcbiAqIGNoZWNrcyBmb3IgYSBzcGVjaWZpYyBvcHRpb24gc3RyaW5nLCByZXR1cm5zIHRydWUgaWYgeWVzLCByZXR1cm5zIGZhbHNlIGlmIG5vXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZXhwb3J0IGxldCBvcHRpb24gPSBmdW5jdGlvbihvcHRpb25TdHJpbmcpOmJvb2xlYW4ge1xuICAgIGlmKHBsdWdpbnMuc21hcnRwYXJhbS5leGlzdHMocGx1Z2lucy5hcmd2LCBvcHRpb25TdHJpbmcpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59O1xuXG5leHBvcnQgbGV0IG9wdGlvblByZXNlbmNlID0gZnVuY3Rpb24oKTpib29sZWFuIHtcbiAgICBpZiAocGx1Z2lucy5hcmd2LmluZGV4T2YoKSAhPSAtMSkge1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59OyJdfQ==
diff --git a/dist/smartcli.classes.d.ts b/dist/smartcli.classes.d.ts
deleted file mode 100644
index 3508d1d..0000000
--- a/dist/smartcli.classes.d.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-export declare class smartcli {
- constructor();
-}
diff --git a/dist/smartcli.classes.js b/dist/smartcli.classes.js
deleted file mode 100644
index 0497a8c..0000000
--- a/dist/smartcli.classes.js
+++ /dev/null
@@ -1,9 +0,0 @@
-"use strict";
-var smartcli = (function () {
- function smartcli() {
- }
- return smartcli;
-}());
-exports.smartcli = smartcli;
-
-//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0Y2xpLmNsYXNzZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBO0lBRUk7SUFFQSxDQUFDO0lBQ0wsZUFBQztBQUFELENBTEEsQUFLQyxJQUFBO0FBTFksZ0JBQVEsV0FLcEIsQ0FBQSIsImZpbGUiOiJzbWFydGNsaS5jbGFzc2VzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIHNtYXJ0Y2xpIHtcclxuICAgIFxyXG4gICAgY29uc3RydWN0b3IoKXtcclxuICAgICAgICBcclxuICAgIH1cclxufSJdfQ==
diff --git a/dist/smartcli.classes.smartcli.d.ts b/dist/smartcli.classes.smartcli.d.ts
index 52b0436..cb1a202 100644
--- a/dist/smartcli.classes.smartcli.d.ts
+++ b/dist/smartcli.classes.smartcli.d.ts
@@ -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;
}
diff --git a/dist/smartcli.classes.smartcli.js b/dist/smartcli.classes.smartcli.js
index 743310b..a650a91 100644
--- a/dist/smartcli.classes.smartcli.js
+++ b/dist/smartcli.classes.smartcli.js
@@ -1,9 +1,30 @@
"use strict";
-var smartcli = (function () {
- function smartcli() {
+require("typings-global");
+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==
diff --git a/dist/smartcli.getters.d.ts b/dist/smartcli.getters.d.ts
index 4d6da6d..5806eaf 100644
--- a/dist/smartcli.getters.d.ts
+++ b/dist/smartcli.getters.d.ts
@@ -1,10 +1,5 @@
+import "typings-global";
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
* @param argumentLevel
diff --git a/dist/smartcli.getters.js b/dist/smartcli.getters.js
index 3da924b..c2dd70a 100644
--- a/dist/smartcli.getters.js
+++ b/dist/smartcli.getters.js
@@ -1,20 +1,7 @@
-///
"use strict";
+require("typings-global");
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
@@ -99,4 +86,4 @@ exports.cwd = function () {
};
};
-//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0Y2xpLmdldHRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkNBQTJDOztBQUczQyxJQUFPLE9BQU8sV0FBVyxvQkFBb0IsQ0FBQyxDQUFDO0FBQy9DLElBQU8sY0FBYyxXQUFXLG1CQUFtQixDQUFDLENBQUM7QUFFckQ7Ozs7R0FJRztBQUNRLGVBQU8sR0FBRztJQUNqQixJQUFJLFVBQVUsR0FBRztRQUNiLFNBQVMsRUFBRSxjQUFjLENBQUMsZUFBZSxFQUFFO1FBQzNDLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkIsU0FBUyxFQUFFLG1CQUFXLEVBQUU7S0FDM0IsQ0FBQTtJQUNELE1BQU0sQ0FBQyxVQUFVLENBQUM7QUFDdEIsQ0FBQyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNRLHVCQUFlLEdBQUcsVUFBUyxhQUFhO0lBQy9DLElBQUksZUFBZSxHQUFpQztRQUNoRCxTQUFTLEVBQUUsS0FBSztRQUNoQixJQUFJLEVBQUUsV0FBVztRQUNqQixLQUFLLEVBQUMsYUFBYTtLQUN0QixDQUFDO0lBQ0YsRUFBRSxDQUFBLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsOEVBQThFLENBQUMsQ0FBQztRQUN4RyxNQUFNLENBQUMsZUFBZSxDQUFDO0lBQzNCLENBQUM7SUFDRCxFQUFFLENBQUEsQ0FBQyxjQUFjLENBQUMsdUJBQXVCLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELGVBQWUsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLGVBQWUsQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUNELE1BQU0sQ0FBQyxlQUFlLENBQUM7QUFDM0IsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ1EsbUJBQVcsR0FBRztJQUNyQixJQUFJLFdBQVcsR0FBbUMsRUFBRSxDQUFDO0lBQ3JELElBQUksU0FBUyxHQUFHLG9CQUFZLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2xCLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLFNBQVMsQ0FBQyxDQUFBLENBQUM7UUFDeEIsSUFBSSxpQkFBZSxHQUFpQztZQUNoRCxTQUFTLEVBQUMsSUFBSTtZQUNkLElBQUksRUFBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQ3BCLEtBQUssRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztTQUM1QixDQUFBO1FBQ0QsV0FBVyxDQUFDLElBQUksQ0FBQyxpQkFBZSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNELE1BQU0sQ0FBQyxXQUFXLENBQUM7QUFDdkIsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ1Esb0JBQVksR0FBRztJQUN0QixJQUFJLFlBQVksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNsQyxNQUFNLENBQUMsWUFBWSxDQUFDO0FBQ3hCLENBQUMsQ0FBQztBQUdGOzs7O0dBSUc7QUFDUSxjQUFNLEdBQUcsVUFBUyxVQUFpQjtJQUMxQyxJQUFJLFNBQVMsR0FBd0I7UUFDakMsSUFBSSxFQUFDLFVBQVU7UUFDZixTQUFTLEVBQUUsS0FBSztRQUNoQixLQUFLLEVBQUUsS0FBSztLQUNmLENBQUM7SUFDRixFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyRCxTQUFTLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztRQUM1QixTQUFTLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUMzQixTQUFTLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUEsQ0FBQyxrRUFBa0U7SUFDakgsQ0FBQztJQUNELE1BQU0sQ0FBQyxTQUFTLENBQUM7QUFDckIsQ0FBQyxDQUFDO0FBR1MsZUFBTyxHQUFHO0lBQ2pCLElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNqQixHQUFHLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMzQixFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLENBQUM7SUFDTCxDQUFDO0lBQ0QsTUFBTSxDQUFDLE9BQU8sQ0FBQztBQUNuQixDQUFDLENBQUM7QUFFRjs7O0dBR0c7QUFDUSxXQUFHLEdBQUc7SUFDYixNQUFNLENBQUM7UUFDSCxJQUFJLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRTtLQUN0QixDQUFBO0FBQ0wsQ0FBQyxDQUFDIiwiZmlsZSI6InNtYXJ0Y2xpLmdldHRlcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSBwYXRoPVwidHlwaW5ncy9pbmRleC5kLnRzXCIgLz5cclxuXHJcbmltcG9ydCAqIGFzIGludGVyZmFjZXMgZnJvbSBcIi4vc21hcnRjbGkuaW50ZXJmYWNlc1wiO1xyXG5pbXBvcnQgcGx1Z2lucyA9IHJlcXVpcmUoXCIuL3NtYXJ0Y2xpLnBsdWdpbnNcIik7XHJcbmltcG9ydCBTbWFydGNsaUNoZWNrcyA9IHJlcXVpcmUoXCIuL3NtYXJ0Y2xpLmNoZWNrc1wiKTtcclxuXHJcbi8qKlxyXG4gKlxyXG4gKiBAcGFyYW0gY29tbWFuZFN0cmluZ1xyXG4gKiBAcmV0dXJucyB7e3NwZWNpZmllZDogYm9vbGVhbiwgbmFtZTogYW55LCBhcmd1bWVudHM6IENsaUNvbW1hbmRBcmd1bWVudH19XHJcbiAqL1xyXG5leHBvcnQgbGV0IGNvbW1hbmQgPSBmdW5jdGlvbigpOmludGVyZmFjZXMuQ2xpQ29tbWFuZCB7XHJcbiAgICB2YXIgY2xpQ29tbWFuZCA9IHtcclxuICAgICAgICBzcGVjaWZpZWQ6IFNtYXJ0Y2xpQ2hlY2tzLmNvbW1hbmRQcmVzZW5jZSgpLFxyXG4gICAgICAgIG5hbWU6IHBsdWdpbnMuYXJndi5fWzBdLFxyXG4gICAgICAgIGFyZ3VtZW50czogY29tbWFuZEFyZ3MoKVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNsaUNvbW1hbmQ7XHJcbn07XHJcblxyXG4vKipcclxuICogZ2V0cyB0aGUgc2Vjb25kIG9yIGhpZ2hlciB2YWx1ZSBvZiBwbHVnaW5zLmFyZ3YuXyBpZiBzcGVjaWZpZWQgYW5kIHJldHVybnMgaXQgYXMgY29tbWFuZEFyZ3VtZW50XHJcbiAqIEBwYXJhbSBhcmd1bWVudExldmVsXHJcbiAqIEByZXR1cm5zIHt7c3BlY2lmaWVkOiAoYm9vbGVhbnxib29sZWFuKSwgbmFtZX19XHJcbiAqL1xyXG5leHBvcnQgbGV0IGNvbW1hbmRBcmd1bWVudCA9IGZ1bmN0aW9uKGFyZ3VtZW50TGV2ZWwpOmludGVyZmFjZXMuQ2xpQ29tbWFuZEFyZ3VtZW50IHtcclxuICAgIHZhciBjb21tYW5kQXJndW1lbnQ6aW50ZXJmYWNlcy5DbGlDb21tYW5kQXJndW1lbnQgPSB7XHJcbiAgICAgICAgc3BlY2lmaWVkOiBmYWxzZSxcclxuICAgICAgICBuYW1lOiBcInVuZGVmaW5lZFwiLFxyXG4gICAgICAgIGxldmVsOmFyZ3VtZW50TGV2ZWxcclxuICAgIH07XHJcbiAgICBpZihhcmd1bWVudExldmVsIDwgMSkge1xyXG4gICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLmVycm9yKFwic21hcnRjbGkuZ2V0LmFyZ3VtZW50IGNhbm5vdCBiZSBpbnZva2VkIHdpdGggYW4gYXJndW1lbnRMZXZlbCBzbWFsbGVyIHRoYW4gMVwiKTtcclxuICAgICAgICByZXR1cm4gY29tbWFuZEFyZ3VtZW50O1xyXG4gICAgfVxyXG4gICAgaWYoU21hcnRjbGlDaGVja3MuY29tbWFuZEFyZ3VtZW50UHJlc2VuY2UoYXJndW1lbnRMZXZlbCkpIHtcclxuICAgICAgICBjb21tYW5kQXJndW1lbnQuc3BlY2lmaWVkID0gdHJ1ZTtcclxuICAgICAgICBjb21tYW5kQXJndW1lbnQubmFtZSA9IHBsdWdpbnMuYXJndi5fW2FyZ3VtZW50TGV2ZWxdO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNvbW1hbmRBcmd1bWVudDtcclxufTtcclxuXHJcbi8qKlxyXG4gKiByZXR1cm5zIGFycmF5IHdpdGggY29tbWFuZEFyZ3NcclxuICogQHJldHVybnMge0NsaUNvbW1hbmRBcmd1bWVudFtdfVxyXG4gKi9cclxuZXhwb3J0IGxldCBjb21tYW5kQXJncyA9IGZ1bmN0aW9uKCk6aW50ZXJmYWNlcy5DbGlDb21tYW5kQXJndW1lbnRbXSB7XHJcbiAgICB2YXIgY29tbWFuZEFyZ3M6aW50ZXJmYWNlcy5DbGlDb21tYW5kQXJndW1lbnRbXSA9IFtdO1xyXG4gICAgdmFyIGFyZ3NBcnJheSA9IGNvbW1hbmRBcnJheSgpLnNsaWNlKDApO1xyXG4gICAgYXJnc0FycmF5LnNoaWZ0KCk7XHJcbiAgICBmb3IgKGxldCBpdGVtIGluIGFyZ3NBcnJheSl7XHJcbiAgICAgICAgbGV0IGNvbW1hbmRBcmd1bWVudDppbnRlcmZhY2VzLkNsaUNvbW1hbmRBcmd1bWVudCA9IHtcclxuICAgICAgICAgICAgc3BlY2lmaWVkOnRydWUsXHJcbiAgICAgICAgICAgIG5hbWU6YXJnc0FycmF5W2l0ZW1dLFxyXG4gICAgICAgICAgICBsZXZlbDogcGFyc2VJbnQoaXRlbSkgKyAxXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbW1hbmRBcmdzLnB1c2goY29tbWFuZEFyZ3VtZW50KTtcclxuICAgIH1cclxuICAgIHJldHVybiBjb21tYW5kQXJncztcclxufTtcclxuXHJcbi8qKlxyXG4gKiByZXR1cm5zIGNvbXBsZXRlIGNvbW1hbmQgYXJyYXlcclxuICogQHJldHVybnMge2FueX1cclxuICovXHJcbmV4cG9ydCBsZXQgY29tbWFuZEFycmF5ID0gZnVuY3Rpb24gKCk6c3RyaW5nW10ge1xyXG4gICAgdmFyIGNvbW1hbmRBcnJheSA9IHBsdWdpbnMuYXJndi5fO1xyXG4gICAgcmV0dXJuIGNvbW1hbmRBcnJheTtcclxufTtcclxuXHJcblxyXG4vKipcclxuICogcmV0dXJucyBhIGNsaSBvcHRpb25cclxuICogQHBhcmFtIG9wdGlvbk5hbWVcclxuICogQHJldHVybnMge0NsaU9wdGlvbn1cclxuICovXHJcbmV4cG9ydCBsZXQgb3B0aW9uID0gZnVuY3Rpb24ob3B0aW9uTmFtZTpzdHJpbmcpOmludGVyZmFjZXMuQ2xpT3B0aW9uIHtcclxuICAgIHZhciBjbGlPcHRpb246aW50ZXJmYWNlcy5DbGlPcHRpb24gPSB7XHJcbiAgICAgICAgbmFtZTpvcHRpb25OYW1lLFxyXG4gICAgICAgIHNwZWNpZmllZDogZmFsc2UsXHJcbiAgICAgICAgdmFsdWU6IGZhbHNlXHJcbiAgICB9O1xyXG4gICAgaWYgKHBsdWdpbnMuc21hcnRwYXJhbS5leGlzdHMocGx1Z2lucy5hcmd2LG9wdGlvbk5hbWUpKSB7XHJcbiAgICAgICAgY2xpT3B0aW9uLm5hbWUgPSBvcHRpb25OYW1lO1xyXG4gICAgICAgIGNsaU9wdGlvbi5zcGVjaWZpZWQgPSB0cnVlO1xyXG4gICAgICAgIGNsaU9wdGlvbi52YWx1ZSA9IHBsdWdpbnMuYXJndltvcHRpb25OYW1lXSAvL3dlIGFscmVhZHkga25vdyBmcm9tIHRoZSBcImlmXCIgYWJvdmUgdGhhdCB0aGUgdmFsdWUgaXMgYXZhaWxhYmxlLlxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNsaU9wdGlvbjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgbGV0IG9wdGlvbnMgPSBmdW5jdGlvbigpIHtcclxuICAgIHZhciBvcHRpb25zID0ge307XHJcbiAgICBmb3IgKHZhciBrZXkgaW4gcGx1Z2lucy5hcmd2KSB7XHJcbiAgICAgICAgaWYgKGtleSAhPSBcIl9cIikge1xyXG4gICAgICAgICAgICBvcHRpb25zWydrZXknXSA9IHBsdWdpbnMuYXJndlsna2V5J107XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG9wdGlvbnM7XHJcbn07XHJcblxyXG4vKipcclxuICogcmV0dXJucyBEaXJlY3Rvcnkgb2YgY3dkXHJcbiAqIEByZXR1cm5zIHt7cGF0aDogc3RyaW5nfX1cclxuICovXHJcbmV4cG9ydCBsZXQgY3dkID0gZnVuY3Rpb24oKTppbnRlcmZhY2VzLkRpcmVjdG9yeSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIHBhdGg6IHByb2Nlc3MuY3dkKClcclxuICAgIH1cclxufTsiXX0=
+//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0Y2xpLmdldHRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUd4QixJQUFPLE9BQU8sV0FBVyxvQkFBb0IsQ0FBQyxDQUFDO0FBQy9DLElBQU8sY0FBYyxXQUFXLG1CQUFtQixDQUFDLENBQUM7QUFHckQ7Ozs7R0FJRztBQUNRLHVCQUFlLEdBQUcsVUFBUyxhQUFhO0lBQy9DLElBQUksZUFBZSxHQUFpQztRQUNoRCxTQUFTLEVBQUUsS0FBSztRQUNoQixJQUFJLEVBQUUsV0FBVztRQUNqQixLQUFLLEVBQUMsYUFBYTtLQUN0QixDQUFDO0lBQ0YsRUFBRSxDQUFBLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsOEVBQThFLENBQUMsQ0FBQztRQUN4RyxNQUFNLENBQUMsZUFBZSxDQUFDO0lBQzNCLENBQUM7SUFDRCxFQUFFLENBQUEsQ0FBQyxjQUFjLENBQUMsdUJBQXVCLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELGVBQWUsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLGVBQWUsQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUNELE1BQU0sQ0FBQyxlQUFlLENBQUM7QUFDM0IsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ1EsbUJBQVcsR0FBRztJQUNyQixJQUFJLFdBQVcsR0FBbUMsRUFBRSxDQUFDO0lBQ3JELElBQUksU0FBUyxHQUFHLG9CQUFZLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2xCLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLFNBQVMsQ0FBQyxDQUFBLENBQUM7UUFDeEIsSUFBSSxpQkFBZSxHQUFpQztZQUNoRCxTQUFTLEVBQUMsSUFBSTtZQUNkLElBQUksRUFBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQ3BCLEtBQUssRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztTQUM1QixDQUFBO1FBQ0QsV0FBVyxDQUFDLElBQUksQ0FBQyxpQkFBZSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNELE1BQU0sQ0FBQyxXQUFXLENBQUM7QUFDdkIsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ1Esb0JBQVksR0FBRztJQUN0QixJQUFJLFlBQVksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNsQyxNQUFNLENBQUMsWUFBWSxDQUFDO0FBQ3hCLENBQUMsQ0FBQztBQUdGOzs7O0dBSUc7QUFDUSxjQUFNLEdBQUcsVUFBUyxVQUFpQjtJQUMxQyxJQUFJLFNBQVMsR0FBd0I7UUFDakMsSUFBSSxFQUFDLFVBQVU7UUFDZixTQUFTLEVBQUUsS0FBSztRQUNoQixLQUFLLEVBQUUsS0FBSztLQUNmLENBQUM7SUFDRixFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyRCxTQUFTLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztRQUM1QixTQUFTLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUMzQixTQUFTLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUEsQ0FBQyxrRUFBa0U7SUFDakgsQ0FBQztJQUNELE1BQU0sQ0FBQyxTQUFTLENBQUM7QUFDckIsQ0FBQyxDQUFDO0FBR1MsZUFBTyxHQUFHO0lBQ2pCLElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNqQixHQUFHLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMzQixFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLENBQUM7SUFDTCxDQUFDO0lBQ0QsTUFBTSxDQUFDLE9BQU8sQ0FBQztBQUNuQixDQUFDLENBQUM7QUFFRjs7O0dBR0c7QUFDUSxXQUFHLEdBQUc7SUFDYixNQUFNLENBQUM7UUFDSCxJQUFJLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRTtLQUN0QixDQUFBO0FBQ0wsQ0FBQyxDQUFDIiwiZmlsZSI6InNtYXJ0Y2xpLmdldHRlcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiO1xuXG5pbXBvcnQgKiBhcyBpbnRlcmZhY2VzIGZyb20gXCIuL3NtYXJ0Y2xpLmludGVyZmFjZXNcIjtcbmltcG9ydCBwbHVnaW5zID0gcmVxdWlyZShcIi4vc21hcnRjbGkucGx1Z2luc1wiKTtcbmltcG9ydCBTbWFydGNsaUNoZWNrcyA9IHJlcXVpcmUoXCIuL3NtYXJ0Y2xpLmNoZWNrc1wiKTtcblxuXG4vKipcbiAqIGdldHMgdGhlIHNlY29uZCBvciBoaWdoZXIgdmFsdWUgb2YgcGx1Z2lucy5hcmd2Ll8gaWYgc3BlY2lmaWVkIGFuZCByZXR1cm5zIGl0IGFzIGNvbW1hbmRBcmd1bWVudFxuICogQHBhcmFtIGFyZ3VtZW50TGV2ZWxcbiAqIEByZXR1cm5zIHt7c3BlY2lmaWVkOiAoYm9vbGVhbnxib29sZWFuKSwgbmFtZX19XG4gKi9cbmV4cG9ydCBsZXQgY29tbWFuZEFyZ3VtZW50ID0gZnVuY3Rpb24oYXJndW1lbnRMZXZlbCk6aW50ZXJmYWNlcy5DbGlDb21tYW5kQXJndW1lbnQge1xuICAgIHZhciBjb21tYW5kQXJndW1lbnQ6aW50ZXJmYWNlcy5DbGlDb21tYW5kQXJndW1lbnQgPSB7XG4gICAgICAgIHNwZWNpZmllZDogZmFsc2UsXG4gICAgICAgIG5hbWU6IFwidW5kZWZpbmVkXCIsXG4gICAgICAgIGxldmVsOmFyZ3VtZW50TGV2ZWxcbiAgICB9O1xuICAgIGlmKGFyZ3VtZW50TGV2ZWwgPCAxKSB7XG4gICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLmVycm9yKFwic21hcnRjbGkuZ2V0LmFyZ3VtZW50IGNhbm5vdCBiZSBpbnZva2VkIHdpdGggYW4gYXJndW1lbnRMZXZlbCBzbWFsbGVyIHRoYW4gMVwiKTtcbiAgICAgICAgcmV0dXJuIGNvbW1hbmRBcmd1bWVudDtcbiAgICB9XG4gICAgaWYoU21hcnRjbGlDaGVja3MuY29tbWFuZEFyZ3VtZW50UHJlc2VuY2UoYXJndW1lbnRMZXZlbCkpIHtcbiAgICAgICAgY29tbWFuZEFyZ3VtZW50LnNwZWNpZmllZCA9IHRydWU7XG4gICAgICAgIGNvbW1hbmRBcmd1bWVudC5uYW1lID0gcGx1Z2lucy5hcmd2Ll9bYXJndW1lbnRMZXZlbF07XG4gICAgfVxuICAgIHJldHVybiBjb21tYW5kQXJndW1lbnQ7XG59O1xuXG4vKipcbiAqIHJldHVybnMgYXJyYXkgd2l0aCBjb21tYW5kQXJnc1xuICogQHJldHVybnMge0NsaUNvbW1hbmRBcmd1bWVudFtdfVxuICovXG5leHBvcnQgbGV0IGNvbW1hbmRBcmdzID0gZnVuY3Rpb24oKTppbnRlcmZhY2VzLkNsaUNvbW1hbmRBcmd1bWVudFtdIHtcbiAgICB2YXIgY29tbWFuZEFyZ3M6aW50ZXJmYWNlcy5DbGlDb21tYW5kQXJndW1lbnRbXSA9IFtdO1xuICAgIHZhciBhcmdzQXJyYXkgPSBjb21tYW5kQXJyYXkoKS5zbGljZSgwKTtcbiAgICBhcmdzQXJyYXkuc2hpZnQoKTtcbiAgICBmb3IgKGxldCBpdGVtIGluIGFyZ3NBcnJheSl7XG4gICAgICAgIGxldCBjb21tYW5kQXJndW1lbnQ6aW50ZXJmYWNlcy5DbGlDb21tYW5kQXJndW1lbnQgPSB7XG4gICAgICAgICAgICBzcGVjaWZpZWQ6dHJ1ZSxcbiAgICAgICAgICAgIG5hbWU6YXJnc0FycmF5W2l0ZW1dLFxuICAgICAgICAgICAgbGV2ZWw6IHBhcnNlSW50KGl0ZW0pICsgMVxuICAgICAgICB9XG4gICAgICAgIGNvbW1hbmRBcmdzLnB1c2goY29tbWFuZEFyZ3VtZW50KTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbW1hbmRBcmdzO1xufTtcblxuLyoqXG4gKiByZXR1cm5zIGNvbXBsZXRlIGNvbW1hbmQgYXJyYXlcbiAqIEByZXR1cm5zIHthbnl9XG4gKi9cbmV4cG9ydCBsZXQgY29tbWFuZEFycmF5ID0gZnVuY3Rpb24gKCk6c3RyaW5nW10ge1xuICAgIHZhciBjb21tYW5kQXJyYXkgPSBwbHVnaW5zLmFyZ3YuXztcbiAgICByZXR1cm4gY29tbWFuZEFycmF5O1xufTtcblxuXG4vKipcbiAqIHJldHVybnMgYSBjbGkgb3B0aW9uXG4gKiBAcGFyYW0gb3B0aW9uTmFtZVxuICogQHJldHVybnMge0NsaU9wdGlvbn1cbiAqL1xuZXhwb3J0IGxldCBvcHRpb24gPSBmdW5jdGlvbihvcHRpb25OYW1lOnN0cmluZyk6aW50ZXJmYWNlcy5DbGlPcHRpb24ge1xuICAgIHZhciBjbGlPcHRpb246aW50ZXJmYWNlcy5DbGlPcHRpb24gPSB7XG4gICAgICAgIG5hbWU6b3B0aW9uTmFtZSxcbiAgICAgICAgc3BlY2lmaWVkOiBmYWxzZSxcbiAgICAgICAgdmFsdWU6IGZhbHNlXG4gICAgfTtcbiAgICBpZiAocGx1Z2lucy5zbWFydHBhcmFtLmV4aXN0cyhwbHVnaW5zLmFyZ3Ysb3B0aW9uTmFtZSkpIHtcbiAgICAgICAgY2xpT3B0aW9uLm5hbWUgPSBvcHRpb25OYW1lO1xuICAgICAgICBjbGlPcHRpb24uc3BlY2lmaWVkID0gdHJ1ZTtcbiAgICAgICAgY2xpT3B0aW9uLnZhbHVlID0gcGx1Z2lucy5hcmd2W29wdGlvbk5hbWVdIC8vd2UgYWxyZWFkeSBrbm93IGZyb20gdGhlIFwiaWZcIiBhYm92ZSB0aGF0IHRoZSB2YWx1ZSBpcyBhdmFpbGFibGUuXG4gICAgfVxuICAgIHJldHVybiBjbGlPcHRpb247XG59O1xuXG5cbmV4cG9ydCBsZXQgb3B0aW9ucyA9IGZ1bmN0aW9uKCkge1xuICAgIHZhciBvcHRpb25zID0ge307XG4gICAgZm9yICh2YXIga2V5IGluIHBsdWdpbnMuYXJndikge1xuICAgICAgICBpZiAoa2V5ICE9IFwiX1wiKSB7XG4gICAgICAgICAgICBvcHRpb25zWydrZXknXSA9IHBsdWdpbnMuYXJndlsna2V5J107XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG9wdGlvbnM7XG59O1xuXG4vKipcbiAqIHJldHVybnMgRGlyZWN0b3J5IG9mIGN3ZFxuICogQHJldHVybnMge3twYXRoOiBzdHJpbmd9fVxuICovXG5leHBvcnQgbGV0IGN3ZCA9IGZ1bmN0aW9uKCk6aW50ZXJmYWNlcy5EaXJlY3Rvcnkge1xuICAgIHJldHVybiB7XG4gICAgICAgIHBhdGg6IHByb2Nlc3MuY3dkKClcbiAgICB9XG59OyJdfQ==
diff --git a/dist/smartcli.interaction.d.ts b/dist/smartcli.interaction.d.ts
index 87d35b7..38d2047 100644
--- a/dist/smartcli.interaction.d.ts
+++ b/dist/smartcli.interaction.d.ts
@@ -1,3 +1,4 @@
+import "typings-global";
import "./smartcli.interfaces";
/**
* executes callback with answer to question as argument
diff --git a/dist/smartcli.interaction.js b/dist/smartcli.interaction.js
index 62631d9..7780566 100644
--- a/dist/smartcli.interaction.js
+++ b/dist/smartcli.interaction.js
@@ -1,5 +1,5 @@
-///
"use strict";
+require("typings-global");
require("./smartcli.interfaces");
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==
diff --git a/dist/smartcli.interfaces.d.ts b/dist/smartcli.interfaces.d.ts
index 7e826e6..119fe29 100644
--- a/dist/smartcli.interfaces.d.ts
+++ b/dist/smartcli.interfaces.d.ts
@@ -1,3 +1,9 @@
+import "typings-global";
+export interface CliCommand {
+ specified: boolean;
+ name: string;
+ arguments: CliCommandArgument[];
+}
export interface CliOption {
name: string;
specified: boolean;
@@ -6,11 +12,6 @@ export interface CliOption {
export interface Directory {
path: string;
}
-export interface CliCommand {
- specified: boolean;
- name: string;
- arguments: CliCommandArgument[];
-}
export interface CliCommandArgument {
specified: boolean;
name: string;
diff --git a/dist/smartcli.interfaces.js b/dist/smartcli.interfaces.js
index 74c0d21..3e0f144 100644
--- a/dist/smartcli.interfaces.js
+++ b/dist/smartcli.interfaces.js
@@ -1,3 +1,4 @@
"use strict";
+require("typings-global");
-//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzbWFydGNsaS5pbnRlcmZhY2VzLmpzIiwic291cmNlc0NvbnRlbnQiOltdfQ==
+//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0Y2xpLmludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQSIsImZpbGUiOiJzbWFydGNsaS5pbnRlcmZhY2VzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcblxuZXhwb3J0IGludGVyZmFjZSBDbGlDb21tYW5kIHtcbiAgICBzcGVjaWZpZWQ6IGJvb2xlYW47XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGFyZ3VtZW50czpDbGlDb21tYW5kQXJndW1lbnRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbGlPcHRpb24ge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBzcGVjaWZpZWQ6Ym9vbGVhbjtcbiAgICB2YWx1ZTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpcmVjdG9yeSB7XG4gICAgcGF0aDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsaUNvbW1hbmRBcmd1bWVudCB7XG4gICAgc3BlY2lmaWVkOmJvb2xlYW47XG4gICAgbmFtZTpzdHJpbmc7XG4gICAgbGV2ZWw6bnVtYmVyO1xufSJdfQ==
diff --git a/dist/smartcli.plugins.d.ts b/dist/smartcli.plugins.d.ts
index c88a82b..b3193e8 100644
--- a/dist/smartcli.plugins.d.ts
+++ b/dist/smartcli.plugins.d.ts
@@ -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 cliff: any;
-export declare let commander: any;
export declare let inquirer: any;
+export declare let path: any;
+export declare let q: any;
export declare let smartparam: any;
-export declare let argv: any;
diff --git a/dist/smartcli.plugins.js b/dist/smartcli.plugins.js
index de48adc..5411738 100644
--- a/dist/smartcli.plugins.js
+++ b/dist/smartcli.plugins.js
@@ -1,11 +1,11 @@
-///
"use strict";
-exports.path = require("path");
+require("typings-global");
+exports.argv = require('yargs').argv;
exports.beautylog = require("beautylog");
exports.cliff = require("cliff");
-exports.commander = require("commander");
exports.inquirer = require("inquirer");
+exports.path = require("path");
+exports.q = require("q");
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=
diff --git a/package.json b/package.json
index 2cef7f4..d6b6dda 100644
--- a/package.json
+++ b/package.json
@@ -30,8 +30,8 @@
"dependencies": {
"beautylog": "^5.0.8",
"cliff": "^0.1.10",
- "commander": "^2.9.0",
"inquirer": "^1.0.3",
+ "q": "^1.4.1",
"smartparam": "0.0.7",
"typings-global": "^1.0.3",
"yargs": "^4.7.1"
diff --git a/test/test.d.ts b/test/test.d.ts
index 9ef6852..e7cc8ee 100644
--- a/test/test.d.ts
+++ b/test/test.d.ts
@@ -1,14 +1 @@
-///
-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;
+import "typings-test";
diff --git a/test/test.js b/test/test.js
index a209b50..6c9da83 100644
--- a/test/test.js
+++ b/test/test.js
@@ -1,152 +1,7 @@
-///
+"use strict";
+require("typings-test");
var smartcli = require("../dist/index.js");
var beautylog = require("beautylog");
var 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();
-}
-;
-//# sourceMappingURL=data:application/json;charset=utf8;base64,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QUMsQ0FBQztJQUMvQixTQUFTLENBQUMsT0FBTyxDQUFDLCtCQUErQixDQUFDLENBQUM7QUFDdkQsQ0FBQyxDQUFDO0FBRUYsRUFBRSxDQUFBLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFBLENBQUM7SUFDakMsd0JBQXdCLEVBQUUsQ0FBQztBQUMvQixDQUFDO0FBQUMsSUFBSSxDQUFDLENBQUM7SUFDSixTQUFTLENBQUMsSUFBSSxDQUFDLDBFQUEwRSxDQUFDLENBQUM7SUFDM0YsUUFBUSxFQUFFLENBQUM7QUFDZixDQUFDO0FBQUEsQ0FBQyIsImZpbGUiOiJ0ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uL3RzL3R5cGluZ3MvaW5kZXguZC50c1wiIC8+XHJcbmxldCBzbWFydGNsaSA9IHJlcXVpcmUoXCIuLi9kaXN0L2luZGV4LmpzXCIpO1xyXG5sZXQgYmVhdXR5bG9nID0gcmVxdWlyZShcImJlYXV0eWxvZ1wiKTtcclxubGV0IHNob3VsZCA9IHJlcXVpcmUoXCJzaG91bGRcIik7XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tIENIRUNLUyBURVNUUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbmRlc2NyaWJlKFwic21hcnRjbGlcIixmdW5jdGlvbigpe1xyXG4gICAgZGVzY3JpYmUoXCIuY2hlY2tcIixmdW5jdGlvbigpe1xyXG4gICAgICAgIGRlc2NyaWJlKFwiLmNvbW1hbmRcIixmdW5jdGlvbigpe1xyXG4gICAgICAgICAgICBpdChcInNob3VsZCByZXR1cm4gdHJ1ZSB3aGVuIHNwZWNpZmllZCBjb21tYW5kIGlzIGZvdW5kXCIsZnVuY3Rpb24oKXtcclxuICAgICAgICAgICAgICAgIHNtYXJ0Y2xpLmNoZWNrLmNvbW1hbmQoXCJqYXp6XCIpLnNob3VsZC5iZS50cnVlKCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICBpdChcInNob3VsZCByZXR1cm4gZmFsc2Ugd2hlbiBzcGVjaWZpZWQgY29tbWFuZCBpcyBOT1QgZm91bmRcIixmdW5jdGlvbigpe1xyXG4gICAgICAgICAgICAgICAgc21hcnRjbGkuY2hlY2suY29tbWFuZChcInJvY2tcIikuc2hvdWxkLmJlLmZhbHNlKCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pOyBcclxuICAgICAgICBkZXNjcmliZShcIi5jb21tYW5kUHJlc2VuY2VcIixmdW5jdGlvbigpe1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB9KTtcclxuICAgIH0pO1xyXG59KTtcclxuXHJcblxyXG5cclxuXHJcbnZhciBjaGVja0NvbW1hbmRBcmd1bWVudFRlc3QgPSBmdW5jdGlvbigpIHtcclxuICAgIGlmIChzbWFydGNsaS5jaGVjay5jb21tYW5kQXJndW1lbnQoXCJqYW1cIiwxKSkge1xyXG4gICAgICAgIGJlYXV0eWxvZy5zdWNjZXNzKCdUaGVyZSBpcyBhIGxldmVsIDEgYXJndW1lbnQhIFBlcmZlY3QhJyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIGJlYXV0eWxvZy5lcnJvcignVGhlcmUgc2VlbXMgdG8gYmUgbm8gbGV2ZWwgMSBhcmd1bWVudC4uLiBUaGlzIGlzIHdyb25nJyk7XHJcbiAgICAgICAgcHJvY2Vzcy5leGl0KDEpO1xyXG4gICAgfVxyXG4gICAgaWYgKCFzbWFydGNsaS5jaGVjay5jb21tYW5kQXJndW1lbnQoXCJzZXNzaW9uXCIsMikpIHtcclxuICAgICAgICBiZWF1dHlsb2cuc3VjY2VzcygnVGhlcmUgaXMgbm8gbGV2ZWwgMiBhcmd1bWVudCB3aXRoIHRoZSBuYW1lIG9mIFwic2Vzc2lvblwiISBQZXJmZWN0IScpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgICBiZWF1dHlsb2cuZXJyb3IoJ1RoZXJlIHNlZW1zIHRvIGJlIGEgbGV2ZWwgMiBhcmd1bWVudCB3aXRoIHRoZSBuYW1lIG9mIFwic2Vzc2lvblwiISBUaGlzIGlzIHdyb25nJyk7XHJcbiAgICAgICAgcHJvY2Vzcy5leGl0KDEpO1xyXG4gICAgfVxyXG59O1xyXG5jaGVja0NvbW1hbmRBcmd1bWVudFRlc3QoKTtcclxuXHJcbnZhciBjaGVja0NvbW1hbmRBcmd1bWVudFByZXNlbmNlVGVzdCA9IGZ1bmN0aW9uKCkge1xyXG4gICAgaWYgKHNtYXJ0Y2xpLmNoZWNrLmNvbW1hbmRBcmd1bWVudFByZXNlbmNlKDEpKSB7XHJcbiAgICAgICAgYmVhdXR5bG9nLnN1Y2Nlc3MoJ1RoZXJlIGlzIGEgbGV2ZWwgMSBhcmd1bWVudCEgUGVyZmVjdCEnKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgYmVhdXR5bG9nLmVycm9yKCdUaGVyZSBzZWVtcyB0byBiZSBubyBsZXZlbCAxIGFyZ3VtZW50Li4uIFRoaXMgaXMgd3JvbmcnKTtcclxuICAgICAgICBwcm9jZXNzLmV4aXQoMSk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXNtYXJ0Y2xpLmNoZWNrLmNvbW1hbmRBcmd1bWVudFByZXNlbmNlKDIpKSB7XHJcbiAgICAgICAgYmVhdXR5bG9nLnN1Y2Nlc3MoJ1RoZXJlIGlzIG5vIGxldmVsIDIgYXJndW1lbnQhIFBlcmZlY3QhJyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIGJlYXV0eWxvZy5lcnJvcignVGhlcmUgc2VlbXMgdG8gYmUgYSBsZXZlbCAyIGFyZ3VtZW50Li4uIFRoaXMgaXMgd3JvbmcnKTtcclxuICAgICAgICBwcm9jZXNzLmV4aXQoMSk7XHJcbiAgICB9XHJcbn07XHJcbmNoZWNrQ29tbWFuZEFyZ3VtZW50UHJlc2VuY2VUZXN0KCk7XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tIEdFVFRFUlMgVEVTVFMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxudmFyIGdldENvbW1hbmRUZXN0ID0gZnVuY3Rpb24oKXtcclxuICAgIHZhciBjbGlDb21tYW5kID0gc21hcnRjbGkuZ2V0LmNvbW1hbmQoKTtcclxuICAgIGlmKGNsaUNvbW1hbmQubmFtZSA9PSBcImphenpcIikge1xyXG4gICAgICAgIGJlYXV0eWxvZy5zdWNjZXNzKCdUaGUgc3BlY2lmaWVkIGNvbW1hbmQgbmFtZSBpcyBcImphenpcIi4gUGVyZmVjdCEnKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgYmVhdXR5bG9nLmVycm9yKCdUaGUgc3BlY2lmaWVkIGNvbW1hbmQgbmFtZSBpcyBub3QgXCJqYXp6XCIuIFNvbWV0aGluZyBpcyB3cm9uZyEnKTtcclxuICAgICAgICBwcm9jZXNzLmV4aXQoMSk7XHJcbiAgICB9XHJcblxyXG59O1xyXG5nZXRDb21tYW5kVGVzdCgpO1xyXG5cclxudmFyIGdldENvbW1hbmRBcmd1bWVudFRlc3QgPSBmdW5jdGlvbigpIHtcclxuICAgIHZhciBjbGlBcmd1bWVudCA9IHNtYXJ0Y2xpLmdldC5jb21tYW5kQXJndW1lbnQoMSk7XHJcbiAgICB2YXIgY2xpQXJndW1lbnQyID0gc21hcnRjbGkuZ2V0LmNvbW1hbmRBcmd1bWVudCgyKTtcclxuICAgIGlmKGNsaUFyZ3VtZW50Lm5hbWUgPT0gXCJqYW1cIikge1xyXG4gICAgICAgIGJlYXV0eWxvZy5zdWNjZXNzKCdUaGUgZmlyc3Qgc3BlY2lmaWVkIGNvbW1hbmQgYXJndW1lbnQgbmFtZSBpcyBcImphbVwiLiBQZXJmZWN0IScpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgICBiZWF1dHlsb2cuZXJyb3IoJ1RoZSBmaXJzdCBzcGVjaWZpZWQgY29tbWFuZCBhcmd1bWVudCBuYW1lIGlzIG5vdCBcImphbVwiLiBTb21ldGhpbmcgaXMgd3JvbmchJyk7XHJcbiAgICAgICAgcHJvY2Vzcy5leGl0KDEpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmKGNsaUFyZ3VtZW50Mi5uYW1lID09IFwidW5kZWZpbmVkXCIpIHtcclxuICAgICAgICBiZWF1dHlsb2cuc3VjY2VzcygnVGhlIHNlY29uZCBzcGVjaWZpZWQgY29tbWFuZCBhcmd1bWVudCBuYW1lIGlzIFwidW5kZWZpbmVkXCIuIFBlcmZlY3QhJyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIGJlYXV0eWxvZy5lcnJvcignVGhlIHNlY29uZCBzcGVjaWZpZWQgY29tbWFuZCBhcmd1bWVudCBuYW1lIGlzIG5vdCBcInVuZGVmaW5lZFwiLiBTb21ldGhpbmcgaXMgd3JvbmchJyk7XHJcbiAgICAgICAgcHJvY2Vzcy5leGl0KDEpO1xyXG4gICAgfVxyXG59O1xyXG5nZXRDb21tYW5kQXJndW1lbnRUZXN0KCk7XHJcblxyXG52YXIgZ2V0Q29tbWFuZEFyZ3NUZXN0ID0gZnVuY3Rpb24oKSB7XHJcbiAgICB2YXIgY29tbWFuZEFyZ3MgPSBzbWFydGNsaS5nZXQuY29tbWFuZEFyZ3MoKTtcclxuICAgIGlmKGNvbW1hbmRBcmdzWzBdLm5hbWUgPT0gXCJqYW1cIikge1xyXG4gICAgICAgIGJlYXV0eWxvZy5zdWNjZXNzKFwiZmlyc3QgY29tbWFuZCBhcmd1bWVudCBpcyAnamFtJy4gUGVyZmVjdCFcIik7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIGJlYXV0eWxvZy5lcnJvcihcImZpcnN0IGNvbW1hbmQgYXJndW1lbnQgaXMgbm90ICdqYW0nLiBTb21ldGhpbmcgaXMgd3JvbWchXCIpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGNvbW1hbmRBcmdzWzBdLm5hbWUpO1xyXG4gICAgICAgIHByb2Nlc3MuZXhpdCgxKTtcclxuICAgIH1cclxufTtcclxuZ2V0Q29tbWFuZEFyZ3NUZXN0KCk7XHJcblxyXG52YXIgZ2V0T3B0aW9uVGVzdCA9IGZ1bmN0aW9uKCkge1xyXG4gICAgdmFyIGNsaU9wdGlvbiA9IHNtYXJ0Y2xpLmdldC5vcHRpb24oXCJhd2Vzb21lXCIpO1xyXG4gICAgdmFyIGNsaU9wdGlvbjIgPSBzbWFydGNsaS5nZXQub3B0aW9uKFwidGVycmlmaWNcIik7XHJcbiAgICBpZihjbGlPcHRpb24uc3BlY2lmaWVkKXtcclxuICAgICAgICBiZWF1dHlsb2cuc3VjY2VzcyhcImF3ZXNvbWUgaXMgc3BlY2lmaWVkLiBQZXJmZWN0IVwiKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgICBiZWF1dHlsb2cuZXJyb3IoXCJhd2Vzb21lIGlzIG5vdCBzcGVjaWZpZWQuIFNvbWVodGhpbmcgaXMgd3JvbmdcIik7XHJcbiAgICAgICAgcHJvY2Vzcy5leGl0KDEpO1xyXG4gICAgfVxyXG4gICAgaWYoIWNsaU9wdGlvbjIuc3BlY2lmaWVkKXtcclxuICAgICAgICBiZWF1dHlsb2cuc3VjY2VzcyhcInRlcnJpZmljIGlzIG5vdCBzcGVjaWZpZWQuIFBlcmZlY3QhXCIpXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIGJlYXV0eWxvZy5lcnJvcihcInRlcnJpZmljIGlzIHNwZWNpZmllZC4gU29tZWh0aGluZyBpcyB3cm9uZ1wiKTtcclxuICAgICAgICBwcm9jZXNzLmV4aXQoMSk7XHJcbiAgICB9XHJcbn07XHJcbmdldE9wdGlvblRlc3QoKTtcclxuXHJcbnZhciBnZXRDd2RUZXN0ID0gZnVuY3Rpb24oKXtcclxuICAgIGJlYXV0eWxvZy5pbmZvKCdUaGUgY3VycmVudCBkaXJlY3RvcnkgaXM6ICcgKyBzbWFydGNsaS5nZXQuY3dkKCkucGF0aCk7XHJcbn07XHJcbmdldEN3ZFRlc3QoKTtcclxuXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tIElOVEVSQUNUSU9OIFRFU1RTIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcblxyXG52YXIgaW50ZXJhY3Rpb25HZXRBbnN3ZXJUZXN0ID0gZnVuY3Rpb24oKSB7XHJcbiAgICBzbWFydGNsaS5pbnRlcmFjdGlvbi5nZXRBbnN3ZXIoJ0hvdyBkbyB5b3UgZmVlbD8nLGZ1bmN0aW9uKGFuc3dlcil7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ1RoZSBhbnN3ZXIgaXM6ICcgKyBhbnN3ZXIpO1xyXG4gICAgICAgIGludGVyYWN0aW9uR2V0Q2hvaWNlVGVzdCgpO1xyXG4gICAgfSk7XHJcbn07XHJcblxyXG5cclxuXHJcbnZhciBpbnRlcmFjdGlvbkdldENob2ljZVRlc3QgPSBmdW5jdGlvbigpIHtcclxuICAgIHNtYXJ0Y2xpLmludGVyYWN0aW9uLmdldENob2ljZSgnV2hhdCBtdXNpYyBkbyB5b3UgbGlrZSB0byBoZWFyPycsWydKYXp6JywnQmx1ZXMnLCdDbGFzc2ljYWwnXSxmdW5jdGlvbihhbnN3ZXIpe1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdUaGUgYW5zd2VyIGlzOiAnICsgYW5zd2VyKTtcclxuICAgICAgICBlbmRUZXN0cygpO1xyXG4gICAgfSk7XHJcbn07XHJcblxyXG52YXIgZW5kVGVzdHMgPSBmdW5jdGlvbigpIHtcclxuICAgIGJlYXV0eWxvZy5vayhcIk5vIG1vcmUgdGVzdHMhXCIpO1xyXG4gICAgYmVhdXR5bG9nLnN1Y2Nlc3MoXCJUZXN0cyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5IVwiKTtcclxufTtcclxuXHJcbmlmKCFzbWFydGNsaS5jaGVjay5vcHRpb24oXCJzaWxlbnRcIikpe1xyXG4gICAgaW50ZXJhY3Rpb25HZXRBbnN3ZXJUZXN0KCk7XHJcbn0gZWxzZSB7XHJcbiAgICBiZWF1dHlsb2cuaW5mbyhcIi0tc2lsZW50IG9wdGlvbiBpcyBzcGVjaWZpZWQsIHRodXMgd2UgYXJlIG5vdCBydW5uaW5nIGludGVyYWN0aW9uIHRlc3RzLlwiKTtcclxuICAgIGVuZFRlc3RzKCk7XHJcbn07XHJcblxyXG5cclxuXHJcbiJdfQ==
+//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sY0FBYyxDQUFDLENBQUE7QUFFdEIsSUFBSSxRQUFRLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFDM0MsSUFBSSxTQUFTLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ3JDLElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyIsImZpbGUiOiJ0ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy10ZXN0XCI7XG5cbmxldCBzbWFydGNsaSA9IHJlcXVpcmUoXCIuLi9kaXN0L2luZGV4LmpzXCIpO1xubGV0IGJlYXV0eWxvZyA9IHJlcXVpcmUoXCJiZWF1dHlsb2dcIik7XG5sZXQgc2hvdWxkID0gcmVxdWlyZShcInNob3VsZFwiKTtcblxuXG4iXX0=
diff --git a/test/test.ts b/test/test.ts
index 0d70be3..0c16521 100644
--- a/test/test.ts
+++ b/test/test.ts
@@ -4,163 +4,4 @@ let smartcli = require("../dist/index.js");
let beautylog = require("beautylog");
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();
-};
-
-
diff --git a/ts/index.ts b/ts/index.ts
index 6767796..351c05f 100644
--- a/ts/index.ts
+++ b/ts/index.ts
@@ -1,33 +1,4 @@
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";
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;
diff --git a/ts/smartcli.checks.ts b/ts/smartcli.checks.ts
index a605d3e..ac11cca 100644
--- a/ts/smartcli.checks.ts
+++ b/ts/smartcli.checks.ts
@@ -3,28 +3,6 @@ import "typings-global";
import "./smartcli.interfaces";
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
diff --git a/ts/smartcli.classes.smartcli.ts b/ts/smartcli.classes.smartcli.ts
index 0b518a1..dd38e1e 100644
--- a/ts/smartcli.classes.smartcli.ts
+++ b/ts/smartcli.classes.smartcli.ts
@@ -1,5 +1,35 @@
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 {
-
+ 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(){
+
+ }
+
}
\ No newline at end of file
diff --git a/ts/smartcli.getters.ts b/ts/smartcli.getters.ts
index 0a67e84..1f2b3b5 100644
--- a/ts/smartcli.getters.ts
+++ b/ts/smartcli.getters.ts
@@ -4,19 +4,6 @@ import * as interfaces from "./smartcli.interfaces";
import plugins = require("./smartcli.plugins");
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
diff --git a/ts/smartcli.interaction.ts b/ts/smartcli.interaction.ts
index 78f952d..8a41310 100644
--- a/ts/smartcli.interaction.ts
+++ b/ts/smartcli.interaction.ts
@@ -15,7 +15,7 @@ export let getAnswer = function(questionString:string, cb) {
return null;
}
//make inquirer compatible question object
- var question = {
+ let question = {
type: "input",
name: "userFeedback",
message: questionString,
@@ -25,7 +25,7 @@ export let getAnswer = function(questionString:string, cb) {
};
plugins.inquirer.prompt([question],function(answers){
- var answer = answers.userFeedback;
+ let answer = answers.userFeedback;
cb(answer);
});
};
@@ -43,7 +43,7 @@ export let getChoice = function(questionString:string, choiceOptions:string[], c
}
//make inquirer compatible question object
- var question = {
+ let question = {
type: "list",
name: "userFeedback",
message: questionString,
@@ -52,7 +52,7 @@ export let getChoice = function(questionString:string, choiceOptions:string[], c
};
plugins.inquirer.prompt(question,function(answers){
- var answer = answers.userFeedback;
+ let answer = answers.userFeedback;
cb(answer);
});
diff --git a/ts/smartcli.interfaces.ts b/ts/smartcli.interfaces.ts
index 9ec434a..35cda3c 100644
--- a/ts/smartcli.interfaces.ts
+++ b/ts/smartcli.interfaces.ts
@@ -1,5 +1,11 @@
import "typings-global";
+export interface CliCommand {
+ specified: boolean;
+ name: string;
+ arguments:CliCommandArgument[];
+}
+
export interface CliOption {
name: string;
specified:boolean;
@@ -10,12 +16,6 @@ export interface Directory {
path: string;
}
-export interface CliCommand {
- specified: boolean;
- name: string;
- arguments:CliCommandArgument[];
-}
-
export interface CliCommandArgument {
specified:boolean;
name:string;
diff --git a/ts/smartcli.plugins.ts b/ts/smartcli.plugins.ts
index 49aae9f..3d4ffdb 100644
--- a/ts/smartcli.plugins.ts
+++ b/ts/smartcli.plugins.ts
@@ -1,9 +1,9 @@
import "typings-global";
-export let path = require("path");
+export let argv = require('yargs').argv;
export let beautylog = require("beautylog");
export let cliff = require("cliff");
-export let commander = require("commander");
export let inquirer = require("inquirer");
-export let smartparam = require("smartparam");
-export let argv = require('yargs').argv;
\ No newline at end of file
+export let path = require("path");
+export let q = require("q");
+export let smartparam = require("smartparam");
\ No newline at end of file