tabletip
TypeScript icon, indicating that this package has built-in type declarations

1.1.2 • Public • Published

Tabletip - a tool for creating ascii tables

You will need this if you need to quickly create a table similar to this one:

#   0   1   2   3   4   5
0 | _ | _ | _ | _ | _ | _ |
1 | _ | _ | _ | _ | _ | _ |
2 | _ | _ | _ | _ | _ | _ |
3 | _ | _ | _ | _ | _ | _ |
4 | _ | _ | _ | _ | _ | _ |
5 | _ | _ | _ | _ | _ | _ |

or this

|  1 |  2 |  3 |  4 |  5 |  6 |
|  5 |  6 |  7 |  8 |  9 | 10 |
|  9 | 10 | 11 | 12 | 13 | 14 |
| 13 | 14 | 15 | 16 | 17 | 18 |
| 17 | 18 | 19 | 20 | 21 | 22 |
| 21 | 22 | 23 | 24 | 25 | 26 |

or this

#      2      3      4      5      6      7      8      9     10
2 |    4 |    8 |   16 |   32 |   64 |  128 |  256 |  512 | 1024 |

Installation

npm i tabletip

or just run it with

npx tabletip

CLI usage

Usage: tabletip <rows> <cols> [OPTIONS]...

Arguments:
  rows                       table height (required)
  cols                       table width (required)

Options:
  -v, --version              output the version number
  -i, --inclideHeaders       include table headers (default: false)
  -f, --fill <char>          fill with symbol (defalut is "0") (default: "0")
  -c, --copy                 copy output to clipboard (only MacOS) (default: false)
  -t, --tabulation           remove tabulation (make ugly) output (default: false)
  -s, --startFrom <number>   start table rows & cols from (default: 0)
  --startRows <number>       start table rows from
  --startCols <number>       start table cols from
  -e, --expression <string>  use javascript expression to fill a table
  -d, --delimeter <char>     change delimeter (default: "|")
  -h, --help                 display help for command

Example:

npx tabletip 2 2

will print

| 0 | 0 |
| 0 | 0 |

Options

-c - copy to clipboard

copy output to clipboard (work only on MacOS at the moment)

-i, --inclideHeaders - include table headers

npx tabletip 2 2 -i

#   0   1
0 | 0 | 0 |
1 | 0 | 0 |

-f, --fill - fill with symbol (defalut is "0")

npx tabletip 3 3 -f "a"

| a | a | a |
| a | a | a |
| a | a | a |

-e - use javascript expression to fill a table

npx tabletip 4 4 -i -e "2*2"

#   0   1   2   3
0 | 4 | 4 | 4 | 4 |
1 | 4 | 4 | 4 | 4 |
2 | 4 | 4 | 4 | 4 |
3 | 4 | 4 | 4 | 4 |

you can get current rows and column with variables row and col:

npx tabletip 4 4 -i -e "(row+1)*(col+1)"

#   0   1    2    3
0 | 1 | 2 |  3 |  4 |
1 | 2 | 4 |  6 |  8 |
2 | 3 | 6 |  9 | 12 |
3 | 4 | 8 | 12 | 16 |

-s - start table rows & cols from (default: 0)

npx tabletip 4 4 -e "(row)*(col)" -i -s 1

#    1    2    3    4
1 |  1 |  2 |  3 |  4 |
2 |  2 |  4 |  6 |  8 |
3 |  3 |  6 |  9 | 12 |
4 |  4 |  8 | 12 | 16 |

without this option you will get zeroes at start

#   0   1   2   3
0 | 0 | 0 | 0 | 0 |
1 | 0 | 1 | 2 | 3 |
2 | 0 | 2 | 4 | 6 |
3 | 0 | 3 | 6 | 9 |

--startRows - start table rows from

the same as -s, but applies only to rows

--startCols - start table cols from

the same as -s, but applies only to columns

-t - disable tabulation

with
npx tabletip 4 4 -e "(row+1)*(col+1)" -t

you get

#   0   1   2   3
0 | 1 | 2 | 3 | 4 |
1 | 2 | 4 | 6 | 8 |
2 | 3 | 6 | 9 | 12 |
3 | 4 | 8 | 12 | 16 |

instead of

#    0    1    2    3
0 |  1 |  2 |  3 |  4 |
1 |  2 |  4 |  6 |  8 |
2 |  3 |  6 |  9 | 12 |
3 |  4 |  8 | 12 | 16 |

Some examples

npx tabletip 7 7 -e "col === row || col + row === 6 ? '*' : ' '"

| * |   |   |   |   |   | * |
|   | * |   |   |   | * |   |
|   |   | * |   | * |   |   |
|   |   |   | * |   |   |   |
|   |   | * |   | * |   |   |
|   | * |   |   |   | * |   |
| * |   |   |   |   |   | * |

npx tabletip 6 6 -e "(row*4+col+1)"

|  1 |  2 |  3 |  4 |  5 |  6 |
|  5 |  6 |  7 |  8 |  9 | 10 |
|  9 | 10 | 11 | 12 | 13 | 14 |
| 13 | 14 | 15 | 16 | 17 | 18 |
| 17 | 18 | 19 | 20 | 21 | 22 |
| 21 | 22 | 23 | 24 | 25 | 26 |

npx tabletip 6 6 -e "5*5-(row*4+col)+1"

| 26 | 25 | 24 | 23 | 22 | 21 |
| 22 | 21 | 20 | 19 | 18 | 17 |
| 18 | 17 | 16 | 15 | 14 | 13 |
| 14 | 13 | 12 | 11 | 10 |  9 |
| 10 |  9 |  8 |  7 |  6 |  5 |
|  6 |  5 |  4 |  3 |  2 |  1 |

npx tabletip 1 11 -e "Math.pow(row, col)" -i --startRows 2

#      0      1      2      3      4      5      6      7      8      9     10
2 |    1 |    2 |    4 |    8 |   16 |   32 |   64 |  128 |  256 |  512 | 1024 |

API usage examples

import tabletip from 'tabletip';

let result
result = tabletip(2, 2);
result = tabletip(4, 4, { fillSymbol: '_', includeHeaders: true });
result = tabletip(4, 4, {
  includeHeaders: true,
  startFrom: 1,
  expression: '(row+1)*(col+1)',
  removeTabulation: true,
});

Package Sidebar

Install

npm i tabletip

Weekly Downloads

0

Version

1.1.2

License

MIT

Unpacked Size

10.5 kB

Total Files

6

Last publish

Collaborators

  • vmishakin