멋진 커뮤니티 모듈

Ascii 테이블

빌드 상태 devDependency 상태 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

AsciiTable

인스턴스화에 대한 자세한 내용은 AsciiTable.factory 를 참조하십시오.

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

테이블 인스턴스 생성자

  • title -table title (선택 사항, 기본값은 null )
  • options -table 옵션 (선택 사항)
    • 렌더링시 각 줄에 추가 할 prefix -string 접두사

참고 : 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 (방향, val, len, [pad])

다음 세 가지 방법 중 하나로 바로 가기

  • direction 정렬 방향 ( AsciiTable.LEFT , AsciiTable.CENTER , AsciiTable.RIGHT )
  • val -String에 정렬
  • len 작성된 캐릭터의 - 총 길이
  • pad -padding / fill char (선택 사항, 기본값 ' ' )

예:

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

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

  • val -String에 정렬
  • len 작성된 캐릭터의 - 총 길이
  • pad -padding / fill char (선택 사항, 기본값 ' ' )

예:

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

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

  • val -String에 정렬
  • len 작성된 캐릭터의 - 총 길이
  • pad -padding / fill char (선택 사항, 기본값 ' ' )

예:

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

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

  • val -String에 정렬
  • len 작성된 캐릭터의 - 총 길이
  • pad -padding / fill char (선택 사항, 기본값 ' ' )

예:

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

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

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

  • val -String에 정렬
  • len 작성된 캐릭터의 - 총 길이
  • pad -padding / fill char (선택 사항, 기본값 ' ' )

예:

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

AsciiTable.arrayFill (len, [val])

주로 내부적으로 사용되는 주어진 값으로 채워진 주어진 len에 새 배열을 만듭니다.

  • len 배열 -length
  • val 채집 한 값 (옵션)

예:

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

Instance Methods

instance.setBorder ([edge], [fill], [top], [bottom])

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

  • edge -horizontal 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 (heading, [...])

테이블의 열 머리글을 설정하고 addRow 와 동일한 방식으로 인수를 사용합니다.

  • heading -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 하거나 해제 정당화 전환에 대한 -boolean은 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 라이선스)

저작권 (c) 2013 Beau Sorensen

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

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

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