{"id":15390230,"url":"https://github.com/gajus/coordinate-grid","last_synced_at":"2025-04-15T21:27:23.141Z","repository":{"id":57207163,"uuid":"187171278","full_name":"gajus/coordinate-grid","owner":"gajus","description":"Generates a coordinate grid (CLI square grid).","archived":false,"fork":false,"pushed_at":"2020-02-25T08:44:45.000Z","size":28,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-06T12:39:43.982Z","etag":null,"topics":["ascii","cli","coordinate","grid","square","terminal"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gajus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-05-17T07:47:32.000Z","updated_at":"2022-09-21T06:10:41.000Z","dependencies_parsed_at":"2022-09-08T14:22:39.216Z","dependency_job_id":null,"html_url":"https://github.com/gajus/coordinate-grid","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gajus%2Fcoordinate-grid","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gajus%2Fcoordinate-grid/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gajus%2Fcoordinate-grid/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gajus%2Fcoordinate-grid/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gajus","download_url":"https://codeload.github.com/gajus/coordinate-grid/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249156178,"owners_count":21221726,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ascii","cli","coordinate","grid","square","terminal"],"created_at":"2024-10-01T15:05:02.170Z","updated_at":"2025-04-15T21:27:23.109Z","avatar_url":"https://github.com/gajus.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# coordinate-grid\n\n[![GitSpo Mentions](https://gitspo.com/badges/mentions/gajus/coordinate-grid?style=flat-square)](https://gitspo.com/mentions/gajus/coordinate-grid)\n[![Travis build status](http://img.shields.io/travis/gajus/coordinate-grid/master.svg?style=flat-square)](https://travis-ci.org/gajus/coordinate-grid)\n[![Coveralls](https://img.shields.io/coveralls/gajus/coordinate-grid.svg?style=flat-square)](https://coveralls.io/github/gajus/coordinate-grid)\n[![NPM version](http://img.shields.io/npm/v/coordinate-grid.svg?style=flat-square)](https://www.npmjs.org/package/coordinate-grid)\n[![Canonical Code Style](https://img.shields.io/badge/code%20style-canonical-blue.svg?style=flat-square)](https://github.com/gajus/canonical)\n[![Twitter Follow](https://img.shields.io/twitter/follow/kuizinas.svg?style=social\u0026label=Follow)](https://twitter.com/kuizinas)\n\nGenerates a coordinate grid (CLI square grid).\n\n## Usage\n\n```js\nimport {\n  createCoordinateSquare,\n  drawCoordinateGrid,\n  drawSquare\n} from 'coordinate-grid';\n\n/**\n * @param {string} name\n * @param {number} style Square style (possible values: 'single', 'double', 'borderless') (default value: 'single').\n * @param {number} color Square color (possible value: 'red', 'green', 'yellow', 'blue') (default: none).\n * @return {string}\n */\ndrawSquare(name, style, color);\n\n/**\n * Creates an instruction for a single square in a coordinate grid.\n *\n * @param {number} x Horizontal coordinate.\n * @param {number} y Vertical coordinate.\n * @param {string} body\n * @returns {CoordinateSquare}\n */\ncreateCoordinateGridMember(x, y, body);\n\n/**\n * Produces a text representation of a collection of coordinate squares placed on a coordinate grid.\n *\n * @param {CoordinateSquare[]} coordinateSquares\n * @param {string} emptySquare Filler text for missing coordinate members.\n * @returns {string}\n */\ndrawCoordinateGrid(coordinateSquares, emptySquare)\n\n```\n\n\n## Example\n\n### Using single character\n\n```js\nimport {\n  createCoordinateSquare,\n  drawCoordinateGrid,\n} from 'coordinate-grid';\n\nconsole.log(\n  drawCoordinateGrid([\n    createCoordinateGridMember(0, 0, 'x'),\n    createCoordinateGridMember(1, 0, 'x'),\n    createCoordinateGridMember(2, 0, 'x'),\n    createCoordinateGridMember(1, 1, 'x'),\n    createCoordinateGridMember(1, 2, 'x'),\n    createCoordinateGridMember(2, 2, 'x')\n  ], '_')\n);\n\n```\n\nProduces:\n\n```\nxxx\n_x_\n_xx\n\n```\n\n### Using ASCII boxes\n\n```js\nimport {\n  createCoordinateSquare,\n  drawCoordinateGrid,\n  drawSquare,\n} from 'coordinate-grid';\n\nconsole.log(\n  drawCoordinateGrid([\n    createCoordinateGridMember(0, 0, drawSquare('A1')),\n    createCoordinateGridMember(1, 0, drawSquare('A2', 'double')),\n    createCoordinateGridMember(2, 0, drawSquare('A3', 'borderless')),\n    createCoordinateGridMember(1, 1, drawSquare('B2', 'single', 'green')),\n    createCoordinateGridMember(1, 2, drawSquare('B3')),\n    createCoordinateGridMember(2, 2, drawSquare('C3', 'single', 'red'))\n  ])\n);\n\n```\n\nProduces:\n\n```\n┌────┐╔════╗\n│ A1 │║ A2 ║  A3\n└────┘╚════╝\n      ┌────┐\n      │ B2 │\n      └────┘\n      ┌────┐┌────┐\n      │ B3 ││ C3 │\n      └────┘└────┘\n\n```\n\nWhich when rendered in terminal looks like this:\n\n![Coordinate Grid](./.README/coordinate-grid.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgajus%2Fcoordinate-grid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgajus%2Fcoordinate-grid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgajus%2Fcoordinate-grid/lists"}