{"_id":"@codingspark/tiles-downloader","_rev":"1-08eacc88844d6296581271122f23051e","name":"@codingspark/tiles-downloader","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"@codingspark/tiles-downloader","version":"1.0.0","_id":"@codingspark/tiles-downloader@1.0.0","maintainers":[{"name":"screamz","email":"andreas.hanss67@gmail.com"}],"dist":{"shasum":"e01a3ede798f89446435bfecada3ac18a3293caa","tarball":"https://registry.npmjs.org/@codingspark/tiles-downloader/-/tiles-downloader-1.0.0.tgz","fileCount":8,"integrity":"sha512-IzJACLobj0b6UeBzk9m4a2hu0HNphpMn92pxLramLJNsKp37UkUudGuJaKLgea4cUVTTUu1wnF0vyNgbLQZvvA==","signatures":[{"sig":"MEQCIDE/qyv7/AneWu3Eb4g76vkOkqf+j/pfzZx5T2mgjudiAiAsNC7lNZ+MZA2SwULiwJbiltbKeDBc/4ta1UHzONKjIQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8222},"main":"dist/index.js","type":"module","_from":"file:codingspark-tiles-downloader-1.0.0.tgz","types":"./dist/index.d.ts","scripts":{"ci":"pnpm run build && pnpm run format && pnpm run check-exports","build":"tsc","format":"biome check --write","check-exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm"},"_npmUser":{"name":"screamz","email":"andreas.hanss67@gmail.com"},"_resolved":"/private/var/folders/rn/m4j774cj3kl9q8mftngq47g40000gn/T/81fad84e5cd85c44a674d1c7fb6ab424/codingspark-tiles-downloader-1.0.0.tgz","_integrity":"sha512-IzJACLobj0b6UeBzk9m4a2hu0HNphpMn92pxLramLJNsKp37UkUudGuJaKLgea4cUVTTUu1wnF0vyNgbLQZvvA==","_npmVersion":"10.9.0","description":"A small library to download map tiles","directories":{},"_nodeVersion":"22.11.0","dependencies":{"p-throttle":"^6.2.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.13","@biomejs/biome":"1.9.4","@changesets/cli":"^2.27.9","@arethetypeswrong/cli":"^0.17.0"},"_npmOperationalInternal":{"tmp":"tmp/tiles-downloader_1.0.0_1731854773101_0.5078536367289233","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@codingspark/tiles-downloader","description":"A small library to download map tiles","version":"1.1.0","type":"module","main":"dist/index.js","dependencies":{"p-throttle":"^6.2.0"},"devDependencies":{"@arethetypeswrong/cli":"^0.17.0","@biomejs/biome":"1.9.4","@changesets/cli":"^2.27.9","@types/bun":"^1.1.13"},"scripts":{"build":"tsc","ci":"pnpm run build && pnpm run format && pnpm run check-exports","format":"biome check --write","check-exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm"},"_id":"@codingspark/tiles-downloader@1.1.0","types":"./dist/index.d.ts","_integrity":"sha512-9E3I8O2POhQ/LVvlD4m3grxKTgTvUJS8SU6rppbm87GHwYIy6hMOW83uX1fKQaeAdDoJYJQuhVlEPnhCmEU9/Q==","_resolved":"/private/var/folders/rn/m4j774cj3kl9q8mftngq47g40000gn/T/1d2f846ee0afcdf71ceb9e3577e9298c/codingspark-tiles-downloader-1.1.0.tgz","_from":"file:codingspark-tiles-downloader-1.1.0.tgz","_nodeVersion":"22.11.0","_npmVersion":"10.9.0","dist":{"integrity":"sha512-9E3I8O2POhQ/LVvlD4m3grxKTgTvUJS8SU6rppbm87GHwYIy6hMOW83uX1fKQaeAdDoJYJQuhVlEPnhCmEU9/Q==","shasum":"650d0c368cc3d75201c5a729b86eb091a74bfc5b","tarball":"https://registry.npmjs.org/@codingspark/tiles-downloader/-/tiles-downloader-1.1.0.tgz","fileCount":8,"unpackedSize":8725,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC+y5xmAlCVXo/4YlxsIT8eAYO1dFByqFY7rj2ljYZAbwIgPe/0pxNeN7925SpvtfZACVe4BFqqybkd+Y5vWhAlmws="}]},"_npmUser":{"name":"screamz","email":"andreas.hanss67@gmail.com"},"directories":{},"maintainers":[{"name":"screamz","email":"andreas.hanss67@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tiles-downloader_1.1.0_1733420475762_0.21449015181871456"},"_hasShrinkwrap":false}},"time":{"created":"2024-11-17T14:46:13.016Z","modified":"2024-12-05T17:41:16.128Z","1.0.0":"2024-11-17T14:46:13.395Z","1.1.0":"2024-12-05T17:41:15.961Z"},"description":"A small library to download map tiles","maintainers":[{"name":"screamz","email":"andreas.hanss67@gmail.com"}],"readme":"# Tiles downloader\n\n> [!IMPORTANT]\n> This module is ESM only.\n\nThis module allows you to download tiles from a tile server. Therefore you can use it to download tiles from OpenStreetMap, etc. for offline use or caching.\n\n## Installation\n\n```sh\nnpm install @codingspark/tiles-downloader\n```\n\n## Example usage\n\n### Tiles downloading\n\nGeneric tiles download using `fetch` that works in browser and most server environments.\n\n```ts\nimport path from \"node:path\";\nimport { downloadTiles } from \"@codingspark/tiles-downloader\";\n\nawait downloadTiles(\n  {\n    url: \"https://tile.openstreetmap.org/{z}/{x}/{y}.png\",\n    zoomLevels: [14, 15, 16],\n    throttleConfig: { limit: 3, interval: 1000 },\n    bounds: {\n      minLat: 43.5704,\n      maxLat: 43.645,\n      minLon: 3.8095,\n      maxLon: 3.923,\n    },\n  },\n  async ({ x, y, z, buffer }) => {\n    const outputPath = path.join(\n      \"./map\",\n      z.toString(),\n      x.toString(),\n      `${y}.png`\n    );\n\n    console.log(`Writing tile ${z}/${x}/${y}`);\n\n    // Using bun but use anything you want to write the buffer to a file\n    Bun.write(outputPath, buffer);\n  }\n);\n```\n\n### Generate tiles for a specific area\n\nThis can be useful if you want to only get tiles for a specific need or you want to manage downloading tiles by yourself.\n\n```ts\nimport { computeTiles } from \"@codingspark/tiles-downloader\";\n\nconst tiles = computeTiles({\n  bounds: {\n    minLat: 43.5704,\n    maxLat: 43.645,\n    minLon: 3.8095,\n    maxLon: 3.923,\n  },\n  zoomLevels: [14, 15, 16],\n});\n```\n","readmeFilename":"README.md"}