first version with basic funtionality
This commit is contained in:
parent
e1c2de8a40
commit
834a6c2953
16
dist/smartcli.classes.smartcli.js
vendored
16
dist/smartcli.classes.smartcli.js
vendored
File diff suppressed because one or more lines are too long
34
test/test.js
34
test/test.js
@ -1,7 +1,37 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
require("typings-test");
|
require("typings-test");
|
||||||
var smartcli = require("../dist/index.js");
|
var smartcli = require("../dist/index");
|
||||||
var beautylog = require("beautylog");
|
var beautylog = require("beautylog");
|
||||||
var should = require("should");
|
var should = require("should");
|
||||||
|
describe("smartcli.Smartcli class", function () {
|
||||||
|
var smartCliTestObject;
|
||||||
|
describe("new Smartcli()", function () {
|
||||||
|
it("should create a new Smartcli", function () {
|
||||||
|
smartCliTestObject = new smartcli.Smartcli();
|
||||||
|
smartCliTestObject.should.be.instanceof(smartcli.Smartcli);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
describe(".addCommand", function () {
|
||||||
|
it("should add an command", function () {
|
||||||
|
smartCliTestObject.addCommand({
|
||||||
|
commandName: "awesome"
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
describe(".standardTask", function () {
|
||||||
|
it("should start parsing a standardTask", function (done) {
|
||||||
|
smartCliTestObject.standardTask()
|
||||||
|
.then(function () {
|
||||||
|
console.log("this is the standard Task!");
|
||||||
|
});
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
describe(".startParse", function () {
|
||||||
|
it("should start parsing the CLI input", function () {
|
||||||
|
smartCliTestObject.startParse();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sY0FBYyxDQUFDLENBQUE7QUFFdEIsSUFBSSxRQUFRLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFDM0MsSUFBSSxTQUFTLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ3JDLElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyIsImZpbGUiOiJ0ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy10ZXN0XCI7XG5cbmxldCBzbWFydGNsaSA9IHJlcXVpcmUoXCIuLi9kaXN0L2luZGV4LmpzXCIpO1xubGV0IGJlYXV0eWxvZyA9IHJlcXVpcmUoXCJiZWF1dHlsb2dcIik7XG5sZXQgc2hvdWxkID0gcmVxdWlyZShcInNob3VsZFwiKTtcblxuXG4iXX0=
|
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sY0FBYyxDQUFDLENBQUE7QUFFdEIsSUFBTyxRQUFRLFdBQVcsZUFBZSxDQUFDLENBQUM7QUFDM0MsSUFBSSxTQUFTLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ3JDLElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUUvQixRQUFRLENBQUMseUJBQXlCLEVBQUM7SUFDL0IsSUFBSSxrQkFBb0MsQ0FBQztJQUN6QyxRQUFRLENBQUMsZ0JBQWdCLEVBQUM7UUFDdEIsRUFBRSxDQUFDLDhCQUE4QixFQUFDO1lBQzlCLGtCQUFrQixHQUFHLElBQUksUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzdDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvRCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ0gsUUFBUSxDQUFDLGFBQWEsRUFBQztRQUNuQixFQUFFLENBQUMsdUJBQXVCLEVBQUM7WUFDdkIsa0JBQWtCLENBQUMsVUFBVSxDQUFDO2dCQUMxQixXQUFXLEVBQUMsU0FBUzthQUN4QixDQUFDLENBQUM7UUFFUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ0gsUUFBUSxDQUFDLGVBQWUsRUFBQztRQUNyQixFQUFFLENBQUMscUNBQXFDLEVBQUMsVUFBUyxJQUFJO1lBQ2xELGtCQUFrQixDQUFDLFlBQVksRUFBRTtpQkFDNUIsSUFBSSxDQUFDO2dCQUNGLE9BQU8sQ0FBQyxHQUFHLENBQUMsNEJBQTRCLENBQUMsQ0FBQztZQUM5QyxDQUFDLENBQUMsQ0FBQztZQUNQLElBQUksRUFBRSxDQUFDO1FBQ1gsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDLENBQUMsQ0FBQTtJQUNGLFFBQVEsQ0FBQyxhQUFhLEVBQUM7UUFDbkIsRUFBRSxDQUFDLG9DQUFvQyxFQUFDO1lBQ3BDLGtCQUFrQixDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDLENBQUMsQ0FBQyIsImZpbGUiOiJ0ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy10ZXN0XCI7XG5cbmltcG9ydCBzbWFydGNsaSA9IHJlcXVpcmUoXCIuLi9kaXN0L2luZGV4XCIpO1xubGV0IGJlYXV0eWxvZyA9IHJlcXVpcmUoXCJiZWF1dHlsb2dcIik7XG5sZXQgc2hvdWxkID0gcmVxdWlyZShcInNob3VsZFwiKTtcblxuZGVzY3JpYmUoXCJzbWFydGNsaS5TbWFydGNsaSBjbGFzc1wiLGZ1bmN0aW9uKCl7XG4gICAgbGV0IHNtYXJ0Q2xpVGVzdE9iamVjdDpzbWFydGNsaS5TbWFydGNsaTtcbiAgICBkZXNjcmliZShcIm5ldyBTbWFydGNsaSgpXCIsZnVuY3Rpb24oKXtcbiAgICAgICAgaXQoXCJzaG91bGQgY3JlYXRlIGEgbmV3IFNtYXJ0Y2xpXCIsZnVuY3Rpb24oKXtcbiAgICAgICAgICAgIHNtYXJ0Q2xpVGVzdE9iamVjdCA9IG5ldyBzbWFydGNsaS5TbWFydGNsaSgpO1xuICAgICAgICAgICAgc21hcnRDbGlUZXN0T2JqZWN0LnNob3VsZC5iZS5pbnN0YW5jZW9mKHNtYXJ0Y2xpLlNtYXJ0Y2xpKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgZGVzY3JpYmUoXCIuYWRkQ29tbWFuZFwiLGZ1bmN0aW9uKCl7XG4gICAgICAgIGl0KFwic2hvdWxkIGFkZCBhbiBjb21tYW5kXCIsZnVuY3Rpb24oKXtcbiAgICAgICAgICAgIHNtYXJ0Q2xpVGVzdE9iamVjdC5hZGRDb21tYW5kKHtcbiAgICAgICAgICAgICAgICBjb21tYW5kTmFtZTpcImF3ZXNvbWVcIlxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgZGVzY3JpYmUoXCIuc3RhbmRhcmRUYXNrXCIsZnVuY3Rpb24oKXtcbiAgICAgICAgaXQoXCJzaG91bGQgc3RhcnQgcGFyc2luZyBhIHN0YW5kYXJkVGFza1wiLGZ1bmN0aW9uKGRvbmUpe1xuICAgICAgICAgICAgc21hcnRDbGlUZXN0T2JqZWN0LnN0YW5kYXJkVGFzaygpXG4gICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcInRoaXMgaXMgdGhlIHN0YW5kYXJkIFRhc2shXCIpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgZG9uZSgpO1xuICAgICAgICB9KVxuICAgIH0pXG4gICAgZGVzY3JpYmUoXCIuc3RhcnRQYXJzZVwiLGZ1bmN0aW9uKCl7XG4gICAgICAgIGl0KFwic2hvdWxkIHN0YXJ0IHBhcnNpbmcgdGhlIENMSSBpbnB1dFwiLGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICBzbWFydENsaVRlc3RPYmplY3Quc3RhcnRQYXJzZSgpO1xuICAgICAgICB9KVxuICAgIH0pXG59KTtcbiJdfQ==
|
||||||
|
32
test/test.ts
32
test/test.ts
@ -1,7 +1,37 @@
|
|||||||
import "typings-test";
|
import "typings-test";
|
||||||
|
|
||||||
let smartcli = require("../dist/index.js");
|
import smartcli = require("../dist/index");
|
||||||
let beautylog = require("beautylog");
|
let beautylog = require("beautylog");
|
||||||
let should = require("should");
|
let should = require("should");
|
||||||
|
|
||||||
|
describe("smartcli.Smartcli class",function(){
|
||||||
|
let smartCliTestObject:smartcli.Smartcli;
|
||||||
|
describe("new Smartcli()",function(){
|
||||||
|
it("should create a new Smartcli",function(){
|
||||||
|
smartCliTestObject = new smartcli.Smartcli();
|
||||||
|
smartCliTestObject.should.be.instanceof(smartcli.Smartcli);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
describe(".addCommand",function(){
|
||||||
|
it("should add an command",function(){
|
||||||
|
smartCliTestObject.addCommand({
|
||||||
|
commandName:"awesome"
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
});
|
||||||
|
describe(".standardTask",function(){
|
||||||
|
it("should start parsing a standardTask",function(done){
|
||||||
|
smartCliTestObject.standardTask()
|
||||||
|
.then(() => {
|
||||||
|
console.log("this is the standard Task!");
|
||||||
|
});
|
||||||
|
done();
|
||||||
|
})
|
||||||
|
})
|
||||||
|
describe(".startParse",function(){
|
||||||
|
it("should start parsing the CLI input",function(){
|
||||||
|
smartCliTestObject.startParse();
|
||||||
|
})
|
||||||
|
})
|
||||||
|
});
|
||||||
|
@ -20,7 +20,7 @@ export class Smartcli {
|
|||||||
};
|
};
|
||||||
addCommand(definitionArg:{commandName:string}){
|
addCommand(definitionArg:{commandName:string}){
|
||||||
let done = plugins.q.defer();
|
let done = plugins.q.defer();
|
||||||
this.parseStarted
|
this.parseStarted.promise
|
||||||
.then(() => {
|
.then(() => {
|
||||||
if (this.argv._.indexOf(definitionArg.commandName) == 0) {
|
if (this.argv._.indexOf(definitionArg.commandName) == 0) {
|
||||||
done.resolve();
|
done.resolve();
|
||||||
@ -35,16 +35,19 @@ export class Smartcli {
|
|||||||
};
|
};
|
||||||
addVersion(versionArg:string){
|
addVersion(versionArg:string){
|
||||||
this.version = versionArg;
|
this.version = versionArg;
|
||||||
this.parseStarted
|
this.addAlias("v","version");
|
||||||
|
this.parseStarted.promise
|
||||||
.then(() => {
|
.then(() => {
|
||||||
|
if(this.argv.v){
|
||||||
|
console.log(this.version);
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
standardTask(){
|
standardTask(){
|
||||||
let done = plugins.q.defer();
|
let done = plugins.q.defer();
|
||||||
this.parseStarted
|
this.parseStarted.promise
|
||||||
.then(() => {
|
.then(() => {
|
||||||
if(plugins.argv._.length == 0 || this.commands.length == 0){
|
if(this.argv._.length == 0 || !this.argv.v){
|
||||||
done.resolve();
|
done.resolve();
|
||||||
} else {
|
} else {
|
||||||
done.reject();
|
done.reject();
|
||||||
@ -53,6 +56,7 @@ export class Smartcli {
|
|||||||
return done.promise;
|
return done.promise;
|
||||||
}
|
}
|
||||||
startParse(){
|
startParse(){
|
||||||
|
this.argv = this.argv.argv;
|
||||||
this.parseStarted.resolve();
|
this.parseStarted.resolve();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user