멋진 커뮤니티 모듈

아스키 테이블

빌드 상태 개발 종속성 상태 NPM 버전

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

목차

용법

노드.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

아스키 테이블

참조: 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-패딩/채우기 char(선택 사항, 기본값 ' ')

예시:

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

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

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

예시:

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

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

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

예시:

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

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

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

예시:

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

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

지능형에서 제공된 정렬 수행하려고 val, String입력은 좌측 정렬 될 것이다, Number유형 오른쪽 정렬한다.

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

예시:

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

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

instance.removeBorder()

예시:

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, 방향)

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

instance.setAlignLeft(idx)

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

instance.setAlignCenter(idx)

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

instance.setAlignRight(idx)

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

instance.setTitle(제목)

  • title - 테이블 제목

예시:

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

instance.getTitle()

테이블의 현재 제목 가져오기

예시:

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

instance.setTitleAlign(방향)

  • direction - 테이블 정렬 방향

예시:

1

instance.setTitleAlignLeft()

별칭 instance.setTitleAlign(AsciiTable.LEFT)

instance.setTitleAlignCenter()

별칭 instance.setTitleAlign(AsciiTable.CENTER)

instance.setTitleAlignRight()

별칭 instance.setTitleAlign(AsciiTable.RIGHT)

instance.sort(반복자)

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

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

instance.setHeading(제목, [...])

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

  • heading - 표제 배열 또는 인수

예시:

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

instance.setHeadingAlign(방향)

  • direction -

예시:

1

instance.setHeadingAlignLeft()

별칭 instance.setHeadingAlignLeft(AsciiTable.LEFT)

instance.setHeadingAlignCenter()

별칭 instance.setHeadingAlignLeft(AsciiTable.CENTER)

instance.setHeadingAlignRight()

별칭 instance.setHeadingAlignLeft(AsciiTable.RIGHT)

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

instance.addRowMatrix(행)

대량 addRow작업

  • rows - 다차원 행 배열

예시:

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

instance.setJustify(활성화됨)

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

  • enabled- 정당화를 켜거나 끄기 위한 부울, undefined참으로 간주

예시:

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

instance.toString()

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

별칭 : [ valueOf, render]

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

instance.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' ] ] })

instance.clear()

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

별칭 : [ reset]

instance.clearRows()

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

설치

NPM

1
npm install ascii-table

기여자

매튜 올리베이라 피터 다음

특허

(MIT 라이선스)

Copyright (c) 2013 Beau Sorensen

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

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

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