Taula Ascii
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
- Exemple
- API
- Mètodes estàtics
- Mètodes d'instàncies
- setBorder([vora], [omplir], [superior], [inferior])
- removeBorder()
- setAlign(idx, direcció)
- setAlignLeft(idx)
- setAlignCenter(idx)
- setAlignRight(idx)
- setTitle(títol)
- obtenirTítol()
- setTitleAlign (direcció)
- setTitleAlignLeft()
- setTitleAlignCenter()
- setTitleAlignRight()
- ordena ([iterador])
- sortColumn(idx, [iterador])
- setHeading(encapçalament, [...])
- setHeadingAlign (direcció)
- setHeadingAlignLeft()
- setHeadingAlignCenter()
- setHeadingAlignRight()
- addRow(fila, [...])
- addRowMatrix(files)
- setJustify([activat])
- toString()
- toJSON()
- de JSON(obj)
- clar ()
- clearRows()
- Instal·lar
- Col·laboradors
- llicència
Ús
Node.js
1var 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
8var 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
10var 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.factory
per 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, predeterminatnull
)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
10var 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 alinearlen
- Longitud total de la cadena creadapad
- farciment / farciment de caràcters (opcional, predeterminat' '
)
Exemple:
1table.align(AsciiTable.LEFT, 'hey', 7) // 'hey '
AsciiTable.alignLeft(val, len, [pad])
val
- corda per alinearlen
- Longitud total de la cadena creadapad
- farciment / farciment de caràcters (opcional, predeterminat' '
)
Exemple:
1table.alignLeft('hey', 7, '-') // 'hey----'
AsciiTable.alignCenter(val, len, [pad])
val
- corda per alinearlen
- Longitud total de la cadena creadapad
- farciment / farciment de caràcters (opcional, predeterminat' '
)
Exemple:
1table.alignCenter('hey', 7) // ' hey '
AsciiTable.alignRight(val, len, [pad])
val
- corda per alinearlen
- Longitud total de la cadena creadapad
- farciment / farciment de caràcters (opcional, predeterminat' '
)
Exemple:
1table.alignRight('hey', 7) // ' hey'
AsciiTable.alignAuto(val, len, [pad])
Intenteu fer una alineació intel·ligent de proporcionada val
, String
l'entrada s'alinearà a l'esquerra, Number
els tipus estaran alineats a la dreta.
val
- corda per alinearlen
- Longitud total de la cadena creadapad
- farciment / farciment de caràcters (opcional, predeterminat' '
)
Exemple:
1table.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 matriuval
- valor d'ompliment (opcional)
Exemple:
1AsciiTable.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 edge
passa 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
7var 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
3table.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 alineardirection
- direcció d'alineació, (AsciiTable.LEFT
,AsciiTable.CENTER
,AsciiTable.RIGHT
)
Exemple:
1
2
3
4
5table
.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
3var table = new AsciiTable('Old Title')
table.setTitle('New Title')
instance.getTitle()
Obteniu el títol actual de la taula
Exemple:
1table.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
4table.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 ordenariterator
- 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
5table.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
7var 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)
addRow
Operació a granel
rows
- matriu multidimensional de files
Exemple:
1
2
3
4table.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,undefined
considerat cert
Exemple:
1
2
3
4
5table
.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.stringify
a la instància.
Exemple:
1
2
3
4
5
6
7
8
9var 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 toJSON
sortida anterior.
Àlies : [ parse
]
Exemple:
1
2
3
4
5
6
7
8var 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
1npm install ascii-table
Col·laboradors
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.