diff --git a/index.d.ts b/index.d.ts
index 1a00dbb..e9a774c 100644
--- a/index.d.ts
+++ b/index.d.ts
@@ -27,7 +27,8 @@ declare module BeautylogNodeTable {
function init(): any;
}
declare module BeautylogNodeFiglet {
- var init: () => (textArg: string, optionsArg?: any) => void;
+ var figlet: (textArg: string, optionsArg?: any) => any;
+ var figletSync: (textArg: string, optionsArg?: any) => boolean;
}
declare module BeautylogBrowser {
function init(): any;
diff --git a/index.js b/index.js
index 9e67901..27880c7 100644
--- a/index.js
+++ b/index.js
@@ -76,7 +76,8 @@ var BeautylogNode;
var beautylogNode = {
log: BeautylogNodeLog.init(),
code: BeautylogNodeCode.init(),
- figlet: BeautylogNodeFiglet.init()
+ figlet: BeautylogNodeFiglet.figlet,
+ figletSync: BeautylogNodeFiglet.figletSync
};
/**
* logs an directory to console
@@ -232,13 +233,15 @@ var BeautylogNodeTable;
///
var BeautylogNodeFiglet;
(function (BeautylogNodeFiglet) {
- var figlet = function (textArg, optionsArg) {
- var defaultOptions = {
- font: "Star Wars",
- color: "green",
- cb: function () { }
- };
- var options = plugins.lodash.assign(defaultOptions, optionsArg);
+ var defaultOptions = {
+ font: "Star Wars",
+ color: "green",
+ cb: function () { }
+ };
+ BeautylogNodeFiglet.figlet = function (textArg, optionsArg) {
+ var done = plugins.q.defer();
+ var mergeOptions = plugins.lodash.cloneDeep(defaultOptions);
+ var options = plugins.lodash.assign(mergeOptions, optionsArg);
plugins.figlet(textArg, {
font: options.font,
horizontalLayout: 'default',
@@ -251,12 +254,19 @@ var BeautylogNodeFiglet;
}
console.log(data[options.color]);
options.cb();
+ done.resolve();
});
+ return done.promise;
};
- BeautylogNodeFiglet.init = function () {
- var done = plugins.q.defer();
- done.resolve();
- return figlet;
+ BeautylogNodeFiglet.figletSync = function (textArg, optionsArg) {
+ var mergeOptions = plugins.lodash.cloneDeep(defaultOptions);
+ var options = plugins.lodash.assign(mergeOptions, optionsArg);
+ console.log(plugins.figlet.textSync(textArg, {
+ font: options.font,
+ horizontalLayout: 'default',
+ verticalLayout: 'default'
+ })[options.color]);
+ return true;
};
})(BeautylogNodeFiglet || (BeautylogNodeFiglet = {}));
///
diff --git a/test/test.js b/test/test.js
index 92625e6..eda1ab3 100644
--- a/test/test.js
+++ b/test/test.js
@@ -64,8 +64,12 @@ describe("beautylog", function () {
});
describe(".figlet", function () {
it("should print nice fonts to console in yellow", function (done) {
- this.timeout(10000);
- beautylog.figlet("Awesome!", { font: "Star Wars", color: "yellow", cb: done });
+ beautylog.figlet("Async!", { font: "Star Wars", color: "yellow" }).then(done);
+ });
+ });
+ describe(".figletSync", function () {
+ it("should print nice fonts to console in yellow", function () {
+ beautylog.figletSync("Sync!", { font: "Star Wars", color: "blue" });
});
});
describe(".code", function () {
diff --git a/ts/beautylog.node.figlet.ts b/ts/beautylog.node.figlet.ts
index f54179a..b5d7528 100644
--- a/ts/beautylog.node.figlet.ts
+++ b/ts/beautylog.node.figlet.ts
@@ -1,12 +1,14 @@
///
module BeautylogNodeFiglet {
- var figlet = function(textArg:string,optionsArg?){
- var defaultOptions = {
- font:"Star Wars",
- color: "green",
- cb: function(){}
- };
- var options = plugins.lodash.assign(defaultOptions,optionsArg);
+ var defaultOptions = {
+ font:"Star Wars",
+ color: "green",
+ cb: function(){}
+ };
+ export var figlet = function(textArg:string,optionsArg?){
+ var done = plugins.q.defer();
+ var mergeOptions = plugins.lodash.cloneDeep(defaultOptions);
+ var options = plugins.lodash.assign(mergeOptions,optionsArg);
plugins.figlet(textArg,{
font: options.font,
horizontalLayout: 'default',
@@ -19,11 +21,18 @@ module BeautylogNodeFiglet {
}
console.log(data[options.color]);
options.cb();
+ done.resolve();
});
- }
- export var init = function(){
- var done = plugins.q.defer();
- done.resolve();
- return figlet;
+ return done.promise;
+ };
+ export var figletSync = function(textArg:string,optionsArg?){
+ var mergeOptions = plugins.lodash.cloneDeep(defaultOptions);
+ var options = plugins.lodash.assign(mergeOptions,optionsArg);
+ console.log(plugins.figlet.textSync(textArg,{
+ font: options.font,
+ horizontalLayout: 'default',
+ verticalLayout: 'default'
+ })[options.color]);
+ return true;
};
}
diff --git a/ts/beautylog.node.ts b/ts/beautylog.node.ts
index 975cf08..cda82b5 100644
--- a/ts/beautylog.node.ts
+++ b/ts/beautylog.node.ts
@@ -5,7 +5,8 @@ module BeautylogNode {
var beautylogNode:any = {
log:BeautylogNodeLog.init(),
code:BeautylogNodeCode.init(),
- figlet:BeautylogNodeFiglet.init()
+ figlet:BeautylogNodeFiglet.figlet,
+ figletSync:BeautylogNodeFiglet.figletSync
};
/**
diff --git a/ts/test.ts b/ts/test.ts
index 6dc2983..958ef64 100644
--- a/ts/test.ts
+++ b/ts/test.ts
@@ -64,8 +64,12 @@ describe("beautylog",function(){
});
describe(".figlet",function(){
it("should print nice fonts to console in yellow",function(done){
- this.timeout(10000);
- beautylog.figlet("Awesome!",{font:"Star Wars",color:"yellow",cb:done});
+ beautylog.figlet("Async!",{font:"Star Wars",color:"yellow"}).then(done);
+ })
+ });
+ describe(".figletSync",function(){
+ it("should print nice fonts to console in yellow",function(){
+ beautylog.figletSync("Sync!",{font:"Star Wars",color:"blue"});
})
});
describe(".code",function(){