Tolles 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 anfangen, 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 : Wenn im Browser verwendet, wird es unter window.AsciiTable

Beispiel

Grundsätzliche 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])

Ersteller der Tabelleninstanz

  • title -table title (optional, default null )
  • options -table options (optional)
    • prefix Zeichenfolge Präfix, das zu jeder Zeile beim Rendern hinzugefügt wird

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 ausrichtung richtung ( AsciiTable.LEFT , AsciiTable.CENTER , AsciiTable.RIGHT )
  • val -string zum ausrichten
  • len - Gesamtlänge der erstellten Zeichenfolge
  • pad -padding / fill char (optional, default ' ' )

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 -padding / fill char (optional, default ' ' )

Beispiel:

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

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

  • val -string zum ausrichten
  • len - Gesamtlänge der erstellten Zeichenfolge
  • pad -padding / fill char (optional, default ' ' )

Beispiel:

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

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

  • val -string zum ausrichten
  • len - Gesamtlänge der erstellten Zeichenfolge
  • pad -padding / fill char (optional, default ' ' )

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 der erstellten Zeichenfolge
  • pad -padding / fill char (optional, default ' ' )

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, der hauptsächlich intern verwendet wird

  • len - Array der Länge
  • val - der Fill - Wert (optional)

Beispiel:

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

Instance Methods

instance.setBorder ([edge], [fill], [top], [bottom])

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 - Bodenecken (optional, default ' )

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

  • idx Spaltenindex zum Ausrichten
  • direction -alignment 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 ​​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 ()

Ruft den aktuellen Titel der Tabelle ab

Beispiel:

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

instance.setTitleAlign (direction)

  • direction -table 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 Sortiermethode, die für die Zeilen ausgeführt wird

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)

Sortierkürzel für das Targeting einer bestimmten Spalte

  • index Spalte IDX zu sortieren
  • iterator Sortiermethode, die für Spaltenwerte ausgeführt wird

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 wie addRow

  • heading Array oder Argumente

Beispiel:

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

instance.setHeadingAlign (direction)

  • 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 Arrayargument oder den Argumenten hinzugefügt werden, wenn beim Aufruf 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)

Massen- addRow Operation

  • rows mehrdimensionale Anordnung 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 -boolean zum Aktivieren oder Deaktivieren von Rechtfertigung, undefined als wahr

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

Gibt die JSON-Repräsentation der Tabelle zurück. JSON.stringify können wir 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

Jeder Person, die eine Kopie dieser Software und der zugehörigen Dokumentationsdateien (die "Software") erhält, wird hiermit kostenlos die Erlaubnis erteilt, mit der Software uneingeschränkt umzugehen, einschließlich der Rechte zur Nutzung, zum Kopieren, Ändern und Zusammenführen Sie dürfen Kopien der Software unter folgenden Bedingungen veröffentlichen, verbreiten, unterlizenzieren und / oder verkaufen und Personen gestatten, denen die Software zur Verfügung gestellt wird:

Der obige 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, EINSCHLIESSLICH DER GEWÄHRLEISTUNG FÜR MARKTGÄNGIGKEIT, EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND UNVERLETZLICHKEIT, ZUR VERFÜGUNG GESTELLT ANSPRUCH, SCHÄDEN ODER ANDERE HAFTUNG, OB VERTRAGSVERHÄLTNISSE, SCHÄDEN ODER ANDERE VERHÄLTNISSE, DIE AUS ODER IN VERBINDUNG MIT DER SOFTWARE ODER DER NUTZUNG ODER ANDEREN VERHÄLTNISSEN IN DER SOFTWARE ENTSTEHEN.