멋진 커뮤니티 모듈

아스키 테이블

빌드 상태 dev종속성 상태 NPM 버전

노드 디버깅을 위한 쉬운 테이블 출력이지만 단순한 문자열이므로 더 많은 작업을 수행할 수 있습니다.

목차

용법

Node.js

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

브라우저

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

참고 : 브라우저에서 사용하는 경우 아래에 배치됩니다.window.AsciiTable

기본 사용법

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

제목이나 제목 없이도 간단한 표를 만들 수 있습니다.

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

Ascii테이블

참조: AsciiTable.factory인스턴스화에 대한 자세한 내용

AsciiTable.factory([제목], [옵션])

테이블 인스턴스 생성자

  • title- 테이블 제목(선택사항, 기본값 null)
  • options- 테이블 옵션(선택사항)
    • prefix- 렌더링 시 각 줄에 추가할 문자열 접두어

참고: 객체 대신 객체가 전달되면title해당fromJSON 메소드가 테이블을 채우는 데 사용됩니다.

예:

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- 정렬 방향 ( AsciiTable.LEFT, AsciiTable.CENTER, AsciiTable.RIGHT)
  • val- 정렬할 문자열
  • len- 생성된 문자열의 전체 길이
  • pad- 패딩 / 채우기 문자 (선택 사항, 기본값 ' ')

예:

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

AsciiTable.alignLeft(val, len, [패드])

  • val- 정렬할 문자열
  • len- 생성된 문자열의 전체 길이
  • pad- 패딩 / 채우기 문자 (선택 사항, 기본값 ' ')

예:

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

AsciiTable.alignCenter(val, len, [패드])

  • val- 정렬할 문자열
  • len- 생성된 문자열의 전체 길이
  • pad- 패딩 / 채우기 문자 (선택 사항, 기본값 ' ')

예:

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

AsciiTable.alignRight(val, len, [패드])

  • val- 정렬할 문자열
  • len- 생성된 문자열의 전체 길이
  • pad- 패딩 / 채우기 문자 (선택 사항, 기본값 ' ')

예:

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

AsciiTable.alignAuto(val, len, [패드])

val제공된 의 지능적인 정렬을 시도 하면 String입력은 왼쪽 정렬되고 Number유형은 오른쪽 정렬됩니다.

  • val- 정렬할 문자열
  • len- 생성된 문자열의 전체 길이
  • pad- 패딩 / 채우기 문자 (선택 사항, 기본값 ' ')

예:

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

AsciiTable.arrayFill(len, [val])

주어진 len에 새로운 배열을 생성하고, 주어진 값으로 채워지며, 주로 내부적으로 사용됩니다.

  • len- 배열의 길이
  • val- 값 채우기(선택 사항)

예:

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

Instance Methods

인스턴스.setBorder([가장자리], [채우기], [위], [아래])

