UNPKG

@accounter/server

Version:

34 lines (33 loc) 1.37 kB
import DataLoader from 'dataloader'; import { CoinMarketCapProvider } from '../../app-providers/coinmarketcap.js'; import { DBProvider } from '../../app-providers/db.provider.js'; import { Currency } from '../../../__generated__/types.js'; import { IGetRateByCurrencyAndDateResult } from '../types.js'; export declare class CryptoExchangeProvider { private context; private dbProvider; private coinMarketCap; cache: { get: <T>(key: import("node-cache").Key) => T | undefined; set: { <T>(key: import("node-cache").Key, value: T, ttl: number | string): boolean; <T>(key: import("node-cache").Key, value: T): boolean; }; delete: (keys: import("node-cache").Key | import("node-cache").Key[]) => number; clear: () => void; }; fiatCurrency: Currency; constructor(context: GraphQLModules.Context, dbProvider: DBProvider, coinMarketCap: CoinMarketCapProvider); private getCryptoExchangeRatesFromDB; private addRates; private addCryptoRateLoader; private getCryptoCurrenciesBySymbol; private getCryptoCurrenciesBySymbolLoader; private getCryptoExchangeRatesFromAPI; getCryptoExchangeRateLoader: DataLoader<{ cryptoCurrency: string; date: Date; against?: Currency; }, IGetRateByCurrencyAndDateResult, string>; clearCache(): void; }