Fantastisches Community-Modul

Ascii Tabelle

Build-Status devDependency Status NPM-Version

Einfache Tabellenausgabe für das Debuggen von Knoten, aber Sie könnten wahrscheinlich mehr damit tun, da es sich nur um eine Zeichenfolge handelt.

Inhaltsverzeichnis

Verwendung

Node.js

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

Browser

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

Hinweis : Bei Verwendung im Browser wird es unter window.AsciiTable

Beispiel

Grundlegende Verwendung

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 | '----------------'

Wir können auch eine einfache Tabelle ohne Titel oder Überschriften erstellen.

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 Informationen zur Instanziierung finden Sie unter: AsciiTable.factory

AsciiTable.factory ([Titel], [Optionen])

Tabelleninstanzersteller

  • title table title (optional, Standardwert null )
  • options Tabellenoptionen (optional)
    • prefix -string-Präfix, das jeder Zeile beim Rendern hinzugefügt werden soll

Hinweis: Wenn anstelle des title ein Objekt übergeben wird, wird die fromJSON Methode zum Auffüllen der Tabelle verwendet.

Beispiel:

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 (Richtung, Wert, Länge, [Pad])

Verknüpfung zu einer der drei folgenden Methoden

  • direction ( AsciiTable.LEFT , AsciiTable.CENTER , AsciiTable.RIGHT )
  • val string zum ausrichten
  • len -Total Länge erstellt Zeichenfolge
  • pad -padding / fill char (optional, Standard ' ' )

Beispiel:

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

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

  • val string zum ausrichten
  • len -Total Länge erstellt Zeichenfolge
  • pad -padding / fill char (optional, Standard ' ' )

Beispiel:

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

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

  • val string zum ausrichten
  • len -Total Länge erstellt Zeichenfolge
  • pad -padding / fill char (optional, Standard ' ' )

Beispiel:

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

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

  • val string zum ausrichten
  • len -Total Länge erstellt Zeichenfolge
  • pad -padding / fill char (optional, Standard ' ' )

Beispiel:

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

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

Versuchen intelligente Ausrichtung vorgesehen zu tun val , String - Eingang wird links ausgerichtet werden, Number wird Typen rechts ausgerichtet.

  • val string zum ausrichten
  • len -Total Länge erstellt Zeichenfolge
  • pad -padding / fill char (optional, Standard ' ' )

Beispiel:

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

AsciiTable.arrayFill (len, [val])

Erstellen Sie ein neues Array mit der angegebenen Länge, das mit dem angegebenen Wert gefüllt ist und hauptsächlich intern verwendet wird

  • len -Länge des Arrays
  • val -fill value (optional)

Beispiel:

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

Instance Methods

instance.setBorder ([Kante], [Füllen], [Oben], [Unten])

Legen Sie die Grenze Zeichen für Rendering, wenn keine Argumente übergeben werden , wird es wieder auf Standardwerte sein. Wenn eine einzelne edge arg übergeben wird, wird es für alle Grenzen hinweg verwendet werden.

  • edge horizontale Kanten (optional, Standard | )
  • fill Formular fill - Vertikale Anzahl der Kanten (optional, Standard - )
  • top -top Ecken (optional, default . )
  • bottom untere Ecken (optional, Standard ' )

Beispiel:

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 ()

Beispiel:

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, Richtung)

  • idx Spaltenindex zum Ausrichten
  • direction , ( AsciiTable.LEFT , AsciiTable.CENTER , AsciiTable.RIGHT )

Beispiel:

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)

Alias ​​zu instance.setAlign(idx, AsciiTable.LEFT)

instance.setAlignCenter (idx)

Alias ​​für instance.setAlign(idx, AsciiTable.CENTER)

instance.setAlignRight (idx)

Alias ​​to instance.setAlign(idx, AsciiTable.RIGHT)

instance.setTitle (title)

  • title Tabellentitel

Beispiel:

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

instance.getTitle ()

Holen Sie sich den aktuellen Titel der Tabelle

Beispiel:

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

instance.setTitleAlign (Richtung)

  • direction -Tabelle Ausrichtungsrichtung

Beispiel:

1

instance.setTitleAlignLeft ()

Alias ​​zu instance.setTitleAlign(AsciiTable.LEFT)

