UNPKG

@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
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