smartcli/dist/smartcli.classes.smartcli.js

72 lines
7.2 KiB
JavaScript
Raw Normal View History

2016-06-09 12:03:18 +00:00
"use strict";
require("typings-global");
var plugins = require("./smartcli.plugins");
var Smartcli = (function () {
function Smartcli() {
this.argv = plugins.argv;
this.questionsDone = plugins.q.defer();
this.parseStarted = plugins.q.defer();
2016-06-09 12:03:18 +00:00
}
Smartcli.prototype.addAlias = function (keyArg, aliasArg) {
this.argv = this.argv.alias(keyArg, aliasArg);
};
;
Smartcli.prototype.addCommand = function (definitionArg) {
var _this = this;
var done = plugins.q.defer();
2016-06-10 02:13:23 +00:00
this.parseStarted.promise
.then(function () {
if (_this.argv._.indexOf(definitionArg.commandName) == 0) {
2016-06-10 02:32:11 +00:00
done.resolve(_this.argv);
}
else {
2016-06-16 00:58:45 +00:00
done.reject(_this.argv);
}
});
2016-06-22 09:55:23 +00:00
return done.promise;
};
;
2016-06-22 09:55:23 +00:00
Smartcli.prototype.getCommandPromise = function (commandNameArg) {
//TODO
};
Smartcli.prototype.addQuestion = function (definitionArg) {
};
;
2016-06-16 00:58:45 +00:00
Smartcli.prototype.addHelp = function () {
};
Smartcli.prototype.addVersion = function (versionArg) {
2016-06-10 02:13:23 +00:00
var _this = this;
this.version = versionArg;
2016-06-10 02:13:23 +00:00
this.addAlias("v", "version");
this.parseStarted.promise
.then(function () {
2016-06-10 02:13:23 +00:00
if (_this.argv.v) {
console.log(_this.version);
}
});
};
Smartcli.prototype.standardTask = function () {
var _this = this;
var done = plugins.q.defer();
2016-06-10 02:13:23 +00:00
this.parseStarted.promise
.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);
}
else {
2016-06-16 00:58:45 +00:00
done.reject(_this.argv);
}
;
});
return done.promise;
};
Smartcli.prototype.startParse = function () {
2016-06-10 02:13:23 +00:00
this.argv = this.argv.argv;
this.parseStarted.resolve();
};
return Smartcli;
2016-06-09 12:03:18 +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