instance.setTitleAlignCenter ()

Alias ​​für instance.setTitleAlign(AsciiTable.CENTER)

instance.setTitleAlignRight ()

Alias ​​für instance.setTitleAlign(AsciiTable.RIGHT)

instance.sort (Iterator)

  • iterator Sortiermethode zum Ausführen der Zeilen

Beispiel:

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, Iterator)

Sortierverknüpfung zum Zielen auf eine bestimmte Spalte

  • index -column idx zum sortieren
  • iterator Sortiermethode zum Ausführen von Spaltenwerten

Beispiel:

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

instance.setHeading (Überschrift, [...])

addRow Sie die Spaltenüberschriften für die Tabelle fest und verwenden Sie Argumente genauso wie addRow

  • heading Überschriften-Array oder Argumente

Beispiel:

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

instance.setHeadingAlign (Richtung)

  • direction

Beispiel:

1

instance.setHeadingAlignLeft ()

Alias ​​für instance.setHeadingAlignLeft(AsciiTable.LEFT)

instance.setHeadingAlignCenter ()

Alias ​​für instance.setHeadingAlignLeft(AsciiTable.CENTER)

instance.setHeadingAlignRight ()

Alias ​​für instance.setHeadingAlignLeft(AsciiTable.RIGHT)

instance.addRow (Zeile, [...])

Zeilen können mit einem einzelnen Array-Argument oder den Argumenten hinzugefügt werden, wenn beim Aufrufen der Methode mehrere Argumente verwendet werden.

  • row -array oder Argumente der Spaltenwerte

Beispiel:

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 (Zeilen)

Bulk- addRow Operation

  • rows mehrdimensionales Zeilenarray

Beispiel:

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

instance.setJustify (aktiviert)

Richten Sie alle Spalten auf die gleiche Breite aus

  • enabled -boolean zum Aktivieren oder Deaktivieren von justify, undefined als true

Beispiel:

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

instance.toString ()

Rendern Sie die Instanz als Zeichenfolge für die Ausgabe

Alias : [ valueOf , render ]

instance.toJSON ()

JSON.stringify Sie die JSON-Darstellung der Tabelle zurück. Auf diese Weise können Sie auch JSON.stringify für die Instanz aufrufen.

Beispiel:

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)

Füllen Sie die Tabelle aus dem json-Objekt, sollte mit der toJSON Ausgabe toJSON .

Alias : [ parse ]

Beispiel:

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 ()

Alle Tabellendaten löschen / zurücksetzen

Alias : [ reset ]

instance.clearRows ()

Alle Zeilendaten zurücksetzen, Titel und Überschriften beibehalten.

Installieren

Mit npm

1
npm install ascii-table

Mitwirkende

Matthew Oliveira Peter Daum

Lizenz

(Die MIT-Lizenz)

Copyright (c) 2013 Beau Sorensen

Hiermit wird jeder Person, die eine Kopie dieser Software und der zugehörigen Dokumentationsdateien (die "Software") erhält, kostenlos die Erlaubnis erteilt, uneingeschränkt mit der Software umzugehen, einschließlich, jedoch nicht beschränkt auf die Rechte zur Nutzung, zum Kopieren, Ändern, Zusammenführen , veröffentlichen, vertreiben, unterlizenzieren und / oder verkaufen Kopien der Software und erlauben Personen, denen die Software zur Verfügung gestellt wird, dies unter den folgenden Bedingungen:

Der oben genannte Copyright-Hinweis und dieser Erlaubnishinweis sind in allen Kopien oder wesentlichen Teilen der Software enthalten.

DIE SOFTWARE WIRD OHNE JEGLICHE AUSDRÜCKLICHE ODER STILLSCHWEIGENDE GEWÄHRLEISTUNG ZUR VERFÜGUNG GESTELLT ANSPRÜCHE, SCHÄDEN ODER ANDERE HAFTUNG, OB BEI VERTRAGS-, TORT- ODER ANDERWEITIGEN MASSNAHMEN, DIE AUS, AUS ODER IM ZUSAMMENHANG MIT DER SOFTWARE ODER DER NUTZUNG ODER ANDEREN HANDELN IN DER SOFTWARE ENTSTEHEN.