@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
37 lines (31 loc) • 1.12 kB
text/typescript
import type { IStockPrice, IStockDataRequest } from './stockprice.js';
export interface IStockProvider {
name: string;
priority: number;
fetchData(request: IStockDataRequest): Promise<IStockPrice | IStockPrice[]>;
isAvailable(): Promise<boolean>;
supportsMarket?(market: string): boolean;
supportsTicker?(ticker: string): boolean;
readonly requiresAuth: boolean;
readonly rateLimit?: {
requestsPerMinute: number;
requestsPerDay?: number;
};
}
export interface IProviderConfig {
enabled: boolean;
priority?: number;
apiKey?: string;
timeout?: number;
retryAttempts?: number;
retryDelay?: number;
maxRecords?: number; // Maximum records to fetch per request (default: 10000)
defaultIntradayLimit?: number; // Default limit for intraday requests without explicit limit (default: 1000)
}
export interface IProviderRegistry {
register(provider: IStockProvider, config?: IProviderConfig): void;
unregister(providerName: string): void;
getProvider(name: string): IStockProvider | undefined;
getAllProviders(): IStockProvider[];
getEnabledProviders(): IStockProvider[];
}