멋진 커뮤니티 모듈

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

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

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

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