UNPKG

trade360-nodejs-sdk

Version:
38 lines (37 loc) 1.68 kB
import { BaseEntity, Constructor } from '../entities/core-entities/index.js'; import { IEntityHandler, IFeed } from '.'; import { ILogger } from '../logger'; /** * Class that represents all Feed requests */ export declare class Feed implements IFeed { private logger; /** * The underlying consumer MQ instance (RabbitMQFeed). * Event listeners should be attached to feed.consumerMq, not feed directly. * @remarks Use feed.consumerMq to access the underlying RabbitMQ feed implementation. * Note: The RabbitMQFeed manages connection events internally. */ readonly consumerMq: IFeed; private preConnectionAtStart; private mqSettings; /** * Creates a new Feed instance. * @param mqSettings - MQ connection settings (hostname, port, vhost, username, password, packageId, etc.) * @param logger - Logger instance (optional, defaults to ConsoleAdapter) * @remarks The Feed constructor only accepts 2 parameters: mqSettings and logger. * The preConnectionAtStart parameter is passed to the start() method, not the constructor. */ constructor(mqSettings: unknown, logger?: ILogger); setLogger(logger: ILogger): void; start(preConnectionAtStart?: boolean): Promise<void>; /** * Pre connection initialization for the feed service * to check the distribution status and start the * distribution flow if it is off. * @returns void */ private preConnectionInitialization; stop(): Promise<void>; addEntityHandler<TEntity extends BaseEntity>(entityHandler: IEntityHandler<TEntity>, entityConstructor: Constructor<TEntity>): Promise<void>; }