@dolittle/sdk.events.handling
Version:
Dolittle is a decentralized, distributed, event-driven microservice platform built to harness the power of events.
34 lines • 2.09 kB
TypeScript
import { Constructor } from '@dolittle/types';
import { IClientBuildResults } from '@dolittle/sdk.common';
import { GenerationLike } from '@dolittle/sdk.artifacts';
import { EventType, EventTypeIdLike, EventTypeMap, IEventTypes } from '@dolittle/sdk.events';
import { EventHandlerId } from '../EventHandlerId';
import { EventHandlerSignature } from '../EventHandlerSignature';
import { IEventHandlerMethodsBuilder } from './IEventHandlerMethodsBuilder';
/**
* Represents an implementation of {@link IEventHandlerMethodsBuilder}.
*/
export declare class EventHandlerMethodsBuilder extends IEventHandlerMethodsBuilder {
private readonly _eventHandlerId;
private readonly _typeToMethodPairs;
/**
* Initialises a new instance of the {@link EventHandlerMethodsBuilder} class.
* @param {EventHandlerId} _eventHandlerId - The event handler id to build methods for.
*/
constructor(_eventHandlerId: EventHandlerId);
/** @inheritdoc */
handle<T>(type: Constructor<T>, method: EventHandlerSignature<T>): IEventHandlerMethodsBuilder;
handle(eventType: EventType, method: EventHandlerSignature<any>): IEventHandlerMethodsBuilder;
handle(eventTypeId: EventTypeIdLike, method: EventHandlerSignature<any>): IEventHandlerMethodsBuilder;
handle(eventTypeId: EventTypeIdLike, generation: GenerationLike, method: EventHandlerSignature<any>): IEventHandlerMethodsBuilder;
/**
* Tries to add event handler methods to the builder.
* @param {IEventTypes} eventTypes - All registered event types.
* @param {EventTypeMap<EventHandlerSignature<any>>} eventTypeToMethods - The event handler methods to add by event type.
* @param {IClientBuildResults} results - For keeping track of build results.
* @returns {boolean} A value indicating whether all provided methods were added or not.
*/
tryAddEventHandlerMethods(eventTypes: IEventTypes, eventTypeToMethods: EventTypeMap<EventHandlerSignature<any>>, results: IClientBuildResults): boolean;
private getEventType;
}
//# sourceMappingURL=EventHandlerMethodsBuilder.d.ts.map