{"_id":"@darkaqua/flood-fill","name":"@darkaqua/flood-fill","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"scripts":{"build":"yarn global add esbuild && esbuild --bundle --format=esm mod.ts > mod.js","::publish":"npm publish --access public"},"name":"@darkaqua/flood-fill","version":"1.0.0","type":"module","main":"mod.js","module":"mod.js","types":"mod.ts","private":false,"license":"MIT","_id":"@darkaqua/flood-fill@1.0.0","gitHead":"ec52643cfdd92da6ee052b451f5b17f1f4277af0","description":"A simple 2D [flood fill](http://en.wikipedia.org/wiki/Flood_fill) with no stupid dependencies!","_nodeVersion":"20.14.0","_npmVersion":"10.7.0","dist":{"integrity":"sha512-9QnxhK4F/iYVBJLChQPCGhulWVKNeQJdlucfDzhvJx0AnfBLsP7f7ZADUtU3vRY3/k7nAbp1Ajl9Y07qBWGqrA==","shasum":"e13ec8703ddd08fd9091a313d5f1d33b630d1846","tarball":"https://registry.npmjs.org/@darkaqua/flood-fill/-/flood-fill-1.0.0.tgz","fileCount":5,"unpackedSize":5543,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCkQe/gDOXeGo4O49/hiII+dLSxDOKKD4Q9p/VYx2pBuQIhAI+lGvXemoRngnJgWObYdVnoNE9ZkMRCIpppPSgWKNSg"}]},"_npmUser":{"name":"pagoru","email":"pagoru@gmail.com"},"directories":{},"maintainers":[{"name":"pagoru","email":"pagoru@gmail.com"},{"name":"mcmacker4","email":"mcmacker4@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flood-fill_1.0.0_1718634286915_0.640448082540747"},"_hasShrinkwrap":false}},"time":{"created":"2024-06-17T14:24:46.806Z","1.0.0":"2024-06-17T14:24:47.083Z","modified":"2024-06-17T14:24:47.363Z"},"maintainers":[{"name":"pagoru","email":"pagoru@gmail.com"},{"name":"mcmacker4","email":"mcmacker4@gmail.com"}],"description":"A simple 2D [flood fill](http://en.wikipedia.org/wiki/Flood_fill) with no stupid dependencies!","license":"MIT","readme":"# flood-fill #\n\nA simple 2D [flood fill](http://en.wikipedia.org/wiki/Flood_fill) with no stupid dependencies!\n\nYou could use this to re-implement Microsoft Paint's bucket fill in\nJavaScript, or in procedural dungeon generation to identify disconnected rooms.\n\n[![flood fill](https://raw.github.com/hughsk/flood-fill/master/example.gif)](http://en.wikipedia.org/wiki/File:Recursive_Flood_Fill_4_%28aka%29.gif)\n\n## Usage ##\n\n``` typescript\nimport { getGrid } from './mod.ts';\n\nconst grid = createGrid(50, 50);\n\nfor (let x = 0; x < 50; x++) {\n    grid.set(x, 10, 1);\n    grid.set(x, 21, 1);\n}\nfor (let y = 0; y < 50; y++) {\n    grid.set(10, y, 1);\n    grid.set(22, y, 1);\n}\n\nconst result = grid.floodFill(30, 19);\n\nlet output = \"\";\n\nfor (let y = 0; y < grid.height; y++) {\n    for (let x = 0; x < grid.width; x++) {\n        const cell = grid.cells[y * grid.width + x];\n        const filledCell = result.filledGrid.cells[y * grid.width + x];\n        \n        output += cell !== 0 ? \"#\" : filledCell !== 0 ? \"@\" : \" \";\n    }\n    \n    if (y < grid.height - 1) {\n        output += \"\\n\";\n    }\n}\n\nconsole.log(output);\n\n```\n","readmeFilename":"README.md"}