2016-06-09 12:03:18 +00:00
|
|
|
"use strict";
|
2016-06-10 01:10:21 +00:00
|
|
|
require("typings-global");
|
|
|
|
var plugins = require("./smartcli.plugins");
|
|
|
|
var Smartcli = (function () {
|
|
|
|
function Smartcli() {
|
2016-06-10 01:48:01 +00:00
|
|
|
this.argv = plugins.argv;
|
2016-06-10 01:10:21 +00:00
|
|
|
this.questionsDone = plugins.q.defer();
|
2016-06-10 01:48:01 +00:00
|
|
|
this.parseStarted = plugins.q.defer();
|
2016-06-09 12:03:18 +00:00
|
|
|
}
|
2016-06-10 01:48:01 +00:00
|
|
|
Smartcli.prototype.addAlias = function (keyArg, aliasArg) {
|
|
|
|
this.argv = this.argv.alias(keyArg, aliasArg);
|
|
|
|
};
|
|
|
|
;
|
2016-06-10 01:10:21 +00:00
|
|
|
Smartcli.prototype.addCommand = function (definitionArg) {
|
2016-06-10 01:48:01 +00:00
|
|
|
var _this = this;
|
2016-06-10 01:10:21 +00:00
|
|
|
var done = plugins.q.defer();
|
2016-06-10 02:13:23 +00:00
|
|
|
this.parseStarted.promise
|
2016-06-10 01:48:01 +00:00
|
|
|
.then(function () {
|
|
|
|
if (_this.argv._.indexOf(definitionArg.commandName) == 0) {
|
2016-06-10 02:32:11 +00:00
|
|
|
done.resolve(_this.argv);
|
2016-06-10 01:48:01 +00:00
|
|
|
}
|
|
|
|
else {
|
2016-06-16 00:58:45 +00:00
|
|
|
done.reject(_this.argv);
|
2016-06-10 01:48:01 +00:00
|
|
|
}
|
|
|
|
});
|
2016-06-22 09:55:23 +00:00
|
|
|
return done.promise;
|
2016-06-10 01:10:21 +00:00
|
|
|
};
|
|
|
|
;
|
2016-06-22 09:55:23 +00:00
|
|
|
Smartcli.prototype.getCommandPromise = function (commandNameArg) {
|
|
|
|
//TODO
|
|
|
|
};
|
2016-06-10 01:10:21 +00:00
|
|
|
Smartcli.prototype.addQuestion = function (definitionArg) {
|
|
|
|
};
|
|
|
|
;
|
2016-06-16 00:58:45 +00:00
|
|
|
Smartcli.prototype.addHelp = function () {
|
|
|
|
};
|
2016-06-10 01:10:21 +00:00
|
|
|
Smartcli.prototype.addVersion = function (versionArg) {
|
2016-06-10 02:13:23 +00:00
|
|
|
var _this = this;
|
2016-06-10 01:48:01 +00:00
|
|
|
this.version = versionArg;
|
2016-06-10 02:13:23 +00:00
|
|
|
this.addAlias("v", "version");
|
|
|
|
this.parseStarted.promise
|
2016-06-10 01:48:01 +00:00
|
|
|
.then(function () {
|
2016-06-10 02:13:23 +00:00
|
|
|
if (_this.argv.v) {
|
|
|
|
console.log(_this.version);
|
|
|
|
}
|
2016-06-10 01:48:01 +00:00
|
|
|
});
|
|
|
|
};
|
|
|
|
Smartcli.prototype.standardTask = function () {
|
|
|
|
var _this = this;
|
|
|
|
var done = plugins.q.defer();
|
2016-06-10 02:13:23 +00:00
|
|
|
this.parseStarted.promise
|
2016-06-10 01:48:01 +00:00
|
|
|
.then(function () {
|
2016-06-10 02:32:11 +00:00
|
|
|
if (_this.argv._.length == 0 && !_this.argv.v) {
|
2016-06-16 00:58:45 +00:00
|
|
|
done.resolve(_this.argv);
|
2016-06-10 01:48:01 +00:00
|
|
|
}
|
|
|
|
else {
|
2016-06-16 00:58:45 +00:00
|
|
|
done.reject(_this.argv);
|
2016-06-10 01:48:01 +00:00
|
|
|
}
|
|
|
|
;
|
|
|
|
});
|
|
|
|
return done.promise;
|
2016-06-10 01:10:21 +00:00
|
|
|
};
|
|
|
|
Smartcli.prototype.startParse = function () {
|
2016-06-10 02:13:23 +00:00
|
|
|
this.argv = this.argv.argv;
|
2016-06-10 01:48:01 +00:00
|
|
|
this.parseStarted.resolve();
|
2016-06-10 01:10:21 +00:00
|
|
|
};
|
|
|
|
return Smartcli;
|
2016-06-09 12:03:18 +00:00
|
|
|
}());
|
2016-06-10 01:10:21 +00:00
|
|
|
exports.Smartcli = Smartcli;
|
2016-06-09 12:03:18 +00:00
|
|
|
|
2016-06-22 09:55:23 +00:00
|
|
|
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0Y2xpLmNsYXNzZXMuc21hcnRjbGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUV4QixJQUFZLE9BQU8sV0FBTSxvQkFBb0IsQ0FBQyxDQUFBO0FBRzlDO0lBT0k7UUFDSSxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBQ0QsMkJBQVEsR0FBUixVQUFTLE1BQU0sRUFBQyxRQUFRO1FBQ3BCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pELENBQUM7O0lBQ0QsNkJBQVUsR0FBVixVQUFXLGFBQWtDO1FBQTdDLGlCQVdDO1FBVkcsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU87YUFDcEIsSUFBSSxDQUFDO1lBQ0YsRUFBRSxDQUFDLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN0RCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM1QixDQUFDO1lBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDM0IsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1AsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQzs7SUFDRCxvQ0FBaUIsR0FBakIsVUFBa0IsY0FBYztRQUM1QixNQUFNO0lBQ1YsQ0FBQztJQUNELDhCQUFXLEdBQVgsVUFBWSxhQUF5RDtJQUVyRSxDQUFDOztJQUNELDBCQUFPLEdBQVA7SUFFQSxDQUFDO0lBQ0QsNkJBQVUsR0FBVixVQUFXLFVBQWlCO1FBQTVCLGlCQVNDO1FBUkcsSUFBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPO2FBQ3BCLElBQUksQ0FBQztZQUNGLEVBQUUsQ0FBQSxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQztnQkFDWixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM5QixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUE7SUFDVixDQUFDO0lBQ0QsK0JBQVksR0FBWjtRQUFBLGlCQVdDO1FBVkcsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU87YUFDcEIsSUFBSSxDQUFDO1lBQ0YsRUFBRSxDQUFBLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQztnQkFDeEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUIsQ0FBQztZQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNKLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzNCLENBQUM7WUFBQSxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7UUFDUCxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBQ0QsNkJBQVUsR0FBVjtRQUNJLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUwsZUFBQztBQUFELENBL0RBLEFBK0RDLElBQUE7QUEvRFksZ0JBQVEsV0ErRHBCLENBQUEiLCJmaWxlIjoic21hcnRjbGkuY2xhc3Nlcy5zbWFydGNsaS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XG5cbmltcG9ydCAqIGFzIHBsdWdpbnMgZnJvbSBcIi4vc21hcnRjbGkucGx1Z2luc1wiO1xuaW1wb3J0IHtRdWVzdGlvbn0gZnJvbSBcIi4vc21hcnRjbGkuY2xhc3Nlcy5pbnRlcmFjdGlvblwiO1xuXG5leHBvcnQgY2xhc3MgU21hcnRjbGkge1xuICAgIGFyZ3Y7XG4gICAgcXVlc3Rpb25zRG9uZTtcbiAgICBwYXJzZVN0YXJ0ZWQ7XG4gICAgY29tbWFuZHM7XG4gICAgcXVlc3Rpb25zO1xuICAgIHZlcnNpb246c3RyaW5nO1xuICAgIGNvbnN0cnVjdG9yKCl7XG4gICAgICAgIHRoaXMuYXJndiA9IHBsdWdpbnMuYXJndjtcbiAgICAgICAgdGhpcy5xdWVzdGlvbnNEb25lID0gcGx1Z2lucy5xLmRlZmVyKCk7XG4gICAgICAgIHRoaXMucGFyc2VTdGFydGVkID0gcGx1Z2lucy5xLmRlZmVyKCk7XG4gICAgfVxuICAgIGFkZEFsaWFzKGtleUFyZyxhbGlhc0FyZyl7XG4gICAgICAgIHRoaXMuYXJndiA9IHRoaXMuYXJndi5hbGlhcyhrZXlBcmcsYWxpYXNBcmcpO1xuICAgIH07XG4gICAgYWRkQ29tbWFuZChkZWZpbml0aW9uQXJnOntjb21tYW5kTmFtZTpzdHJpbmd9KXtcbiAgICAgICAgbGV0IGRvbmUgPSBwbHVnaW5zLnEuZGVmZXIoKTtcbiAgICAgICAgdGhpcy5wYXJzZVN0YXJ0ZWQucHJvbWlzZVxuICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmFyZ3YuXy5pbmRleE9mKGRlZmluaXRpb25BcmcuY29tbWFuZE5hbWUpID09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgZG9uZS5yZXNvbHZlKHRoaXMuYXJndik7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgZG9uZS5yZWplY3QodGhpcy5hcmd2KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGRvbmUucHJvbWlzZTtcbiAgICB9O1xuICAgIGdldENvbW1hbmRQcm9t
|