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