UNPKG

@fin.cx/opendata

Version:

A comprehensive TypeScript library for accessing business data and real-time financial information. Features include German company data management with MongoDB integration, JSONL bulk processing, automated Handelsregister interactions, and real-time stoc

33 lines (32 loc) 1.24 kB
import type { IStockProvider, IProviderConfig, IProviderRegistry } from './interfaces/provider.js'; import type { IStockPrice, IStockQuoteRequest, IStockBatchQuoteRequest } from './interfaces/stockprice.js'; export declare class StockPriceService implements IProviderRegistry { private providers; private cache; private logger; private cacheConfig; constructor(cacheConfig?: { ttl?: number; maxEntries?: number; }); register(provider: IStockProvider, config?: IProviderConfig): void; unregister(providerName: string): void; getProvider(name: string): IStockProvider | undefined; getAllProviders(): IStockProvider[]; getEnabledProviders(): IStockProvider[]; getPrice(request: IStockQuoteRequest): Promise<IStockPrice>; getPrices(request: IStockBatchQuoteRequest): Promise<IStockPrice[]>; checkProvidersHealth(): Promise<Map<string, boolean>>; getProviderStats(): Map<string, { successCount: number; errorCount: number; lastError?: string; lastErrorTime?: Date; }>; clearCache(): void; setCacheTTL(ttl: number): void; private fetchWithRetry; private getCacheKey; private getFromCache; private addToCache; }