smartcli/dist/smartcli.classes.smartcli.js
2016-06-22 11:55:23 +02:00

72 lines
7.2 KiB
JavaScript

"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();
}
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();
this.parseStarted.promise
.then(function () {
if (_this.argv._.indexOf(definitionArg.commandName) == 0) {
done.resolve(_this.argv);
}
else {
done.reject(_this.argv);
}
});
return done.promise;
};
;
Smartcli.prototype.getCommandPromise = function (commandNameArg) {
//TODO
};
Smartcli.prototype.addQuestion = function (definitionArg) {
};
;
Smartcli.prototype.addHelp = function () {
};
Smartcli.prototype.addVersion = function (versionArg) {
var _this = this;
this.version = versionArg;
this.addAlias("v", "version");
this.parseStarted.promise
.then(function () {
if (_this.argv.v) {
console.log(_this.version);
}
});
};
Smartcli.prototype.standardTask = function () {
var _this = this;
var done = plugins.q.defer();
this.parseStarted.promise
.then(function () {
if (_this.argv._.length == 0 && !_this.argv.v) {
done.resolve(_this.argv);
}
else {
done.reject(_this.argv);
}
;
});
return done.promise;
};
Smartcli.prototype.startParse = function () {
this.argv = this.argv.argv;
this.parseStarted.resolve();
};
return Smartcli;
}());
exports.Smartcli = Smartcli;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0Y2xpLmNsYXNzZXMuc21hcnRjbGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUV4QixJQUFZLE9BQU8sV0FBTSxvQkFBb0IsQ0FBQyxDQUFBO0FBRzlDO0lBT0k7UUFDSSxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBQ0QsMkJBQVEsR0FBUixVQUFTLE1BQU0sRUFBQyxRQUFRO1FBQ3BCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pELENBQUM7O0lBQ0QsNkJBQVUsR0FBVixVQUFXLGFBQWtDO1FBQTdDLGlCQVdDO1FBVkcsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU87YUFDcEIsSUFBSSxDQUFDO1lBQ0YsRUFBRSxDQUFDLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN0RCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM1QixDQUFDO1lBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDM0IsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1AsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQzs7SUFDRCxvQ0FBaUIsR0FBakIsVUFBa0IsY0FBYztRQUM1QixNQUFNO0lBQ1YsQ0FBQztJQUNELDhCQUFXLEdBQVgsVUFBWSxhQUF5RDtJQUVyRSxDQUFDOztJQUNELDBCQUFPLEdBQVA7SUFFQSxDQUFDO0lBQ0QsNkJBQVUsR0FBVixVQUFXLFVBQWlCO1FBQTVCLGlCQVNDO1FBUkcsSUFBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPO2FBQ3BCLElBQUksQ0FBQztZQUNGLEVBQUUsQ0FBQSxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQztnQkFDWixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM5QixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUE7SUFDVixDQUFDO0lBQ0QsK0JBQVksR0FBWjtRQUFBLGlCQVdDO1FBVkcsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU87YUFDcEIsSUFBSSxDQUFDO1lBQ0YsRUFBRSxDQUFBLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQztnQkFDeEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUIsQ0FBQztZQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNKLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzNCLENBQUM7WUFBQSxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7UUFDUCxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBQ0QsNkJBQVUsR0FBVjtRQUNJLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUwsZUFBQztBQUFELENBL0RBLEFBK0RDLElBQUE7QUEvRFksZ0JBQVEsV0ErRHBCLENBQUEiLCJmaWxlIjoic21hcnRjbGkuY2xhc3Nlcy5zbWFydGNsaS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XG5cbmltcG9ydCAqIGFzIHBsdWdpbnMgZnJvbSBcIi4vc21hcnRjbGkucGx1Z2luc1wiO1xuaW1wb3J0IHtRdWVzdGlvbn0gZnJvbSBcIi4vc21hcnRjbGkuY2xhc3Nlcy5pbnRlcmFjdGlvblwiO1xuXG5leHBvcnQgY2xhc3MgU21hcnRjbGkge1xuICAgIGFyZ3Y7XG4gICAgcXVlc3Rpb25zRG9uZTtcbiAgICBwYXJzZVN0YXJ0ZWQ7XG4gICAgY29tbWFuZHM7XG4gICAgcXVlc3Rpb25zO1xuICAgIHZlcnNpb246c3RyaW5nO1xuICAgIGNvbnN0cnVjdG9yKCl7XG4gICAgICAgIHRoaXMuYXJndiA9IHBsdWdpbnMuYXJndjtcbiAgICAgICAgdGhpcy5xdWVzdGlvbnNEb25lID0gcGx1Z2lucy5xLmRlZmVyKCk7XG4gICAgICAgIHRoaXMucGFyc2VTdGFydGVkID0gcGx1Z2lucy5xLmRlZmVyKCk7XG4gICAgfVxuICAgIGFkZEFsaWFzKGtleUFyZyxhbGlhc0FyZyl7XG4gICAgICAgIHRoaXMuYXJndiA9IHRoaXMuYXJndi5hbGlhcyhrZXlBcmcsYWxpYXNBcmcpO1xuICAgIH07XG4gICAgYWRkQ29tbWFuZChkZWZpbml0aW9uQXJnOntjb21tYW5kTmFtZTpzdHJpbmd9KXtcbiAgICAgICAgbGV0IGRvbmUgPSBwbHVnaW5zLnEuZGVmZXIoKTtcbiAgICAgICAgdGhpcy5wYXJzZVN0YXJ0ZWQucHJvbWlzZVxuICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmFyZ3YuXy5pbmRleE9mKGRlZmluaXRpb25BcmcuY29tbWFuZE5hbWUpID09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgZG9uZS5yZXNvbHZlKHRoaXMuYXJndik7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgZG9uZS5yZWplY3QodGhpcy5hcmd2KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGRvbmUucHJvbWlzZTtcbiAgICB9O1xuICAgIGdldENvbW1hbmRQcm9taXNlKGNvbW1hbmROYW1lQXJnKXtcbiAgICAgICAgLy9UT0RPXG4gICAgfVxuICAgIGFkZFF1ZXN0aW9uKGRlZmluaXRpb25Bcmc6e3F1ZXN0aW9uU3RyaW5nOnN0cmluZyxxdWVzdGlvblR5cGU6c3RyaW5nfSl7XG4gICAgICAgIFxuICAgIH07XG4gICAgYWRkSGVscCgpe1xuXG4gICAgfVxuICAgIGFkZFZlcnNpb24odmVyc2lvbkFyZzpzdHJpbmcpe1xuICAgICAgICB0aGlzLnZlcnNpb24gPSB2ZXJzaW9uQXJnO1xuICAgICAgICB0aGlzLmFkZEFsaWFzKFwidlwiLFwidmVyc2lvblwiKTtcbiAgICAgICAgdGhpcy5wYXJzZVN0YXJ0ZWQucHJvbWlzZVxuICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuYXJndi52KXtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2codGhpcy52ZXJzaW9uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgIH1cbiAgICBzdGFuZGFyZFRhc2soKXtcbiAgICAgICAgbGV0IGRvbmUgPSBwbHVnaW5zLnEuZGVmZXIoKTtcbiAgICAgICAgdGhpcy5wYXJzZVN0YXJ0ZWQucHJvbWlzZVxuICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuYXJndi5fLmxlbmd0aCA9PSAwICYmICF0aGlzLmFyZ3Yudil7XG4gICAgICAgICAgICAgICAgICAgIGRvbmUucmVzb2x2ZSh0aGlzLmFyZ3YpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGRvbmUucmVqZWN0KHRoaXMuYXJndik7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gZG9uZS5wcm9taXNlO1xuICAgIH1cbiAgICBzdGFydFBhcnNlKCl7XG4gICAgICAgIHRoaXMuYXJndiA9IHRoaXMuYXJndi5hcmd2O1xuICAgICAgICB0aGlzLnBhcnNlU3RhcnRlZC5yZXNvbHZlKCk7XG4gICAgfVxuXG59Il19