{"_id":"@appaka/currapi","_rev":"7-55d86a0a14b252d5121dd337a410a6f0","name":"@appaka/currapi","dist-tags":{"latest":"0.1.3"},"versions":{"0.0.1":{"name":"@appaka/currapi","version":"0.0.1","keywords":["currency","exchange","api","currapi","historical","forex"],"author":{"name":"Javier Pérez","email":"hi@javierperez.com"},"license":"MIT","_id":"@appaka/currapi@0.0.1","maintainers":[{"name":"javierperez","email":"javier.perez.m@gmail.com"}],"dist":{"shasum":"af6affc3cde353b99fb0892b79276c8baba3abdb","tarball":"https://registry.npmjs.org/@appaka/currapi/-/currapi-0.0.1.tgz","fileCount":9,"integrity":"sha512-9Ak1mXcVJQuqZtVCzkRLIEd0nSnUtQ9aoynK4ZevW6bO/uZh898LzYG9sioegxOsWwn/BWPo6Nz80Nah6sepJw==","signatures":[{"sig":"MEYCIQCpvGEL5qywnuE/K7AmvK54k100e/61ZIMU0ED/yY8PqQIhAPV5cr+oxkQlxZ4IrIHF3rEWb/m+4ijwASXi/F/UujlH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5584},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"a5f6039fd2c1985a06904bd26e579113623a553f","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"javierperez","email":"javier.perez.m@gmail.com"},"_npmVersion":"11.2.0","description":"Official client for currapi.com — historical currency exchange rates","directories":{},"_nodeVersion":"22.14.0","dependencies":{"dotenv":"16.4.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.8.3","@types/node":"22.14.0","prettier-eslint":"16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/currapi_0.0.1_1744209471062_0.18741195629341267","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@appaka/currapi","version":"0.0.2","keywords":["currency","exchange","api","currapi","historical","forex"],"author":{"name":"Javier Pérez","email":"hi@javierperez.com"},"license":"MIT","_id":"@appaka/currapi@0.0.2","maintainers":[{"name":"javierperez","email":"javier.perez.m@gmail.com"}],"dist":{"shasum":"5819ef65eaa43ffede4d972b5a12fea220285b0e","tarball":"https://registry.npmjs.org/@appaka/currapi/-/currapi-0.0.2.tgz","fileCount":9,"integrity":"sha512-aiYkXV8reQBVENyeamLUSqCWQqxPGbI8Co38+jBzh4lv5J1tC9kzmYhzeckHvug5Pjb+WOJxbgMpgxMNk+P//w==","signatures":[{"sig":"MEYCIQDPQdB4cgbBjraE/Rvve9XpSaM8XXMdoF/Jwv7B5yCelQIhAJfjGygVJpj3P5gx0Sl2arpd7EyHJqQsfq1bzGKhNWso","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7908},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"cafb075c99adfaf338906ba3859448519360482d","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"javierperez","email":"javier.perez.m@gmail.com"},"_npmVersion":"11.2.0","description":"Official client for currapi.com — historical currency exchange rates","directories":{},"_nodeVersion":"22.14.0","dependencies":{"dotenv":"16.4.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.8.3","@types/node":"22.14.0","prettier-eslint":"16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/currapi_0.0.2_1744210189757_0.03335295793698334","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@appaka/currapi","version":"0.0.3","keywords":["currency","exchange","api","currapi","historical","forex"],"author":{"name":"Javier Pérez","email":"hi@javierperez.com"},"license":"MIT","_id":"@appaka/currapi@0.0.3","maintainers":[{"name":"javierperez","email":"javier.perez.m@gmail.com"}],"dist":{"shasum":"61828aa0adefe5d47a778004fd3f3a09ea5253cb","tarball":"https://registry.npmjs.org/@appaka/currapi/-/currapi-0.0.3.tgz","fileCount":10,"integrity":"sha512-QPjl50IZFutGXa9N6HFUNp/siRrzlTYgGkmZArmc9OJ4+TA5xcVynJ/ha0zg1M9RgmFy8SzWvcQamVbvO0ldUg==","signatures":[{"sig":"MEUCIFV9xLJ2jSDvGwji3LBJEdFeQa7Ps7yEJjnJxVwWSba6AiEAyrzHp96/R4kCjQgWJsfFGq9mI8BrJut4BAsOd6gZV04=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9704},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"f62d7b36825b5dc572e4ab84de214f7cb2e37579","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"javierperez","email":"javier.perez.m@gmail.com"},"_npmVersion":"11.2.0","description":"Official client for currapi.com — historical currency exchange rates","directories":{},"_nodeVersion":"22.14.0","dependencies":{"dotenv":"16.4.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.8.3","@types/node":"22.14.0","prettier-eslint":"16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/currapi_0.0.3_1744285975081_0.12753023760860338","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@appaka/currapi","version":"0.1.0","keywords":["currency","exchange","api","currapi","historical","forex"],"author":{"name":"Javier Pérez","email":"hi@javierperez.com"},"license":"MIT","_id":"@appaka/currapi@0.1.0","maintainers":[{"name":"javierperez","email":"javier.perez.m@gmail.com"}],"dist":{"shasum":"b10e8cf8628c0581a248509b5904d4a874944075","tarball":"https://registry.npmjs.org/@appaka/currapi/-/currapi-0.1.0.tgz","fileCount":9,"integrity":"sha512-qTsOBtvkyZDeO31+No6Qra2GLiDncMexe0wmCCW/yPLHem3oI1K50TxUvtlGNMjipeCvFXsQ7h6gy1K3rPYFPw==","signatures":[{"sig":"MEYCIQClaCRa8rwPr/BOZIqZQwb4lYQf7JH7e2Nw05agdolwqQIhAP8gxW1zX9KKHjXSmMArTkHV+Vt/OtmxJkZOX+Yc8cFO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16956},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"f62d7b36825b5dc572e4ab84de214f7cb2e37579","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"javierperez","email":"javier.perez.m@gmail.com"},"_npmVersion":"11.2.0","description":"Official client for currapi.com — historical currency exchange rates","directories":{},"_nodeVersion":"22.14.0","dependencies":{"dotenv":"16.4.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.8.3","@types/node":"22.14.0","prettier-eslint":"16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/currapi_0.1.0_1744301500915_0.8756008258017611","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@appaka/currapi","version":"0.1.1","keywords":["currency","exchange","api","currapi","historical","forex"],"author":{"name":"Javier Pérez","email":"hi@javierperez.com"},"license":"MIT","_id":"@appaka/currapi@0.1.1","maintainers":[{"name":"javierperez","email":"javier.perez.m@gmail.com"}],"dist":{"shasum":"097bf766cf048cd45ccaffea6adb183600ce7a3c","tarball":"https://registry.npmjs.org/@appaka/currapi/-/currapi-0.1.1.tgz","fileCount":9,"integrity":"sha512-BNx35hvUXfjjskfxHHDsatA9aNTFWd0UrtXzp2/dqcNTO3L3YAejHz10iN7oZPjUCYUT7AahjP6hLyQgJajbCQ==","signatures":[{"sig":"MEQCIBrdtLEVEXnO3xsoSfEoNc9ZfOCIAnWWpiRPPT+LO7GfAiAiEWu6hKc9zPBKCw+dcqL4s7ON5QbrsFx4xgr4aG1+fA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16984},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"e12edaee2a9f1f99a39598d84825982b6597e090","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"javierperez","email":"javier.perez.m@gmail.com"},"_npmVersion":"11.2.0","description":"Official client for currapi.com — historical currency exchange rates","directories":{},"_nodeVersion":"22.14.0","dependencies":{"dotenv":"16.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.8.3","@types/node":"22.15.17","prettier-eslint":"16.4.2"},"_npmOperationalInternal":{"tmp":"tmp/currapi_0.1.1_1746816355978_0.9161669378377162","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@appaka/currapi","version":"0.1.2","keywords":["currency","exchange","api","currapi","historical","forex"],"author":{"name":"Javier Pérez","email":"hi@javierperez.com"},"license":"MIT","_id":"@appaka/currapi@0.1.2","maintainers":[{"name":"javierperez","email":"javier.perez.m@gmail.com"}],"dist":{"shasum":"491eca7c6841153e0b047a97a9cbdf41161f5b43","tarball":"https://registry.npmjs.org/@appaka/currapi/-/currapi-0.1.2.tgz","fileCount":9,"integrity":"sha512-hlb7yAyMxcvrbHc+92wiLo1hNES2S4O6K6vdzwx1BBkoHxzTkpvtEOv3jZB3XUs0pPda/cUUGrNoOCHK63ylfA==","signatures":[{"sig":"MEQCIC71KfpehMJ1LCe3yFQklXbXaCwiwXPQITRQgIYW0T6aAiBYM0Z03jdH9nf6ObzAtyTZn8dj4+mE5xnl93BBuqmdWw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17011},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"e01a757d4aa67673594a163af93b6fc08d0b074f","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"javierperez","email":"javier.perez.m@gmail.com"},"_npmVersion":"11.2.0","description":"Official client for currapi.com — historical currency exchange rates","directories":{},"_nodeVersion":"22.14.0","dependencies":{"dotenv":"16.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.8.3","@types/node":"22.15.17","prettier-eslint":"16.4.2"},"_npmOperationalInternal":{"tmp":"tmp/currapi_0.1.2_1746897355722_0.4062664297585159","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@appaka/currapi","version":"0.1.3","description":"Official client for currapi.com — historical currency exchange rates","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","prepublishOnly":"pnpm run build","test":"mocha -r ts-node/register tests/**/*.test.ts"},"keywords":["currency","exchange","api","currapi","historical","forex"],"author":{"name":"Javier Pérez","email":"hi@javierperez.com"},"license":"MIT","publishConfig":{"access":"public"},"dependencies":{"decimal.js":"^10.4.3","dotenv":"16.5.0"},"devDependencies":{"@types/chai":"^4.3.16","@types/mocha":"^10.0.6","@types/node":"22.15.17","chai":"^5.1.1","mocha":"^10.4.0","prettier-eslint":"16.4.2","ts-node":"^10.9.2","typescript":"5.8.3"},"_id":"@appaka/currapi@0.1.3","gitHead":"163a40a5796b5abec56ac838ba63c2ee8e67bab1","_nodeVersion":"22.14.0","_npmVersion":"11.2.0","dist":{"integrity":"sha512-NdJ5uAEd+x2UmkILdWS55D1a5y5NQLAUk9jM8IS0IkqN4E+FYRIwuDTc97ZeAp3QGnMFNUlJ6kCf/2qz2ro7Kg==","shasum":"858e766d6dc79d303b8d2f94038f6b48017244da","tarball":"https://registry.npmjs.org/@appaka/currapi/-/currapi-0.1.3.tgz","fileCount":12,"unpackedSize":28155,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC8DoMbssm3KFv5Vnsc90Db+9zUjqPPEV8USGaVn7AdCgIhAP2Ru5g5hhQGijhY0uQ1gUQ79I96Pv9ibLINrqh6jL6S"}]},"_npmUser":{"name":"javierperez","email":"javier.perez.m@gmail.com"},"directories":{},"maintainers":[{"name":"javierperez","email":"javier.perez.m@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/currapi_0.1.3_1755012027875_0.700807778691569"},"_hasShrinkwrap":false}},"time":{"created":"2025-04-09T14:37:50.991Z","modified":"2025-08-12T15:20:28.284Z","0.0.1":"2025-04-09T14:37:51.227Z","0.0.2":"2025-04-09T14:49:49.943Z","0.0.3":"2025-04-10T11:52:55.253Z","0.1.0":"2025-04-10T16:11:41.101Z","0.1.1":"2025-05-09T18:45:56.146Z","0.1.2":"2025-05-10T17:15:55.921Z","0.1.3":"2025-08-12T15:20:28.065Z"},"author":{"name":"Javier Pérez","email":"hi@javierperez.com"},"license":"MIT","keywords":["currency","exchange","api","currapi","historical","forex"],"description":"Official client for currapi.com — historical currency exchange rates","maintainers":[{"name":"javierperez","email":"javier.perez.m@gmail.com"}],"readme":"# @appaka/currapi\n\n> Official Node.js client for [currapi.com](https://currapi.com) — a simple API for historical currency exchange rates.\n\n## 📦 Install\n\n```bash\nnpm install @appaka/currapi\n```\n\nor with Yarn:\n\n```bash\nyarn add @appaka/currapi\n```\n\n---\n\n## 🚀 Usage\n\nThis client provides a modern and extensible way to interact with [currapi.com](https://currapi.com), including automatic caching and validation.\n\n### 🔐 Set your API key\n\nWe recommend using environment variables to store your API key:\n\n```env\nCURRAPI_API_KEY=your_api_key_here\n```\n\n[Get your API key](https://currapi.com/pricing).\n\n---\n\n## `CurrAPIClient` class\n\n```ts\nimport { CurrAPIClient } from '@appaka/currapi'\n\nconst client = new CurrAPIClient(process.env.CURRAPI_API_KEY!)\n\nconst rate = await client.getRate('USD', 'EUR', '2024-03-15')\n\nconst amount = await client.convert(100, 'USD', 'EUR', '2024-03-15')\n```\n\n### 🧰 With optional cache support\n\n```ts\nimport Redis from 'ioredis'\nimport { CurrAPIClient } from '@appaka/currapi'\n\nconst redis = new Redis(process.env.REDIS_URL!)\n\nconst client = new CurrAPIClient(process.env.CURRAPI_API_KEY!, {\n  verboseMode: true,\n  cacheGet: (base, target, date) => redis.get(`${date}:${base}${target}`),\n  cacheSet: (base, target, date, rate) =>\n    redis.set(`${date}:${base}${target}`, rate),\n})\n```\n\n---\n\n## 🔁 API Reference\n\n### `getRate(base, target, date?)`\n\nFetches the exchange rate for a given date. Defaults to today if not provided.\n\n### `convert(amount, base, target, date?)`\n\nConverts an amount from one currency to another using the rate for a given date.\n\n---\n\n## 💱 Supported Currencies\n\nYou can access the full list via:\n\n```ts\nimport { CURRENCIES } from '@appaka/currapi'\n\nconsole.log(CURRENCIES)\n// ['EUR', 'USD', 'JPY', 'GBP', 'CHF', ...]\n```\n\n---\n\n## 🧪 TypeScript Support\n\nAll methods are fully typed. You can also use:\n\n```ts\nimport type { Currency } from '@appaka/currapi'\n```\n\n---\n\n## 🧑‍💻 Author\n\n- Developed by [javierperez.com](https://javierperez.com) | [@javierperez_com](https://x.com/javierperez_com)\n- Powered by [currapi.com](https://currapi.com) | [@CurrAPI_com](https://x.com/CurrAPI_com)\n","readmeFilename":"README.md"}