素晴らしいコミュニティモジュール

アスキー表

ビルドステータス devDependencyステータス NPMバージョン

ノードのデバッグ用の簡単なテーブル出力ですが、単なる文字列なので、おそらくもっと多くのことを行うことができます。

目次

使用法

Node.js

1
var AsciiTable = require('ascii-table')

ブラウザ

1
<script src="ascii-table.min.js"></script>

:ブラウザーで使用する場合、 window.AsciiTable下に配置されwindow.AsciiTable

基本的な使い方

1 2 3 4 5 6 7 8
var table = new AsciiTable('A Title') table .setHeading('', 'Name', 'Age') .addRow(1, 'Bob', 52) .addRow(2, 'John', 34) .addRow(3, 'Jim', 83) console.log(table.toString())
1 2 3 4 5 6 7 8 9
.----------------. | A Title | |----------------| | | Name | Age | |---|------|-----| | 1 | Bob | 52 | | 2 | John | 34 | | 3 | Jim | 83 | '----------------'

タイトルや見出しのないシンプルなテーブルも作成できます。

1 2 3 4 5 6 7 8 9 10
var table = new AsciiTable() table .addRow('a', 'apple', 'Some longer string') .addRow('b', 'banana', 'hi') .addRow('c', 'carrot', 'meow') .addRow('e', 'elephants') console.log(table.toString())
1 2 3 4 5 6
.------------------------------------. | a | apple | Some longer string | | b | banana | hi | | c | carrot | meow | | e | elephants | | '------------------------------------'

API

Static Methods

AsciiTable

参照:インスタンス化の詳細については、 AsciiTable.factory

AsciiTable.factory([タイトル]、[オプション])