렌더링할 테두리 문자를 설정합니다. 인수가 전달되지 않으면 기본값으로 재설정됩니다. 단일 edge인수가 전달되면 모든 테두리에 사용됩니다.

  • edge- 수평 모서리(선택 사항, 기본값 |)
  • fill-수직 가장자리 (선택 사항, 기본값 -)
  • top- 상단 모서리(선택 사항, 기본값 .)
  • bottom- 하단 모서리(선택 사항, 기본값 ')

예:

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

인스턴스.제거경계()

예:

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

인스턴스.setAlign(idx, 방향)

  • idx- 정렬할 열 인덱스
  • direction- 정렬 방향, ( AsciiTable.LEFT, AsciiTable.CENTER, AsciiTable.RIGHT)

예:

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

인스턴스.setAlignLeft(idx)

별칭instance.setAlign(idx, AsciiTable.LEFT)

인스턴스.setAlignCenter(idx)

별칭instance.setAlign(idx, AsciiTable.CENTER)

인스턴스.setAlignRight(idx)

별칭instance.setAlign(idx, AsciiTable.RIGHT)

인스턴스.setTitle(제목)

  • title- 테이블 제목

예:

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

인스턴스.getTitle()

테이블의 현재 제목을 가져옵니다.

예:

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

인스턴스.setTitleAlign(방향)

  • direction- 테이블 정렬 방향

예:

1

인스턴스.setTitleAlignLeft()

별칭instance.setTitleAlign(AsciiTable.LEFT)

인스턴스.setTitleAlignCenter()

별칭instance.setTitleAlign(AsciiTable.CENTER)

인스턴스.setTitleAlignRight()

별칭instance.setTitleAlign(AsciiTable.RIGHT)

인스턴스.정렬(반복자)

  • iterator- 행에 대해 실행되는 정렬 방법

예:

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

인스턴스.sortColumn(인덱스, 반복자)

특정 열을 타겟팅하는 정렬 단축키

  • index- 정렬할 열 idx
  • iterator- 열 값에 대해 실행되는 정렬 방법

예:

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

인스턴스.setHeading(제목, [...])

테이블의 열 제목을 설정하고 다음과 같은 방식으로 인수를 사용합니다.addRow

  • heading- 제목 배열 또는 인수

예:

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

인스턴스.setHeadingAlign(방향)

  • direction-

예:

1

인스턴스.setHeadingAlignLeft()

별칭instance.setHeadingAlignLeft(AsciiTable.LEFT)

인스턴스.setHeadingAlignCenter()

별칭instance.setHeadingAlignLeft(AsciiTable.CENTER)

인스턴스.setHeadingAlignRight()

별칭instance.setHeadingAlignLeft(AsciiTable.RIGHT)

인스턴스.addRow(행, [...])

단일 배열 인수를 사용하거나, 메서드 호출 시 여러 인수가 사용되는 경우 인수를 사용하여 행을 추가할 수 있습니다.

  • row- 열 값의 배열 또는 인수

예:

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

인스턴스.addRowMatrix(행)

대량 addRow작업

  • rows- 행의 다차원 배열

예:

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

인스턴스.setJustify(활성화)

모든 열을 동일한 너비로 정렬

  • enabled- 양쪽 정렬을 켜거나 끄는 부울, undefined참으로 간주됨

예:

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

인스턴스.toString()

인스턴스를 출력용 문자열로 렌더링

별칭 : [ valueOf, render]

인스턴스.toJSON()

테이블의 JSON 표현을 반환합니다. 이를 통해 JSON.stringify인스턴스를 호출할 수도 있습니다.

예:

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

인스턴스.fromJSON(obj)

json 개체에서 테이블을 채우고 toJSON위의 출력과 일치해야 합니다.

별칭 : [ parse]

예:

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

인스턴스.클리어()

모든 테이블 데이터 지우기/재설정

별칭 : [ reset]

인스턴스.clearRows()

모든 행 데이터를 재설정하고 제목과 제목을 유지합니다.

설치하다

npm 으로

1
npm install ascii-table

기여자

매튜 올리베이라 피터 다움

특허

(MIT 라이센스)

저작권 (c) 2013 보 소렌센

본 소프트웨어 및 관련 문서 파일('소프트웨어')의 사본을 취득한 모든 사람에게 사용, 복사, 수정, 병합에 대한 권리를 포함하되 이에 국한되지 않고 제한 없이 소프트웨어를 취급할 수 있는 권한이 무료로 부여됩니다. , 다음 조건에 따라 소프트웨어 사본을 게시, 배포, 재라이센스 부여 및/또는 판매하고, 소프트웨어를 제공받은 사람이 그렇게 하도록 허용합니다.

위의 저작권 고지와 본 허가 고지는 소프트웨어의 모든 사본 또는 상당 부분에 포함됩니다.

소프트웨어는 상품성, 특정 목적에의 적합성 및 비침해에 대한 보증을 포함하되 이에 국한되지 않고 명시적이든 묵시적이든 어떠한 종류의 보증도 없이 '있는 그대로' 제공됩니다. 어떠한 경우에도 작성자나 저작권 보유자는 어떠한 책임도 지지 않습니다. 소프트웨어나 소프트웨어의 사용 또는 기타 거래로 인해 발생하거나 이와 관련하여 발생하는 계약, 불법 행위 또는 기타 소송에서 발생하는 청구, 손해 또는 기타 책임.