tty-table
Advanced tools
Comparing version 1.0.6 to 1.0.7
/** | ||
tty-table: Command line table generator. | ||
Version: 1.0.5 | ||
Built: 2015-07-08 16:44:58 | ||
Version: 1.0.7 | ||
Built: 2015-12-16 02:47:45 | ||
Author: Tecfu | ||
*/ | ||
!function(b,c){c["true"]=b,require=function d(a,b,c){function e(g,h){if(!b[g]){if(!a[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=b[g]={exports:{}};a[g][0].call(k.exports,function(b){var c=a[g][1][b];return e(c?c:b)},k,k.exports,d,a,b,c)}return b[g].exports}for(var f="function"==typeof require&&require,g=0;g<c.length;g++)e(c[g]);return e}({1:[function(a,b,c){function d(){if(!h){h=!0;for(var a,b=g.length;b;){a=g,g=[];for(var c=-1;++c<b;)a[c]();b=g.length}h=!1}}function e(){}var f=b.exports={},g=[],h=!1;f.nextTick=function(a){g.push(a),h||setTimeout(d,0)},f.title="browser",f.browser=!0,f.env={},f.argv=[],f.version="",f.versions={},f.on=e,f.addListener=e,f.once=e,f.off=e,f.removeListener=e,f.removeAllListeners=e,f.emit=e,f.binding=function(a){throw new Error("process.binding is not supported")},f.cwd=function(){return"/"},f.chdir=function(a){throw new Error("process.chdir is not supported")},f.umask=function(){return 0}},{}],2:[function(a,b,c){(function(c){"use strict";function d(a){this.enabled=a&&void 0!==a.enabled?a.enabled:l}function e(a){var b=function c(){return f.apply(c,arguments)};return b._styles=a,b.enabled=this.enabled,b.__proto__=p,b}function f(){var a=arguments,b=a.length,c=0!==b&&String(arguments[0]);if(b>1)for(var d=1;b>d;d++)c+=" "+a[d];if(!this.enabled||!c)return c;var e=this._styles,f=e.length,g=i.dim.open;for(!n||-1===e.indexOf("gray")&&-1===e.indexOf("grey")||(i.dim.open="");f--;){var h=i[e[f]];c=h.open+c.replace(h.closeRe,h.open)+h.close}return i.dim.open=g,c}function g(){var a={};return Object.keys(o).forEach(function(b){a[b]={get:function(){return e.call(this,[b])}}}),a}var h=a("escape-string-regexp"),i=a("ansi-styles"),j=a("strip-ansi"),k=a("has-ansi"),l=a("supports-color"),m=Object.defineProperties,n="win32"===c.platform&&!/^xterm/i.test(c.env.TERM);n&&(i.blue.open="[94m");var o=function(){var a={};return Object.keys(i).forEach(function(b){i[b].closeRe=new RegExp(h(i[b].close),"g"),a[b]={get:function(){return e.call(this,this._styles.concat(b))}}}),a}(),p=m(function(){},o);m(d.prototype,g()),b.exports=new d,b.exports.styles=i,b.exports.hasColor=k,b.exports.stripColor=j,b.exports.supportsColor=l}).call(this,a("_process"))},{_process:1,"ansi-styles":3,"escape-string-regexp":4,"has-ansi":5,"strip-ansi":9,"supports-color":7}],3:[function(a,b,c){"use strict";function d(){var a={modifiers:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},colors:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39]},bgColors:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49]}};return a.colors.grey=a.colors.gray,Object.keys(a).forEach(function(b){var c=a[b];Object.keys(c).forEach(function(b){var d=c[b];a[b]=c[b]={open:"["+d[0]+"m",close:"["+d[1]+"m"}}),Object.defineProperty(a,b,{value:c,enumerable:!1})}),a}Object.defineProperty(b,"exports",{enumerable:!0,get:d})},{}],4:[function(a,b,c){"use strict";var d=/[|\\{}()[\]^$+*?.]/g;b.exports=function(a){if("string"!=typeof a)throw new TypeError("Expected a string");return a.replace(d,"\\$&")}},{}],5:[function(a,b,c){"use strict";var d=a("ansi-regex"),e=new RegExp(d().source);b.exports=e.test.bind(e)},{"ansi-regex":6}],6:[function(a,b,c){"use strict";b.exports=function(){return/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g}},{}],7:[function(a,b,c){(function(a){"use strict";var c=a.argv,d=c.indexOf("--"),e=function(a){a="--"+a;var b=c.indexOf(a);return-1!==b&&(-1!==d?d>b:!0)};b.exports=function(){return"FORCE_COLOR"in a.env?!0:e("no-color")||e("no-colors")||e("color=false")?!1:e("color")||e("colors")||e("color=true")||e("color=always")?!0:a.stdout&&!a.stdout.isTTY?!1:"win32"===a.platform?!0:"COLORTERM"in a.env?!0:"dumb"===a.env.TERM?!1:/^screen|^xterm|^vt100|color|ansi|cygwin|linux/i.test(a.env.TERM)?!0:!1}()}).call(this,a("_process"))},{_process:1}],8:[function(a,b,c){!function(a){function c(a,b){if("object"!==e(a))return b;for(var d in b)"object"===e(a[d])&&"object"===e(b[d])?a[d]=c(a[d],b[d]):a[d]=b[d];return a}function d(a,b,d){var g=d[0],h=d.length;(a||"object"!==e(g))&&(g={});for(var i=0;h>i;++i){var j=d[i],k=e(j);if("object"===k)for(var l in j){var m=a?f.clone(j[l]):j[l];b?g[l]=c(g[l],m):g[l]=m}}return g}function e(a){return{}.toString.call(a).slice(8,-1).toLowerCase()}var f=function(a){return d(a===!0,!1,arguments)},g="merge";f.recursive=function(a){return d(a===!0,!0,arguments)},f.clone=function(a){var b,c,d=a,g=e(a);if("array"===g)for(d=[],c=a.length,b=0;c>b;++b)d[b]=f.clone(a[b]);else if("object"===g){d={};for(b in a)d[b]=f.clone(a[b])}return d},a?b.exports=f:window[g]=f}("object"==typeof b&&b&&"object"==typeof b.exports&&b.exports)},{}],9:[function(a,b,c){"use strict";var d=a("ansi-regex")();b.exports=function(a){return"string"==typeof a?a.replace(d,""):a}},{"ansi-regex":10}],10:[function(a,b,c){arguments[4][6][0].apply(c,arguments)},{dup:6}],11:[function(a,b,c){var d=a("strip-ansi"),e=b.exports=function(a,b,c){"object"==typeof a&&(c=a,a=c.start,b=c.stop),"object"==typeof b&&(c=b,a=a||c.start,b=void 0),b||(b=a,a=0),c||(c={});var e=c.mode||"soft",f="hard"===e?/\b/:/(\S+\s+)/;return function(c){var g=c.toString().split(f).reduce(function(c,f){if("hard"===e)for(var g=0;g<d(f).length;g+=b-a)c.push(f.slice(g,g+b-a));else c.push(f);return c},[]);return g.reduce(function(c,e){if(""===e)return c;var f=e.replace(/\t/g," "),g=c.length-1;if(d(c[g]).length+d(f).length>b)c[g]=c[g].replace(/\s+$/,""),f.split(/\n/).forEach(function(b){c.push(new Array(a+1).join(" ")+b.replace(/^\s+/,""))});else if(f.match(/\n/)){var h=f.split(/\n/);c[g]+=h.shift(),h.forEach(function(b){c.push(new Array(a+1).join(" ")+b.replace(/^\s+/,""))})}else c[g]+=f;return c},[new Array(a+1).join(" ")]).join("\n")}};e.soft=e,e.hard=function(a,b){return e(a,b,{mode:"hard"})}},{"strip-ansi":9}],"tty-table":[function(b,c,d){(function(d){var e=b("merge"),f=b("chalk"),g=b("strip-ansi"),h=b("wordwrap"),j=function(){var b=this._public={},c=this._private={};c.defaults={defaultValue:function(){return"undefined"!=typeof f?f.red("#ERR"):"#ERR"}(),marginTop:1,marginLeft:2,maxWidth:20,formatter:null,headerAlign:"center",align:"center",paddingRight:0,paddingLeft:0,paddingBottom:0,paddingTop:0,color:!1,headerColor:!1,borderStyle:1,borderCharacters:[[{v:" ",l:" ",j:" ",h:" ",r:" "},{v:" ",l:" ",j:" ",h:" ",r:" "},{v:" ",l:" ",j:" ",h:" ",r:" "}],[{v:"│",l:"┌",j:"┬",h:"─",r:"┐"},{v:"│",l:"├",j:"┼",h:"─",r:"┤"},{v:"│",l:"└",j:"┴",h:"─",r:"┘"}],[{v:"|",l:"+",j:"+",h:"-",r:"+"},{v:"|",l:"+",j:"+",h:"-",r:"+"},{v:"|",l:"+",j:"+",h:"-",r:"+"}]]},c.GUTTER=1,c.table={columns:[],columnWidths:[],columnInnerWidths:[],header:[],body:[]},c.buildRow=function(a,d){d=d||{};var e=0;if("object"!=typeof a||a instanceof Array){var f=c.table.columnWidths.length-a.length;f>0?a=a.concat(Array.apply(null,new Array(f)).map(function(){return null})):0>f&&(a=a.length(c.table.columnWidths.length))}else a=c.table.columns.map(function(b){return a[b.value]||null});var g=a.map(function(a,b){var f=c.buildCell(a,b,d),g=f.cellArr;return d.header&&c.table.columnInnerWidths.push(f.width),e=e<g.length?g.length:e,g});e=d.header?e:e+(b.options.paddingBottom+b.options.paddingTop);var h=Array.apply(null,{length:e}).map(Function.call,function(){return[]});return g.forEach(function(a,f){var g=Array(c.table.columnWidths[f]).join(" ");if(!d.header){for(i=0;i<b.options.paddingTop;i++)a.unshift(g);for(i=0;i<b.options.paddingBottom;i++)a.push(g)}for(var j=0;e>j;j++)h[j].push("undefined"!=typeof a[j]?a[j]:g)}),h},c.buildCell=function(a,d,f){var g;f=f||{},f&&f.header?(a=e(!0,b.options,a),c.table.columns.push(a),g=a.alias||a.value,columnOptions=a):(columnOptions=c.table.columns[d],"object"==typeof a&&null!==a?(columnOptions=e(!0,columnOptions,a),g=a.value):g=a,g="undefined"==typeof g||null===g?b.options.defaultValue:g,"function"==typeof columnOptions.formatter&&(g=columnOptions.formatter(g)));var h=c.wrapCellContent(g,d,columnOptions,f&&f.header?"header":"body");return g=h.output,{cellArr:g.split("\n"),width:h.width}},c.colorizeAllWords=function(a,b){var c=b.replace(/(\S+)/gi,function(b){return f[a](b)+" "});return c},c.colorizeLine=function(a,b){return f[a](b)},c.wrapCellContent=function(a,d,e,f){var i=a.toString(),j=c.table.columnWidths[d],k=j-e.paddingLeft-e.paddingRight-c.GUTTER;wrap=h(k),i=wrap(i);var l=i.split("\n");return l=l.map(function(a){switch(!0){case"header"===f:a=e.color||b.options.color?c.colorizeLine(e.headerColor||b.options.color,a):a;break;case"string"==typeof e.color:a=c.colorizeLine(e.color,a);break;case"string"==typeof b.options.color:a=c.colorizeLine(b.options.color,a)}a=Array(e.paddingLeft+1).join(" ")+a+Array(e.paddingRight+1).join(" ");var d=g(a).length,h="header"===f?"headerAlign":"align";if(j>d){var i=j-d;switch(!0){case"center"===e[h]:var k=i%2===0;i=k?i:i-1,i>1&&(a=Array(i/2).join(" ")+a+Array(i/2+(k?1:2)).join(" "));break;case"right"===e[h]:a=Array(i).join(" ")+a;break;default:a+=Array(i).join(" ")}}return a}),i=l.join("\n"),{output:i,width:k}},c.getColumnWidths=function(a){var c=a.map(function(a){return"object"==typeof a&&"undefined"!=typeof a.width?a.width:b.options.maxWidth}),e=c.reduce(function(a,b){return a+b});if(e+=b.options.marginLeft,d&&d.stdout&&e>d.stdout.columns){var f=d.stdout.columns>e;f=f.toFixed(2)-.01,c=c.map(function(a){return Math.floor(f*a)})}return c},b.options={},c.setup=function(a,d,f){return b.options=e(!0,c.defaults,f),b.options.align=b.options.alignment||b.options.align,b.options.headerAlign=b.options.headerAlignment||b.options.headerAlign,c.table.columnWidths=c.getColumnWidths(a),a=[a],c.table.header=a.map(function(a){return c.buildRow(a,{header:!0})}),c.table.body=d.map(function(a){return c.buildRow(a)}),b},b.render=function(){var d="",e=["header","body"],f=Array(b.options.marginLeft+1).join(" "),g=b.options.borderCharacters[b.options.borderStyle],h=[];for(a=0;a<3;a++)h.push(""),c.table.columnWidths.forEach(function(b,c,d){h[a]+=Array(b).join(g[a].h)+(c+1!==d.length?g[a].j:g[a].r)}),h[a]=g[a].l+h[a],h[a]=h[a].split(""),h[a][h[a].length1]=g[a].r,h[a]=h[a].join(""),h[a]=f+h[a]+"\n";return d+=h[0],e.forEach(function(a,b){for(;c.table[a].length;)row=c.table[a].shift(),row.forEach(function(a){d=d+f+g[1].v+a.join(g[1].v)+g[1].v+"\n"}),(1!=b||0!==c.table[a].length)&&(d+=h[1])}),d+=h[2],Array(b.options.marginTop+1).join("\n")+d}};c.exports=function(a,b,c){var d=new j;return d._private.setup(a,b,c)}}).call(this,b("_process"))},{_process:1,chalk:2,merge:8,"strip-ansi":9,wordwrap:11}]},{},[])}({},function(){return this}()); | ||
!function(b,c){require=function d(a,b,c){function e(g,h){if(!b[g]){if(!a[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=b[g]={exports:{}};a[g][0].call(k.exports,function(b){var c=a[g][1][b];return e(c?c:b)},k,k.exports,d,a,b,c)}return b[g].exports}for(var f="function"==typeof require&&require,g=0;g<c.length;g++)e(c[g]);return e}({1:[function(a,b,c){function d(){k=!1,h.length?j=h.concat(j):l=-1,j.length&&e()}function e(){if(!k){var a=setTimeout(d);k=!0;for(var b=j.length;b;){for(h=j,j=[];++l<b;)h&&h[l].run();l=-1,b=j.length}h=null,k=!1,clearTimeout(a)}}function f(a,b){this.fun=a,this.array=b}function g(){}var h,i=b.exports={},j=[],k=!1,l=-1;i.nextTick=function(a){var b=new Array(arguments.length-1);if(arguments.length>1)for(var c=1;c<arguments.length;c++)b[c-1]=arguments[c];j.push(new f(a,b)),1!==j.length||k||setTimeout(e,0)},f.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=g,i.addListener=g,i.once=g,i.off=g,i.removeListener=g,i.removeAllListeners=g,i.emit=g,i.binding=function(a){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(a){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},{}],2:[function(a,b,c){(function(c){"use strict";function d(a){this.enabled=a&&void 0!==a.enabled?a.enabled:l}function e(a){var b=function(){return f.apply(b,arguments)};return b._styles=a,b.enabled=this.enabled,b.__proto__=p,b}function f(){var a=arguments,b=a.length,c=0!==b&&String(arguments[0]);if(b>1)for(var d=1;b>d;d++)c+=" "+a[d];if(!this.enabled||!c)return c;var e=this._styles,f=e.length,g=i.dim.open;for(!n||-1===e.indexOf("gray")&&-1===e.indexOf("grey")||(i.dim.open="");f--;){var h=i[e[f]];c=h.open+c.replace(h.closeRe,h.open)+h.close}return i.dim.open=g,c}function g(){var a={};return Object.keys(o).forEach(function(b){a[b]={get:function(){return e.call(this,[b])}}}),a}var h=a("escape-string-regexp"),i=a("ansi-styles"),j=a("strip-ansi"),k=a("has-ansi"),l=a("supports-color"),m=Object.defineProperties,n="win32"===c.platform&&!/^xterm/i.test(c.env.TERM);n&&(i.blue.open="[94m");var o=function(){var a={};return Object.keys(i).forEach(function(b){i[b].closeRe=new RegExp(h(i[b].close),"g"),a[b]={get:function(){return e.call(this,this._styles.concat(b))}}}),a}(),p=m(function(){},o);m(d.prototype,g()),b.exports=new d,b.exports.styles=i,b.exports.hasColor=k,b.exports.stripColor=j,b.exports.supportsColor=l}).call(this,a("_process"))},{_process:1,"ansi-styles":3,"escape-string-regexp":4,"has-ansi":5,"strip-ansi":9,"supports-color":7}],3:[function(a,b,c){"use strict";function d(){var a={modifiers:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},colors:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39]},bgColors:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49]}};return a.colors.grey=a.colors.gray,Object.keys(a).forEach(function(b){var c=a[b];Object.keys(c).forEach(function(b){var d=c[b];a[b]=c[b]={open:"["+d[0]+"m",close:"["+d[1]+"m"}}),Object.defineProperty(a,b,{value:c,enumerable:!1})}),a}Object.defineProperty(b,"exports",{enumerable:!0,get:d})},{}],4:[function(a,b,c){"use strict";var d=/[|\\{}()[\]^$+*?.]/g;b.exports=function(a){if("string"!=typeof a)throw new TypeError("Expected a string");return a.replace(d,"\\$&")}},{}],5:[function(a,b,c){"use strict";var d=a("ansi-regex"),e=new RegExp(d().source);b.exports=e.test.bind(e)},{"ansi-regex":6}],6:[function(a,b,c){"use strict";b.exports=function(){return/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g}},{}],7:[function(a,b,c){(function(a){"use strict";var c=a.argv,d=c.indexOf("--"),e=function(a){a="--"+a;var b=c.indexOf(a);return-1!==b&&(-1!==d?d>b:!0)};b.exports=function(){return"FORCE_COLOR"in a.env?!0:e("no-color")||e("no-colors")||e("color=false")?!1:e("color")||e("colors")||e("color=true")||e("color=always")?!0:a.stdout&&!a.stdout.isTTY?!1:"win32"===a.platform?!0:"COLORTERM"in a.env?!0:"dumb"===a.env.TERM?!1:/^screen|^xterm|^vt100|color|ansi|cygwin|linux/i.test(a.env.TERM)?!0:!1}()}).call(this,a("_process"))},{_process:1}],8:[function(a,b,c){!function(a){function c(a,b){if("object"!==e(a))return b;for(var d in b)"object"===e(a[d])&&"object"===e(b[d])?a[d]=c(a[d],b[d]):a[d]=b[d];return a}function d(a,b,d){var g=d[0],h=d.length;(a||"object"!==e(g))&&(g={});for(var i=0;h>i;++i){var j=d[i],k=e(j);if("object"===k)for(var l in j){var m=a?f.clone(j[l]):j[l];b?g[l]=c(g[l],m):g[l]=m}}return g}function e(a){return{}.toString.call(a).slice(8,-1).toLowerCase()}var f=function(a){return d(a===!0,!1,arguments)},g="merge";f.recursive=function(a){return d(a===!0,!0,arguments)},f.clone=function(a){var b,c,d=a,g=e(a);if("array"===g)for(d=[],c=a.length,b=0;c>b;++b)d[b]=f.clone(a[b]);else if("object"===g){d={};for(b in a)d[b]=f.clone(a[b])}return d},a?b.exports=f:window[g]=f}("object"==typeof b&&b&&"object"==typeof b.exports&&b.exports)},{}],9:[function(a,b,c){"use strict";var d=a("ansi-regex")();b.exports=function(a){return"string"==typeof a?a.replace(d,""):a}},{"ansi-regex":10}],10:[function(a,b,c){arguments[4][6][0].apply(c,arguments)},{dup:6}],11:[function(a,b,c){b.exports=function(a,b){if(b=b||{},null==a)return a;var c=b.width||50,d="string"==typeof b.indent?b.indent:" ",e=b.newline||"\n"+d,f=new RegExp(".{1,"+c+"}(\\s+|$)|\\S+?(\\s+|$)","g");b.cut&&(f=new RegExp(".{1,"+c+"}","g"));var g=a.match(f)||[],h=d+g.join(e);return b.trim===!0&&(h=h.replace(/[ \t]*$/gm,"")),h}},{}],"tty-table":[function(b,c,d){(function(d){var e=b("merge"),f=b("chalk"),g=b("strip-ansi"),h=b("word-wrap"),j=function(){var b=this._public={},c=this._private={};c.defaults={defaultValue:function(){return"undefined"!=typeof f?f.red("#ERR"):"#ERR"}(),marginTop:1,marginLeft:2,maxWidth:20,formatter:null,headerAlign:"center",align:"center",paddingRight:0,paddingLeft:0,paddingBottom:0,paddingTop:0,color:!1,headerColor:!1,borderStyle:1,borderCharacters:[[{v:" ",l:" ",j:" ",h:" ",r:" "},{v:" ",l:" ",j:" ",h:" ",r:" "},{v:" ",l:" ",j:" ",h:" ",r:" "}],[{v:"│",l:"┌",j:"┬",h:"─",r:"┐"},{v:"│",l:"├",j:"┼",h:"─",r:"┤"},{v:"│",l:"└",j:"┴",h:"─",r:"┘"}],[{v:"|",l:"+",j:"+",h:"-",r:"+"},{v:"|",l:"+",j:"+",h:"-",r:"+"},{v:"|",l:"+",j:"+",h:"-",r:"+"}]]},c.GUTTER=1,c.table={columns:[],columnWidths:[],columnInnerWidths:[],header:[],body:[]},c.buildRow=function(a,d){d=d||{};var e=0;if("object"!=typeof a||a instanceof Array){var f=c.table.columnWidths.length-a.length;f>0?a=a.concat(Array.apply(null,new Array(f)).map(function(){return null})):0>f&&(a.length=c.table.columnWidths.length)}else a=c.table.columns.map(function(b){return a[b.value]||null});var g=a.map(function(a,b){var f=c.buildCell(a,b,d),g=f.cellArr;return d.header&&c.table.columnInnerWidths.push(f.width),e=e<g.length?g.length:e,g});e=d.header?e:e+(b.options.paddingBottom+b.options.paddingTop);var h=Array.apply(null,{length:e}).map(Function.call,function(){return[]});return g.forEach(function(a,f){var g=Array(c.table.columnWidths[f]).join(" ");if(!d.header){for(i=0;i<b.options.paddingTop;i++)a.unshift(g);for(i=0;i<b.options.paddingBottom;i++)a.push(g)}for(var j=0;e>j;j++)h[j].push("undefined"!=typeof a[j]?a[j]:g)}),h},c.buildCell=function(a,d,f){var g;f=f||{},f&&f.header?(a=e(!0,b.options,a),c.table.columns.push(a),g=a.alias||a.value,columnOptions=a):(columnOptions=c.table.columns[d],"object"==typeof a&&null!==a?(columnOptions=e(!0,columnOptions,a),g=a.value):g=a,g="undefined"==typeof g||null===g?b.options.defaultValue:g,"function"==typeof columnOptions.formatter&&(g=columnOptions.formatter(g)));var h=c.wrapCellContent(g,d,columnOptions,f&&f.header?"header":"body");return g=h.output,{cellArr:g.split("\n"),width:h.width}},c.colorizeAllWords=function(a,b){var c=b.replace(/(\S+)/gi,function(b){return f[a](b)+" "});return c},c.colorizeLine=function(a,b){return f[a](b)},c.calculateLength=function(a){return g(a.replace(/[^\x00-\xff]/g,"XX")).length},c.wrapCellContent=function(a,d,e,f){"center"===e[k]&&(e.paddingLeft=e.paddingRight=Math.max(e.paddingRight,e.paddingLeft,0));var g=a.toString(),i=c.table.columnWidths[d],j=i-e.paddingLeft-e.paddingRight-c.GUTTER,k="header"===f?"headerAlign":"align";if(g.length<c.calculateLength(g)){var l=0,m=0,n=g.split("");g=n.reduce(function(a,b,d){return l+=c.calculateLength(b),l>j?(a.push(g.slice(m,d)),m=d,l=0):n.length===d+1&&a.push(g.slice(m)),a},[]).join("\n")}else g=h(g,{width:j-e.paddingLeft-e.paddingRight,trim:!0,indent:""});var o=g.split("\n");return o=o.map(function(a){a=a.trim();var d=c.calculateLength(a);if(i>d){var g=i-d;switch(!0){case"center"===e[k]:g--;var h=Math.floor(g/2),j=g%2;a=Array(h+1).join(" ")+a+Array(h+1+j).join(" ");break;case"right"===e[k]:a=Array(g-e.paddingRight).join(" ")+a+Array(e.paddingRight+1).join(" ");break;default:a=Array(e.paddingLeft+1).join(" ")+a+Array(g-e.paddingLeft).join(" ")}}switch(!0){case"header"===f:a=e.color||b.options.color?c.colorizeLine(e.headerColor||b.options.color,a):a;break;case"string"==typeof e.color:a=c.colorizeLine(e.color,a);break;case"string"==typeof b.options.color:a=c.colorizeLine(b.options.color,a)}return a}),g=o.join("\n"),{output:g,width:j}},c.getColumnWidths=function(a){var c=a.map(function(a){return"object"==typeof a&&"undefined"!=typeof a.width?a.width:b.options.maxWidth}),e=c.reduce(function(a,b){return a+b});if(e+=b.options.marginLeft,d&&d.stdout&&e>d.stdout.columns){var f=d.stdout.columns/e;f=f.toFixed(2)-.01,c=c.map(function(a){return Math.floor(f*a)})}return c},b.options={},c.setup=function(a,d,f){return b.options=e(!0,c.defaults,f),b.options.align=b.options.alignment||b.options.align,b.options.headerAlign=b.options.headerAlignment||b.options.headerAlign,c.table.columnWidths=c.getColumnWidths(a),a=[a],c.table.header=a.map(function(a){return c.buildRow(a,{header:!0})}),c.table.body=d.map(function(a){return c.buildRow(a)}),b},b.render=function(){var d="",e=["header","body"],f=Array(b.options.marginLeft+1).join(" "),g=b.options.borderCharacters[b.options.borderStyle],h=[];for(a=0;a<3;a++)h.push(""),c.table.columnWidths.forEach(function(b,c,d){h[a]+=Array(b).join(g[a].h)+(c+1!==d.length?g[a].j:g[a].r)}),h[a]=g[a].l+h[a],h[a]=h[a].split(""),h[a][h[a].length1]=g[a].r,h[a]=h[a].join(""),h[a]=f+h[a]+"\n";return d+=h[0],e.forEach(function(a,b){for(;c.table[a].length;)row=c.table[a].shift(),row.forEach(function(a){d=d+f+g[1].v+a.join(g[1].v)+g[1].v+"\n"}),(1!=b||0!==c.table[a].length)&&(d+=h[1])}),d+=h[2],Array(b.options.marginTop+1).join("\n")+d}};c.exports=function(a,b,c){var d=new j;return d._private.setup(a,b,c)}}).call(this,b("_process"))},{_process:1,chalk:2,merge:8,"strip-ansi":9,"word-wrap":11}]},{},[]),c["true"]=b}({},function(){return this}()); |
/** | ||
tty-table: Command line table generator. | ||
Version: 1.0.5 | ||
Built: 2015-07-08 16:44:58 | ||
Version: 1.0.7 | ||
Built: 2015-12-16 02:47:45 | ||
Author: Tecfu | ||
*/ | ||
!function(b,c){c["true"]=b,function(a){if("object"==typeof b&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var d;d="undefined"!=typeof window?window:"undefined"!=typeof c?c:"undefined"!=typeof self?self:this,d.TtyTable=a()}}(function(){return function b(a,c,d){function e(g,h){if(!c[g]){if(!a[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};a[g][0].call(k.exports,function(b){var c=a[g][1][b];return e(c?c:b)},k,k.exports,b,a,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({"/src/main.js":[function(b,c,d){(function(d){var e=b("merge"),f=b("chalk"),g=b("strip-ansi"),h=b("wordwrap"),j=function(){var b=this._public={},c=this._private={};c.defaults={defaultValue:function(){return"undefined"!=typeof f?f.red("#ERR"):"#ERR"}(),marginTop:1,marginLeft:2,maxWidth:20,formatter:null,headerAlign:"center",align:"center",paddingRight:0,paddingLeft:0,paddingBottom:0,paddingTop:0,color:!1,headerColor:!1,borderStyle:1,borderCharacters:[[{v:" ",l:" ",j:" ",h:" ",r:" "},{v:" ",l:" ",j:" ",h:" ",r:" "},{v:" ",l:" ",j:" ",h:" ",r:" "}],[{v:"│",l:"┌",j:"┬",h:"─",r:"┐"},{v:"│",l:"├",j:"┼",h:"─",r:"┤"},{v:"│",l:"└",j:"┴",h:"─",r:"┘"}],[{v:"|",l:"+",j:"+",h:"-",r:"+"},{v:"|",l:"+",j:"+",h:"-",r:"+"},{v:"|",l:"+",j:"+",h:"-",r:"+"}]]},c.GUTTER=1,c.table={columns:[],columnWidths:[],columnInnerWidths:[],header:[],body:[]},c.buildRow=function(a,d){d=d||{};var e=0;if("object"!=typeof a||a instanceof Array){var f=c.table.columnWidths.length-a.length;f>0?a=a.concat(Array.apply(null,new Array(f)).map(function(){return null})):0>f&&(a=a.length(c.table.columnWidths.length))}else a=c.table.columns.map(function(b){return a[b.value]||null});var g=a.map(function(a,b){var f=c.buildCell(a,b,d),g=f.cellArr;return d.header&&c.table.columnInnerWidths.push(f.width),e=e<g.length?g.length:e,g});e=d.header?e:e+(b.options.paddingBottom+b.options.paddingTop);var h=Array.apply(null,{length:e}).map(Function.call,function(){return[]});return g.forEach(function(a,f){var g=Array(c.table.columnWidths[f]).join(" ");if(!d.header){for(i=0;i<b.options.paddingTop;i++)a.unshift(g);for(i=0;i<b.options.paddingBottom;i++)a.push(g)}for(var j=0;e>j;j++)h[j].push("undefined"!=typeof a[j]?a[j]:g)}),h},c.buildCell=function(a,d,f){var g;f=f||{},f&&f.header?(a=e(!0,b.options,a),c.table.columns.push(a),g=a.alias||a.value,columnOptions=a):(columnOptions=c.table.columns[d],"object"==typeof a&&null!==a?(columnOptions=e(!0,columnOptions,a),g=a.value):g=a,g="undefined"==typeof g||null===g?b.options.defaultValue:g,"function"==typeof columnOptions.formatter&&(g=columnOptions.formatter(g)));var h=c.wrapCellContent(g,d,columnOptions,f&&f.header?"header":"body");return g=h.output,{cellArr:g.split("\n"),width:h.width}},c.colorizeAllWords=function(a,b){var c=b.replace(/(\S+)/gi,function(b){return f[a](b)+" "});return c},c.colorizeLine=function(a,b){return f[a](b)},c.wrapCellContent=function(a,d,e,f){var i=a.toString(),j=c.table.columnWidths[d],k=j-e.paddingLeft-e.paddingRight-c.GUTTER;wrap=h(k),i=wrap(i);var l=i.split("\n");return l=l.map(function(a){switch(!0){case"header"===f:a=e.color||b.options.color?c.colorizeLine(e.headerColor||b.options.color,a):a;break;case"string"==typeof e.color:a=c.colorizeLine(e.color,a);break;case"string"==typeof b.options.color:a=c.colorizeLine(b.options.color,a)}a=Array(e.paddingLeft+1).join(" ")+a+Array(e.paddingRight+1).join(" ");var d=g(a).length,h="header"===f?"headerAlign":"align";if(j>d){var i=j-d;switch(!0){case"center"===e[h]:var k=i%2===0;i=k?i:i-1,i>1&&(a=Array(i/2).join(" ")+a+Array(i/2+(k?1:2)).join(" "));break;case"right"===e[h]:a=Array(i).join(" ")+a;break;default:a+=Array(i).join(" ")}}return a}),i=l.join("\n"),{output:i,width:k}},c.getColumnWidths=function(a){var c=a.map(function(a){return"object"==typeof a&&"undefined"!=typeof a.width?a.width:b.options.maxWidth}),e=c.reduce(function(a,b){return a+b});if(e+=b.options.marginLeft,d&&d.stdout&&e>d.stdout.columns){var f=d.stdout.columns>e;f=f.toFixed(2)-.01,c=c.map(function(a){return Math.floor(f*a)})}return c},b.options={},c.setup=function(a,d,f){return b.options=e(!0,c.defaults,f),b.options.align=b.options.alignment||b.options.align,b.options.headerAlign=b.options.headerAlignment||b.options.headerAlign,c.table.columnWidths=c.getColumnWidths(a),a=[a],c.table.header=a.map(function(a){return c.buildRow(a,{header:!0})}),c.table.body=d.map(function(a){return c.buildRow(a)}),b},b.render=function(){var d="",e=["header","body"],f=Array(b.options.marginLeft+1).join(" "),g=b.options.borderCharacters[b.options.borderStyle],h=[];for(a=0;a<3;a++)h.push(""),c.table.columnWidths.forEach(function(b,c,d){h[a]+=Array(b).join(g[a].h)+(c+1!==d.length?g[a].j:g[a].r)}),h[a]=g[a].l+h[a],h[a]=h[a].split(""),h[a][h[a].length1]=g[a].r,h[a]=h[a].join(""),h[a]=f+h[a]+"\n";return d+=h[0],e.forEach(function(a,b){for(;c.table[a].length;)row=c.table[a].shift(),row.forEach(function(a){d=d+f+g[1].v+a.join(g[1].v)+g[1].v+"\n"}),(1!=b||0!==c.table[a].length)&&(d+=h[1])}),d+=h[2],Array(b.options.marginTop+1).join("\n")+d}};c.exports=function(a,b,c){var d=new j;return d._private.setup(a,b,c)}}).call(this,b("_process"))},{_process:1,chalk:2,merge:8,"strip-ansi":9,wordwrap:11}],1:[function(a,b,c){function d(){if(!h){h=!0;for(var a,b=g.length;b;){a=g,g=[];for(var c=-1;++c<b;)a[c]();b=g.length}h=!1}}function e(){}var f=b.exports={},g=[],h=!1;f.nextTick=function(a){g.push(a),h||setTimeout(d,0)},f.title="browser",f.browser=!0,f.env={},f.argv=[],f.version="",f.versions={},f.on=e,f.addListener=e,f.once=e,f.off=e,f.removeListener=e,f.removeAllListeners=e,f.emit=e,f.binding=function(a){throw new Error("process.binding is not supported")},f.cwd=function(){return"/"},f.chdir=function(a){throw new Error("process.chdir is not supported")},f.umask=function(){return 0}},{}],2:[function(a,b,c){(function(c){"use strict";function d(a){this.enabled=a&&void 0!==a.enabled?a.enabled:l}function e(a){var b=function c(){return f.apply(c,arguments)};return b._styles=a,b.enabled=this.enabled,b.__proto__=p,b}function f(){var a=arguments,b=a.length,c=0!==b&&String(arguments[0]);if(b>1)for(var d=1;b>d;d++)c+=" "+a[d];if(!this.enabled||!c)return c;var e=this._styles,f=e.length,g=i.dim.open;for(!n||-1===e.indexOf("gray")&&-1===e.indexOf("grey")||(i.dim.open="");f--;){var h=i[e[f]];c=h.open+c.replace(h.closeRe,h.open)+h.close}return i.dim.open=g,c}function g(){var a={};return Object.keys(o).forEach(function(b){a[b]={get:function(){return e.call(this,[b])}}}),a}var h=a("escape-string-regexp"),i=a("ansi-styles"),j=a("strip-ansi"),k=a("has-ansi"),l=a("supports-color"),m=Object.defineProperties,n="win32"===c.platform&&!/^xterm/i.test(c.env.TERM);n&&(i.blue.open="[94m");var o=function(){var a={};return Object.keys(i).forEach(function(b){i[b].closeRe=new RegExp(h(i[b].close),"g"),a[b]={get:function(){return e.call(this,this._styles.concat(b))}}}),a}(),p=m(function(){},o);m(d.prototype,g()),b.exports=new d,b.exports.styles=i,b.exports.hasColor=k,b.exports.stripColor=j,b.exports.supportsColor=l}).call(this,a("_process"))},{_process:1,"ansi-styles":3,"escape-string-regexp":4,"has-ansi":5,"strip-ansi":9,"supports-color":7}],3:[function(a,b,c){"use strict";function d(){var a={modifiers:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},colors:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39]},bgColors:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49]}};return a.colors.grey=a.colors.gray,Object.keys(a).forEach(function(b){var c=a[b];Object.keys(c).forEach(function(b){var d=c[b];a[b]=c[b]={open:"["+d[0]+"m",close:"["+d[1]+"m"}}),Object.defineProperty(a,b,{value:c,enumerable:!1})}),a}Object.defineProperty(b,"exports",{enumerable:!0,get:d})},{}],4:[function(a,b,c){"use strict";var d=/[|\\{}()[\]^$+*?.]/g;b.exports=function(a){if("string"!=typeof a)throw new TypeError("Expected a string");return a.replace(d,"\\$&")}},{}],5:[function(a,b,c){"use strict";var d=a("ansi-regex"),e=new RegExp(d().source);b.exports=e.test.bind(e)},{"ansi-regex":6}],6:[function(a,b,c){"use strict";b.exports=function(){return/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g}},{}],7:[function(a,b,c){(function(a){"use strict";var c=a.argv,d=c.indexOf("--"),e=function(a){a="--"+a;var b=c.indexOf(a);return-1!==b&&(-1!==d?d>b:!0)};b.exports=function(){return"FORCE_COLOR"in a.env?!0:e("no-color")||e("no-colors")||e("color=false")?!1:e("color")||e("colors")||e("color=true")||e("color=always")?!0:a.stdout&&!a.stdout.isTTY?!1:"win32"===a.platform?!0:"COLORTERM"in a.env?!0:"dumb"===a.env.TERM?!1:/^screen|^xterm|^vt100|color|ansi|cygwin|linux/i.test(a.env.TERM)?!0:!1}()}).call(this,a("_process"))},{_process:1}],8:[function(a,b,c){!function(a){function c(a,b){if("object"!==e(a))return b;for(var d in b)"object"===e(a[d])&&"object"===e(b[d])?a[d]=c(a[d],b[d]):a[d]=b[d];return a}function d(a,b,d){var g=d[0],h=d.length;(a||"object"!==e(g))&&(g={});for(var i=0;h>i;++i){var j=d[i],k=e(j);if("object"===k)for(var l in j){var m=a?f.clone(j[l]):j[l];b?g[l]=c(g[l],m):g[l]=m}}return g}function e(a){return{}.toString.call(a).slice(8,-1).toLowerCase()}var f=function(a){return d(a===!0,!1,arguments)},g="merge";f.recursive=function(a){return d(a===!0,!0,arguments)},f.clone=function(a){var b,c,d=a,g=e(a);if("array"===g)for(d=[],c=a.length,b=0;c>b;++b)d[b]=f.clone(a[b]);else if("object"===g){d={};for(b in a)d[b]=f.clone(a[b])}return d},a?b.exports=f:window[g]=f}("object"==typeof b&&b&&"object"==typeof b.exports&&b.exports)},{}],9:[function(a,b,c){"use strict";var d=a("ansi-regex")();b.exports=function(a){return"string"==typeof a?a.replace(d,""):a}},{"ansi-regex":10}],10:[function(a,b,c){arguments[4][6][0].apply(c,arguments)},{dup:6}],11:[function(a,b,c){var d=a("strip-ansi"),e=b.exports=function(a,b,c){"object"==typeof a&&(c=a,a=c.start,b=c.stop),"object"==typeof b&&(c=b,a=a||c.start,b=void 0),b||(b=a,a=0),c||(c={});var e=c.mode||"soft",f="hard"===e?/\b/:/(\S+\s+)/;return function(c){var g=c.toString().split(f).reduce(function(c,f){if("hard"===e)for(var g=0;g<d(f).length;g+=b-a)c.push(f.slice(g,g+b-a));else c.push(f);return c},[]);return g.reduce(function(c,e){if(""===e)return c;var f=e.replace(/\t/g," "),g=c.length-1;if(d(c[g]).length+d(f).length>b)c[g]=c[g].replace(/\s+$/,""),f.split(/\n/).forEach(function(b){c.push(new Array(a+1).join(" ")+b.replace(/^\s+/,""))});else if(f.match(/\n/)){var h=f.split(/\n/);c[g]+=h.shift(),h.forEach(function(b){c.push(new Array(a+1).join(" ")+b.replace(/^\s+/,""))})}else c[g]+=f;return c},[new Array(a+1).join(" ")]).join("\n")}};e.soft=e,e.hard=function(a,b){return e(a,b,{mode:"hard"})}},{"strip-ansi":9}]},{},[])("/src/main.js")})}({},function(){return this}()); | ||
!function(b,c){!function(a){if("object"==typeof b&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var d;d="undefined"!=typeof window?window:"undefined"!=typeof c?c:"undefined"!=typeof self?self:this,d.TtyTable=a()}}(function(){return function b(a,c,d){function e(g,h){if(!c[g]){if(!a[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};a[g][0].call(k.exports,function(b){var c=a[g][1][b];return e(c?c:b)},k,k.exports,b,a,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){function d(){k=!1,h.length?j=h.concat(j):l=-1,j.length&&e()}function e(){if(!k){var a=setTimeout(d);k=!0;for(var b=j.length;b;){for(h=j,j=[];++l<b;)h&&h[l].run();l=-1,b=j.length}h=null,k=!1,clearTimeout(a)}}function f(a,b){this.fun=a,this.array=b}function g(){}var h,i=b.exports={},j=[],k=!1,l=-1;i.nextTick=function(a){var b=new Array(arguments.length-1);if(arguments.length>1)for(var c=1;c<arguments.length;c++)b[c-1]=arguments[c];j.push(new f(a,b)),1!==j.length||k||setTimeout(e,0)},f.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=g,i.addListener=g,i.once=g,i.off=g,i.removeListener=g,i.removeAllListeners=g,i.emit=g,i.binding=function(a){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(a){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},{}],"/src/main.js":[function(b,c,d){(function(d){var e=b("merge"),f=b("chalk"),g=b("strip-ansi"),h=b("word-wrap"),j=function(){var b=this._public={},c=this._private={};c.defaults={defaultValue:function(){return"undefined"!=typeof f?f.red("#ERR"):"#ERR"}(),marginTop:1,marginLeft:2,maxWidth:20,formatter:null,headerAlign:"center",align:"center",paddingRight:0,paddingLeft:0,paddingBottom:0,paddingTop:0,color:!1,headerColor:!1,borderStyle:1,borderCharacters:[[{v:" ",l:" ",j:" ",h:" ",r:" "},{v:" ",l:" ",j:" ",h:" ",r:" "},{v:" ",l:" ",j:" ",h:" ",r:" "}],[{v:"│",l:"┌",j:"┬",h:"─",r:"┐"},{v:"│",l:"├",j:"┼",h:"─",r:"┤"},{v:"│",l:"└",j:"┴",h:"─",r:"┘"}],[{v:"|",l:"+",j:"+",h:"-",r:"+"},{v:"|",l:"+",j:"+",h:"-",r:"+"},{v:"|",l:"+",j:"+",h:"-",r:"+"}]]},c.GUTTER=1,c.table={columns:[],columnWidths:[],columnInnerWidths:[],header:[],body:[]},c.buildRow=function(a,d){d=d||{};var e=0;if("object"!=typeof a||a instanceof Array){var f=c.table.columnWidths.length-a.length;f>0?a=a.concat(Array.apply(null,new Array(f)).map(function(){return null})):0>f&&(a.length=c.table.columnWidths.length)}else a=c.table.columns.map(function(b){return a[b.value]||null});var g=a.map(function(a,b){var f=c.buildCell(a,b,d),g=f.cellArr;return d.header&&c.table.columnInnerWidths.push(f.width),e=e<g.length?g.length:e,g});e=d.header?e:e+(b.options.paddingBottom+b.options.paddingTop);var h=Array.apply(null,{length:e}).map(Function.call,function(){return[]});return g.forEach(function(a,f){var g=Array(c.table.columnWidths[f]).join(" ");if(!d.header){for(i=0;i<b.options.paddingTop;i++)a.unshift(g);for(i=0;i<b.options.paddingBottom;i++)a.push(g)}for(var j=0;e>j;j++)h[j].push("undefined"!=typeof a[j]?a[j]:g)}),h},c.buildCell=function(a,d,f){var g;f=f||{},f&&f.header?(a=e(!0,b.options,a),c.table.columns.push(a),g=a.alias||a.value,columnOptions=a):(columnOptions=c.table.columns[d],"object"==typeof a&&null!==a?(columnOptions=e(!0,columnOptions,a),g=a.value):g=a,g="undefined"==typeof g||null===g?b.options.defaultValue:g,"function"==typeof columnOptions.formatter&&(g=columnOptions.formatter(g)));var h=c.wrapCellContent(g,d,columnOptions,f&&f.header?"header":"body");return g=h.output,{cellArr:g.split("\n"),width:h.width}},c.colorizeAllWords=function(a,b){var c=b.replace(/(\S+)/gi,function(b){return f[a](b)+" "});return c},c.colorizeLine=function(a,b){return f[a](b)},c.calculateLength=function(a){return g(a.replace(/[^\x00-\xff]/g,"XX")).length},c.wrapCellContent=function(a,d,e,f){"center"===e[k]&&(e.paddingLeft=e.paddingRight=Math.max(e.paddingRight,e.paddingLeft,0));var g=a.toString(),i=c.table.columnWidths[d],j=i-e.paddingLeft-e.paddingRight-c.GUTTER,k="header"===f?"headerAlign":"align";if(g.length<c.calculateLength(g)){var l=0,m=0,n=g.split("");g=n.reduce(function(a,b,d){return l+=c.calculateLength(b),l>j?(a.push(g.slice(m,d)),m=d,l=0):n.length===d+1&&a.push(g.slice(m)),a},[]).join("\n")}else g=h(g,{width:j-e.paddingLeft-e.paddingRight,trim:!0,indent:""});var o=g.split("\n");return o=o.map(function(a){a=a.trim();var d=c.calculateLength(a);if(i>d){var g=i-d;switch(!0){case"center"===e[k]:g--;var h=Math.floor(g/2),j=g%2;a=Array(h+1).join(" ")+a+Array(h+1+j).join(" ");break;case"right"===e[k]:a=Array(g-e.paddingRight).join(" ")+a+Array(e.paddingRight+1).join(" ");break;default:a=Array(e.paddingLeft+1).join(" ")+a+Array(g-e.paddingLeft).join(" ")}}switch(!0){case"header"===f:a=e.color||b.options.color?c.colorizeLine(e.headerColor||b.options.color,a):a;break;case"string"==typeof e.color:a=c.colorizeLine(e.color,a);break;case"string"==typeof b.options.color:a=c.colorizeLine(b.options.color,a)}return a}),g=o.join("\n"),{output:g,width:j}},c.getColumnWidths=function(a){var c=a.map(function(a){return"object"==typeof a&&"undefined"!=typeof a.width?a.width:b.options.maxWidth}),e=c.reduce(function(a,b){return a+b});if(e+=b.options.marginLeft,d&&d.stdout&&e>d.stdout.columns){var f=d.stdout.columns/e;f=f.toFixed(2)-.01,c=c.map(function(a){return Math.floor(f*a)})}return c},b.options={},c.setup=function(a,d,f){return b.options=e(!0,c.defaults,f),b.options.align=b.options.alignment||b.options.align,b.options.headerAlign=b.options.headerAlignment||b.options.headerAlign,c.table.columnWidths=c.getColumnWidths(a),a=[a],c.table.header=a.map(function(a){return c.buildRow(a,{header:!0})}),c.table.body=d.map(function(a){return c.buildRow(a)}),b},b.render=function(){var d="",e=["header","body"],f=Array(b.options.marginLeft+1).join(" "),g=b.options.borderCharacters[b.options.borderStyle],h=[];for(a=0;a<3;a++)h.push(""),c.table.columnWidths.forEach(function(b,c,d){h[a]+=Array(b).join(g[a].h)+(c+1!==d.length?g[a].j:g[a].r)}),h[a]=g[a].l+h[a],h[a]=h[a].split(""),h[a][h[a].length1]=g[a].r,h[a]=h[a].join(""),h[a]=f+h[a]+"\n";return d+=h[0],e.forEach(function(a,b){for(;c.table[a].length;)row=c.table[a].shift(),row.forEach(function(a){d=d+f+g[1].v+a.join(g[1].v)+g[1].v+"\n"}),(1!=b||0!==c.table[a].length)&&(d+=h[1])}),d+=h[2],Array(b.options.marginTop+1).join("\n")+d}};c.exports=function(a,b,c){var d=new j;return d._private.setup(a,b,c)}}).call(this,b("_process"))},{_process:1,chalk:2,merge:8,"strip-ansi":9,"word-wrap":11}],2:[function(a,b,c){(function(c){"use strict";function d(a){this.enabled=a&&void 0!==a.enabled?a.enabled:l}function e(a){var b=function(){return f.apply(b,arguments)};return b._styles=a,b.enabled=this.enabled,b.__proto__=p,b}function f(){var a=arguments,b=a.length,c=0!==b&&String(arguments[0]);if(b>1)for(var d=1;b>d;d++)c+=" "+a[d];if(!this.enabled||!c)return c;var e=this._styles,f=e.length,g=i.dim.open;for(!n||-1===e.indexOf("gray")&&-1===e.indexOf("grey")||(i.dim.open="");f--;){var h=i[e[f]];c=h.open+c.replace(h.closeRe,h.open)+h.close}return i.dim.open=g,c}function g(){var a={};return Object.keys(o).forEach(function(b){a[b]={get:function(){return e.call(this,[b])}}}),a}var h=a("escape-string-regexp"),i=a("ansi-styles"),j=a("strip-ansi"),k=a("has-ansi"),l=a("supports-color"),m=Object.defineProperties,n="win32"===c.platform&&!/^xterm/i.test(c.env.TERM);n&&(i.blue.open="[94m");var o=function(){var a={};return Object.keys(i).forEach(function(b){i[b].closeRe=new RegExp(h(i[b].close),"g"),a[b]={get:function(){return e.call(this,this._styles.concat(b))}}}),a}(),p=m(function(){},o);m(d.prototype,g()),b.exports=new d,b.exports.styles=i,b.exports.hasColor=k,b.exports.stripColor=j,b.exports.supportsColor=l}).call(this,a("_process"))},{_process:1,"ansi-styles":3,"escape-string-regexp":4,"has-ansi":5,"strip-ansi":9,"supports-color":7}],3:[function(a,b,c){"use strict";function d(){var a={modifiers:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},colors:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39]},bgColors:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49]}};return a.colors.grey=a.colors.gray,Object.keys(a).forEach(function(b){var c=a[b];Object.keys(c).forEach(function(b){var d=c[b];a[b]=c[b]={open:"["+d[0]+"m",close:"["+d[1]+"m"}}),Object.defineProperty(a,b,{value:c,enumerable:!1})}),a}Object.defineProperty(b,"exports",{enumerable:!0,get:d})},{}],4:[function(a,b,c){"use strict";var d=/[|\\{}()[\]^$+*?.]/g;b.exports=function(a){if("string"!=typeof a)throw new TypeError("Expected a string");return a.replace(d,"\\$&")}},{}],5:[function(a,b,c){"use strict";var d=a("ansi-regex"),e=new RegExp(d().source);b.exports=e.test.bind(e)},{"ansi-regex":6}],6:[function(a,b,c){"use strict";b.exports=function(){return/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g}},{}],7:[function(a,b,c){(function(a){"use strict";var c=a.argv,d=c.indexOf("--"),e=function(a){a="--"+a;var b=c.indexOf(a);return-1!==b&&(-1!==d?d>b:!0)};b.exports=function(){return"FORCE_COLOR"in a.env?!0:e("no-color")||e("no-colors")||e("color=false")?!1:e("color")||e("colors")||e("color=true")||e("color=always")?!0:a.stdout&&!a.stdout.isTTY?!1:"win32"===a.platform?!0:"COLORTERM"in a.env?!0:"dumb"===a.env.TERM?!1:/^screen|^xterm|^vt100|color|ansi|cygwin|linux/i.test(a.env.TERM)?!0:!1}()}).call(this,a("_process"))},{_process:1}],8:[function(a,b,c){!function(a){function c(a,b){if("object"!==e(a))return b;for(var d in b)"object"===e(a[d])&&"object"===e(b[d])?a[d]=c(a[d],b[d]):a[d]=b[d];return a}function d(a,b,d){var g=d[0],h=d.length;(a||"object"!==e(g))&&(g={});for(var i=0;h>i;++i){var j=d[i],k=e(j);if("object"===k)for(var l in j){var m=a?f.clone(j[l]):j[l];b?g[l]=c(g[l],m):g[l]=m}}return g}function e(a){return{}.toString.call(a).slice(8,-1).toLowerCase()}var f=function(a){return d(a===!0,!1,arguments)},g="merge";f.recursive=function(a){return d(a===!0,!0,arguments)},f.clone=function(a){var b,c,d=a,g=e(a);if("array"===g)for(d=[],c=a.length,b=0;c>b;++b)d[b]=f.clone(a[b]);else if("object"===g){d={};for(b in a)d[b]=f.clone(a[b])}return d},a?b.exports=f:window[g]=f}("object"==typeof b&&b&&"object"==typeof b.exports&&b.exports)},{}],9:[function(a,b,c){"use strict";var d=a("ansi-regex")();b.exports=function(a){return"string"==typeof a?a.replace(d,""):a}},{"ansi-regex":10}],10:[function(a,b,c){arguments[4][6][0].apply(c,arguments)},{dup:6}],11:[function(a,b,c){b.exports=function(a,b){if(b=b||{},null==a)return a;var c=b.width||50,d="string"==typeof b.indent?b.indent:" ",e=b.newline||"\n"+d,f=new RegExp(".{1,"+c+"}(\\s+|$)|\\S+?(\\s+|$)","g");b.cut&&(f=new RegExp(".{1,"+c+"}","g"));var g=a.match(f)||[],h=d+g.join(e);return b.trim===!0&&(h=h.replace(/[ \t]*$/gm,"")),h}},{}]},{},[])("/src/main.js")}),c["true"]=b}({},function(){return this}()); |
┌─────────────────────────────┬───────────────────┬───────────────────┐ | ||
│ [36mitem[39m │ [37mprice[39m │ [37mIs organic?[39m │ | ||
│[36m item [39m│[37m price [39m│[37m Is organic? [39m│ | ||
├─────────────────────────────┼───────────────────┼───────────────────┤ | ||
│ [33mhamburger[39m │ [31m$2.50[39m │ [37m[37m[41mno[49m[37m[39m │ | ||
│[33mhamburger [39m│[31m $2.50 [39m│[37m [37m[41mno[49m[37m [39m│ | ||
├─────────────────────────────┼───────────────────┼───────────────────┤ | ||
│ [33mel jefe's special cream[39m │ [31m$0.10[39m │ [37m[32myes[37m[39m │ | ||
│ [33msauce[39m │ │ │ | ||
│[33mel jefe's special [39m│[31m $0.10 [39m│[37m [32myes[37m [39m│ | ||
│[33mcream sauce [39m│ │ │ | ||
├─────────────────────────────┼───────────────────┼───────────────────┤ | ||
│ [33mtwo tacos, rice and beans[39m │ [31m[4m[32m$9.80[31m[24m[39m │ [37m[37m[41mno[49m[37m[39m │ | ||
│ [33mtopped with cheddar cheese[39m │ │ │ | ||
│[33mtwo tacos, rice and [39m│[31m [4m[32m$9.80[31m[24m [39m│[37m [37m[41mno[49m[37m [39m│ | ||
│[33mbeans topped with [39m│ │ │ | ||
│[33mcheddar cheese [39m│ │ │ | ||
├─────────────────────────────┼───────────────────┼───────────────────┤ | ||
│ [33mapple slices[39m │ [31m$1.00[39m │ [37m[32myes[37m[39m │ | ||
│[33mapple slices [39m│[31m $1.00 [39m│[37m [32myes[37m [39m│ | ||
├─────────────────────────────┼───────────────────┼───────────────────┤ | ||
│ [33mham sandwich[39m │ [31m$1.50[39m │ [37m[37m[41mno[49m[37m[39m │ | ||
│[33mham sandwich [39m│[31m $1.50 [39m│[37m [37m[41mno[49m[37m [39m│ | ||
├─────────────────────────────┼───────────────────┼───────────────────┤ | ||
│ [33mmacaroni, ham and peruvian[39m │ [31m$3.75[39m │ [37m[37m[41mno[49m[37m[39m │ | ||
│ [33mmozzarella[39m │ │ │ | ||
│[33mmacaroni, ham and [39m│[31m $3.75 [39m│[37m [37m[41mno[49m[37m [39m│ | ||
│[33mperuvian mozzarella [39m│ │ │ | ||
└─────────────────────────────┴───────────────────┴───────────────────┘ | ||
@@ -23,19 +24,20 @@ | ||
┌─────────────────────────────┬───────────────────┬───────────────────┐ | ||
│ [36mitem[39m │ [37mprice[39m │ [37mIs organic?[39m │ | ||
│[36m item [39m│[37m price [39m│[37m Is organic? [39m│ | ||
├─────────────────────────────┼───────────────────┼───────────────────┤ | ||
│ [33mhamburger[39m │ [31m$2.50[39m │ [37m[37m[41mno[49m[37m[39m │ | ||
│[33mhamburger [39m│[31m $2.50 [39m│[37m [37m[41mno[49m[37m [39m│ | ||
├─────────────────────────────┼───────────────────┼───────────────────┤ | ||
│ [33mel jefe's special cream[39m │ [31m$0.10[39m │ [37m[32myes[37m[39m │ | ||
│ [33msauce[39m │ │ │ | ||
│[33mel jefe's special [39m│[31m $0.10 [39m│[37m [32myes[37m [39m│ | ||
│[33mcream sauce [39m│ │ │ | ||
├─────────────────────────────┼───────────────────┼───────────────────┤ | ||
│ [33mtwo tacos, rice and beans[39m │ [31m[4m[32m$9.80[31m[24m[39m │ [37m[37m[41mno[49m[37m[39m │ | ||
│ [33mtopped with cheddar cheese[39m │ │ │ | ||
│[33mtwo tacos, rice and [39m│[31m [4m[32m$9.80[31m[24m [39m│[37m [37m[41mno[49m[37m [39m│ | ||
│[33mbeans topped with [39m│ │ │ | ||
│[33mcheddar cheese [39m│ │ │ | ||
├─────────────────────────────┼───────────────────┼───────────────────┤ | ||
│ [33mapple slices[39m │ [31m$1.00[39m │ [37m[32myes[37m[39m │ | ||
│[33mapple slices [39m│[31m $1.00 [39m│[37m [32myes[37m [39m│ | ||
├─────────────────────────────┼───────────────────┼───────────────────┤ | ||
│ [33mham sandwich[39m │ [31m$1.50[39m │ [37m[37m[41mno[49m[37m[39m │ | ||
│[33mham sandwich [39m│[31m $1.50 [39m│[37m [37m[41mno[49m[37m [39m│ | ||
├─────────────────────────────┼───────────────────┼───────────────────┤ | ||
│ [33mmacaroni, ham and peruvian[39m │ [31m$3.75[39m │ [37m[37m[41mno[49m[37m[39m │ | ||
│ [33mmozzarella[39m │ │ │ | ||
│[33mmacaroni, ham and [39m│[31m $3.75 [39m│[37m [37m[41mno[49m[37m [39m│ | ||
│[33mperuvian mozzarella [39m│ │ │ | ||
└─────────────────────────────┴───────────────────┴───────────────────┘ | ||
@@ -10,3 +10,3 @@ var Table = require('../'); | ||
align : "left", | ||
paddingLeft : 1, | ||
paddingRight : 5, | ||
width : 30 | ||
@@ -13,0 +13,0 @@ }, |
┌───────────────────┬───────────────────┬───────────────────┐ | ||
│ [37mitem[39m │ [37mprice[39m │ [37morganic[39m │ | ||
│[37m item [39m│[37m price [39m│[37m organic [39m│ | ||
├───────────────────┼───────────────────┼───────────────────┤ | ||
│ [37mhamburger[39m │ [37m2.5[39m │ [37m[31m#ERR[37m[39m │ | ||
│[37m hamburger [39m│[37m 2.5 [39m│[37m [31m#ERR[37m [39m│ | ||
├───────────────────┼───────────────────┼───────────────────┤ | ||
│[37mel jefe's special[39m │ [37m0.1[39m │ [37m[31m#ERR[37m[39m │ | ||
│ [37mcream sauce[39m │ │ │ | ||
│[37m el jefe's special [39m│[37m 0.1 [39m│[37m [31m#ERR[37m [39m│ | ||
│[37m cream sauce [39m│ │ │ | ||
├───────────────────┼───────────────────┼───────────────────┤ | ||
│ [37mtwo tacos, rice[39m │ [37m9.8[39m │ │ | ||
│ [37mand beans topped[39m │ │ │ | ||
│[37mwith cheddar cheese[39m│ │ │ | ||
│[37mtwo tacos, rice and[39m│[37m 9.8 [39m│[37m [39m│ | ||
│[37m beans topped with [39m│ │ │ | ||
│[37m cheddar cheese [39m│ │ │ | ||
├───────────────────┼───────────────────┼───────────────────┤ | ||
│ [37mapple slices[39m │ [37m1[39m │ [37myes[39m │ | ||
│[37m apple slices [39m│[37m 1 [39m│[37m yes [39m│ | ||
├───────────────────┼───────────────────┼───────────────────┤ | ||
│ [37m[31m#ERR[37m[39m │ [37m1.5[39m │ [37mno[39m │ | ||
│[37m [31m#ERR[37m [39m│[37m 1.5 [39m│[37m no [39m│ | ||
├───────────────────┼───────────────────┼───────────────────┤ | ||
│[37mmacaroni, ham and[39m │ [37m3.75[39m │ [37mno[39m │ | ||
│[37m macaroni, ham and [39m│[37m 3.75 [39m│[37m no [39m│ | ||
│[37mperuvian mozzarella[39m│ │ │ | ||
@@ -24,20 +24,20 @@ └───────────────────┴───────────────────┴───────────────────┘ | ||
┌───────────────────┬───────────────────┬───────────────────┐ | ||
│ [37mitem[39m │ [37mprice[39m │ [37morganic[39m │ | ||
│[37m item [39m│[37m price [39m│[37m organic [39m│ | ||
├───────────────────┼───────────────────┼───────────────────┤ | ||
│ [37mhamburger[39m │ [37m2.5[39m │ [37m[31m#ERR[37m[39m │ | ||
│[37m hamburger [39m│[37m 2.5 [39m│[37m [31m#ERR[37m [39m│ | ||
├───────────────────┼───────────────────┼───────────────────┤ | ||
│[37mel jefe's special[39m │ [37m0.1[39m │ [37m[31m#ERR[37m[39m │ | ||
│ [37mcream sauce[39m │ │ │ | ||
│[37m el jefe's special [39m│[37m 0.1 [39m│[37m [31m#ERR[37m [39m│ | ||
│[37m cream sauce [39m│ │ │ | ||
├───────────────────┼───────────────────┼───────────────────┤ | ||
│ [37mtwo tacos, rice[39m │ [37m9.8[39m │ [37mno[39m │ | ||
│ [37mand beans topped[39m │ │ │ | ||
│[37mwith cheddar cheese[39m│ │ │ | ||
│[37mtwo tacos, rice and[39m│[37m 9.8 [39m│[37m no [39m│ | ||
│[37m beans topped with [39m│ │ │ | ||
│[37m cheddar cheese [39m│ │ │ | ||
├───────────────────┼───────────────────┼───────────────────┤ | ||
│ [37mapple slices[39m │ [37m1[39m │ [37myes[39m │ | ||
│[37m apple slices [39m│[37m 1 [39m│[37m yes [39m│ | ||
├───────────────────┼───────────────────┼───────────────────┤ | ||
│ [37m[31m#ERR[37m[39m │ [37m1.5[39m │ [37mno[39m │ | ||
│[37m [31m#ERR[37m [39m│[37m 1.5 [39m│[37m no [39m│ | ||
├───────────────────┼───────────────────┼───────────────────┤ | ||
│[37mmacaroni, ham and[39m │ [37m3.75[39m │ [37mno[39m │ | ||
│[37m macaroni, ham and [39m│[37m 3.75 [39m│[37m no [39m│ | ||
│[37mperuvian mozzarella[39m│ │ │ | ||
└───────────────────┴───────────────────┴───────────────────┘ | ||
@@ -21,3 +21,3 @@ var Table = require('../'); | ||
["apple slices",1.00,"yes"], | ||
[null,1.50,"no"], | ||
[null,1.50,"no","extra element","another extra element"], | ||
["macaroni, ham and peruvian mozzarella",3.75,"no"] | ||
@@ -24,0 +24,0 @@ ]; |
@@ -96,12 +96,46 @@ /** | ||
} | ||
}, | ||
'save_test_output': { | ||
command: [ | ||
"node examples/node-example.js --color=always > examples/node-example-output.txt", | ||
"node examples/null-undefined.js --color=always > examples/null-undefined-output.txt" | ||
].join('&&') | ||
} | ||
} | ||
} | ||
}); | ||
grunt.registerTask('save-test-outputs','Saves the ouptuts of all unit tests to file.',function(){ | ||
var glob = require('glob'); | ||
var exec = require('child_process').exec, child; | ||
var gruntDeferred = this.async(); | ||
var jobQueue = []; | ||
var Orgy = require('orgy'); | ||
var fs = require('fs'); | ||
//Get list of all test scripts | ||
var list = glob.sync('examples/*.js'); | ||
list.forEach(function(element,index,array){ | ||
//Create a deferred for each run, which is pushed into a queue. | ||
var deferred = Orgy.deferred(); | ||
jobQueue.push(deferred); | ||
child = exec('node ./'+element+' --color=always', | ||
function (error, stdout, stderr) { | ||
if (error !== null) { | ||
grunt.log.error('Exec error: ' + error); | ||
} | ||
var subname = element.split('.')[0]; | ||
filename = subname + '-output.txt'; | ||
fs.writeFileSync(filename,stdout); | ||
grunt.log.write('Wrote output to text file: ' + filename + '\n'); | ||
deferred.resolve(); | ||
}); | ||
}); | ||
//Resolve grunt deferred only after jobQueue is complete. | ||
Orgy.queue(jobQueue,[{ | ||
timeout : 1000 | ||
}]) | ||
.done(function(){ | ||
gruntDeferred(); | ||
}); | ||
}); | ||
grunt.registerTask('doc','Documentation generation task',function(){ | ||
@@ -171,2 +205,6 @@ var gruntDeferred = this.async(), | ||
grunt.registerTask('st',[ | ||
'save-test-outputs' | ||
]); | ||
grunt.registerTask('test-travis', [ | ||
@@ -176,6 +214,2 @@ 'mochaTest:test' | ||
grunt.registerTask('g', [ | ||
'shell:save_test_output' | ||
]); | ||
grunt.registerTask('default', [ | ||
@@ -182,0 +216,0 @@ 'shell:browserify-prod-standalone', |
{ | ||
"name": "tty-table", | ||
"version": "1.0.6", | ||
"version": "1.0.7", | ||
"description": "Command line table generator.", | ||
@@ -32,6 +32,7 @@ "main": "src/main.js", | ||
"strip-ansi": "^3.0.0", | ||
"wordwrap": "git+https://git@github.com/tecfu/node-wordwrap.git" | ||
"word-wrap": "^1.1.0" | ||
}, | ||
"devDependencies": { | ||
"chai": "^3.0.0", | ||
"glob": "^6.0.1", | ||
"grunt": "^0.4.5", | ||
@@ -38,0 +39,0 @@ "grunt-contrib-uglify": "^0.9.1", |
@@ -64,3 +64,3 @@ # tty-table | ||
align : "left", | ||
paddingLeft : 1, | ||
paddingRight : 5, | ||
width : 30 | ||
@@ -168,72 +168,3 @@ }, | ||
<a name="Table"></a> | ||
## Table | ||
**Kind**: global class | ||
**Note**: <a name="note"/> | ||
Default border character sets: | ||
``` | ||
[ | ||
[ | ||
{v: " ", l: " ", j: " ", h: " ", r: " "}, | ||
{v: " ", l: " ", j: " ", h: " ", r: " "}, | ||
{v: " ", l: " ", j: " ", h: " ", r: " "} | ||
], | ||
[ | ||
{v: "│", l: "┌", j: "┬", h: "─", r: "┐"}, | ||
{v: "│", l: "├", j: "┼", h: "─", r: "┤"}, | ||
{v: "│", l: "└", j: "┴", h: "─", r: "┘"} | ||
], | ||
[ | ||
{v: "|", l: "+", j: "+", h: "-", r: "+"}, | ||
{v: "|", l: "+", j: "+", h: "-", r: "+"}, | ||
{v: "|", l: "+", j: "+", h: "-", r: "+"} | ||
] | ||
] | ||
``` | ||
* [Table](#Table) | ||
* [Table(header, rows, options)](#new_Table_new) | ||
* [.render()](#Table.render) ⇒ <code>String</code> | ||
<a name="new_Table_new"></a> | ||
### Table(header, rows, options) | ||
| Param | Type | Description | | ||
| --- | --- | --- | | ||
| header | <code>array</code> | [See example](#example-usage) | | ||
| header.column | <code>object</code> | Column options | | ||
| header.column.formatter | <code>function</code> | Runs a callback on each cell value in the parent column | | ||
| header.column.marginLeft | <code>number</code> | default: 0 | | ||
| header.column.marginTop | <code>number</code> | default: 0 | | ||
| header.column.maxWidth | <code>number</code> | default: 20 | | ||
| header.column.paddingBottom | <code>number</code> | default: 0 | | ||
| header.column.paddingLeft | <code>number</code> | default: 0 | | ||
| header.column.paddingRight | <code>number</code> | default: 0 | | ||
| header.column.paddingTop | <code>number</code> | default: 0 | | ||
| header.column.alias | <code>string</code> | Alernate header column name | | ||
| header.column.align | <code>string</code> | default: "center" | | ||
| header.column.color | <code>string</code> | default: terminal default color | | ||
| header.column.headerAlign | <code>string</code> | default: "center" | | ||
| header.column.headerColor | <code>string</code> | default: terminal default color | | ||
| rows | <code>array</code> | [See example](#example-usage) | | ||
| options | <code>object</code> | Table options | | ||
| options.borderStyle | <code>number</code> | default: 1 (0 = no border) Refers to the index of the desired character set. | | ||
| options.borderCharacters | <code>array</code> | [See @note](#note) | | ||
**Example** | ||
``` | ||
var Table = require('tty-table'); | ||
Table(header,rows,options); | ||
``` | ||
<a name="Table.render"></a> | ||
### Table.render() ⇒ <code>String</code> | ||
Renders a table to a string | ||
**Kind**: static method of <code>[Table](#Table)</code> | ||
**Example** | ||
``` | ||
var str = t1.render(); | ||
console.log(str); //outputs table | ||
``` | ||
<!--END-API-REF--> | ||
@@ -240,0 +171,0 @@ |
118
src/main.js
var merge = require("merge"), | ||
chalk = require("chalk"), | ||
stripAnsi = require("strip-ansi"), | ||
wordwrap = require("wordwrap"); | ||
wrap = require("word-wrap"); | ||
@@ -92,2 +92,3 @@ | ||
if(difL > 0){ | ||
//Add null element to array | ||
row = row.concat(Array.apply(null, new Array(difL)) | ||
@@ -97,3 +98,4 @@ .map(function(){return null})); | ||
else if(difL < 0){ | ||
row = row.length(_private.table.columnWidths.length); | ||
//Truncate array | ||
row.length = _private.table.columnWidths.length; | ||
} | ||
@@ -198,13 +200,52 @@ } | ||
_private.calculateLength = function (line) { | ||
return stripAnsi(line.replace(/[^\x00-\xff]/g,'XX')).length; | ||
}; | ||
_private.wrapCellContent = function(value,columnIndex,columnOptions,rowType){ | ||
//Equalize padding for centered lines | ||
if(columnOptions[alignTgt] === 'center'){ | ||
columnOptions.paddingLeft = columnOptions.paddingRight = | ||
Math.max(columnOptions.paddingRight,columnOptions.paddingLeft,0); | ||
} | ||
var string = value.toString(), | ||
width = _private.table.columnWidths[columnIndex], | ||
innerWidth = width - columnOptions.paddingLeft | ||
- columnOptions.paddingRight | ||
- _private.GUTTER; //border/gutter | ||
innerWidth = width - columnOptions.paddingLeft - | ||
columnOptions.paddingRight - | ||
_private.GUTTER; //border/gutter | ||
var alignTgt = (rowType === 'header') ? "headerAlign" : "align"; | ||
if (string.length < _private.calculateLength(string)) { | ||
//Wrap Asian characters | ||
var count = 0; | ||
var start = 0; | ||
var characters = string.split(''); | ||
string = characters.reduce(function (prev, value, i) { | ||
count += _private.calculateLength(value); | ||
if (count > innerWidth) { | ||
prev.push(string.slice(start, i)); | ||
start = i; | ||
count = 0; | ||
} else if (characters.length === i + 1) { | ||
prev.push(string.slice(start)); | ||
} | ||
return prev; | ||
}, []).join('\n'); | ||
} else { | ||
string = wrap(string,{ | ||
width : innerWidth - | ||
columnOptions.paddingLeft - | ||
columnOptions.paddingRight, | ||
trim : true, | ||
indent : '' | ||
}); | ||
} | ||
//Break string into array of lines | ||
wrap = wordwrap(innerWidth); | ||
string = wrap(string); | ||
var strArr = string.split('\n'); | ||
@@ -215,2 +256,28 @@ | ||
line = line.trim(); | ||
var lineLength = _private.calculateLength(line); | ||
//align | ||
if(lineLength < width){ | ||
var emptySpace = width - lineLength; | ||
switch(true){ | ||
case(columnOptions[alignTgt] === 'center'): | ||
emptySpace --; | ||
var padBoth = Math.floor(emptySpace / 2), | ||
padRemainder = emptySpace % 2; | ||
line = Array(padBoth + 1).join(' ') + | ||
line + | ||
Array(padBoth + 1 + padRemainder).join(' '); | ||
break; | ||
case(columnOptions[alignTgt] === 'right'): | ||
line = Array(emptySpace - columnOptions.paddingRight).join(' ') + | ||
line + | ||
Array(columnOptions.paddingRight + 1).join(' '); | ||
break; | ||
default: | ||
line = Array(columnOptions.paddingLeft + 1).join(' ') + | ||
line + Array(emptySpace - columnOptions.paddingLeft).join(' '); | ||
} | ||
} | ||
//Apply colors | ||
@@ -232,31 +299,2 @@ switch(true){ | ||
//Left, Right Padding | ||
line = Array(columnOptions.paddingLeft + 1).join(' ') + | ||
line + | ||
Array(columnOptions.paddingRight + 1).join(' '); | ||
var lineLength = stripAnsi(line).length; | ||
//align | ||
var alignTgt = (rowType === 'header') ? "headerAlign" : "align"; | ||
if(lineLength < width){ | ||
var spaceAvailable = width - lineLength; | ||
switch(true){ | ||
case(columnOptions[alignTgt] === 'center'): | ||
var even = (spaceAvailable %2 === 0); | ||
spaceAvailable = (even) ? spaceAvailable : | ||
spaceAvailable - 1; | ||
if(spaceAvailable > 1){ | ||
line = Array(spaceAvailable/2).join(' ') + | ||
line + | ||
Array(spaceAvailable/2 + ((even)?1:2)).join(' '); | ||
} | ||
break; | ||
case(columnOptions[alignTgt] === 'right'): | ||
line = Array(spaceAvailable).join(' ') + line; | ||
break; | ||
default: | ||
line = line + Array(spaceAvailable).join(' '); | ||
} | ||
} | ||
return line; | ||
@@ -294,3 +332,3 @@ }); | ||
//recalculate proportionately to fit size | ||
var prop = process.stdout.columns > totalWidth; | ||
var prop = process.stdout.columns / totalWidth; | ||
prop = prop.toFixed(2)-0.01; | ||
@@ -368,4 +406,4 @@ widths = widths.map(function(value){ | ||
_private.table.columnWidths.forEach(function(w,i,arr){ | ||
borders[a] += Array(w).join(bS[a].h) | ||
+ ((i+1 !== arr.length) ? bS[a].j : bS[a].r); | ||
borders[a] += Array(w).join(bS[a].h) + | ||
((i+1 !== arr.length) ? bS[a].j : bS[a].r); | ||
}); | ||
@@ -372,0 +410,0 @@ borders[a] = bS[a].l + borders[a]; |
@@ -6,47 +6,29 @@ var chai = require("chai"); | ||
var fs = require('fs'); | ||
var glob = require('glob'); | ||
//Basic test | ||
describe('Basic test.',function(){ | ||
it('Should match saved output.',function(deferred){ | ||
//Get list of all test scripts | ||
var list = glob.sync('examples/*.js'); | ||
var exec = require('child_process').exec, child; | ||
list.forEach(function(element,index,array){ | ||
//Matching test | ||
describe(element,function(){ | ||
it('Should match ' + element + '-output.txt',function(deferred){ | ||
child = exec('node ./examples/node-example.js --color=always', | ||
function (error, stdout, stderr) { | ||
//console.log('stdout: ' + stdout); | ||
//console.log('stderr: ' + stderr); | ||
if (error !== null) { | ||
grunt.log.error('Exec error: ' + error); | ||
} | ||
/* Comparison code generated with: | ||
node examples/node-example.js --color=always > examples/node-example-output.txt | ||
*/ | ||
var expected1 = fs.readFileSync('./examples/node-example-output.txt',{encoding : 'utf-8'}); | ||
stdout.should.equal(expected1); | ||
deferred(); | ||
}); | ||
}); | ||
}); | ||
var exec = require('child_process').exec, child; | ||
//Null values test | ||
describe('Testing null and undefined row values.',function(){ | ||
it('Should match saved output.',function(deferred){ | ||
var exec = require('child_process').exec, child; | ||
child = exec('node ./examples/null-undefined.js --color=always', | ||
function (error, stdout, stderr) { | ||
//console.log('stdout: ' + stdout); | ||
//console.log('stderr: ' + stderr); | ||
if (error !== null) { | ||
grunt.log.error('Exec error: ' + error); | ||
} | ||
var expected1 = fs.readFileSync('./examples/null-undefined-output.txt',{encoding : 'utf-8'}); | ||
stdout.should.equal(expected1); | ||
deferred(); | ||
child = exec('node ./'+element+' --color=always', | ||
function (error, stdout, stderr) { | ||
//console.log('stdout: ' + stdout); | ||
//console.log('stderr: ' + stderr); | ||
if (error !== null) { | ||
grunt.log.error('Exec error: ' + error); | ||
} | ||
var subname = element.split('.')[0]; | ||
var expected1 = fs.readFileSync('./'+subname+'-output.txt',{encoding : 'utf-8'}); | ||
stdout.should.equal(expected1); | ||
deferred(); | ||
}); | ||
}); | ||
}); | ||
}); | ||
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Git dependency
Supply chain riskContains a dependency which resolves to a remote git URL. Dependencies fetched from git URLs are not immutable can be used to inject untrusted code or reduce the likelihood of a reproducible install.
Found 1 instance in 1 package
289239
20
2952
0
10
181
23
+ Addedword-wrap@^1.1.0
+ Addedword-wrap@1.2.5(transitive)
- Removedwordwrap@git+https://git@github.com/tecfu/node-wordwrap.git