テーブルインスタンス作成者

  • title -table title(オプション、デフォルトはnull
  • options -tableオプション(オプション)
    • prefix -各レンダリングONラインに追加する文字列の接頭辞

注: title代わりにオブジェクトが渡される場合、 fromJSONメソッドを使用してテーブルにデータが入力されます。

例:

1 2 3 4 5 6 7 8 9 10
var table = AsciiTable.factory('title') var table = AsciiTable.factory({ title: 'Title' , heading: [ 'id', 'name' ] , rows: [ [ 1, 'Bob' ] , [ 2, 'Steve' ] ] })

AsciiTable.align(方向、val、len、[パッド])

次の3つの方法のいずれかへのショートカット

  • direction -alignment direction( AsciiTable.LEFTAsciiTable.CENTERAsciiTable.RIGHT
  • val -左整列する文字列=
  • len -文字列の全長作成
  • pad -padding / fill char(オプション、デフォルト' '

例:

1
table.align(AsciiTable.LEFT, 'hey', 7) // 'hey '

AsciiTable.alignLeft(val、len、[pad])

  • val -左整列する文字列=
  • len -文字列の全長作成
  • pad -padding / fill char(オプション、デフォルト' '

例:

1
table.alignLeft('hey', 7, '-') // 'hey----'

AsciiTable.alignCenter(val、len、[pad])

  • val -左整列する文字列=
  • len -文字列の全長作成
  • pad -padding / fill char(オプション、デフォルト' '

例:

1
table.alignCenter('hey', 7) // ' hey '

AsciiTable.alignRight(val、len、[pad])

  • val -左整列する文字列=
  • len -文字列の全長作成
  • pad -padding / fill char(オプション、デフォルト' '

例:

1
table.alignRight('hey', 7) // ' hey'

AsciiTable.alignAuto(val、len、[pad])

提供されたvalインテリジェントな位置合わせを試みて、 String入力は左揃え、 Number型は右揃えになります。

  • val -左整列する文字列=
  • len -文字列の全長作成
  • pad -padding / fill char(オプション、デフォルト' '

例:

1
table.align(AsciiTable.LEFT, 'hey', 7) // 'hey '

AsciiTable.arrayFill(len、[val])

主に内部的に使用される、指定された値で満たされた指定されたlenに新しい配列を作成

  • len -長さの配列
  • val -fill値(オプション)

例:

1
AsciiTable.arrayFill(4, 0) // [0, 0, 0, 0]

Instance Methods

instance.setBorder([エッジ]、[塗りつぶし]、[上]、[下])

引数を渡さない場合はデフォルトにリセットされ、単一のedge引数が渡されるとすべての境界に使用されます。

  • edge -水平フォーム(オプション、デフォルトのエッジ|
  • fill -エッジのフォーム(オプション、デフォルトの垂直数-
  • top -top corners(オプション、デフォルト.
  • bottom -bottom corners(オプション、デフォルトは'

例:

1 2 3 4 5 6 7
var table = new AsciiTable('Stars') table .setBorder('*') .setHeading('oh', 'look') .addRow('so much', 'star power') console.log(table.toString())
1 2 3 4 5 6 7
************************ * Stars * ************************ * oh * look * ************************ * so much * star power * ************************

instance.removeBorder()

例:

1 2 3
table.removeBorder() console.log('' + table)
1 2 3 4 5 6
# Fruit Thing --- ----------- -------------------- a apple Some longer string b banana hi c carrot meow e elephants

instance.setAlign(idx、方向)

  • idx位置合わせする列インデックス
  • direction整列方向( AsciiTable.LEFTAsciiTable.CENTERAsciiTable.RIGHT

例:

1 2 3 4 5
table .setAlign(2, AsciiTable.RIGHT) .setAlign(1, AsciiTable.CENTER) console.log(table.toString())
1 2 3 4 5 6
.-------------------------------------. | a | apple | Some longer string | | b | banana | hi | | c | carrot | meow | | e | elephants | | '-------------------------------------'

instance.setAlignLeft(idx)

instance.setAlign(idx, AsciiTable.LEFT)エイリアスinstance.setAlign(idx, AsciiTable.LEFT)

instance.setAlignCenter(idx)

instance.setAlign(idx, AsciiTable.CENTER)エイリアスinstance.setAlign(idx, AsciiTable.CENTER)

instance.setAlignRight(idx)

instance.setAlign(idx, AsciiTable.RIGHT)エイリアスinstance.setAlign(idx, AsciiTable.RIGHT)

instance.setTitle(タイトル)

  • title -表のタイトル

例:

1 2 3
var table = new AsciiTable('Old Title') table.setTitle('New Title')

instance.getTitle()

テーブルの現在のタイトルを取得します

例:

1
table.getTitle() // 'New Title'

instance.setTitleAlign(方向)

  • directionテーブルの整列方向

例:

1

instance.setTitleAlignLeft()

instance.setTitleAlign(AsciiTable.LEFT)エイリアスinstance.setTitleAlign(AsciiTable.LEFT)

instance.setTitleAlignCenter()

instance.setTitleAlign(AsciiTable.CENTER)エイリアスinstance.setTitleAlign(AsciiTable.CENTER)

instance.setTitleAlignRight()

instance.setTitleAlign(AsciiTable.RIGHT)エイリアスinstance.setTitleAlign(AsciiTable.RIGHT)

instance.sort(イテレーター)

  • iterator -行に対して実行するソート方法

例:

1 2 3 4
table.sort(function(a, b) { return a[2] - b[2] }) console.log(table.toString())
1 2 3 4 5
.----------------. | 2 | John | 34 | | 1 | Bob | 52 | | 3 | Jim | 83 | '----------------'

instance.sortColumn(インデックス、イテレータ)

特定の列をターゲットにするための並べ替えのショートカット

  • index -ソートする列idx
  • iterator -列の値に対して実行するソート方法

例:

1 2 3 4
// This is quivalent to the `sort` example above table.sortColumn(2, function(a, b) { return a - b })

instance.setHeading(見出し、[...])

テーブルの列見出しを設定し、 addRowと同じ方法で引数を取ります

  • heading - heading配列または引数

例:

1 2 3 4 5
table.setHeading('ID', 'Key', 'Value') // or: table.setHeading(['ID', 'Key', 'Value'])

instance.setHeadingAlign(方向)

  • direction

例:

1

instance.setHeadingAlignLeft()

instance.setHeadingAlignLeft(AsciiTable.LEFT)エイリアスinstance.setHeadingAlignLeft(AsciiTable.LEFT)

instance.setHeadingAlignCenter()

instance.setHeadingAlignLeft(AsciiTable.CENTER)エイリアスinstance.setHeadingAlignLeft(AsciiTable.CENTER)

instance.setHeadingAlignRight()

instance.setHeadingAlignLeft(AsciiTable.RIGHT)エイリアスinstance.setHeadingAlignLeft(AsciiTable.RIGHT)

instance.addRow(行、[...])

単一の配列引数を使用して行を追加できます。メソッドを呼び出すときに複数の引数を使用する場合は引数を追加できます。

  • row -arrayまたは列値の引数

例:

1 2 3 4 5 6 7
var table = new AsciiTable() table .addRow(1, 'Bob', 52) .addRow([2, 'John', 34]) console.log(table.render())
1 2 3 4
.---------------. | 1 | Bob | 52 | | 2 | John | 34 | '---------------'

instance.addRowMatrix(行)

一括addRow操作

  • rows- rows多次元配列

例:

1 2 3 4 5
table.addRowMatrix([ [2, 'John', 34] , [3, 'Jim', 83] ])

instance.setJustify(有効)

すべての列が同じ幅になるように揃えます

  • enabled -正当化をオンまたはオフにするためのブールundefinedundefinedはtrueとみなされる

例:

1 2 3 4 5
table .addRow('1', 'two', 'three') .setJustify() console.log(table.toString())
1 2 3
.-----------------------. | 1 | two | three | '-----------------------'

instance.toString()

インスタンスを出力用の文字列としてレンダリングする

エイリアス :[ valueOfrender ]

instance.toJSON()

テーブルのJSON表現を返します。これにより、インスタンスでJSON.stringifyを呼び出すこともできます。

例:

1 2 3 4 5 6 7 8 9
var table = new AsciiTable('Title') table .setHeading('id', 'name') .addRow(1, 'Bob') .addRow(2, 'Steve') console.log(table.toJSON()) console.log(JSON.stringify(table))
1 2 3 4 5 6 7 8
{ title: 'Title' , heading: [ 'id', 'name' ] , rows: [ [ 1, 'Bob' ] , [ 2, 'Steve' ] ] }
1
{"title":"Title","heading":["id","name"],"rows":[[1,"Bob"],[2,"Steve"]]}

instance.fromJSON(obj)

jsonオブジェクトからテーブルを作成します。上記のtoJSON出力と一致する必要があります。

エイリアス :[ parse ]

例:

1 2 3 4 5 6 7 8
var table = new AsciiTable().fromJSON({ title: 'Title' , heading: [ 'id', 'name' ] , rows: [ [ 1, 'Bob' ] , [ 2, 'Steve' ] ] })

instance.clear()

すべてのテーブルデータをクリア/リセットする

エイリアス :[ reset ]

instance.clearRows()

すべての行データをリセットし、タイトルと見出しを維持します。

インストールする

npmで

1
npm install ascii-table

寄稿者

マシュー・オリベイラ ピーター・ダウム

免許

(MITライセンス)

Copyright(c)2013 Beau Sorensen

これにより、このソフトウェアおよび関連するドキュメントファイル(「ソフトウェア」)のコピーを取得するすべての人に、使用、コピー、変更、マージの権利を含むがこれらに限定されないソフトウェアを許可する許可が無料で付与されますソフトウェアのコピーを公開、配布、サブライセンス、および/または販売し、以下の条件に従って、ソフトウェアの提供先にソフトウェアの提供を許可します。

上記の著作権表示およびこの許可通知は、ソフトウェアのすべてのコピーまたは大部分に含まれるものとします。

本ソフトウェアは、商品性、特定の目的への適合性および権利の非侵害の保証を含むがこれに限らず、明示または黙示を問わず、いかなる種類の保証もなしに「現状有姿」で提供されます。契約、不法行為、またはその他の行為のいずれにおいても、本ソフトウェアまたは本ソフトウェアの使用または他の取引に起因する、関連する、または関連する、請求、損害またはその他の責任。