@addapptables/microservice
Version:
addapptables microservice
25 lines (24 loc) • 1.3 kB
TypeScript
import { ModuleRef } from '@nestjs/core';
import { OnModuleDestroy } from '@nestjs/common';
import { Class } from './types';
import { IBusAdapter } from './interfaces/bus/bus-adapter.interface';
import { MicroserviceOptions } from './interfaces/microservice-options.interface';
import { IHandler } from './interfaces';
import { ITransferData } from './interfaces/transfer-data';
import { TransferDataDto } from './interfaces/transfer-data-dto.interface';
import { CraftsLogger } from './logger/services/logger.service';
export declare abstract class Bus implements OnModuleDestroy {
protected readonly moduleRef: ModuleRef;
protected readonly microserviceOptions: MicroserviceOptions;
protected logger: CraftsLogger;
protected adapter: IBusAdapter;
constructor(moduleRef: ModuleRef);
abstract publish(data: ITransferData<TransferDataDto>): any;
protected abstract registerHandlers(): void;
protected abstract reflectName(handler: Class<IHandler>): Class<ITransferData<TransferDataDto>>;
protected abstract subscribe(handle: IHandler): (data: any) => Promise<any>;
onInit(busAdapter: IBusAdapter): Promise<void>;
protected resolveAdapter(): Promise<void>;
protected registerHandler: (handler: Class<IHandler>) => void;
onModuleDestroy(): void;
}