UNPKG

@copytrade/unified-broker

Version:

Unified broker interface library for Indian stock market brokers with plugin architecture

49 lines 1.78 kB
/** * Broker Factory Implementation * Creates broker service instances using dynamic plugin registry * No hardcoded broker references - fully pluggable architecture */ import { IBrokerService, IBrokerFactory } from '../interfaces/IBrokerService'; import { BrokerRegistry } from '../registry/BrokerRegistry'; export declare class BrokerFactory implements IBrokerFactory { private static instance; private registry; private constructor(); static getInstance(): BrokerFactory; /** * Create a broker service instance * @param brokerName - Name of the broker (e.g., 'shoonya', 'fyers') * @returns IBrokerService instance * @throws Error if broker is not supported */ createBroker(brokerName: string): IBrokerService; /** * Get list of all supported brokers * @returns Array of supported broker names */ getSupportedBrokers(): string[]; /** * Check if a broker is supported * @param brokerName - Name of the broker to check * @returns true if broker is supported, false otherwise */ isBrokerSupported(brokerName: string): boolean; /** * Register a new broker dynamically * @param brokerName - Name of the broker * @param brokerCreator - Function that creates the broker service instance */ registerBroker(brokerName: string, brokerCreator: () => IBrokerService): void; /** * Unregister a broker * @param brokerName - Name of the broker to unregister */ unregisterBroker(brokerName: string): void; /** * Get the underlying registry instance * @returns BrokerRegistry instance */ getRegistry(): BrokerRegistry; } export declare const brokerFactory: BrokerFactory; //# sourceMappingURL=BrokerFactory.d.ts.map