From cdbc6a4e7f5690019bedbc48e8ce8d972e2129dd Mon Sep 17 00:00:00 2001 From: PhilKunz Date: Thu, 11 Feb 2016 18:59:02 +0100 Subject: [PATCH] now has sync and async functions for figlet --- index.d.ts | 3 ++- index.js | 34 ++++++++++++++++++++++------------ test/test.js | 8 ++++++-- ts/beautylog.node.figlet.ts | 33 +++++++++++++++++++++------------ ts/beautylog.node.ts | 3 ++- ts/test.ts | 8 ++++++-- 6 files changed, 59 insertions(+), 30 deletions(-) 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(){