Módulo de comunidad impresionante

Tabla Ascii

Estado de la construcción Estado devDependency 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á debajowindow.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

Ver: AsciiTable.factorypara obtener detalles sobre la creación de instancias

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

Creador de instancias de tabla

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

Nota: Si se pasa un objeto en lugar detitle, elfromJSON método se utilizará 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- dirección de 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])

Intente hacer una alineación inteligente de lo proporcionado val, la Stringentrada se alineará a la izquierda, los Numbertipos se alinearán 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, que se usa principalmente internamente

  • len -longitud de la matriz
  • val -fill value (opcional)

Ejemplo:

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

Instance Methods

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

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

  • edge-bordes horizontales (opcional, predeterminado |)
  • fill-bordes verticales (opcional, predeterminado -)
  • top-esquinas superiores (opcional, predeterminado .)
  • bottom-esquinas inferiores (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- dirección de 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 -título de la tabla

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 -Dirección de alineación de la mesa

Ejemplo:

1

instance.setTitleAlignLeft ()

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

instance.setTitleAlignCenter ()

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

instance.setTitleAlignRight ()

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

instance.sort (iterador)

  • iterator -método de clasificación 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
  • iterator -método de clasificación 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 -matriz de encabezado 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 ​​para instance.setHeadingAlignLeft(AsciiTable.LEFT)

instance.setHeadingAlignCenter ()

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

instance.setHeadingAlignRight ()

Alias ​​para 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 -arreglo 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)

addRowOperación a granel

  • 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 justificar, undefinedconsiderado 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 JSON.stringifya 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 toJSONsalida 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 las filas, 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 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 las que 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. 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 OTROS NEGOCIOS EN EL SOFTWARE.