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
TypeScript
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 };