trade360-nodejs-sdk
Version:
LSports Trade360 SDK for Node.js
38 lines (37 loc) • 1.68 kB
TypeScript
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>;
}