UNPKG

currzy

Version:

Free, open-source library for fetching, managing, and converting up-to-date currency rates from multiple reliable sources with the ability to easily choose the source.

34 lines (30 loc) 1.46 kB
declare const AVAILABLE_CURRENCIES: readonly ["AUD", "AZN", "DZD", "GBP", "AMD", "BHD", "BYN", "BGN", "BOB", "BRL", "HUF", "VND", "HKD", "GEL", "DKK", "AED", "USD", "EUR", "EGP", "INR", "IDR", "IRR", "KZT", "CAD", "QAR", "KGS", "CNY", "CUP", "MDL", "MNT", "NGN", "NZD", "NOK", "OMR", "PLN", "SAR", "RON", "XDR", "SGD", "TJS", "THB", "BDT", "TRY", "TMT", "UZS", "UAH", "CZK", "SEK", "CHF", "ETB", "RSD", "ZAR", "KRW", "JPY", "MMK", "RUB"]; type CurrencyCode = (typeof AVAILABLE_CURRENCIES)[number]; declare class CbrfProvider { private url; private rates; private lastUpdate; private initialized; private cacheTTL; private cache; availableCurrencies: readonly CurrencyCode[]; private loadCache; private saveCache; clearCache(): Promise<void>; private fetchRates; private ensureInitialized; getRate(code: string, base?: string): Promise<number>; convert(amount: number, from: string, to: string): Promise<number>; getAllRates(base?: string): Promise<Record<CurrencyCode, number>>; getLastUpdate(): Date | null; } declare class Currzy { provider: CbrfProvider; constructor(providerName: string); getRate(code: string): Promise<number>; convert(amount: number, from: string, to: string): Promise<number>; getAllRatesTo(code?: string): Promise<Record<string, number | null>>; clearCache(): Promise<void>; getLastUpdate(): Date | null; } export { CbrfProvider, Currzy };