{"_id":"@donothing/boxxy","name":"@donothing/boxxy","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.1":{"name":"@donothing/boxxy","version":"1.0.1","description":"A JavaScript box drawing library for ASCII art layouts with CSV table converter","type":"module","private":false,"main":"index.js","bin":{"boxxy":"bin/csv-table.js"},"scripts":{"test-csv":"echo 'Name,Age,City\nAlice,30,New York\nBob,25,Los Angeles\nCharlie,35,Chicago' | npx boxxy"},"keywords":["box","ascii","layout","table","drawing","csv","cli"],"author":"","license":"MIT","dependencies":{"csv-parse":"^6.1.0"},"_id":"@donothing/boxxy@1.0.1","gitHead":"b93ecbc4500e4595a754c78a2afa3f09224e07c3","_nodeVersion":"22.16.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-kQLWpbNVbCTV0MEbpEcfjIhlQyUf5FDs9sn6fd7WHyaRZJrouYfH3TJJfV1XTgGUTiQDQNVqQqyykfKM1rjPdw==","shasum":"953ad7d32b1d60f900993693da4443b2f5e33ab9","tarball":"https://registry.npmjs.org/@donothing/boxxy/-/boxxy-1.0.1.tgz","fileCount":5,"unpackedSize":12851,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDUlBxkY0XSjpeMI4CQJNKTxQX0vRPTpIe+0rNaMKjoCgIgOa9ksAGSQUh2n70Tpz7xvdHPuN/IV9ju2GkfKUtCbt8="}]},"_npmUser":{"name":"sharkpal","email":"gerard@gerardpaapu.com"},"directories":{},"maintainers":[{"name":"sharkpal","email":"gerard@gerardpaapu.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/boxxy_1.0.1_1760560095016_0.2787400260031556"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-15T20:28:14.900Z","1.0.1":"2025-10-15T20:28:15.229Z","modified":"2025-10-15T20:28:15.531Z"},"maintainers":[{"name":"sharkpal","email":"gerard@gerardpaapu.com"}],"description":"A JavaScript box drawing library for ASCII art layouts with CSV table converter","keywords":["box","ascii","layout","table","drawing","csv","cli"],"license":"MIT","readme":"# Boxxy - JavaScript Box Drawing Library\n\nA JavaScript library for creating ASCII art layouts and tables, translated from OCaml. Perfect for creating formatted console output, tables, and text-based user interfaces. Includes a CLI tool for converting CSV data to ASCII tables.\n\n## Features\n\n- **Box Creation**: Create boxes from strings, characters, or filled with patterns\n- **Layout Management**: Stack boxes horizontally and vertically with alignment options\n- **Table Generation**: Convert data arrays into formatted ASCII tables\n- **CSV CLI Tool**: Pipe CSV data directly to create ASCII tables\n- **Framing**: Add borders and frames around content\n- **Flexible Alignment**: Support for left, center, and right alignment\n\n## Quick Start\n\n```javascript\nimport { printBox, framed, fromString, makeTableFromCsv } from './index.js';\n\n// Create a simple framed box\nconst box = framed(fromString(\"Hello, World!\"));\nprintBox(box);\n\n// Create a table from CSV data\nconst csvData = [\n  ['Name', 'Age', 'City'],\n  ['Alice', '30', 'New York'],\n  ['Bob', '25', 'Chicago']\n];\nconst table = makeTableFromCsv(csvData);\nprintBox(table);\n```\n\n## CLI Usage\n\nConvert CSV data to ASCII tables by piping to the `boxxy` command:\n\n```bash\n# From a CSV file\ncat data.csv | npx boxxy\n\n# From inline data\necho 'Name,Age,City\nAlice,30,New York\nBob,25,Los Angeles' | npx boxxy\n\n# With tab-separated values\ncat data.tsv | npx boxxy\n\n# Get help\nnpx boxxy --help\n\n# Get version\nnpx boxxy --version\n```\n\n## CLI Options\n\n- `-h, --help` - Show help message and usage examples\n- `-v, --version` - Display version information\n\n## Testing\n\n```bash\n# Test CSV converter\nnpm run test-csv\n```\n\n## API Reference\n\n### Core Functions\n\n- `fromString(s)` - Create a box from a string\n- `fill(char, height, width)` - Create a filled box\n- `beside(left, right, align?)` - Stack boxes horizontally\n- `above(top, bottom, align?)` - Stack boxes vertically\n- `framed(box)` - Add a frame around a box\n- `makeTableFromCsv(csvData)` - Create a table from CSV data array\n- `makeTableFromCsv(csvData)` - Create a table from CSV data (array of arrays)\n\n### Alignment Options\n\n- `HorizontalAlign.LEFT`, `HorizontalAlign.CENTER`, `HorizontalAlign.RIGHT`\n- `VerticalAlign.TOP`, `VerticalAlign.CENTER`, `VerticalAlign.BOTTOM`\n\n## Example Output\n```\n$ echo 'Product,Price,Rating\nLaptop,999.99,4.5\nCoffee Mug,12.50,4.8' | npx boxxy\n\n.------------------------------.\n| Product    | Price  | Rating |\n|------------|--------|--------|\n| Laptop     | 999.99 |  4.5   |\n| Coffee Mug | 12.50  |  4.8   |\n'------------------------------'\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md","_rev":"1-8ec14bab04b986e380118213fac07ff7"}