{"_id":"fast-text-table","_rev":"4-84dd76372587f852ec8193a5b6517ab0","name":"fast-text-table","dist-tags":{"latest":"1.1.0"},"versions":{"0.1.0":{"name":"fast-text-table","version":"0.1.0","author":{"name":"D-Sketon"},"license":"MIT","_id":"fast-text-table@0.1.0","maintainers":[{"name":"d-sketon","email":"2055272094@qq.com"}],"dist":{"shasum":"eb5fb049534ee5e02f948d8fee69def28410c489","tarball":"https://registry.npmjs.org/fast-text-table/-/fast-text-table-0.1.0.tgz","fileCount":6,"integrity":"sha512-uJc8+XM22vpBDe0VI5fsn6AJHeGpVXGPPU7MB+K3399jX0LBSqx1pW6r8Onl3PiRLtUkB5HaQlknf51ueTDATg==","signatures":[{"sig":"MEYCIQCm1UZr6a4NO1ABHypaa3yeLRu+dye1MUHIudk6yYKk4gIhANWXeYPIXQW+qLnGZ1S3dk+yxF40ofc4W9o3oG65b92Y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5460},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.cjs","require":"./dist/index.cjs"},"./*":"./*"},"scripts":{"test":"vitest","bench":"vitest bench","build":"rollup -c"},"_npmUser":{"name":"d-sketon","email":"2055272094@qq.com"},"_npmVersion":"10.5.2","description":"Quickly generate borderless text tables with alignment","directories":{},"sideEffects":false,"_nodeVersion":"20.13.1","_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.8.1","rollup":"^4.34.0","vitest":"^3.0.4","cli-color":"^2.0.4","text-table":"^0.2.0","typescript":"^5.7.3","@types/cli-color":"^2.0.6","@types/text-table":"^0.2.5","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-typescript":"^12.1.2"},"_npmOperationalInternal":{"tmp":"tmp/fast-text-table_0.1.0_1738507147835_0.5795119557752055","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"fast-text-table","version":"1.0.0","author":{"name":"D-Sketon"},"license":"MIT","_id":"fast-text-table@1.0.0","maintainers":[{"name":"d-sketon","email":"2055272094@qq.com"}],"homepage":"https://github.com/D-Sketon/fast-text-table#readme","bugs":{"url":"https://github.com/D-Sketon/fast-text-table/issues"},"dist":{"shasum":"bbe652f89e6aef06f9f2605350955a87bb0eb62c","tarball":"https://registry.npmjs.org/fast-text-table/-/fast-text-table-1.0.0.tgz","fileCount":11,"integrity":"sha512-I5+svJ4NcpMxVbvUR49+TBEgB3aT7k6f27oDBNm/2mUlQLppcvkYisvZ+70V7Pg6vwSo2CWivLaQd3r0tWMSrA==","signatures":[{"sig":"MEQCICjN7pnyNNU3dRXkGyR1hMN/gQJA0A40Swl6ADmckPyuAiASt6zPDg4qzSGpAU1rm86bUTsneZGdkb9Lv8Q7Ky3oNA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13769},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.cjs","require":"./dist/index.cjs"},"./*":"./*"},"gitHead":"0b7eaa64e7e0dbce620e70ceab4b1cd50e4333f5","scripts":{"test":"vitest","bench":"tsx src/index.bench.ts","build":"rollup -c"},"_npmUser":{"name":"d-sketon","email":"2055272094@qq.com"},"repository":{"url":"git+https://github.com/D-Sketon/fast-text-table.git","type":"git"},"_npmVersion":"10.5.2","description":"Quickly generate borderless text tables with alignment","directories":{},"sideEffects":false,"_nodeVersion":"20.13.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.4","tslib":"^2.8.1","mitata":"^1.0.34","rollup":"^4.41.1","vitest":"^3.1.4","cli-color":"^2.0.4","text-table":"^0.2.0","typescript":"^5.8.3","@types/cli-color":"^2.0.6","@types/text-table":"^0.2.5","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-typescript":"^12.1.2"},"_npmOperationalInternal":{"tmp":"tmp/fast-text-table_1.0.0_1748714733508_0.060305522968284286","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"fast-text-table","version":"1.0.1","author":{"name":"D-Sketon"},"license":"MIT","_id":"fast-text-table@1.0.1","maintainers":[{"name":"d-sketon","email":"2055272094@qq.com"}],"homepage":"https://github.com/D-Sketon/fast-text-table#readme","bugs":{"url":"https://github.com/D-Sketon/fast-text-table/issues"},"dist":{"shasum":"7057f0d58e72eb369601876f9be4ef554ff68254","tarball":"https://registry.npmjs.org/fast-text-table/-/fast-text-table-1.0.1.tgz","fileCount":6,"integrity":"sha512-KUwE3MizTzXwhrvTTEpWbug1ngV1zfjwzdxSkeWYGUoVGaaQoid+jxgg4zm4LB+OrtnD+X2xJFq7DCO3pc3fdQ==","signatures":[{"sig":"MEYCIQD8b8Lf64unCh1Bypyxlm/kvvPguHqwqP4eK/vDtktuwgIhAL0B+MIafOXCp3NYx/+1kLxXRMNqpk7UzSpzuQiDfCYD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8211},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.cjs","require":"./dist/index.cjs"},"./*":"./*"},"gitHead":"9b0bc61f44550965a25fac45abd3e83f961b42e0","scripts":{"test":"vitest","bench":"tsx --expose-gc --allow-natives-syntax src/index.bench.ts","build":"rollup -c"},"_npmUser":{"name":"d-sketon","email":"2055272094@qq.com"},"repository":{"url":"git+https://github.com/D-Sketon/fast-text-table.git","type":"git"},"_npmVersion":"10.5.2","description":"Quickly generate borderless text tables with alignment","directories":{},"sideEffects":false,"_nodeVersion":"20.13.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.4","tslib":"^2.8.1","mitata":"^1.0.34","rollup":"^4.41.1","vitest":"^3.1.4","cli-color":"^2.0.4","text-table":"^0.2.0","typescript":"^5.8.3","@types/cli-color":"^2.0.6","@types/text-table":"^0.2.5","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-typescript":"^12.1.2"},"_npmOperationalInternal":{"tmp":"tmp/fast-text-table_1.0.1_1748753129611_0.5648193162838187","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"fast-text-table","version":"1.1.0","main":"dist/index.cjs","module":"dist/index.mjs","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs","types":"./dist/index.d.ts","default":"./dist/index.cjs"},"./*":"./*"},"scripts":{"test":"vitest","bench":"tsx --expose-gc --allow-natives-syntax src/index.bench.ts","build":"rollup -c"},"sideEffects":false,"author":{"name":"D-Sketon"},"license":"MIT","description":"Quickly generate borderless text tables with alignment","devDependencies":{"@rollup/plugin-terser":"^1.0.0","@rollup/plugin-typescript":"^12.3.0","@types/cli-color":"^2.0.6","@types/text-table":"^0.2.5","cli-color":"^2.0.4","mitata":"^1.0.34","rollup":"^4.62.2","text-table":"^0.2.0","text-table-fast":"^0.1.0","tslib":"^2.8.1","tsx":"^4.23.1","typescript":"^5.9.3","vitest":"^4.1.10"},"repository":{"type":"git","url":"git+https://github.com/D-Sketon/fast-text-table.git"},"bugs":{"url":"https://github.com/D-Sketon/fast-text-table/issues"},"homepage":"https://github.com/D-Sketon/fast-text-table#readme","publishConfig":{"provenance":true,"access":"public"},"keywords":["table","text-table","cli","format"],"gitHead":"21280d244b05f56c28e80b525de8e740d20857d5","_id":"fast-text-table@1.1.0","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-Sy8/ESTt2nBEU45NGdgFzraZZAMH3C/pFpwsMdKOqRAlTMr6qbn66E8YTxsC4bkJaOhWqaBpEYfrN3CT8N/phw==","shasum":"40126866a611845e6900eca130257af9a2cfff65","tarball":"https://registry.npmjs.org/fast-text-table/-/fast-text-table-1.1.0.tgz","fileCount":6,"unpackedSize":7771,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/fast-text-table@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAiz0CjP5zPJhvHAfX3buj2UD926pslxDHBJEklEddb9AiEA7fSgjEMhxby7tDJwymG5C33FcY0duL6xHEXFKSlB6IE="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:68901ef0-2eb5-4f06-be71-5269a9381e54"}},"directories":{},"maintainers":[{"name":"d-sketon","email":"2055272094@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/fast-text-table_1.1.0_1785049926038_0.1670743076022645"},"_hasShrinkwrap":false}},"time":{"created":"2025-02-02T14:39:07.834Z","modified":"2026-07-26T07:12:06.458Z","0.1.0":"2025-02-02T14:39:08.129Z","1.0.0":"2025-05-31T18:05:33.685Z","1.0.1":"2025-06-01T04:45:29.786Z","1.1.0":"2026-07-26T07:12:06.166Z"},"bugs":{"url":"https://github.com/D-Sketon/fast-text-table/issues"},"author":{"name":"D-Sketon"},"license":"MIT","homepage":"https://github.com/D-Sketon/fast-text-table#readme","repository":{"type":"git","url":"git+https://github.com/D-Sketon/fast-text-table.git"},"description":"Quickly generate borderless text tables with alignment","maintainers":[{"name":"d-sketon","email":"2055272094@qq.com"}],"readme":"# fast-text-table\n\n![npm bundle size](https://img.shields.io/bundlephobia/min/fast-text-table) ![npm](https://img.shields.io/npm/v/fast-text-table) ![NPM](https://img.shields.io/npm/l/fast-text-table) ![npm downloads](https://img.shields.io/npm/dt/fast-text-table)  \n\nRewrite of [text-table](https://www.npmjs.com/package/text-table) in TypeScript, making it faster and smaller.\n\n## Install\n\n```sh\nnpm install fast-text-table\n```\n\n## Usage\n\n```js\nimport table from \"fast-text-table\";\n// or\nconst table = require(\"fast-text-table\");\n\nconst t = table([\n  [\"master\", \"0123456789abcdef\"],\n  [\"staging\", \"fedcba9876543210\"],\n]);\nconsole.log(t);\n```\n\nOutput:\n\n```txt\nmaster   0123456789abcdef\nstaging  fedcba9876543210\n```\n\n### left-right align\n\n```js\ntable(\n  [\n    [\"beep\", \"1024\"],\n    [\"boop\", \"33450\"],\n    [\"foo\", \"1006\"],\n    [\"bar\", \"45\"],\n  ],\n  { align: [\"l\", \"r\"] }\n);\n```\n\n```txt\nbeep   1024\nboop  33450\nfoo    1006\nbar      45\n```\n\n### dotted align\n\n```js\ntable(\n  [\n    [\"beep\", \"1024\"],\n    [\"boop\", \"334.212\"],\n    [\"foo\", \"1006\"],\n    [\"bar\", \"45.6\"],\n    [\"baz\", \"123.\"],\n  ],\n  { align: [\"l\", \".\"] }\n);\n```\n\n```txt\nbeep  1024\nboop   334.212\nfoo   1006\nbar     45.6\nbaz    123.\n```\n\n### centered\n\n```js\ntable(\n  [\n    [\"beep\", \"1024\", \"xyz\"],\n    [\"boop\", \"3388450\", \"tuv\"],\n    [\"foo\", \"10106\", \"qrstuv\"],\n    [\"bar\", \"45\", \"lmno\"],\n  ],\n  { align: [\"l\", \"c\", \"l\"] }\n);\n```\n\n```txt\nbeep    1024   xyz\nboop  3388450  tuv\nfoo    10106   qrstuv\nbar      45    lmno\n```\n\n## API\n\n### `table(rows, [opts])`\n\n- `rows` `any[][]` - Array of rows to format.\n- `opts` `object` - Optional options object.\n  - `opts.hsep` `string` - Horizontal separator. Default: `\"  \"`.\n  - `opts.align` `string[]` - Array of alignment types for each column. Default: `[\"l\", \"l\", ..., \"l\"]`.\n    - `l` - Left\n    - `r` - Right\n    - `c` - Center\n    - `.` - Dotted\n  - `opts.stringLength` `function` - Custom string length function. Default: `s => s.length`.\n\n## Benchmarks\n\n```\nclk: ~3.85 GHz\ncpu: 13th Gen Intel(R) Core(TM) i5-13400F\nruntime: node 26.5.0 (x64-win32)\n\nbenchmark                   avg (min … max) p75 / p99    (min … top 1%)\n------------------------------------------- -------------------------------\n• table - small dataset\n------------------------------------------- -------------------------------\nfast-text-table                4.87 µs/iter   5.34 µs   5.81 µs ▄█▄▂▁▁▁▂▂▂▂\ntext-table-fast                5.53 µs/iter   5.52 µs   6.29 µs ▆█▆▂▃▁▁▁▃▂▂\ntext-table                    20.81 µs/iter  20.90 µs  21.05 µs ▅▅▅▁▅▁██▅▅▅\n\nsummary\n  fast-text-table\n   1.14x faster than text-table-fast\n   4.27x faster than text-table\n\n• table - middle dataset\n------------------------------------------- -------------------------------\nfast-text-table              250.80 µs/iter 272.70 µs 414.30 µs ▁▅▆█▇▄▃▂▁▁▁\ntext-table-fast              313.86 µs/iter 321.10 µs 462.90 µs ▂█▆▅▂▂▂▁▁▂▁\ntext-table                     7.13 ms/iter   7.20 ms   8.36 ms ▃█▇▄▃▂▂▁▁▁▂\n\nsummary\n  fast-text-table\n   1.25x faster than text-table-fast\n   28.42x faster than text-table\n\n• table - large dataset\n------------------------------------------- -------------------------------\nfast-text-table                5.67 ms/iter   5.75 ms   6.89 ms ▂▆█▅▂▂▂▁▁▁▁\ntext-table-fast               26.08 ms/iter  26.53 ms  27.40 ms ▂█▇█▇▂▄▇▃▁▂\ntext-table                      5.77 s/iter    5.88 s    5.93 s ▆▆▁▁▁▁▁▃▆█▃\n\nsummary\n  fast-text-table\n   4.6x faster than text-table-fast\n   1018.77x faster than text-table\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md","keywords":["table","text-table","cli","format"]}