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 machen, da es nur eine Zeichenfolge ist.

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 - Gesamtlänge des String Erstellt
  • 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 - Gesamtlänge des String Erstellt
  • pad -padding / fill char (optional, Standard ' ' )

Beispiel:

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

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

  • val string zum ausrichten
  • len - Gesamtlänge des String Erstellt
  • pad -padding / fill char (optional, Standard ' ' )

Beispiel:

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

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

  • val string zum ausrichten
  • len - Gesamtlänge des String Erstellt
  • pad -padding / fill char (optional, Standard ' ' )

Beispiel:

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

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

Intelligente Ausrichtung der zu tun , wird bereitgestellt Versuch val , String INPUT von Will ausgerichtet werden links, Number Arten von wird rechts ausgerichtet.

  • val string zum ausrichten
  • len - Gesamtlänge des String Erstellt
  • 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 - Array der Länge
  • val -fill value (optional)

Beispiel:

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

Instance Methods

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

Die Grenze Rendering Zeichen für SET, werden , wenn sie keine Argumente Defaults übergeben wird zurückgesetzt. A SINGLE der Ist edge - Arg geführt wird , sei es für Will All Borders verwendet.

  • edge horizontale Kanten (optional, Standard | )
  • fill - Vertical Anzahl der Kanten Form (optional, default - )
  • top - Top Corners (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 ​​to instance.setTitleAlign(AsciiTable.LEFT)

instance.setTitleAlignCenter ()

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

instance.setTitleAlignRight ()

Alias ​​to 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 von Spaltenwerte oder Argumente

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 Genehmigungshinweis sind in allen Kopien oder wesentlichen Teilen der Software enthalten.

DIE SOFTWARE WIRD "WIE BESEHEN" OHNE JEGLICHE AUSDRÜCKLICHE ODER STILLSCHWEIGENDE GEWÄHRLEISTUNG ZUR VERFÜGUNG GESTELLT, EINSCHLIESSLICH DER GEWÄHRLEISTUNG FÜR MARKTGÄNGIGKEIT, EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND NICHT VERLETZUNGSBEDINGUNGEN 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.