Impresionante módulo de comunidad

Mesa Ascii

Estado de compilación DevDependency Status Versió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 contenidos

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 la 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 ni 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, null predeterminado)
  • options -tabla opciones (opcional)
    • prefix - prefix cadena para agregar a cada línea en el render

Nota: Si se pasa un objeto en lugar del title , el método fromJSON se usará 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 (direction, val, len, [pad])

Acceso directo a uno de los tres métodos siguientes

  • direction -alignment direction ( AsciiTable.LEFT , AsciiTable.CENTER , AsciiTable.RIGHT )
  • cadena- val para alinear
  • len - Longitud total de cadena creada
  • pad -padding / fill char (opcional, predeterminado ' ' )

Ejemplo:

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

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

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

Ejemplo:

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

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

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

Ejemplo:

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

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

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

Ejemplo:

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

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

La alineación inteligente de hacer Remate Siempre val , String INPUT por será alineado a la izquierda, Number tipos de será alineado a la derecha.

  • cadena- val para alinear
  • len - Longitud total de 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 la len dada, llena con el valor dado, principalmente utilizada internamente

  • len longitud de la matriz
  • valor de relleno de val (opcional)

Ejemplo:

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

Instance Methods

instance.setBorder ([borde], [relleno], [arriba], [abajo])

Establezca los caracteres de 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 usará para todos los bordes.

  • edge - bordes horizontales (opcional, predeterminado | )
  • fill - Número vertical de la forma de los bordes (opcional, por defecto - )
  • top - esquinas superiores (opcional, por defecto . )
  • esquinas bottom - 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, direction)

  • idx -column index para alinear
  • direction -alignment direction, ( 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 ​​a instance.setAlign(idx, AsciiTable.LEFT)

instance.setAlignCenter (idx)

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

instance.setAlignRight (idx)

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

instance.setTitle (título)

  • title -tabla título

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 tabla de dirección

Ejemplo:

1

instance.setTitleAlignLeft ()

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

instance.setTitleAlignCenter ()

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

instance.setTitleAlignRight ()

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

instancia.sort (iterador)

  • método de ordenació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 -column idx para ordenar
  • método de ordenació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, [...])

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

  • heading - heading 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 ​​a instance.setHeadingAlignLeft(AsciiTable.LEFT)

instance.setHeadingAlignCenter ()

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

instance.setHeadingAlignRight ()

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

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

Las filas se pueden agregar utilizando un argumento de matriz única, o los argumentos si se utilizan múltiples argumentos al llamar al método.

  • row matriz 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 | '---------------'

instancia.addRowMatrix (filas)

addRow masiva de addRow

  • rows : matriz de filas 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 la justificación, 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 ()

Renderice la instancia como una cadena para salida

Alias : [ valueOf , render ]

instance.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)

Rellene 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 ]

instance.clearRows ()

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

Instalar

Con npm

1
npm install ascii-table

Colaboradores

Matthew Oliveira Peter Daum

Licencia

(La licencia MIT)

Copyright (c) 2013 Beau Sorensen

Por la presente, se otorga permiso, de forma gratuita, a cualquier persona que obtenga una copia de este software y los archivos de documentación asociados (el 'Software'), para operar en el Software sin restricciones, incluidos, entre otros, los derechos de uso, copia, modificación, fusión , publicar, distribuir, sublicenciar y / o vender copias del Software, y permitir a las personas a quienes se les proporciona el Software que 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 SIN LIMITARSE A LAS GARANTÍAS DE COMERCIABILIDAD, APTITUD PARA UN PROPÓSITO Y NO INFRACCIÓN EN PARTICULAR. RECLAMACIÓN, DAÑOS U OTRA RESPONSABILIDAD, YA SEA POR ACCIÓN DE CONTRATO, TORTURA O DE OTRA MANERA, DERIVADA, FUERA DE, O EN RELACIÓN CON EL SOFTWARE O EL USO U OTRAS OFERTAS EN EL SOFTWARE.