Módulo de comunidad impresionante

Tabla ascii

Estado de construcciónEstado devDependencyVersión NPM

Salida de tabla fácil para la depuración de nodos, pero probablemente podría hacer más con ella, ya que es solo una cadena.

Tabla de contenido

Uso

Node.js

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

Navegador

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

Nota : Si se usa en el navegador, se colocará debajo de window.AsciiTable

Ejemplo

Uso básico

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

También podemos hacer una tabla simple sin título o encabezados.

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

Consulte: AsciiTable.factory para obtener detalles sobre la AsciiTable.factory de instancias

AsciiTable.factory ([título], [opciones])

Creador de instancias de tabla

  • title -table title (opcional, predeterminado null )
  • options -tabla opciones (opcional)
    • prefix -cadena prefijo para agregar a cada línea en el renderizado

Nota: Si se pasa un objeto en lugar del title , se fromJSON método fromJSON para completar la tabla.

Ejemplo:

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

Acceso directo a uno de los tres métodos siguientes

  • direction - direction alineación ( AsciiTable.LEFT , AsciiTable.CENTER , AsciiTable.RIGHT )
  • val -cadena para alinear
  • len -longitud total de la cadena creada
  • pad -padding / fill char (opcional, predeterminado ' ' )

Ejemplo:

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

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

  • val -cadena para alinear
  • len -longitud total de la cadena creada
  • pad -padding / fill char (opcional, predeterminado ' ' )

Ejemplo:

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

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

  • val -cadena para alinear
  • len longitud total de la cadena creada
  • pad -padding / fill char (opcional, predeterminado ' ' )

Ejemplo:

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

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

  • val -cadena para alinear
  • len -longitud total de la cadena creada
  • pad -padding / fill char (opcional, predeterminado ' ' )

Ejemplo:

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

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

Intentar hacer la alineación inteligente de las proporcionado val , String de entrada será alineado a la izquierda, Number tipos estarán alineados a la derecha.

  • val -cadena para alinear
  • len -longitud total de la cadena creada
  • pad -padding / fill char (opcional, predeterminado ' ' )

Ejemplo:

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

AsciiTable.arrayFill (len, [val])

Cree una nueva matriz en el len dado, rellena con el valor dado, utilizado principalmente internamente

  • len -length of array
  • val -fill value (opcional)

Ejemplo:

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

Instance Methods

instance.setBorder ([borde], [relleno], [superior], [inferior])

Configure los caracteres del borde para la representación, si no se pasan argumentos, se restablecerá a los valores predeterminados. Si se pasa un solo argumento de edge , se utilizará para todos los bordes.

  • edge -bordes horizontales (opcional, predeterminado | )
  • fill formulario fill - Número vertical de bordes (opcional, predeterminado - )
  • esquinas top (opcional, predeterminado) .
  • bottom -esquinas bottom (opcional, predeterminado ' )

Ejemplo:

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

Ejemplo:

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ón)

  • idx índice de columna para alinear
  • direction - direction alineación, ( AsciiTable.LEFT , AsciiTable.CENTER , AsciiTable.RIGHT )

Ejemplo:

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 ​​para instance.setAlign(idx, AsciiTable.LEFT)

instance.setAlignCenter (idx)

Alias ​​para instance.setAlign(idx, AsciiTable.CENTER)

instance.setAlignRight (idx)

Alias ​​para instance.setAlign(idx, AsciiTable.RIGHT)

instance.setTitle (título)

  • title -table title

Ejemplo:

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

instance.getTitle ()

Obtener el título actual de la tabla

Ejemplo:

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

instance.setTitleAlign (dirección)

  • direction alineación de la tabla de dirección

Ejemplo:

1

instance.setTitleAlignLeft ()

Alias ​​de instance.setTitleAlign(AsciiTable.LEFT)

instance.setTitleAlignCenter ()

Alias ​​para instance.setTitleAlign(AsciiTable.CENTER)

instance.setTitleAlignRight ()

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

instance.sort (iterador)

  • método de clasificación de iterator para ejecutar contra las filas

Ejemplo:

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

Atajo de clasificación para apuntar a una columna específica

  • index -columna idx para ordenar
  • método de clasificación de iterator para ejecutar contra valores de columna

Ejemplo:

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

instance.setHeading (título, [...])

Establecer los encabezados de columna para la tabla, toma argumentos de la misma manera que addRow

  • heading - heading matriz o argumentos

Ejemplo:

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

instance.setHeadingAlign (dirección)

  • direction

Ejemplo:

1

instance.setHeadingAlignLeft ()

Alias ​​de instance.setHeadingAlignLeft(AsciiTable.LEFT)

instance.setHeadingAlignCenter ()

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

instance.setHeadingAlignRight ()

Alias ​​de instance.setHeadingAlignLeft(AsciiTable.RIGHT)

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

Las filas se pueden agregar usando un solo argumento de matriz, o los argumentos si se usan múltiples argumentos al llamar al método.

  • row -array o argumentos de valores de columna

Ejemplo:

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

addRow Bulk addRow

  • rows -matriz de rows multidimensional

Ejemplo:

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

instance.setJustify (habilitado)

Justifique que todas las columnas tengan el mismo ancho

  • enabled -booleano para activar o desactivar justificar, undefined considera verdadero

Ejemplo:

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

instance.toString ()

Renderiza la instancia como una cadena para la salida.

Alias : [ valueOf , render ]

instancia.toJSON ()

Devuelve la representación JSON de la tabla, esto también nos permite llamar a JSON.stringify en la instancia.

Ejemplo:

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

instancia.fromJSON (obj)

Complete la tabla desde el objeto json, debe coincidir con la salida toJSON anterior.

Alias : [ parse ]

Ejemplo:

1 2 3 4 5 6 7 8
var table = new AsciiTable().fromJSON({ title: 'Title' , heading: [ 'id', 'name' ] , rows: [ [ 1, 'Bob' ] , [ 2, 'Steve' ] ] })

instancia.clear ()

Borrar / restablecer todos los datos de la tabla

Alias : [ reset ]

instancia.clearRows ()

Restablece todos los datos de la fila, mantiene el título y los encabezados.

Instalar en pc

Con npm

1
npm install ascii-table

Colaboradores

Matthew Oliveira Peter Daum

Licencia

(La licencia del MIT)

Derechos de autor (c) 2013 Beau Sorensen

Por la presente se otorga permiso, sin cargo, a cualquier persona que obtenga una copia de este software y los archivos de documentación asociados (el 'Software'), para operar con el Software sin restricción, incluidos, entre otros, los derechos de uso, copia, modificación, fusión , publicar, distribuir, sublicenciar y / o vender copias del Software, y permitir que las personas a quienes se les proporcione el Software lo hagan, sujeto a las siguientes condiciones:

El aviso de copyright anterior y este aviso de permiso se incluirán en todas las copias o partes sustanciales del Software.

EL SOFTWARE SE PROPORCIONA "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITA, INCLUYENDO PERO NO LIMITADO A LAS GARANTÍAS DE COMERCIABILIDAD, APTITUD PARA UN PROPÓSITO PARTICULAR Y NO INFRACCIÓN. EN NINGÚN CASO LOS AUTORES O TITULARES DE LOS DERECHOS DE AUTOR. RECLAMOS, DAÑOS U OTRA RESPONSABILIDAD, YA SEA EN UNA ACCIÓN DE CONTRATO, AGRAVIO O DE OTRO MODO, QUE SURJAN DE, FUERA DE O EN RELACIÓN CON EL SOFTWARE O EL USO U OTRAS NEGOCIACIONES EN EL SOFTWARE.