Mòdul comunitari fantàstic

Taula Ascii

Estat de construcció Estat de dependència dev Versió NPM

Sortida de taula fàcil per a la depuració de nodes, però probablement podríeu fer-ne més, ja que només és una cadena.

Taula de continguts

Ús

Node.js

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

Navegador

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

Nota : si s'utilitza al navegador, es col·locarà a sotawindow.AsciiTable

Exemple

Ús bàsic

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

També podem fer una taula senzilla sense títol ni encapçalaments.

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

Vegeu: AsciiTable.factoryper obtenir més informació sobre la instanciació

AsciiTable.factory([títol], [opcions])

Creador d'instàncies de taula

  • title- títol de la taula (opcional, predeterminat null)
  • options- opcions de taula (opcional)
    • prefix- prefix de cadena per afegir a cada línia en renderitzar

Nota: Si es passa un objecte en lloc detitle, elfromJSON mètode s'utilitzarà per omplir la taula.

Exemple:

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(direcció, val, len, [pad])

Drecera a un dels tres mètodes següents

  • direction- direcció d'alineació ( AsciiTable.LEFT, AsciiTable.CENTER, AsciiTable.RIGHT)
  • val- corda per alinear
  • len- Longitud total de la cadena creada
  • pad- farciment / farciment de caràcters (opcional, predeterminat ' ')

Exemple:

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

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

  • val- corda per alinear
  • len- Longitud total de la cadena creada
  • pad- farciment / farciment de caràcters (opcional, predeterminat ' ')

Exemple:

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

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

  • val- corda per alinear
  • len- Longitud total de la cadena creada
  • pad- farciment / farciment de caràcters (opcional, predeterminat ' ')

Exemple:

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

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

  • val- corda per alinear
  • len- Longitud total de la cadena creada
  • pad- farciment / farciment de caràcters (opcional, predeterminat ' ')

Exemple:

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

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

Intenteu fer una alineació intel·ligent de proporcionada val, Stringl'entrada s'alinearà a l'esquerra, Numberels tipus estaran alineats a la dreta.

  • val- corda per alinear
  • len- Longitud total de la cadena creada
  • pad- farciment / farciment de caràcters (opcional, predeterminat ' ')

Exemple:

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

AsciiTable.arrayFill(len, [val])

Creeu una nova matriu a la len donada, plena amb el valor donat, que s'utilitza principalment internament

  • len- Longitud de la matriu
  • val- valor d'ompliment (opcional)

Exemple:

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

Instance Methods

instance.setBorder([vora], [omplir], [superior], [inferior])

Estableix els caràcters de la vora per a la representació, si no es passen arguments, es restablirà als valors predeterminats. Si es edgepassa un sol argument, s'utilitzarà per a totes les vores.

  • edge- vores horitzontals (opcional, per defecte |)
  • fill-vores verticals (opcional, per defecte -)
  • top- cantonades superiors (opcional, predeterminada .)
  • bottom- cantonades inferiors (opcional, predeterminada ')

Exemple:

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

Exemple:

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, direcció)

  • idx-índex de columna per alinear
  • direction- direcció d'alineació, ( AsciiTable.LEFT, AsciiTable.CENTER, AsciiTable.RIGHT)

Exemple:

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)

Àlies ainstance.setAlign(idx, AsciiTable.LEFT)

instance.setAlignCenter(idx)

Àlies ainstance.setAlign(idx, AsciiTable.CENTER)

instance.setAlignRight(idx)

Àlies ainstance.setAlign(idx, AsciiTable.RIGHT)

instance.setTitle(títol)

  • title- Títol de la taula

Exemple:

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

instance.getTitle()

Obteniu el títol actual de la taula

Exemple:

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

instance.setTitleAlign(direcció)

  • direction- direcció d'alineació de la taula

Exemple:

1

instance.setTitleAlignLeft()

Àlies ainstance.setTitleAlign(AsciiTable.LEFT)

instance.setTitleAlignCenter()

Àlies ainstance.setTitleAlign(AsciiTable.CENTER)

instance.setTitleAlignRight()

Àlies ainstance.setTitleAlign(AsciiTable.RIGHT)

instance.sort(iterador)

  • iterator- mètode d'ordenació per executar-se contra les files

Exemple:

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(índex, iterador)

Drecera d'ordenació per orientar una columna específica

  • index- columna idx per ordenar
  • iterator- mètode d'ordenació per executar-se amb valors de columna

Exemple:

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

instance.setHeading(encapçalament, [...])

Estableix els encapçalaments de les columnes de la taula, pren els arguments de la mateixa manera queaddRow

  • heading- matriu d'encapçalaments o arguments

Exemple:

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

instance.setHeadingAlign(direcció)

  • direction-

Exemple:

1

instance.setHeadingAlignLeft()

Àlies ainstance.setHeadingAlignLeft(AsciiTable.LEFT)

instance.setHeadingAlignCenter()

Àlies ainstance.setHeadingAlignLeft(AsciiTable.CENTER)

instance.setHeadingAlignRight()

Àlies ainstance.setHeadingAlignLeft(AsciiTable.RIGHT)

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

Les files es poden afegir utilitzant un sol argument de matriu, o els arguments si s'utilitzen diversos arguments en cridar el mètode.

  • row- matriu o arguments de valors de columna

Exemple:

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

addRowOperació a granel

  • rows- matriu multidimensional de files

Exemple:

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

instance.setJustify(activat)

Justifiqueu que totes les columnes tinguin la mateixa amplada

  • enabled- booleà per activar o desactivar justificar, undefinedconsiderat cert

Exemple:

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

instance.toString()

Representa la instància com una cadena per a la sortida

Àlies : [ valueOf, render]

instance.toJSON()

Retorna la representació JSON de la taula, això també ens permet cridar JSON.stringifya la instància.

Exemple:

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)

Omple la taula des de l'objecte json, hauria de coincidir amb la toJSONsortida anterior.

Àlies : [ parse]

Exemple:

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

Esborra/restableix totes les dades de la taula

Àlies : [ reset]

instance.clearRows()

Restableix totes les dades de la fila, manté el títol i els encapçalaments.

Instal·lar

Amb npm

1
npm install ascii-table

Col·laboradors

Matthew Oliveira Peter Daum

llicència

(Llicència MIT)

Copyright (c) 2013 Beau Sorensen

Es concedeix permís, de manera gratuïta, a qualsevol persona que obtingui una còpia d'aquest programari i els fitxers de documentació associats (el "Programari") per tractar el Programari sense restriccions, inclosos, sense limitació, els drets d'utilitzar, copiar, modificar, combinar. , publicar, distribuir, subllicenciar i/o vendre còpies del Programari, i permetre que les persones a qui es subministra el Programari ho facin, subjecte a les condicions següents:

L'avís de drets d'autor anterior i aquest avís de permís s'inclouran a totes les còpies o parts substancials del Programari.

EL PROGRAMARI ES PROPORCIONA "TAL CUAL", SENSE GARANTIA DE CAP TIPUS, EXPLÍCITA O IMPLÍCITA, INCLOSANT, PERÒ NO LIMITAR-SE A LES GARANTIES DE COMERCIABILITAT, IDONEITAT PER A UN PROPÒSIT PARTICULAR I NO INFRACCIÓ. RECLAMACIÓ, DANYS O ALTRES RESPONSABILITATS, JA SIGUI EN UNA ACCIÓ DE CONTRACTE, DORMIR O ALTRE ALTRE, DERIVADA DEL PROGRAMARI O EN RELACIÓ AMB EL PROGRAMARI O L'ÚS O ALTRES TRATATS EN EL PROGRAMARI.