{"_id":"terminal-columns","_rev":"9-6f7512e6955518a252a50fbb54609fc0","name":"terminal-columns","dist-tags":{"latest":"2.0.0"},"versions":{"1.0.0":{"name":"terminal-columns","version":"1.0.0","keywords":["cli","table","columns","readable","wrapping","responsive","typescript"],"author":{"name":"Hiroki Osame","email":"hiroki.osame@gmail.com"},"license":"MIT","_id":"terminal-columns@1.0.0","maintainers":[{"name":"hirokiosame","email":"hiroki.osame@gmail.com"}],"homepage":"https://github.com/privatenumber/terminal-columns#readme","bugs":{"url":"https://github.com/privatenumber/terminal-columns/issues"},"dist":{"shasum":"c2aaa3127451238d2485e1741d20138c94891f13","tarball":"https://registry.npmjs.org/terminal-columns/-/terminal-columns-1.0.0.tgz","fileCount":6,"integrity":"sha512-e446DfI4bvyNkJffnjx7583wMny0f2YFbenrNi6SZgK4xiPO6+eY6J6W4ugsh9OPkHcl13y0vpEQvTmaKK26Qw==","signatures":[{"sig":"MEUCIQD2cJlU6PxT1jRf0irdG06q5juYjUSCjhjkRUZuvOhTjQIgOODd4pLYylyXHUvN4orpEGjZevu0WgebJXeI0VtFtV8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":61134,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhyolZCRA9TVsSAnZWagAATxoP/iYcPv/lB3VoyzP2VSL1\nBul9IIy6mHW0serdhJMeVEOhXPgrZ2f2nnn1oR8iiGVyKdkdnK/b8YMjlH/P\nAYe/ll9sgwWpcm0YvNAOG6/dxK5MZ6gUwo3/8WLkGd2cgcqatDrRnIXKjKjd\nf9qN7VIY+q5G8P3CnJElT9S/ZHsptb5mM+bdo0VYnQtxbv41w2fyTTc1kuGE\nH5fEfs3FLlbK1JIEfy/qlSIb0OXJHMfeI7Pb01K8C2AVNd3HpVAWVt8/NRol\n3czXF7n2GIqm/p+fx1FFZi2/IqtQ9Gul6NK4xCGQnWgdIydI5IxRzrOxDJVQ\n/Feiliila6gSSWJst9cCNvPRQODZgGzVJx7ywH6rvACm/LUVSVHY0U1MLst8\n2r3QCh7SV67fUe3iCCQGlOvs6Ge7BKdAQCjApsTHjnPJ1a2SaaI246VosaRo\nEt5mKbW4VmaC8CiTL759tA055aTrWTBOvyDrqsW9TbaZ+XDplpgEoN6nRbIg\nmxUW9jeVAdAran05tnM8adCCWrQ/Eq3GB6zN+No20Bb8JaqwgejlC925+2hO\n3y2O2fNKHZHZlxM5mJ8Em8T3EfG5bMTbVel6l8s/lou84nvMzTxRLjENf7e8\nopSy95tbXh1PheaPERRwNWe+v1IzZ7HdoYEV7kB8Zuw1KmEgOUG6r884PJ5D\ny6VY\r\n=+1Zn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"funding":"https://github.com/privatenumber/terminal-columns?sponsor=1","gitHead":"3290d15debfcb82190a6cdedd43296e46990c57d","scripts":{"lint":"eslint .","test":"jest","build":"tsup src/index.ts --clean --dts --minify --format esm,cjs","pretest":"npm run build"},"_npmUser":{"name":"hirokiosame","email":"hiroki.osame@gmail.com"},"repository":{"url":"git+https://github.com/privatenumber/terminal-columns.git","type":"git"},"_npmVersion":"6.14.15","description":"Render a readable table in the terminal","directories":{},"lint-staged":{"*.ts":["eslint","jest --bail --findRelatedTests"]},"_nodeVersion":"14.18.2","eslintConfig":{"extends":"@pvtnbr"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.4.5","tsup":"^5.11.9","husky":"^4.3.8","eslint":"^8.5.0","es-jest":"^1.5.0","wrap-ansi":"^8.0.1","typescript":"^4.5.4","@types/jest":"^27.0.3","lint-staged":"^12.1.2","ansi-escapes":"^5.0.0","string-width":"^5.0.1","@types/wrap-ansi":"^8.0.1","@pvtnbr/eslint-config":"^0.10.0"},"_npmOperationalInternal":{"tmp":"tmp/terminal-columns_1.0.0_1640663385522_0.7612455542282648","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"terminal-columns","version":"1.0.1","keywords":["cli","table","columns","readable","wrapping","responsive","typescript"],"author":{"name":"Hiroki Osame","email":"hiroki.osame@gmail.com"},"license":"MIT","_id":"terminal-columns@1.0.1","maintainers":[{"name":"hirokiosame","email":"hiroki.osame@gmail.com"}],"homepage":"https://github.com/privatenumber/terminal-columns#readme","bugs":{"url":"https://github.com/privatenumber/terminal-columns/issues"},"dist":{"shasum":"d9259c03457b83b3c7f82b262f6d63136000b9eb","tarball":"https://registry.npmjs.org/terminal-columns/-/terminal-columns-1.0.1.tgz","fileCount":6,"integrity":"sha512-IrfRB/YJGMJCsA4Ynkx5fQAO7BGNgHlY/qW2Qaep5NLOvcfJfwHtz0YRMUGaNNRX4SjKBCE/LDb3pPkxe+akRQ==","signatures":[{"sig":"MEQCIFMNxZJOx0oGTec5Lg+6ocSCx+41GOwRNxKjqS66DGsGAiAerIS3eh1+XtaPVjfZYrSFFwmcHzZmMU8lOm9YZR6a3w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":61214,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhzUZZCRA9TVsSAnZWagAAV1kP/2lRbH1DHBoope53OQzH\nUU71jyoudrV+LAkF5ksEJ6I2aqt6Rt28KXEUqrj++ecwj4M4Tzjq4imo/bcL\nFmxH5LhkE0/he4f0Olt8o1RSQt4PoJcDaw6YqWruEXbSPesEQ9PgCAKCUDtd\nFEUtLsWxG85PupJ5s7XuT5/eJaUw+tWfMF0SRxQY2pJc3ZYAR97XMhuHDfUh\nrjdFq8EvVTZyVFOEJyDdiLrWc2nPdinke0Lkb6NZdRXumO6lNm3RGKcFr5bh\nIk1zM/fCPS1PqLEZaZvCxK/HqBBZJvC1cfibnhM3GMrfnHJbGchSYhW8JawN\npjLS2DnvaJmsfCJodohkkYMa4tHCHCJQ62DJb2SqJlbJ/H+oywhaRbaOkJ4V\nZxvtkj/7b2bJxNNuRnhI2BYUxsJOGRhZaB5v+mfi5zq+UGzL2wP+mglscM8y\noxki/EnMq7ky6qcKb0OoCYpmsEoO93nPguk55OvkKwsGqsZx8WMCWgpTjSKZ\nDw57pM+/2ypL16DI1urL3TUpRQC+bhw2gOaoXXnTFqWQUe1e6Qa1m6+Gpd3z\npG0i+RvSyy3A1ULX0Rz5WD84BP2t2TnCSHfLpKFQmGBUhFtOYLlcvVMFDPJC\np6HSg/Lz48va4Pldpcfp5f+DJ1Li1k6tLN0UJWH2EYix9unZDGkLyNg3tO45\neQ01\r\n=KfIt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"funding":"https://github.com/privatenumber/terminal-columns?sponsor=1","gitHead":"27b8b456da6d2f0850690f48718acc0871bd0ee4","scripts":{"lint":"eslint .","test":"jest","build":"tsup src/index.ts --clean --dts --minify --format esm,cjs","pretest":"npm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"hirokiosame","email":"hiroki.osame@gmail.com"},"repository":{"url":"git+https://github.com/privatenumber/terminal-columns.git","type":"git"},"_npmVersion":"6.14.15","description":"Render a readable table in the terminal","directories":{},"lint-staged":{"*.ts":["npm run typecheck","eslint","jest --bail --findRelatedTests"]},"_nodeVersion":"14.18.2","eslintConfig":{"extends":"@pvtnbr"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.4.5","tsup":"^5.11.9","husky":"^4.3.8","eslint":"^8.5.0","es-jest":"^1.5.0","wrap-ansi":"^8.0.1","typescript":"^4.5.4","@types/jest":"^27.0.3","lint-staged":"^12.1.2","ansi-escapes":"^5.0.0","string-width":"^5.0.1","@types/wrap-ansi":"^8.0.1","@pvtnbr/eslint-config":"^0.10.0"},"_npmOperationalInternal":{"tmp":"tmp/terminal-columns_1.0.1_1640842840942_0.27756651430691814","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"terminal-columns","version":"1.0.2","keywords":["cli","table","columns","readable","wrapping","responsive","typescript"],"author":{"name":"Hiroki Osame","email":"hiroki.osame@gmail.com"},"license":"MIT","_id":"terminal-columns@1.0.2","maintainers":[{"name":"hirokiosame","email":"hiroki.osame@gmail.com"}],"homepage":"https://github.com/privatenumber/terminal-columns#readme","bugs":{"url":"https://github.com/privatenumber/terminal-columns/issues"},"dist":{"shasum":"491bb23bacdbca671c510a274b0781102c9cc1c0","tarball":"https://registry.npmjs.org/terminal-columns/-/terminal-columns-1.0.2.tgz","fileCount":6,"integrity":"sha512-eE+YmXt3hgaiFam76drYjx3ukhxJUaz5uewEBxJg08JQknzNQdy9le9fHCD6OASwZZdmb5nZqi/nD7kYeeJCgQ==","signatures":[{"sig":"MEUCIHiOvs65ghOQqmB+OeaIL3CaEETHER3l44ibTasTsIilAiEAkGfHk+XetLaCU3RwHDt3VkFMmI8J4V0UrTJtXAKGZsc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":61232,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhzUbRCRA9TVsSAnZWagAAfmsP/i/tbHG6n6EMYV01EXel\nn4lALazmo15AGyKGifvWI32g+M7ygZVyTxWTFlMlx0VUVk0rMnr6jZe7njfg\n+6kpNud/2GNmAyAaqgiXXx+H5qJkjtjJOui1tTL0/VVs9wACcT0WOknrjpiB\nQR8CANTEnEK2YdSKEWaqyn+/P+K/aUrO+2RvhgPD05prAU6BZdNlLUkjFhrP\ngyNtoRQZKz99eRP/baKRip6CQn3rWthmAOHHsiwz6CYr0uMb+W19t0X4NnJu\ns9vP2z0s+FOYu9q28Duwee/yRFlrNiAEcW1uQ+ckUCTkCBZVuX9NojWgBYHx\niPwBW9n9kTccGMyZn0GpR3IwwpFDiU2xHTSSwjM0SHI67CplArRyKJGFk3om\n7QR2bmutvosuC7HfvH130S9eGVbwE5FUV5CnIwYtMlaspR+JQSimGkT8EXV7\nT6NojFMu3aKVfl/DWWYQX9/V7cmYdaq1KTo2dhe3s6UAO5H5wmUD06DZ/fEy\nH1uxZx6HsezqhNrd6MjCOFu4zft/OLpesossCcwgiziAt+osBHBUs0J2JOl2\nAxIgGE9k4PKB08VnvHmK8cPtHRUxWCQAVNIi7gJH89JwJnwxLJYPVBWliQGV\nycsGS3ObOPBhADSQG9HsP3m7uR9DPXPIrlb4LnSzY9NEI2fytbn98NOLNwiv\nKR9f\r\n=zIXz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"funding":"https://github.com/privatenumber/terminal-columns?sponsor=1","gitHead":"0600f5ef852b4e3b645d838365b0f8fdbff1d481","scripts":{"lint":"eslint .","test":"jest","build":"tsup src/index.ts --clean --dts --minify --format esm,cjs","pretest":"npm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"hirokiosame","email":"hiroki.osame@gmail.com"},"repository":{"url":"git+https://github.com/privatenumber/terminal-columns.git","type":"git"},"_npmVersion":"6.14.15","description":"Render a readable table in the terminal","directories":{},"lint-staged":{"*.ts":["npm run typecheck","eslint","jest --bail --findRelatedTests"]},"_nodeVersion":"14.18.2","eslintConfig":{"extends":"@pvtnbr"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.4.5","tsup":"^5.11.9","husky":"^4.3.8","eslint":"^8.5.0","es-jest":"^1.5.0","colorette":"^2.0.16","wrap-ansi":"^8.0.1","typescript":"^4.5.4","@types/jest":"^27.0.3","lint-staged":"^12.1.2","ansi-escapes":"^5.0.0","string-width":"^5.0.1","@types/wrap-ansi":"^8.0.1","@pvtnbr/eslint-config":"^0.10.0"},"_npmOperationalInternal":{"tmp":"tmp/terminal-columns_1.0.2_1640842961643_0.5865848219453242","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"terminal-columns","version":"1.1.0","keywords":["cli","table","columns","readable","wrapping","responsive","typescript"],"author":{"name":"Hiroki Osame","email":"hiroki.osame@gmail.com"},"license":"MIT","_id":"terminal-columns@1.1.0","maintainers":[{"name":"hirokiosame","email":"hiroki.osame@gmail.com"}],"homepage":"https://github.com/privatenumber/terminal-columns#readme","bugs":{"url":"https://github.com/privatenumber/terminal-columns/issues"},"dist":{"shasum":"442cbabf0fdcc55116c63cc66fb66a4f1d49aa9f","tarball":"https://registry.npmjs.org/terminal-columns/-/terminal-columns-1.1.0.tgz","fileCount":6,"integrity":"sha512-IL1hLVEJXVVBuQ8NbnEUH0HMnoX5HgjUimx9pFvktv//0SlGxMe1jX7d7sulQlbKWZLAY5c700pE31rl5gTUUw==","signatures":[{"sig":"MEUCIHjvVVgTjEgrqakBPdOMr9CHqNZdDYAvCF1KVLMdBTcXAiEAo35AhX724lL2lrVu2co9qvHOMS5T8hQSgCdtW4n0efw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":61773,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhzViOCRA9TVsSAnZWagAAZ48P/2/4JZgqI62ZDq+Ojg6n\nw7zFg9xkoB1HogngbHbZwPeEKsDAn2VUEtdZ1ozspmsTi8k7317yPQi4dRU3\nvLhn+0OQ2gJ6cL0PONq3xai7B2Sse2toc0tfDmDV1DEwaH5xEeVB4A81Wq5M\nVETi7l9h1pESVtPrSow7ILYCLrR1PMGFffeyNsgEDQuOaPFjoEknkYX7pOex\nAzW4WZuzoy/Y/t+k0jKitHZO4+GpphTBZMHQ1DwXVIzf6Awea2joWitLOxux\nQuuoA4v9U5lefTUZ+JlcL8oE1Ug7fE+qcDDNc2nVQe/D0q7Olr3knhDH1083\nCDp72U65Wqa23FizVguENyTN2DV3u/py34tI0Hnqi9J+HqxviaZD92S+xSo1\nL06X/yasLSbp1iKMVh84tVs3xFaxx2sdSe0/7cEwnGps/s4RCLx1RDkoaAEP\nj2/4pTMumNGVmrMa+hFgN/5f2Ek2/WpzpqKRVtC5LqnXO7bZ5IaP5XfIaVt5\nh41ffltVLVHeWjEIUhtfdoPbkhrN3yzXmWVD5/oZZO39/3CgUB0NGOV8LD75\n2kJlPS5ADlfn1lLspJFwMh7NQ2oAP0mfBKyZHxQenm7rmHqqf6CzZ+3iB4Sx\ny3HBD06fV0znMJyg8fWAGj4yiwdDbK9j602XXLLvwB6gA48wjalcfzEbYUp+\nDT5T\r\n=PEIk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"funding":"https://github.com/privatenumber/terminal-columns?sponsor=1","gitHead":"a43146b1be0f7275f2bc7df3695278d89ced9e82","scripts":{"lint":"eslint .","test":"jest","build":"tsup src/index.ts --clean --dts --minify --format esm,cjs","pretest":"npm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"hirokiosame","email":"hiroki.osame@gmail.com"},"repository":{"url":"git+https://github.com/privatenumber/terminal-columns.git","type":"git"},"_npmVersion":"6.14.15","description":"Render a readable table in the terminal","directories":{},"lint-staged":{"*.ts":["npm run typecheck","eslint","jest --bail --findRelatedTests"]},"_nodeVersion":"14.18.2","eslintConfig":{"extends":"@pvtnbr"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.4.5","tsup":"^5.11.9","husky":"^4.3.8","eslint":"^8.5.0","es-jest":"^1.5.0","colorette":"^2.0.16","wrap-ansi":"^8.0.1","typescript":"^4.5.4","@types/jest":"^27.0.3","lint-staged":"^12.1.2","ansi-escapes":"^5.0.0","string-width":"^5.0.1","@types/wrap-ansi":"^8.0.1","@pvtnbr/eslint-config":"^0.10.0"},"_npmOperationalInternal":{"tmp":"tmp/terminal-columns_1.1.0_1640847502356_0.7145034599361584","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"terminal-columns","version":"1.2.0","keywords":["cli","table","columns","readable","wrapping","responsive","typescript"],"author":{"name":"Hiroki Osame","email":"hiroki.osame@gmail.com"},"license":"MIT","_id":"terminal-columns@1.2.0","maintainers":[{"name":"hirokiosame","email":"hiroki.osame@gmail.com"}],"homepage":"https://github.com/privatenumber/terminal-columns#readme","bugs":{"url":"https://github.com/privatenumber/terminal-columns/issues"},"dist":{"shasum":"0418f6fefb9eedfe1d60f95ff97a69a6b9ccc85a","tarball":"https://registry.npmjs.org/terminal-columns/-/terminal-columns-1.2.0.tgz","fileCount":6,"integrity":"sha512-PI9Cc1kBjKkgVqjkWylrCgkpQ9Tu/ZcGzd9YGko1GNEB8crmDCjVpU1LgoAr3ccgeXsQb2HEoRlPUzx0CDYSTw==","signatures":[{"sig":"MEUCIGlZO0gVdqixsJl+J4+jCGZzMth8B8OLzc1a+o/G0YR2AiEA4gy7TDSBQ81xLb243HJhxFTDj9R66tD3jJwrorTyJkg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":64619,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh0OIeCRA9TVsSAnZWagAA91MP/3pAG1xCC13RyKJNXUml\nF+VlRk6vyWkdfbvKK8VhYq2NPRQmrhdKsOhf9td/vKOz3eRBGSnntlvkVuFA\nvTPHxWIqUAeKCNyLCiKbvpv64MUuxlCjl0COV7/LEDWeBEcwtguEkmLAShhC\nSKWykshyi75k08cVuCk1aPN4qvHdoD95WigOHGtAwoWBQhK4kzxSS0YAzXFE\nYxfo72f4GII0il1z5EFUfsaz23PLqhmjPBMik/Q+Q6HI7g3TnBvCQVgJxlI1\nuJ9Qa/Qo87VfFzRFutl4QxeOCbyTeFkf4frlmSV2EpGrHRWqPg5CwWUO+25P\nTXJzd3MxsA6P7SzS6AHmBEgogqy9ymTJA6tStb6ZJUa2B3dOgW0shQqYV1X4\nimpyRJev8jSk5obKUog3citeDr765dLNKWHchZjTMyCLaIU9NFyEmvBo5g3j\n3G57aWy+ood85fkDliX7vyfz28V2INpGRQFKIH5u7J80qBCe7kp/dGHDTxSa\nNdhBJDmIhauvbPhooSkPC6x3Ee+1twXtFUyCpaQv36N7zB1gKSi19dLUI4+y\ngFJsiQue8v2Yg5UBEznkmxPgyAXDA1cw1TRFA7WLCoPOTrf5roU1e08axaY+\nNCc5dJzZmmxk8X6Bl2rzPZSx8/j/3CI477SiwzySZO8SlNge+ZbL4UUbLMbS\njSMS\r\n=9E7w\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"funding":"https://github.com/privatenumber/terminal-columns?sponsor=1","gitHead":"9b7236febcb3d304e7c7c9f56a7d5820868a584b","scripts":{"lint":"eslint .","test":"jest","build":"tsup src/index.ts --clean --dts --minify --format esm,cjs","pretest":"npm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"hirokiosame","email":"hiroki.osame@gmail.com"},"repository":{"url":"git+https://github.com/privatenumber/terminal-columns.git","type":"git"},"_npmVersion":"6.14.15","description":"Render a readable table in the terminal","directories":{},"lint-staged":{"*.ts":["npm run typecheck","eslint","jest --bail --findRelatedTests"]},"_nodeVersion":"14.18.2","eslintConfig":{"extends":"@pvtnbr"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.4.5","tsup":"^5.11.9","husky":"^4.3.8","eslint":"^8.5.0","es-jest":"^1.5.0","colorette":"^2.0.16","wrap-ansi":"^8.0.1","typescript":"^4.5.4","@types/jest":"^27.0.3","lint-staged":"^12.1.2","ansi-escapes":"^5.0.0","string-width":"^5.0.1","@types/wrap-ansi":"^8.0.1","@pvtnbr/eslint-config":"^0.10.0"},"_npmOperationalInternal":{"tmp":"tmp/terminal-columns_1.2.0_1641079326604_0.479351395112225","host":"s3://npm-registry-packages"}},"1.3.0":{"name":"terminal-columns","version":"1.3.0","keywords":["cli","table","columns","readable","wrapping","responsive","typescript"],"author":{"name":"Hiroki Osame","email":"hiroki.osame@gmail.com"},"license":"MIT","_id":"terminal-columns@1.3.0","maintainers":[{"name":"hirokiosame","email":"hiroki.osame@gmail.com"}],"homepage":"https://github.com/privatenumber/terminal-columns#readme","bugs":{"url":"https://github.com/privatenumber/terminal-columns/issues"},"dist":{"shasum":"527e7a0f77278f440e67d186d6f381105858dd4b","tarball":"https://registry.npmjs.org/terminal-columns/-/terminal-columns-1.3.0.tgz","fileCount":6,"integrity":"sha512-gM2FtmwCg1QQj5BPdbiAqj/SjmNIy+DxIOQD04MXX5tFxw+xvoCYwmOCFuX5jEp62f49izdqlyrXB3oRfSX8dA==","signatures":[{"sig":"MEQCIDLCkVJRSdwGsYmYyj8U3ApLMBCAqCAOLzVgFv75BgOlAiB8Yn0d/uXyWKZsdaVltpunQlaIY6FyyK0vSMyz2vneBA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":64628,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh0QSZCRA9TVsSAnZWagAABaQP/jmm644w6I7kMaOn+Wp3\nXuwLyEwZzBHGl+SobNdZcD+Zz7912cPpIGQgzt9ldU0fuRqV1g6H9EekRFQy\nW+BAjYMllqWA4GrlByfOUemejQt7O092xzOWqm3KFyOCv7/qyFKE0O1EO/yF\nVQMVcH1lU1L3UHmmchZrXJJPzl2JjJHmUbbrm6WM4IRvpqi+XVw8W2Je+g0S\nkTZS58AFdivfKoTY6tmhivZCiRfdBzKx+pg8YQWjWGbG0hWUAPCTDwilcn2X\nsHB+Y9e5NYK91n8n17u3TmKi2dNvBPjJ5DfqpYINxVk5QqpoAXaa9SbJsfpz\nPJNlSMi6ooIva8f2kEcNC6E+8d7yqr9INaVcF7jVKBO/6sCZ25UuMZSy0HbA\niiRAFFYERraMv+d5LgMpnWawz4Gydlfx8OqZKmqO+LNnklWexRQjXJ/VTpLu\nAmxoG7fABSTfe4tCaXL8Hqv0K1rO/KyfDhS6IAby5RtjzeCYsq7w2uyXablE\nmHViTiZhH4281HCRyzIebtz0uq6KJDHUc6zzyldNPgI4bRV7TeI5AOxi58/3\n41lYHf1EsbxjDGJoIfXSiXCOUXIDLHTdMeQofkpCkjnEWrG/yKrAlSAEY4Dp\nFsDWDxJFcEOuv85X+JCkg+Wt5B9MkqGr4rLWSrJV1CSRywgS0DbbzRLrnS0/\n8/6J\r\n=w+rT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"funding":"https://github.com/privatenumber/terminal-columns?sponsor=1","gitHead":"ad9b03284b8db6f4058bb135820e30cc7d95c115","scripts":{"lint":"eslint .","test":"jest","build":"tsup src/index.ts --clean --dts --minify --format esm,cjs","pretest":"npm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"hirokiosame","email":"hiroki.osame@gmail.com"},"repository":{"url":"git+https://github.com/privatenumber/terminal-columns.git","type":"git"},"_npmVersion":"6.14.15","description":"Render a readable table in the terminal","directories":{},"lint-staged":{"*.ts":["npm run typecheck","eslint","jest --bail --findRelatedTests"]},"_nodeVersion":"14.18.2","eslintConfig":{"extends":"@pvtnbr"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.4.5","tsup":"^5.11.9","husky":"^4.3.8","eslint":"^8.5.0","es-jest":"^1.5.0","colorette":"^2.0.16","wrap-ansi":"^8.0.1","typescript":"^4.5.4","@types/jest":"^27.0.3","lint-staged":"^12.1.2","ansi-escapes":"^5.0.0","string-width":"^5.0.1","@types/wrap-ansi":"^8.0.1","@pvtnbr/eslint-config":"^0.10.3"},"_npmOperationalInternal":{"tmp":"tmp/terminal-columns_1.3.0_1641088153310_0.09448928388749134","host":"s3://npm-registry-packages"}},"1.4.0":{"name":"terminal-columns","version":"1.4.0","keywords":["cli","table","columns","readable","wrapping","responsive","typescript"],"author":{"name":"Hiroki Osame","email":"hiroki.osame@gmail.com"},"license":"MIT","_id":"terminal-columns@1.4.0","maintainers":[{"name":"hirokiosame","email":"hiroki.osame@gmail.com"}],"homepage":"https://github.com/privatenumber/terminal-columns#readme","bugs":{"url":"https://github.com/privatenumber/terminal-columns/issues"},"dist":{"shasum":"b92fcfd1ea11d9617941e0a3c07c4e3a5763821e","tarball":"https://registry.npmjs.org/terminal-columns/-/terminal-columns-1.4.0.tgz","fileCount":6,"integrity":"sha512-Oh62O26xgOUjakUlGfjAEdgZmipNsqHPmvs8QQ8j6WH3c5iXhshCjr6yB6bW7CYXG5POoUrHLLLcKdRvv8LBZg==","signatures":[{"sig":"MEQCIBEwt3a0L7yqmCPxxlHKDwTyzJshUAaj4932fwBywhSQAiAwOzR+bIH2DuDLo3GrzMcigdtqIknrH2SUSyA+nhNjpw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":65872,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh1HyiCRA9TVsSAnZWagAAS7sP/3EUn79XVmK3dZBgLQG/\nGIlRtGT2dDiH7X1nKUwgJaem9U48BXwYgZ+tHvjNkqaMWAuuQQlGgmk0PcB+\n+Xqm9RjpqFG5ARxFWmEkTbJRvNl0aQ9IuDKcqmhykt6nt4DqY2FzmYpzCODM\nq1owib8lOmd8Ih499cy3eC7AKWG3qOjPvLswOq9h5n1fLTvXBhz60u9cBksk\nbKmTPveEtM6itpYYNy/igst/Tizw1VEQ2uAh0UjltTrgfi0TKFS7X3ejfqIC\neCx5HRerkIk4WT3J71J/tRCF4Q/Do/rJ3afcPuj/uhiEv0BNCFOEKMDBVAso\nZdAqB/Hvfoe5e/XYQKaaaCe8wfaeVcRs45M1fopxmS5illk4fPpEJ3UECZhr\nTvytww0IfSDbiHCv6NUf/l0QzfS9W54ylY+ZgoEsiTnQlQCWvOklx2poJrht\nez17NBIGajRBBSutuhSRzSu4L+QY6NVjVMVKmabFHp0iMEQiMt3wGP8KNZXy\nm33Ju6CX7Ibn7385gvbnSoAGuqzyvzZVMA8K7YPlVhe4KG05JJg87Eo721V/\nYt9tJNq8wvZ1REJ38KsmQFmiQrCDgwk4dVyuOSku/bZ0kkHo+XzUEAWlA7cv\nrPjPQP4nODXD0U/4HSZOwbqphgDbRJqXRBr2+ZDT1tYHHaucvj+NurcXb6cu\nWLd/\r\n=yyxd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"funding":"https://github.com/privatenumber/terminal-columns?sponsor=1","gitHead":"5c4f84165191abc7f583515b1d9ae27b96225c14","scripts":{"lint":"eslint .","test":"jest","build":"tsup src/index.ts --clean --dts --minify --format esm,cjs","pretest":"npm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"hirokiosame","email":"hiroki.osame@gmail.com"},"repository":{"url":"git+https://github.com/privatenumber/terminal-columns.git","type":"git"},"_npmVersion":"6.14.15","description":"Render a readable table in the terminal","directories":{},"lint-staged":{"*.ts":["npm run typecheck","eslint","jest --bail --findRelatedTests"]},"_nodeVersion":"14.18.2","eslintConfig":{"extends":"@pvtnbr"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.4.5","tsup":"^5.11.9","husky":"^4.3.8","eslint":"^8.5.0","es-jest":"^1.5.0","colorette":"^2.0.16","wrap-ansi":"^8.0.1","typescript":"^4.5.4","@types/jest":"^27.0.3","lint-staged":"^12.1.2","ansi-escapes":"^5.0.0","string-width":"^5.0.1","@types/wrap-ansi":"^8.0.1","@pvtnbr/eslint-config":"^0.10.3"},"_npmOperationalInternal":{"tmp":"tmp/terminal-columns_1.4.0_1641315489916_0.05618301817771032","host":"s3://npm-registry-packages"}},"1.4.1":{"name":"terminal-columns","version":"1.4.1","keywords":["cli","table","columns","readable","wrapping","responsive","typescript"],"author":{"name":"Hiroki Osame","email":"hiroki.osame@gmail.com"},"license":"MIT","_id":"terminal-columns@1.4.1","maintainers":[{"name":"hirokiosame","email":"hiroki.osame@gmail.com"}],"homepage":"https://github.com/privatenumber/terminal-columns#readme","bugs":{"url":"https://github.com/privatenumber/terminal-columns/issues"},"dist":{"shasum":"f669dd878afaad0c404d4b7aa01855fb6f24f1a4","tarball":"https://registry.npmjs.org/terminal-columns/-/terminal-columns-1.4.1.tgz","fileCount":6,"integrity":"sha512-IKVL/itiMy947XWVv4IHV7a0KQXvKjj4ptbi7Ew9MPMcOLzkiQeyx3Gyvh62hKrfJ0RZc4M1nbhzjNM39Kyujw==","signatures":[{"sig":"MEYCIQChG21uC5UOUJ3wSCHlcn2xwgPDzMSHV5h8wJT7q7CCYAIhALVU2nlObeVlP5MA10nFg8Kzb5MlA2WNHlPtO9kJH7XY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":65928,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh7tEACRA9TVsSAnZWagAAyKcP/jKCHqNX/hWXu2rY09+A\nLGGICM8oQOmdrmh4u4JRgjzzCwszBVIHxi4KHAHjOH6u4q4+kl3wfVkdpnhe\n3HUaHc42qFyjykGOjCVlQdPIEkfIHHTOwAOulVXjbutu8N2GKB4GFJFELQ5e\npwoM9w00zHm4Qmzcq1uJA2wlUMzKoK6t7ZvLIKfUqwRdACQdwrmNcmiD6ImG\nKWaYqD5B1t5eQ2DOoLk8xdHmDn+S8rH3d9dPjsD5vRD1K3t2RgeS7I33wWE0\nRmzHOmmq4tk0m48c8Y077NgMUuaS/DCgo81pWVVibvApjFSI9ThTpA9YsEJ8\nYMBXRUZmrlyws+P20+cNl11SRbK1vMcsbj8BVqZ4msdiBOgp3LyJ/FWMbCyw\nZy0p55tunvc2M8N31vUUhQmqSbBxyS8uE73OueatZeeVlgGqFjjE1m9Irf/E\n3Rm8EneCS1Omo6BGn92POswIkOpiokyXb+tFud7d0mHs/3oieZm98GzkTQvn\nORoQEJZ7/mkMlKJLAszst/mf1hyJO3zRUxPWXHq15U6sYO68YCdBGT/RFiuL\nytCFrPc7Fkg97IePlVUcJAyJWLV4ECsbOwDJLXV9k4zsQR0KQOYQpOSdZPmL\nN6R7A95ju35akoqWv9n1iXUpVSIkCTrDNS+k60JSJ505lBem6FwoPKd8mrDV\n0vis\r\n=yl3t\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"funding":"https://github.com/privatenumber/terminal-columns?sponsor=1","gitHead":"e878d51fe165fbd77c3e0c839350d44f46e649f3","scripts":{"lint":"eslint .","test":"jest","build":"tsup src/index.ts --clean --dts --minify --format esm,cjs","pretest":"npm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"hirokiosame","email":"hiroki.osame@gmail.com"},"repository":{"url":"git+https://github.com/privatenumber/terminal-columns.git","type":"git"},"_npmVersion":"6.14.15","description":"Render a readable table in the terminal","directories":{},"lint-staged":{"*.ts":["npm run typecheck","eslint","jest --bail --findRelatedTests"]},"_nodeVersion":"14.18.3","eslintConfig":{"extends":"@pvtnbr"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.4.5","tsup":"^5.11.9","husky":"^4.3.8","eslint":"^8.5.0","es-jest":"^1.5.0","colorette":"^2.0.16","wrap-ansi":"^8.0.1","typescript":"^4.5.4","@types/jest":"^27.0.3","lint-staged":"^12.1.2","ansi-escapes":"^5.0.0","string-width":"^5.0.1","@types/wrap-ansi":"^8.0.1","@pvtnbr/eslint-config":"^0.10.3"},"_npmOperationalInternal":{"tmp":"tmp/terminal-columns_1.4.1_1643041024453_0.19322670215241278","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"terminal-columns","version":"2.0.0","description":"Render a readable table in the terminal","keywords":["cli","table","columns","readable","wrapping","responsive","typescript"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/privatenumber/terminal-columns.git"},"funding":"https://github.com/privatenumber/terminal-columns?sponsor=1","author":{"name":"Hiroki Osame","email":"hiroki.osame@gmail.com"},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.cts","exports":{"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"},"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"}},"imports":{"#terminal-columns":{"types":"./src/index.ts","development":"./src/index.ts","default":"./dist/index.mjs"}},"packageManager":"pnpm@9.15.4","scripts":{"build":"pkgroll --minify","lint":"lintroll --cache .","type-check":"tsc","pretest":"pnpm build","test":"jest"},"devDependencies":{"@types/jest":"^29.5.14","@types/node":"^22.13.1","@types/wrap-ansi":"^8.1.0","ansi-escapes":"^7.0.0","colorette":"^2.0.16","es-jest":"^2.1.0","jest":"^29.7.0","lintroll":"^1.15.0","pkgroll":"^2.8.2","string-width":"^7.2.0","typescript":"^5.7.3","wrap-ansi":"^9.0.0"},"_id":"terminal-columns@2.0.0","gitHead":"ad8c7f60abfafb2d14f0966e34283582e99908f9","bugs":{"url":"https://github.com/privatenumber/terminal-columns/issues"},"homepage":"https://github.com/privatenumber/terminal-columns#readme","_nodeVersion":"22.13.1","_npmVersion":"10.9.2","dist":{"integrity":"sha512-6IByuUjyNZJXUtwDNm+OIe62zgwwaRbH+WMNTcx05O2G5V9WhvluAAHJY8OvUdwmzMPpqAD/7EUpGdI6ae1aiQ==","shasum":"6be0bdce01da79e616a4566b8091291a527f9cae","tarball":"https://registry.npmjs.org/terminal-columns/-/terminal-columns-2.0.0.tgz","fileCount":7,"unpackedSize":70881,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIA/kXkKU7XCsmrZSHnU12CDi8Di+qWtNPTRNV/HmBTXAAiA5tCD5ybU1ojmUEuaRVelph949jUuhj962QAxxs7WG8Q=="}]},"_npmUser":{"name":"hirokiosame","email":"hiroki.osame@gmail.com"},"directories":{},"maintainers":[{"name":"hirokiosame","email":"hiroki.osame@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/terminal-columns_2.0.0_1739276755630_0.026563522724115662"},"_hasShrinkwrap":false}},"time":{"created":"2021-12-28T03:49:45.521Z","modified":"2025-02-11T12:25:56.059Z","1.0.0":"2021-12-28T03:49:45.694Z","1.0.1":"2021-12-30T05:40:41.119Z","1.0.2":"2021-12-30T05:42:41.876Z","1.1.0":"2021-12-30T06:58:22.517Z","1.2.0":"2022-01-01T23:22:06.791Z","1.3.0":"2022-01-02T01:49:13.502Z","1.4.0":"2022-01-04T16:58:10.083Z","1.4.1":"2022-01-24T16:17:04.590Z","2.0.0":"2025-02-11T12:25:55.904Z"},"bugs":{"url":"https://github.com/privatenumber/terminal-columns/issues"},"author":{"name":"Hiroki Osame","email":"hiroki.osame@gmail.com"},"license":"MIT","homepage":"https://github.com/privatenumber/terminal-columns#readme","keywords":["cli","table","columns","readable","wrapping","responsive","typescript"],"repository":{"type":"git","url":"git+https://github.com/privatenumber/terminal-columns.git"},"description":"Render a readable table in the terminal","maintainers":[{"name":"hirokiosame","email":"hiroki.osame@gmail.com"}],"readme":"# terminal-columns <!-- <a href=\"https://npm.im/terminal-columns\"><img src=\"https://badgen.net/npm/v/terminal-columns\"></a> <a href=\"https://npm.im/terminal-columns\"><img src=\"https://badgen.net/npm/dm/terminal-columns\"></a> <a href=\"https://packagephobia.now.sh/result?p=terminal-columns\"><img src=\"https://packagephobia.now.sh/badge?p=terminal-columns\"></a> -->\n\nReadable tables for the terminal.\n\n<p align=\"center\">\n    <img src=\".github/demo.gif\" width=\"450\">\n    <br>\n    <em>Tables can be automatically responsive!</em>\n</p>\n\n### Features\n- Content wrapped to fit column width\n- Column widths `auto`, `content-width`, viewport percents & static values\n- Align left & right\n- Horizontal & vertical padding\n- Rows can overflow into multiple rows\n- Easy to make responsive tables\n\n→ [Try it out online](https://stackblitz.com/edit/terminal-columns-demo?devtoolsheight=50&file=examples/responsive-table.js&view=editor)\n\n<sub>Support this project by ⭐️ starring and sharing it. [Follow me](https://github.com/privatenumber) to see what other cool projects I'm working on! ❤️</sub>\n\n## 🚀 Install\n\n```bash\nnpm i terminal-columns\n```\n\n## 🚦 Quick start\nRender a table by passing table data into `terminal-columns` and writing it to stdout.\n\n```ts\nimport { terminalColumns } from 'terminal-columns'\n\n// Create table data\nconst tableData = [\n    ['Cell A1', 'Cell B1', 'Cell C1'],\n    ['Cell A2', 'Cell B2', 'Cell C2'],\n    ['Cell A3', 'Cell B3', 'Cell C3']\n]\n\n// Render table\nconst tableString = terminalColumns(tableData)\nconsole.log(tableString)\n```\n\nBy default, the columns will be rendered with the `auto` width, which splits the available width with other `auto` columns. To configure the width of each column, pass them in as the second argument.\n\n```ts\nconst tableString = terminalColumns(\n    tableData,\n\n    // Configure column widths\n    [\n        'content-width', // Use the width of the content\n        '50%', // Fill 50% of viewport width\n        'auto' // Fill remaining width\n    ]\n)\n```\n\n## 📖 Examples\n\n### Fixed width table\nYou can set a fixed width for each column by passing in a the number of columns.\n\nHowever, note that this will wrap the row to the next line if the viewport width is smaller than the table width.\n\n```ts\nterminalColumns(\n    tableData,\n    [\n        30,\n        30,\n        30\n    ]\n)\n```\n\n### Fixed width table with no row-wrapping\nYou can change the row-wrapping behavior by telling terminal-columns to use a different viewport width via the `stdoutColumns` option. For example, passing in `Infinity` will trick it into thinking the table is never overflowing the viewport width.\n\n```ts\nterminalColumns(\n    tableData,\n    {\n        stdoutColumns: Number.POSITIVE_INFINITY,\n        columns: [\n            30,\n            30,\n            30\n        ]\n    }\n)\n```\n\n### Padding\nYou can add padding to each column by setting `paddingLeft`, `paddingRight`, `paddingTop`, or `paddingBottom` on the column.\n\n```ts\nterminalColumns(\n    tableData,\n    [\n        {\n            paddingLeft: 2 // Pad the left side of the cell with 2 spaces\n        },\n        {\n            paddingRight: 2 // Pad the right side of the cell with 2 spaces\n        },\n        {\n            paddingTop: 2 // Pad the top of the cell with 2 lines\n        },\n        {\n            paddingBottom: 2 // Pad the bottom of the cell with 2 lines\n        }\n    ]\n)\n```\n\n### Right align text\nYou can align the content of the column by setting `align: 'right'`.\n\n```ts\nterminalColumns(\n    tableData,\n    [\n        {\n            align: 'right'\n        }\n    ]\n)\n```\n\n### Responsive table with breakpoints function\nDefine breakpoints declaratively with the `breakpoints` function.\n\n```ts\nimport { terminalColumns, breakpoints } from 'terminal-columns'\n\nterminalColumns(\n    tableData,\n    breakpoints({\n        // Large screens\n        '>= 90': ['content-width', 'auto'],\n\n        // Small screens\n        '>= 25': ['100%', '100%'],\n\n        // Tiny screens - remove responsiveness\n        '>= 0': {\n            columns: ['content-width', 'content-width'],\n            stdoutColumns: Number.POSITIVE_INFINITY\n        }\n    })\n)\n```\n\n### Preprocess / Postprocess\nPreprocessing and postprocessing can be used to modify the table data before it is rendered. It's primarily designed for formatting purposes and can be useful to style text in a declarative manner.\n\nIn this example, the first column spans the entire screen and is transformed to be uppercase on screens smaller than 80 columns.\n\n```ts\nterminalColumns(\n    tableData,\n    breakpoints({\n        // Small screens\n        '< 80': [\n            {\n                width: '100%',\n                preprocess: text => text.toUpperCase()\n            },\n            '100%'\n        ]\n    })\n)\n```\n\n### Responsive table with custom function\nYou can make the table responsive by passing in a function that computes the column width allocation based on the detected viewport width.\n\nFor a working example, see [this example](/examples/responsive-table.ts).\n\n```ts\nterminalColumns(\n    tableData,\n    (stdoutColumns) => {\n        /**\n         * For large viewports\n         * Split screen automatically\n         */\n        if (stdoutColumns > 100) {\n            return [\n                {\n                    width: 'auto',\n                    paddingRight: 1\n                },\n                {\n                    width: 'auto'\n                }\n            ]\n        }\n\n        /**\n         * For medium viewports\n         * Break table row into two rows, and add vertical padding to create\n         * a divider between rows\n         */\n        if (stdoutColumns > 30) {\n            return [\n                {\n                    width: '100%'\n                },\n                {\n                    width: '100%',\n                    paddingBottom: 1\n                }\n            ]\n        }\n\n        /**\n         * For viewports smaller than or equal to 30 columns\n         * In this case, the screen is too small to render anything.\n         * Simply remove responsiveness and assume the viewport width\n         * is actually 1000 columns.\n         */\n        return {\n            // Remove responsiveness\n            stdoutColumns: 1000,\n            columns: [\n                {\n                    width: 'content-width',\n                    paddingRight: 1\n                },\n                {\n                    width: 'content-width'\n                }\n            ]\n        }\n    }\n)\n```\n\n\n## ⚙️ API\n\n### terminalColumns(tableData, options?)\nReturn type: `string`\n\nTakes in table data and outputs a string that represents the table within the current terminal width (`process.stdout.columns`).\n\n#### tableData\nType: `string[][]`\n\nRequired\n\nA nested array where the first-level are \"rows\", and the second-level are \"columns\".\n\n#### options\nType: `OptionsObject | (stdoutColumns: number) => OptionsObject | ColumnMetasArray`\n\nSchema:\n```ts\ntype Options = OptionsObject | OptionsFunction\n\ntype OptionsObject = ColumnMetasArray | {\n    columns: ColumnMetasArray\n    stdoutColumns?: number\n}\n\ntype OptionsFunction = (stdoutColumns: number) => OptionsObject\n\ntype ColumnMetasArray = (ColumnWidth | ColumnMeta)[]\n\ntype ColumnWidth = number | 'content-width' | 'auto' | string\n\ntype ColumnMeta = {\n    width: ColumnWidth\n    paddingRight?: number\n    paddingLeft?: number\n    paddingTop?: number\n    paddingBottom?: number\n    align?: 'left' | 'right'\n}\n```\n\nOptions to define the column widths (default is `auto`) and the stdout columns to use.\n\n#### stdoutColumns\nType: `number`\n\nDefault: `process.stdout.columns`\n\nThe number of columns in the terminal. Autodetected by default. This is used to calculate the max-width of the table and can be overriden to force a specific width.\n#### columns\n\nType: `Object`\n\n##### width\nType: `number | 'content-width' | 'auto' | string`\n\n- `number`: number of columns to span\n- `'content-width'`: The width of the content in the column\n- `'auto'`: Allocate the remaining width of the row to the column\n- `string`: Percentage of the viewport width to use (e.g. `'50%'`)\n\nFor all of these values, the max width is `stdoutColumns`.\n\n\n##### paddingLeft\nType: `number`\n\nHow many spaces to the left the column should have\n\n##### paddingRight\nType: `number`\n\nHow many spaces to the right the column should have\n\n##### paddingTop\nType: `number`\n\nHow many new lines to the top the column should have\n\n##### paddingBottom\nType: `number`\n\nHow many new lines to the bottom the column should have\n\n##### align\nType: `'left' | 'right'`\n\nDefault: `'left'`\n\nWhether to align the text to the left or right.\n\n##### preprocess\nType: `(cellValue: string) => string`\n\nFunction to preprocess the cell value before it is wrapped to the column width.\n\n##### postprocess\nType: `(line: string, lineNumber: number) => string`\n\nFunction to postprocess the individual lines of a cell after it has been wrapped to the column width.\n\n### breakpoints(breakpointsMap)\n\nA function to declaratively define breakpoints. Returns a function pass into terminal-columns.\n\n#### breakpointsMap\n\nType: `Record<string, Options>`\n\nAn object mapping breakpoints to options. The key must be in the format: `<operator> <stdout-columns>`. For example, `>= 90` will match if the terminal width is 90 or more.\n","readmeFilename":"README.md"}