Tolles Community-Modul

ASCII-Tabelle

Build-Status devAbhängigkeitsstatus NPM-Version

Einfache Tabellenausgabe für das Debuggen von Knoten, aber Sie könnten wahrscheinlich mehr damit machen, 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

ASCII-Tabelle

Siehe: AsciiTable.factoryfür Details zur Instanziierung

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

Tabelleninstanzersteller

  • title-Tabellentitel (optional, Standard null)
  • options -Tabellenoptionen (optional)
    • prefix -String-Präfix zum Hinzufügen zu jeder Zeile beim Rendern

Hinweis: Wenn ein Objekt anstelle von ü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(direction, val, len, [pad])

Verknüpfung zu einer der drei folgenden Methoden

  • direction- Ausrichtungsrichtung ( AsciiTable.LEFT, AsciiTable.CENTER, AsciiTable.RIGHT)
  • val -String zum Ausrichten
  • len -Gesamtlänge der erstellten Zeichenfolge
  • pad-Auffüllen / Zeichen füllen (optional, Standard ' ')

Beispiel:

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

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

  • val -String zum Ausrichten
  • len -Gesamtlänge der erstellten Zeichenfolge
  • pad-Auffüllen / Zeichen füllen (optional, Standard ' ')

Beispiel:

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

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

  • val -String zum Ausrichten
  • len -Gesamtlänge der erstellten Zeichenfolge
  • pad-Auffüllen / Zeichen füllen (optional, Standard ' ')

Beispiel:

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

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

  • val -String zum Ausrichten
  • len -Gesamtlänge der erstellten Zeichenfolge
  • pad-Auffüllen / Zeichen füllen (optional, Standard ' ')

Beispiel:

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

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

Versuchen Sie eine intelligente Ausrichtung der bereitgestellten val, StringEingaben werden linksbündig, NumberTypen rechtsbündig.

  • val -String zum Ausrichten
  • len -Gesamtlänge der erstellten Zeichenfolge
  • pad-Auffüllen / Zeichen füllen (optional, Standard ' ')

Beispiel:

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

AsciiTable.arrayFill(len, [val])

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

  • len -Länge des Arrays
  • val -Wert füllen (optional)

Beispiel:

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

Instance Methods

instance.setBorder([Rand], [Füllen], [oben], [unten])

Legen Sie die Randzeichen für das Rendern fest, wenn keine Argumente übergeben werden, wird es auf die Standardwerte zurückgesetzt.Wenn ein einzelnes Argument übergeben wird edge, wird es für alle Ränder verwendet.

  • edge-horizontale Kanten (optional, Standard |)
  • fill-vertikale Kanten (optional, Standard -)
  • top-obere 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 * ************************

Instanz.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 ​​​​für instance.setAlign(idx, AsciiTable.LEFT)

instance.setAlignCenter(idx)

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

instance.setAlignRight(idx)

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

Instanz.setTitle(Titel)

  • title -Tabellentitel

Beispiel:

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

Instanz.getTitle()

Holen Sie sich den aktuellen Titel der Tabelle

Beispiel:

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

instance.setTitleAlign(Richtung)

  • direction -Tischausrichtungsrichtung

Beispiel:

1

instance.setTitleAlignLeft()

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

instance.setTitleAlignCenter()

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

instance.setTitleAlignRight()

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

Instanz.sort(iterator)

  • iterator -Sortiermethode, um gegen die Zeilen zu laufen

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 für die Ausrichtung auf eine bestimmte Spalte

  • index -Spalten-IDx zum Sortieren
  • iterator -Sortiermethode zum Ausführen gegen Spaltenwerte

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, verwenden Sie Argumente genauso wie addRow

  • heading -Überschrift 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)

Instanz.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 -multidimensionales Array von Zeilen

Beispiel:

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

instance.setJustify(aktiviert)

Begründen Sie, dass alle Spalten die gleiche Breite haben

  • enabled-Boolean zum Ein- oder Ausschalten von Justify, undefinedgilt als wahr

Beispiel:

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

Instanz.toString()

Rendern Sie die Instanz als String für die Ausgabe

Alias : [ valueOf, render]

Instanz.toJSON()

Geben Sie die JSON-Darstellung der Tabelle zurück, dies ermöglicht uns auch, JSON.stringifydie Instanz aufzurufen .

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"]]}

Instanz.fromJSON(obj)

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

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' ] ] })

Instanz.clear()

Alle Tabellendaten löschen / zurücksetzen

Alias : [ reset]

Instanz.clearRows()

Alle Zeilendaten zurücksetzen, Titel und Überschriften werden 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, mit der Software ohne Einschränkung zu handeln, einschließlich und ohne Einschränkung der Rechte zur Nutzung, zum Kopieren, Ändern, Zusammenführen , Kopien der Software zu veröffentlichen, zu verteilen, unterzulizenzieren und/oder zu verkaufen und dies den Personen, denen die Software zur Verfügung gestellt wird, zu gestatten, vorbehaltlich der folgenden Bedingungen:

Der obige Urheberrechtshinweis und dieser Genehmigungshinweis müssen in allen Kopien oder wesentlichen Teilen der Software enthalten sein.

DIE SOFTWARE WIRD OHNE JEGLICHE AUSDRÜCKLICHE ODER STILLSCHWEIGENDE GEWÄHRLEISTUNG BEREITGESTELLT, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF DIE GEWÄHRLEISTUNGEN DER MARKTFÄHIGKEIT, EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND NICHTVERLETZUNG DER VERLETZUNG. SCHÄDEN ODER SONSTIGE HAFTUNG, OB AUS VERTRAGSHANDELN, SCHÄDEN ODER ANDERWEITIG, DIE AUS, AUS ODER IN VERBINDUNG MIT DER SOFTWARE ODER DER NUTZUNG ODER ANDEREN HANDELN MIT DER SOFTWARE ENTSTEHEN.