{"_id":"@allratestoday/sdk","_rev":"14-1ae52b916d8093dfbcfd820666165794","name":"@allratestoday/sdk","dist-tags":{"latest":"1.3.9"},"versions":{"1.0.0":{"name":"@allratestoday/sdk","version":"1.0.0","keywords":["exchange-rate","currency","forex","api","allratestoday","conversion","mid-market-rate","reuters"],"author":{"name":"AllRatesToday","email":"info@allratestoday.com"},"license":"MIT","_id":"@allratestoday/sdk@1.0.0","maintainers":[{"name":"chathurangac8","email":"basnayakac8@gmail.com"}],"homepage":"https://allratestoday.com","bugs":{"url":"https://github.com/allratestoday/sdk-javascript/issues"},"dist":{"shasum":"057330668e4f861d45b73a418223562c2627ef55","tarball":"https://registry.npmjs.org/@allratestoday/sdk/-/sdk-1.0.0.tgz","fileCount":6,"integrity":"sha512-uoNF+DFvxi6Qkk9ILkC/CtPI0yHO7WZZmCWlk3b0HYz7l1mCmcq3695cCxuH4zcYpLNZdJVYM8/jeaHKBIK6GQ==","signatures":[{"sig":"MEQCIHd/Rh7l+b9LaRQGrmSjdqzDldtnP96Zw7LJxWf1I6a5AiA8VD2tK3zdgr2Xy8DX2N7sbPjJbczSaHXPnQgd9uLebw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12863},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"build":"tsup src/index.ts --format cjs,esm --dts","prepublishOnly":"npm run build"},"_npmUser":{"name":"chathurangac8","email":"basnayakac8@gmail.com"},"repository":{"url":"git+https://github.com/allratestoday/sdk-javascript.git","type":"git"},"_npmVersion":"10.9.7","description":"Official JavaScript/TypeScript SDK for AllRatesToday exchange rate API","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.0_1775409772731_0.6396269569784239","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@allratestoday/sdk","version":"1.1.0","keywords":["exchange-rate","currency","forex","api","allratestoday","conversion","mid-market-rate","reuters"],"author":{"name":"AllRatesToday","email":"info@allratestoday.com"},"license":"MIT","_id":"@allratestoday/sdk@1.1.0","maintainers":[{"name":"chathurangac8","email":"basnayakac8@gmail.com"}],"homepage":"https://allratestoday.com","bugs":{"url":"https://github.com/allratestoday/sdk-javascript/issues"},"dist":{"shasum":"88ec0e997beea3c3c2fc5e266e005d5a3193ba47","tarball":"https://registry.npmjs.org/@allratestoday/sdk/-/sdk-1.1.0.tgz","fileCount":6,"integrity":"sha512-TATsEVn8PUIm1eupVGcOh4tTXd7dk3lA+dDkJVioaBVu6Hb1S13AsKCVjWGoIwhxgPdKwmfVrxVDfa6NXmgSkA==","signatures":[{"sig":"MEUCIQDObqKOd5QfNOIjgoz7vBRBFDGEojwlBnlLo1UjzRmc9gIgHzj4sJrJSx9o7iyaXBBgq6nKA8Ar5uR4eT+ADkIWQ60=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13729},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"build":"tsup src/index.ts --format cjs,esm --dts","prepublishOnly":"npm run build"},"_npmUser":{"name":"chathurangac8","email":"basnayakac8@gmail.com"},"repository":{"url":"git+https://github.com/allratestoday/sdk-javascript.git","type":"git"},"_npmVersion":"10.9.7","description":"Official JavaScript/TypeScript SDK for AllRatesToday exchange rate API","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.1.0_1775415421723_0.8492437766198582","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@allratestoday/sdk","version":"1.2.0","keywords":["exchange-rate","currency","forex","api","allratestoday","conversion","mid-market-rate","reuters"],"author":{"name":"AllRatesToday","email":"info@allratestoday.com"},"license":"MIT","_id":"@allratestoday/sdk@1.2.0","maintainers":[{"name":"chathurangac8","email":"basnayakac8@gmail.com"}],"homepage":"https://allratestoday.com","bugs":{"url":"https://github.com/allratestoday/sdk-javascript/issues"},"dist":{"shasum":"8de01f4bab2e78924ede3fe7c5a57db899e210e1","tarball":"https://registry.npmjs.org/@allratestoday/sdk/-/sdk-1.2.0.tgz","fileCount":6,"integrity":"sha512-qbNamv+1CX/i1FS6vkc3BTKd3/h/pTDfSO9nLvS3TvhqCNLOG8ME2AIRetUoOP2Zu3+1UQQyQbJG5J+C/XJ7JA==","signatures":[{"sig":"MEQCIHYQdjTibKQYrE075E4KWdjO8EHwLy+p0SsYEadksOEhAiAtgBYS9v9leAros33Cu1cOfNOuwYrbIusDRYHzzz+8Sg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13841},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"build":"tsup src/index.ts --format cjs,esm --dts","prepublishOnly":"npm run build"},"_npmUser":{"name":"chathurangac8","email":"basnayakac8@gmail.com"},"repository":{"url":"git+https://github.com/allratestoday/sdk-javascript.git","type":"git"},"_npmVersion":"10.9.7","description":"Official JavaScript/TypeScript SDK for AllRatesToday exchange rate API","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.2.0_1775416080580_0.18066999353494095","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@allratestoday/sdk","version":"1.2.1","keywords":["exchange-rate","currency","forex","api","allratestoday","conversion","mid-market-rate","reuters"],"author":{"name":"AllRatesToday","email":"info@allratestoday.com"},"license":"MIT","_id":"@allratestoday/sdk@1.2.1","maintainers":[{"name":"chathurangac8","email":"basnayakac8@gmail.com"}],"homepage":"https://allratestoday.com","bugs":{"url":"https://github.com/allratestoday/exchange-rates-api/issues"},"dist":{"shasum":"ec8376894c7d9e8d9e2e6dfc5a5d6aa6649239c7","tarball":"https://registry.npmjs.org/@allratestoday/sdk/-/sdk-1.2.1.tgz","fileCount":6,"integrity":"sha512-WW8gwMfjRG5rf1kCuWSfSaFPug2n2Rlysizt/LYQ9MciDlhFPS31c/ETUjDfv0C9q4gCGnGYe6B4cAWjM6rQqQ==","signatures":[{"sig":"MEUCIGPOr3UIyk5J9PwSjZMpzp24Kek78Rde5UFf5BYtL9sDAiEA7IHCrOnD7Tm1YFfba3ESWscbgnsY1Q/LJBg4nK26LGI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13881},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"build":"tsup src/index.ts --format cjs,esm --dts","prepublishOnly":"npm run build"},"_npmUser":{"name":"chathurangac8","email":"basnayakac8@gmail.com"},"repository":{"url":"git+https://github.com/allratestoday/exchange-rates-api.git","type":"git","directory":"sdks/javascript"},"_npmVersion":"10.9.7","description":"Official JavaScript/TypeScript SDK for AllRatesToday exchange rate API","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.2.1_1775725165322_0.30868118198970507","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@allratestoday/sdk","version":"1.3.0","keywords":["exchange-rate","currency","forex","api","allratestoday","conversion","mid-market-rate","reuters"],"author":{"name":"AllRatesToday","email":"info@allratestoday.com"},"license":"MIT","_id":"@allratestoday/sdk@1.3.0","maintainers":[{"name":"chathurangac8","email":"basnayakac8@gmail.com"}],"homepage":"https://allratestoday.com","bugs":{"url":"https://github.com/allratestoday/exchange-rates-api/issues"},"dist":{"shasum":"2eda4d5a1fec773adfd618d48820d9574b002536","tarball":"https://registry.npmjs.org/@allratestoday/sdk/-/sdk-1.3.0.tgz","fileCount":6,"integrity":"sha512-zVoDvR8m4RAvUSFwiUfbbVaigsiyesA6zuDqnrdyfc91e7xwZ94Nf3dW/xDjofti0tsc/fKuf4ZM08pZvcnmkA==","signatures":[{"sig":"MEYCIQDfaBsSRIvg1AECL8Zr8F68/CENte3Esu9jw4xRah/+UgIhAIRgsLcps482Lfx9J6YREjP+xXv1UEpwbH46fv0zqwh9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45419},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"1c5127be80e2c4af3f5353642ad591b9a716ada7","scripts":{"build":"tsup src/index.ts --format cjs,esm --dts","prepublishOnly":"npm run build"},"_npmUser":{"name":"chathurangac8","email":"basnayakac8@gmail.com"},"repository":{"url":"git+https://github.com/allratestoday/exchange-rates-api.git","type":"git","directory":"sdks/javascript"},"_npmVersion":"10.9.7","description":"The most elegant way to access real-time mid-market exchange rates in Node.js and browsers. 160+ currencies, Reuters/Refinitiv data, zero dependencies.","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.3.0_1775755808395_0.31463866492843673","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@allratestoday/sdk","version":"1.3.1","keywords":["exchange-rate","currency","forex","api","allratestoday","conversion","mid-market-rate","reuters"],"author":{"name":"AllRatesToday","email":"info@allratestoday.com"},"license":"MIT","_id":"@allratestoday/sdk@1.3.1","maintainers":[{"name":"chathurangac8","email":"basnayakac8@gmail.com"}],"homepage":"https://allratestoday.com","bugs":{"url":"https://github.com/allratestoday/exchange-rates-api/issues"},"dist":{"shasum":"e57bc227515ead21365a10ba08102d5219a06220","tarball":"https://registry.npmjs.org/@allratestoday/sdk/-/sdk-1.3.1.tgz","fileCount":6,"integrity":"sha512-89ErYU1KNASZlFiX3ZgcplG7/z4h8Hl6cmtuNWDYsYDlZxDZ4A2bLaRZ+8vOj8Ot2jHStEXd800jX3JKHN77dQ==","signatures":[{"sig":"MEUCIDOBgAxuYV8AuosEkvAbwJ6SGhQLTgsMQDyN9XwdZnaEAiEAs36AbOQTVw4c5m5Y+CTh0hgb3jxUfHv21saoiHj99dQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46118},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"166864822c81b4d6e085f35b5a4fef0524132cdd","scripts":{"test":"vitest run","build":"tsup src/index.ts --format cjs,esm --dts","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"chathurangac8","email":"basnayakac8@gmail.com"},"repository":{"url":"git+https://github.com/allratestoday/exchange-rates-api.git","type":"git","directory":"sdks/javascript"},"_npmVersion":"10.9.7","description":"The most elegant way to access real-time mid-market exchange rates in Node.js and browsers. 160+ currencies, Reuters/Refinitiv data, zero dependencies.","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^4.1.4","typescript":"^5.0.0","@vitest/coverage-v8":"^4.1.4"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.3.1_1775758058732_0.2636051644511568","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"@allratestoday/sdk","version":"1.3.2","keywords":["exchange-rate","currency","forex","api","allratestoday","conversion","mid-market-rate","reuters"],"author":{"name":"AllRatesToday","email":"info@allratestoday.com"},"license":"MIT","_id":"@allratestoday/sdk@1.3.2","maintainers":[{"name":"chathurangac8","email":"basnayakac8@gmail.com"}],"homepage":"https://allratestoday.com","bugs":{"url":"https://github.com/allratestoday/exchange-rates-api/issues"},"dist":{"shasum":"41820b1cedabf6033a57efd0cf53eae14388611b","tarball":"https://registry.npmjs.org/@allratestoday/sdk/-/sdk-1.3.2.tgz","fileCount":6,"integrity":"sha512-J6C5JeU5yu3iqUUubXlGQpOaflWsOOTanU9bXXynTiTRIIiLB5D4tjT7Wh7ZHHVD0eODhbFK+STJvai5z8lu0A==","signatures":[{"sig":"MEQCIDUpc3NWc3W0bPJd3OVfexFGNcGnWq2obH1tDH7vLrWMAiBBAez220RrxcfuvT5zfMd2VJ5ABZu3Vsl/fq1xxglkvg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46041},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"544ee03cb80910d6fa905e9d608e09db0f4efe37","scripts":{"test":"vitest run","build":"tsup src/index.ts --format cjs,esm --dts","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"chathurangac8","email":"basnayakac8@gmail.com"},"repository":{"url":"git+https://github.com/allratestoday/exchange-rates-api.git","type":"git","directory":"sdks/javascript"},"_npmVersion":"10.9.7","description":"Exchange Rate API — Real-time mid-market currency exchange rates for Node.js and browsers. 160+ currencies from Reuters/Refinitiv, zero dependencies, free tier.","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^4.1.4","typescript":"^5.0.0","@vitest/coverage-v8":"^4.1.4"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.3.2_1775772231649_0.1975754181461684","host":"s3://npm-registry-packages-npm-production"}},"1.3.3":{"name":"@allratestoday/sdk","version":"1.3.3","keywords":["exchange-rate","currency","forex","api","allratestoday","conversion","mid-market-rate","reuters"],"author":{"name":"AllRatesToday","email":"info@allratestoday.com"},"license":"MIT","_id":"@allratestoday/sdk@1.3.3","maintainers":[{"name":"chathurangac8","email":"basnayakac8@gmail.com"}],"homepage":"https://allratestoday.com","bugs":{"url":"https://github.com/allratestoday/exchange-rates-api/issues"},"dist":{"shasum":"a7e1c6645c649322a2ec9962d7ce94863599f8cb","tarball":"https://registry.npmjs.org/@allratestoday/sdk/-/sdk-1.3.3.tgz","fileCount":6,"integrity":"sha512-YoiwJZtH1NtvnTocu0tlE897TsXqI3kaICxTLSP3GgqiSUKuV+/Hzo9M/Y2MQBClOqtkqS6p6qoMCyuDiv0MRQ==","signatures":[{"sig":"MEUCIQC0wHAQex2blOD932uQlR2unEQ8j6WAXtrMT7l9w37eiQIgMRVx3Rqc1Aa6/cQecedCfKSf9pwM61RRFNEZTEoB3jU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45498},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"53cc43a53bf075296fef5df410bd4ece2019d877","scripts":{"test":"vitest run","build":"tsup src/index.ts --format cjs,esm --dts","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"chathurangac8","email":"basnayakac8@gmail.com"},"repository":{"url":"git+https://github.com/allratestoday/exchange-rates-api.git","type":"git","directory":"sdks/javascript"},"_npmVersion":"10.9.7","description":"Exchange Rate API — Real-time mid-market currency exchange rates for Node.js and browsers. 160+ currencies from Reuters/Refinitiv, zero dependencies, free tier.","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^4.1.4","typescript":"^5.0.0","@vitest/coverage-v8":"^4.1.4"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.3.3_1775824261377_0.4234720202291744","host":"s3://npm-registry-packages-npm-production"}},"1.3.4":{"name":"@allratestoday/sdk","version":"1.3.4","keywords":["exchange-rate","currency","forex","api","allratestoday","conversion","mid-market-rate","reuters"],"author":{"name":"AllRatesToday","email":"info@allratestoday.com"},"license":"MIT","_id":"@allratestoday/sdk@1.3.4","maintainers":[{"name":"chathurangac8","email":"basnayakac8@gmail.com"}],"homepage":"https://allratestoday.com","bugs":{"url":"https://github.com/allratestoday/exchange-rates-api/issues"},"dist":{"shasum":"4fbb4ebb807f87e974665592273e028fa2e3f1ab","tarball":"https://registry.npmjs.org/@allratestoday/sdk/-/sdk-1.3.4.tgz","fileCount":6,"integrity":"sha512-H+ORhgzNv6Fot3tNV3qyk9YYikaOKDswIbic2FAR6gAENFAn5CBQfCg19GtxPMZwUj9mnk/rWW5gN26CrydhDg==","signatures":[{"sig":"MEYCIQCfio1/OOzacVSFWWTpurcsmMEzLQlcuw1Zzx/Hdg7eEQIhALlg2/91Y0DHGH8STN+1WE8Wc7hMfUlK0vc+5NQDsm/Z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45638},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"ca5e933f115d8ef926dde4e40c5b8d01a2d61851","scripts":{"test":"vitest run","build":"tsup src/index.ts --format cjs,esm --dts","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"chathurangac8","email":"basnayakac8@gmail.com"},"repository":{"url":"git+https://github.com/allratestoday/exchange-rates-api.git","type":"git","directory":"sdks/javascript"},"_npmVersion":"10.9.7","description":"Exchange Rate API — Real-time mid-market currency exchange rates for Node.js and browsers. 160+ currencies from Reuters/Refinitiv, zero dependencies, free tier.","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^4.1.4","typescript":"^5.0.0","@vitest/coverage-v8":"^4.1.4"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.3.4_1775827328464_0.7432182562271099","host":"s3://npm-registry-packages-npm-production"}},"1.3.5":{"name":"@allratestoday/sdk","version":"1.3.5","keywords":["exchange-rate","currency","forex","api","allratestoday","conversion","mid-market-rate","reuters"],"author":{"name":"AllRatesToday","email":"info@allratestoday.com"},"license":"MIT","_id":"@allratestoday/sdk@1.3.5","maintainers":[{"name":"chathurangac8","email":"basnayakac8@gmail.com"}],"homepage":"https://allratestoday.com","bugs":{"url":"https://github.com/allratestoday/exchange-rates-api/issues"},"dist":{"shasum":"a0a72916316a414a0bec74c60ae6b45fe9b51d28","tarball":"https://registry.npmjs.org/@allratestoday/sdk/-/sdk-1.3.5.tgz","fileCount":6,"integrity":"sha512-eFF+saHA3oCY8PxfCpgwBHbBCF1+P35kKA27NrkCZJ0D5/HJ0ViNOS5oUsNK/k3+c8tPVR+GROP9dxZ41wRVBQ==","signatures":[{"sig":"MEQCICgLrjB0k9gWQ21oY79rBABsXZTq31j5w12M8QhgLd/rAiBJrU+CxlpPXTfDuk6LIh9GT/2PuEGv5pvqW3TFxsFY7A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45785},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"d45ccee912ffaf6a05451c6765b4592eeccc9d71","scripts":{"test":"vitest run","build":"tsup src/index.ts --format cjs,esm --dts","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"chathurangac8","email":"basnayakac8@gmail.com"},"repository":{"url":"git+https://github.com/allratestoday/exchange-rates-api.git","type":"git","directory":"sdks/javascript"},"_npmVersion":"10.9.7","description":"Exchange Rate API — Real-time mid-market currency exchange rates for Node.js and browsers. 160+ currencies from Reuters/Refinitiv, zero dependencies, free tier.","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^4.1.4","typescript":"^5.0.0","@vitest/coverage-v8":"^4.1.4"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.3.5_1775943294176_0.6869035428346333","host":"s3://npm-registry-packages-npm-production"}},"1.3.6":{"name":"@allratestoday/sdk","version":"1.3.6","keywords":["exchange-rate","currency","forex","api","allratestoday","conversion","mid-market-rate","reuters"],"author":{"name":"AllRatesToday","email":"info@allratestoday.com"},"license":"MIT","_id":"@allratestoday/sdk@1.3.6","maintainers":[{"name":"chathurangac8","email":"basnayakac8@gmail.com"}],"homepage":"https://allratestoday.com","bugs":{"url":"https://github.com/allratestoday/exchange-rates-api/issues"},"dist":{"shasum":"1c7a69d0f5df01a9a448fc1ea7f8126caeaffd03","tarball":"https://registry.npmjs.org/@allratestoday/sdk/-/sdk-1.3.6.tgz","fileCount":6,"integrity":"sha512-hOvgX5PcV//Wa2Ie3mILNOdxEAfT63MCK0iOEC+WkNANnl506IdLe7QN4nsEVdTujnwY4cwkYHXXtoiRTCtLQw==","signatures":[{"sig":"MEUCIQDJ77S8C6vyVMSEaNtojDX1SM1c63X/sFFv4LPUDcZe9wIgI5pj02GTqEeZGDIs3GKo6ZNJUf/EfH/oHOkpO9lWYao=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45799},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"d828da11fc0261c25ca0e34024d1a9d5d079297a","scripts":{"test":"vitest run","build":"tsup src/index.ts --format cjs,esm --dts","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"chathurangac8","email":"basnayakac8@gmail.com"},"repository":{"url":"git+https://github.com/allratestoday/exchange-rates-api.git","type":"git","directory":"sdks/javascript"},"_npmVersion":"10.9.7","description":"Exchange Rate API — Real-time mid-market currency exchange rates for Node.js and browsers. 160+ currencies from Reuters/Refinitiv, zero dependencies, free tier.","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^4.1.4","typescript":"^5.0.0","@vitest/coverage-v8":"^4.1.4"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.3.6_1775943535741_0.36108370160414704","host":"s3://npm-registry-packages-npm-production"}},"1.3.7":{"name":"@allratestoday/sdk","version":"1.3.7","keywords":["exchange-rate","currency","forex","api","allratestoday","conversion","mid-market-rate","reuters"],"author":{"name":"AllRatesToday","email":"info@allratestoday.com"},"license":"MIT","_id":"@allratestoday/sdk@1.3.7","maintainers":[{"name":"chathurangac8","email":"basnayakac8@gmail.com"}],"homepage":"https://allratestoday.com","bugs":{"url":"https://github.com/allratestoday/exchange-rates-api/issues"},"dist":{"shasum":"6eb002c0d65cf7c78d0679d70ece9c691ddbbf5f","tarball":"https://registry.npmjs.org/@allratestoday/sdk/-/sdk-1.3.7.tgz","fileCount":6,"integrity":"sha512-LGLGk4lbW21CX+MwdvaW/td+DwfvGN32W3uPSHomdmCsYJzoHxc5JuNbcu3GtdqZYbga340qekSaKkIgAR8Rzg==","signatures":[{"sig":"MEUCIEW4JWH3QZtu3n7jHVV9EH7DOdQs94qqw7/ubDWGJf24AiEAurY734ZAgdGbdHitKT5nejh7ClgqrqdQC4E7zJcxBMA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45799},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"7bee7319258e4df48d761cc329131ab6b17d1bee","scripts":{"test":"vitest run","build":"tsup src/index.ts --format cjs,esm --dts","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"chathurangac8","email":"basnayakac8@gmail.com"},"repository":{"url":"git+https://github.com/allratestoday/exchange-rates-api.git","type":"git","directory":"sdks/javascript"},"_npmVersion":"10.9.7","description":"Exchange Rate API — Real-time mid-market currency exchange rates for Node.js and browsers. 160+ currencies from Reuters/Refinitiv, zero dependencies, free tier.","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^4.1.4","typescript":"^5.0.0","@vitest/coverage-v8":"^4.1.4"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.3.7_1775943752322_0.21198909617432116","host":"s3://npm-registry-packages-npm-production"}},"1.3.8":{"name":"@allratestoday/sdk","version":"1.3.8","keywords":["exchange-rate","currency","forex","api","allratestoday","conversion","mid-market-rate","reuters"],"author":{"name":"AllRatesToday","email":"info@allratestoday.com"},"license":"MIT","_id":"@allratestoday/sdk@1.3.8","maintainers":[{"name":"chathurangac8","email":"basnayakac8@gmail.com"}],"homepage":"https://allratestoday.com","bugs":{"url":"https://github.com/allratestoday/exchange-rates-api/issues"},"dist":{"shasum":"5529702728e16a33394df9476e66688ff464dad0","tarball":"https://registry.npmjs.org/@allratestoday/sdk/-/sdk-1.3.8.tgz","fileCount":6,"integrity":"sha512-ZyL52pZF2ofyouSUfVouQVjqoO+mgOX8WRGHTGXkbWNh61cICFFaBpQa7FGrsLP92ZxiP7fIlJg5C9qjCuPeCw==","signatures":[{"sig":"MEYCIQDXFYvrjuT9lYbLTNWvYr21808RsJm7lKRWiNsn9j+FowIhAOWpEb8x0thvZ/NmpSOS7QBIYhy1yiCVsi4rtJzv5fsh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45797},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"6782eb99d492717453d7856f5faadd2f0aece844","scripts":{"test":"vitest run","build":"tsup src/index.ts --format cjs,esm --dts","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"chathurangac8","email":"basnayakac8@gmail.com"},"repository":{"url":"git+https://github.com/allratestoday/exchange-rates-api.git","type":"git","directory":"sdks/javascript"},"_npmVersion":"10.9.7","description":"Exchange Rate API — Real-time mid-market currency exchange rates for Node.js and browsers. 160+ currencies from Reuters/Refinitiv, zero dependencies, free tier.","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^4.1.4","typescript":"^5.0.0","@vitest/coverage-v8":"^4.1.4"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.3.8_1775944117250_0.10690126165442182","host":"s3://npm-registry-packages-npm-production"}},"1.3.9":{"name":"@allratestoday/sdk","version":"1.3.9","description":"Exchange Rate API — Real-time mid-market currency exchange rates for Node.js and browsers. 160+ currencies from institutional interbank market data, zero dependencies, free tier.","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"build":"tsup src/index.ts --format cjs,esm --dts","test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"keywords":["exchange-rate","currency","forex","api","allratestoday","conversion","mid-market-rate","fx"],"author":{"name":"AllRatesToday","email":"info@allratestoday.com"},"license":"MIT","homepage":"https://allratestoday.com","repository":{"type":"git","url":"git+https://github.com/AllRates-Today/exchange-rates-api.git","directory":"sdks/javascript"},"devDependencies":{"@vitest/coverage-v8":"^4.1.11","tsup":"^8.0.0","typescript":"^5.0.0","vitest":"^4.1.4"},"gitHead":"8f3924b74de749dfd25a91e1daff00fa716fb420","bugs":{"url":"https://github.com/AllRates-Today/exchange-rates-api/issues"},"_id":"@allratestoday/sdk@1.3.9","_nodeVersion":"22.22.1","_npmVersion":"9.2.0","dist":{"integrity":"sha512-xNUtIQ/Xa41yC70LEWE0kJCm0bhDcKudjvkfewi89BJ+RxwR/aX2V6CLImwD2S1CgsCHQVkp5HyfrukRyKgaqg==","shasum":"6c765d342efe2ddfddb4673de66716fbf03cc62a","tarball":"https://registry.npmjs.org/@allratestoday/sdk/-/sdk-1.3.9.tgz","fileCount":6,"unpackedSize":45841,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFnJAB1lO8G2IEE1qzvQ0NE+Tb9ySLJkG2xFLcvr7vkHAiAmuE5U+rEF0mjzg0tX4o1E2ZpniRwfINrOfhSvqLH/UQ=="}]},"_npmUser":{"name":"chathurangac8","email":"basnayakac8@gmail.com"},"directories":{},"maintainers":[{"name":"chathurangac8","email":"basnayakac8@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sdk_1.3.9_1788178979382_0.5674791899698202"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-05T17:22:52.665Z","modified":"2026-08-31T12:22:59.728Z","1.0.0":"2026-04-05T17:22:52.894Z","1.1.0":"2026-04-05T18:57:01.873Z","1.2.0":"2026-04-05T19:08:00.776Z","1.2.1":"2026-04-09T08:59:25.470Z","1.3.0":"2026-04-09T17:30:08.528Z","1.3.1":"2026-04-09T18:07:38.899Z","1.3.2":"2026-04-09T22:03:51.793Z","1.3.3":"2026-04-10T12:31:01.516Z","1.3.4":"2026-04-10T13:22:08.661Z","1.3.5":"2026-04-11T21:34:54.307Z","1.3.6":"2026-04-11T21:38:55.860Z","1.3.7":"2026-04-11T21:42:32.460Z","1.3.8":"2026-04-11T21:48:37.399Z","1.3.9":"2026-08-31T12:22:59.533Z"},"bugs":{"url":"https://github.com/AllRates-Today/exchange-rates-api/issues"},"author":{"name":"AllRatesToday","email":"info@allratestoday.com"},"license":"MIT","homepage":"https://allratestoday.com","keywords":["exchange-rate","currency","forex","api","allratestoday","conversion","mid-market-rate","fx"],"repository":{"type":"git","url":"git+https://github.com/AllRates-Today/exchange-rates-api.git","directory":"sdks/javascript"},"description":"Exchange Rate API — Real-time mid-market currency exchange rates for Node.js and browsers. 160+ currencies from institutional interbank market data, zero dependencies, free tier.","maintainers":[{"name":"chathurangac8","email":"basnayakac8@gmail.com"}],"readme":"# Exchange Rate API — @allratestoday/sdk\n\n[![npm version](https://img.shields.io/npm/v/@allratestoday/sdk.svg)](https://www.npmjs.com/package/@allratestoday/sdk)\n[![codecov](https://codecov.io/gh/AllRates-Today/exchange-rates-api/branch/main/graph/badge.svg)](https://codecov.io/gh/AllRates-Today/exchange-rates-api)\n[![license](https://img.shields.io/npm/l/@allratestoday/sdk.svg)](https://github.com/AllRates-Today/exchange-rates-api/blob/main/LICENSE)\n[![TypeScript](https://badges.frapsoft.com/typescript/code/typescript.svg?v=101)](https://www.typescriptlang.org/)\n[![zero dependencies](https://img.shields.io/badge/dependencies-0-brightgreen.svg)](https://www.npmjs.com/package/@allratestoday/sdk)\n[![Security: Snyk](https://img.shields.io/badge/Security-Snyk-4C4A73?logo=snyk&logoColor=white)](https://snyk.io/test/github/allratestoday/exchange-rates-api)\n\n**Real-time mid-market currency exchange rates for Node.js and browsers. The most elegant way to access 160+ currencies from institutional interbank market data.**\n\n## 🚀 Why Choose This Client?\n\n- ⚡ **Lightning Fast** — Zero runtime dependencies, pure TypeScript performance\n- 📡 **Real-Time Data** — Rates updated every 60 seconds from institutional interbank market data\n- 💹 **Mid-Market Rates** — The true interbank rate — no hidden spread or markup\n- 🌍 **160+ Currencies** — Major, minor, and exotic currency pairs\n- 🔷 **Type-Safe** — Full TypeScript support with intelligent autocomplete\n- 🌐 **Universal** — Works seamlessly in Node.js 18+ and modern browsers\n- 🧑‍💻 **Developer-Friendly** — Simple API, extensive documentation, and great DX\n\n## 🔑 Get Your API Key\n\nReady to start? Get your free API key from [allratestoday.com/register](https://allratestoday.com/register).\n\n## 📦 Installation\n\n```bash\nnpm install @allratestoday/sdk\n```\n\n```bash\nyarn add @allratestoday/sdk\n```\n\n```bash\npnpm add @allratestoday/sdk\n```\n\n## 🏁 Quick Start\n\nGet up and running in seconds:\n\n```typescript\nimport AllRatesToday from '@allratestoday/sdk';\n\n// Set your API key\nconst client = new AllRatesToday({ apiKey: 'YOUR_API_KEY' });\n\n// Get latest exchange rates\nconst { rates } = await client.latest({ base: 'USD', symbols: ['EUR', 'GBP', 'JPY'] });\nconsole.log(rates);\n```\n\n## 📚 API Reference\n\n- [Latest Rates](#-latest-exchange-rates) — Get current exchange rates\n- [Historical Data](#-historical-exchange-rates) — Fetch rates for specific dates\n- [Currency Conversion](#-currency-conversion) — Convert between currencies\n- [Time Series](#-time-series-data) — Get rates over date ranges\n- [Available Currencies](#-available-currencies) — List all supported currencies\n- [Single Rate](#-single-rate) — Get one currency pair\n- [Historical by Period](#-historical-rates-by-period) — Preset period lookups\n\n---\n\n### Latest Exchange Rates\n\nGet the most current exchange rates with a single call:\n\n```typescript\n// Get all rates from USD\nconst data = await client.latest();\nconsole.log(data);\n\n// Target specific currencies\nconst data = await client.latest({ base: 'USD', symbols: ['CHF', 'GBP', 'JPY'] });\nconsole.log(data);\n```\n\n**Response:**\n\n```javascript\n{\n  base: 'USD',\n  date: '2026-04-09T14:30:00Z',\n  rates: {\n    CHF: 0.8821,\n    GBP: 0.7891,\n    JPY: 151.42\n  }\n}\n```\n\n### Historical Exchange Rates\n\nTravel back in time to get rates from any date:\n\n```typescript\n// Using a string date\nconst data = await client.forDate('2026-01-15', { base: 'USD', symbols: ['EUR'] });\nconsole.log(data);\n\n// Using a Date object\nconst data = await client.forDate(new Date('2026-01-15'), { base: 'EUR', symbols: ['USD', 'GBP'] });\nconsole.log(data);\n```\n\n**Response:**\n\n```javascript\n{\n  base: 'USD',\n  date: '2026-01-15',\n  rates: {\n    EUR: 0.9187\n  }\n}\n```\n\n### Currency Conversion\n\nConvert any amount between currencies — including historical conversions:\n\n```typescript\n// Current conversion\nconst result = await client.convert('USD', 'EUR', 1000);\nconsole.log(result);\n```\n\n**Response:**\n\n```javascript\n{\n  from: 'USD',\n  to: 'EUR',\n  amount: 1000,\n  result: 923.4,\n  rate: 0.9234\n}\n```\n\n```typescript\n// Historical conversion — what was $1,000 worth on Jan 15?\nconst result = await client.convert('USD', 'EUR', 1000, { date: '2026-01-15' });\nconsole.log(result);\n```\n\n**Response:**\n\n```javascript\n{\n  from: 'USD',\n  to: 'EUR',\n  amount: 1000,\n  result: 918.7,\n  rate: 0.9187,\n  date: '2026-01-15'\n}\n```\n\n### Available Currencies\n\nDiscover all 160+ supported currency symbols and names:\n\n```typescript\nconst data = await client.symbols();\nconsole.log(data);\n```\n\n**Response:**\n\n```javascript\n{\n  symbols: {\n    AED: 'United Arab Emirates Dirham',\n    AFN: 'Afghan Afghani',\n    ALL: 'Albanian Lek',\n    AMD: 'Armenian Dram',\n    AUD: 'Australian Dollar',\n    BDT: 'Bangladeshi Taka',\n    BRL: 'Brazilian Real',\n    CAD: 'Canadian Dollar',\n    CHF: 'Swiss Franc',\n    CNY: 'Chinese Yuan',\n    EUR: 'Euro',\n    GBP: 'British Pound Sterling',\n    INR: 'Indian Rupee',\n    JPY: 'Japanese Yen',\n    KRW: 'South Korean Won',\n    USD: 'United States Dollar',\n    // ...160+ currencies\n  }\n}\n```\n\n### Time Series Data\n\nGet exchange rates over a date range for trend analysis and charting:\n\n```typescript\nconst data = await client.timeSeries('2026-01-01', '2026-03-31', {\n  base: 'USD',\n  symbols: ['EUR', 'GBP'],\n});\nconsole.log(data);\n```\n\n**Response:**\n\n```javascript\n{\n  base: 'USD',\n  startDate: '2026-01-01',\n  endDate: '2026-03-31',\n  rates: {\n    '2026-01-01': {\n      EUR: 0.9187,\n      GBP: 0.7834\n    },\n    '2026-01-02': {\n      EUR: 0.9195,\n      GBP: 0.7841\n    },\n    '2026-01-03': {\n      EUR: 0.9201,\n      GBP: 0.7856\n    },\n    // ...\n  }\n}\n```\n\n### Single Rate\n\nGet a single exchange rate between two currencies:\n\n```typescript\nconst rate = await client.getRate('USD', 'EUR');\nconsole.log(rate);\n```\n\n**Response:**\n\n```javascript\n{\n  from: { currency: 'USD', amount: 1 },\n  to: { currency: 'EUR', amount: 0.9234 },\n  rate: 0.9234,\n  source: 'wise'\n}\n```\n\n```typescript\n// With amount\nconst rate = await client.getRate('USD', 'EUR', 500);\nconsole.log(`$500 = €${rate.to.amount}`);\n```\n\n### Historical Rates by Period\n\nGet historical rates using preset periods — no date math needed:\n\n```typescript\nconst history = await client.getHistoricalRates('USD', 'EUR', '30d');\nconsole.log(history);\n```\n\n**Response:**\n\n```javascript\n{\n  source: 'USD',\n  target: 'EUR',\n  period: '30d',\n  current: { rate: 0.9234, time: '2026-04-09T14:30:00Z' },\n  rates: [\n    { rate: 0.9198, time: '2026-03-10T00:00:00Z' },\n    { rate: 0.9210, time: '2026-03-11T00:00:00Z' },\n    // ...\n  ]\n}\n```\n\n**Available periods:** `1d` | `7d` | `30d` | `1y`\n\n---\n\n## 🔧 Configuration\n\n```typescript\nconst client = new AllRatesToday({\n  apiKey: 'YOUR_API_KEY',          // Required — get one free at allratestoday.com/register\n  baseUrl: 'https://allratestoday.com', // Optional — API base URL\n  timeout: 10000,                       // Optional — request timeout in ms\n});\n```\n\n| Option    | Type     | Default                     | Description                      |\n| --------- | -------- | --------------------------- | -------------------------------- |\n| `apiKey`  | `string` | —                           | Your API key                     |\n| `baseUrl` | `string` | `https://allratestoday.com` | API base URL                     |\n| `timeout` | `number` | `10000`                     | Request timeout in milliseconds  |\n\n---\n\n## 🔀 Per-Request API Key Override\n\nEvery method supports a per-request API key override — useful for multi-tenant apps:\n\n```typescript\nconst client = new AllRatesToday({ apiKey: 'default_key' });\n\n// Override for a specific request\nconst data = await client.latest({ apiKey: 'other_users_key' });\nconst result = await client.convert('USD', 'EUR', 100, { apiKey: 'tenant_key' });\nconst { symbols } = await client.symbols({ apiKey: 'another_key' });\n```\n\n---\n\n## 🛡️ Error Handling\n\nAll errors are thrown as `AllRatesTodayError` with an optional HTTP status code:\n\n```typescript\nimport AllRatesToday, { AllRatesTodayError } from '@allratestoday/sdk';\n\ntry {\n  const rate = await client.getRate('USD', 'INVALID');\n} catch (err) {\n  if (err instanceof AllRatesTodayError) {\n    console.log(err.message); // \"Currency not found\"\n    console.log(err.status);  // 404\n  }\n}\n```\n\n| Status | Meaning                              |\n| ------ | ------------------------------------ |\n| —      | Missing API key (thrown before request) |\n| `401`  | Invalid API key                      |\n| `404`  | Currency code not found              |\n| `429`  | Rate limit exceeded                  |\n| `500`  | Server error                         |\n\n---\n\n## 🔷 TypeScript\n\nThe SDK is written in TypeScript and ships full type definitions. All interfaces are exported:\n\n```typescript\nimport AllRatesToday, {\n  AllRatesTodayError,\n  AllRatesTodayOptions,\n  RequestOptions,\n  RateResponse,\n  AuthRateResponse,\n  LatestOptions,\n  LatestResponse,\n  ForDateOptions,\n  ForDateResponse,\n  ConvertOptions,\n  ConvertResponse,\n  TimeSeriesOptions,\n  TimeSeriesResponse,\n  HistoricalRateResponse,\n  SymbolsResponse,\n} from '@allratestoday/sdk';\n```\n\n---\n\n## 📦 CommonJS\n\n```javascript\nconst AllRatesToday = require('@allratestoday/sdk').default;\n\nconst client = new AllRatesToday({ apiKey: 'YOUR_API_KEY' });\nclient.latest().then(data => console.log(data.rates));\n```\n\n---\n\n## 💡 Examples\n\n### Currency Dropdown (React)\n\n```tsx\nimport { useEffect, useState } from 'react';\nimport AllRatesToday from '@allratestoday/sdk';\n\nconst client = new AllRatesToday({ apiKey: 'YOUR_API_KEY' });\n\nfunction CurrencySelect({ value, onChange }) {\n  const [currencies, setCurrencies] = useState([]);\n\n  useEffect(() => {\n    client.symbols().then(({ symbols }) => {\n      setCurrencies(\n        Object.entries(symbols).map(([code, name]) => ({ code, name }))\n      );\n    });\n  }, []);\n\n  return (\n    <select value={value} onChange={e => onChange(e.target.value)}>\n      {currencies.map(c => (\n        <option key={c.code} value={c.code}>{c.code} — {c.name}</option>\n      ))}\n    </select>\n  );\n}\n```\n\n### Price Display with Caching\n\n```typescript\nimport AllRatesToday from '@allratestoday/sdk';\n\nconst client = new AllRatesToday({ apiKey: 'YOUR_API_KEY' });\nlet cache: { rates: Record<string, number>; time: number } | null = null;\nconst TTL = 5 * 60 * 1000; // 5 minutes\n\nasync function getPrice(amountUSD: number, currency: string): Promise<string> {\n  if (!cache || Date.now() - cache.time > TTL) {\n    const data = await client.latest({ base: 'USD' });\n    cache = { rates: data.rates, time: Date.now() };\n  }\n  const converted = (amountUSD * cache.rates[currency]).toFixed(2);\n  return `${converted} ${currency}`;\n}\n\nconsole.log(await getPrice(99.99, 'EUR')); // \"92.32 EUR\"\nconsole.log(await getPrice(99.99, 'GBP')); // \"78.90 GBP\"\n```\n\n### Historical Chart Data\n\n```typescript\nimport AllRatesToday from '@allratestoday/sdk';\n\nconst client = new AllRatesToday({ apiKey: 'YOUR_API_KEY' });\n\nconst data = await client.timeSeries('2026-01-01', '2026-04-01', {\n  base: 'USD',\n  symbols: ['EUR'],\n});\n\n// Format for charting libraries (Chart.js, Recharts, etc.)\nconst labels = Object.keys(data.rates).sort();\nconst values = labels.map(date => data.rates[date].EUR);\n\nconsole.log({ labels, values });\n// { labels: ['2026-01-01', '2026-01-02', ...], values: [0.92, 0.921, ...] }\n```\n\n---\n\n## 📖 Methods Reference\n\n| Method | Description |\n| ------ | ----------- |\n| `latest(options?)` | Get latest rates for one or more currencies |\n| `forDate(date, options?)` | Get rates for a specific historical date |\n| `convert(from, to, amount, options?)` | Convert amount between currencies (supports historical date) |\n| `timeSeries(start, end, options?)` | Get rates across a custom date range |\n| `symbols(options?)` | List all 160+ supported currency codes and names |\n| `getRate(from, to, amount?, options?)` | Get a single exchange rate |\n| `getRates(source, target, options?)` | Get rates with full metadata |\n| `getHistoricalRates(source, target, period?, options?)` | Historical rates by preset period (1d/7d/30d/1y) |\n\n---\n\n## 🧪 Testing\n\nRun isolated unit tests (no API calls needed):\n\n```bash\nnpm test\n```\n\nRun tests with coverage report:\n\n```bash\nnpm run test:coverage\n```\n\nWatch mode for development:\n\n```bash\nnpm run test:watch\n```\n\n---\n\n## 🔗 Links\n\n- [API Documentation](https://allratestoday.com/developers)\n- [Register (Free)](https://allratestoday.com/register)\n- [Dashboard](https://allratestoday.com/profile)\n- [Status](https://allratestoday.com/status)\n- [GitHub](https://github.com/AllRates-Today/exchange-rates-api)\n\n## 📜 License\n\nMIT\n","readmeFilename":"README.md"}