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 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 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 de cadena creada -total
  • 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 de cadena creada -total
  • pad -padding / fill char (opcional, predeterminado ' ' )

Ejemplo:

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

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

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

Ejemplo:

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

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

  • cadena- val para alinear
  • len longitud de cadena creada -total
  • 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.

  • cadena- val para alinear
  • len longitud de cadena creada -total
  • 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

  • longitud len 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 formulario fill - Número vertical de bordes (opcional, predeterminado - )
  • top esquinas -Top (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 usando un argumento de matriz única, o los argumentos si se usan 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 multidimensional de filas

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 fila, mantiene el título y los encabezados.

Instalar en pc

Con npm

1
npm install ascii-table

Contribuyentes

Matthew Oliveira Peter Daum

Licencia

(La licencia MIT)

Copyright (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 negociar 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 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 SIN LIMITARSE A LAS GARANTÍAS DE COMERCIABILIDAD, APTITUD PARA UN PROPÓSITO PARTICULAR Y NO INFRACCIÓN. 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.