1.2.1 • Published 5 years ago

pretty-columns v1.2.1

Weekly downloads
3
License
MIT
Repository
github
Last release
5 years ago

pretty-columns

Build Status via Travis CI

  • Support colors, chalk and other ansi.
  • Compatible with double-byte characters, emoji emoticons.
  • Best display when using monospaced fonts.
  • Content can only be displayed in a single line, automatically remove "\n" or "\r" from content.
  • Multi-line display may be possible. (lazy.. stretched)

Via npm

npm install pretty-columns

Via yarn

yarn add pretty-columns

Usage

Normally

var pc = require('pretty-columns');

pc(input).output();
// console.log(pc(input)) will see all structure

Output

var po = require('pretty-columns').output;

po(input);

Inject console

require('pretty-columns').injectConsole();

console.columns(input);

About Input

String

var input = "A\tB\n1\t2";

Array

var input = [['A','B'],[1,2]];

Mixed

var input = ['A,B','1,2'];

Custom configuration

propertydescriptiondefault
rowSplitSymbolRow split symbol(when string input given)"\n" (can be regexp)
columnSplitSymbolColumn split symbol(when string input given)"\t" (can be regexp)
alignAlignment:['right', 'center', ...]OR'rc...'Filling "left" when insufficient.Ignored when redundant.
rowSeparationRows connector"\n"
columnSeparationColumns connector" "
prefixPrefix at output""
suffixSuffix at output""
placeholderFill white space" "

Example

var output = require('../index').output;
var colors = require('colors');
var chalk = require('chalk');

var INPUT = [
    [
        chalk.bold.blue("key"),
        colors.bold.red("value")
    ],
    [
        "domain",
        "www.google.com"
    ],
    [
        chalk.yellow("path"),
        "😘search🐰"
    ],
    [
        "query",
        colors.cyan("q=") + "npm 中\n文呢?"
    ],
    [
        "scheme",
        "https"
    ]
];

output(INPUT, {
    align: 'cr',
    columnSeparation: ' | ',
    rowSeparation: " |\n| ",
    prefix: '| ',
    suffix: ' |',
    placeholder: '*'
});

Print

npm.io