@mbc-cqrs-serverless/core
Version:
CQRS and event base core
21 lines (20 loc) • 1.07 kB
TypeScript
import { Type } from '@nestjs/common';
import { InstanceWrapper } from '@nestjs/core/injector/instance-wrapper';
import { Module } from '@nestjs/core/injector/module';
import { ModulesContainer } from '@nestjs/core/injector/modules-container';
import { IDataSyncHandler, IEventFactory, IEventHandler } from '../interfaces';
export declare class ExplorerService {
private readonly modulesContainer;
private readonly logger;
constructor(modulesContainer: ModulesContainer);
explore(): {
events: Type<IEventHandler<any, any>>[];
eventFactorys: Type<IEventFactory<any>>[];
};
exploreDataSyncHandlers(commandTableName: string): {
dataSyncHandlers: Type<IDataSyncHandler<any, any>>[];
};
flatMap<T>(modules: Module[], callback: (instance: InstanceWrapper) => Type<any> | undefined): Type<T>[];
filterProvider(wrapper: InstanceWrapper, metadataKey: string, metadataValue?: string): Type<any> | undefined;
extractMetadata(instance: Record<string, any>, metadataKey: string, metadataValue?: string): Type<any>;
}