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 platziertwindow.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

Siehe: AsciiTable.factoryEinzelheiten zur Instanziierung

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

Ersteller der Tabelleninstanz

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

Hinweis: Wenn anstelle von ein Objekt übergeben wirdtitle, wird diefromJSON 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- Ausrichtungsrichtung ( AsciiTable.LEFT, AsciiTable.CENTER, AsciiTable.RIGHT)
  • val -String zum Ausrichten
  • len -Gesamte Länge der erstellten 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 -Gesamte Länge der erstellten Zeichenfolge
  • pad-padding / fill char (optional, Standard ' ')

Beispiel:

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

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

  • val -String zum Ausrichten
  • len -Gesamte Länge der erstellten Zeichenfolge
  • pad-padding / fill char (optional, Standard ' ')

Beispiel:

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

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

  • val -String zum Ausrichten
  • len -Gesamte Länge der erstellten Zeichenfolge
  • pad-padding / fill char (optional, Standard ' ')

Beispiel:

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

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

Wenn Sie versuchen, die bereitgestellten Daten intelligent auszurichten val, werden die StringEingaben linksbündig und die NumberTypen rechtsbündig ausgerichtet.

  • val -String zum Ausrichten
  • len -Gesamte Länge der erstellten 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 -Füllwert (optional)

Beispiel:

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

Instance Methods

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

Legen Sie die Rahmenzeichen für das Rendern fest. Wenn keine Argumente übergeben werden, werden diese auf die Standardwerte zurückgesetzt. Wenn ein einzelnes Argument übergeben wird edge, wird es für alle Rahmen verwendet.

  • edge-horizontale Kanten (optional, Standard |)
  • fill-vertikale Kanten (optional, Standard -)
  • top-top Ecken (optional, Standard .)
  • 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- Ausrichtungsrichtung, ( 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 ​​zu instance.setAlign(idx, AsciiTable.CENTER)

instance.setAlignRight (idx)

Alias ​​zu 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 ​​zu instance.setTitleAlign(AsciiTable.CENTER)

instance.setTitleAlignRight ()

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

instance.sort (Iterator)

  • iterator -Sortierungsmethode 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, [...])

Legen Sie die Spaltenüberschriften für die Tabelle fest und verwenden Sie Argumente auf die gleiche Weise wie addRow

  • heading -Kopfarray 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 ​​zu instance.setHeadingAlignLeft(AsciiTable.LEFT)

instance.setHeadingAlignCenter ()

Alias ​​zu instance.setHeadingAlignLeft(AsciiTable.CENTER)

instance.setHeadingAlignRight ()

Alias ​​zu 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 von Spaltenwerten

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

  • rows -multidimentionales Array von Zeilen

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-boolescher Wert zum Ein- und Ausschalten von Rechtfertigungen, der undefinedals wahr angesehen wird

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

Geben Sie die JSON-Darstellung der Tabelle zurück. Dadurch können wir auch JSON.stringifydie 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 toJSONobigen Ausgabe übereinstimmen .

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 OHNE JEGLICHE AUSDRÜCKLICHE ODER STILLSCHWEIGENDE GEWÄHRLEISTUNG ZUR VERFÜGUNG GESTELLT. 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.