mediatr-ts
Version:
Mimic the famous MediatR csharp library see: (https://github.com/jbogard/MediatR)
24 lines (23 loc) • 980 B
TypeScript
import { RequestHandlerClass } from "../../interfaces/requestHandler.js";
import RequestData, { RequestDataClass } from "../requestData.js";
import { OrderedMapping, OrderedMappings } from "./orderedMappings.js";
type RequestHandlerMappingData = {
handlerClass: RequestHandlerClass<RequestData<unknown>, unknown>;
requestClass: RequestDataClass<unknown>;
};
/**
* Mapping for request handlers
*
* @exports
*/
export declare class RequestHandlerMappings extends OrderedMappings<RequestHandlerMappingData> {
/**
* Gets all mappings for a specific request if provided, otherwise returns all (sorted) mappings
*
* @throws Error if no mappings are found for specified argument
* @param requestClass The request class to get mappings for
* @returns The array of handler classes in the order in which they should be executed.
*/
getAll(requestClass?: RequestDataClass<unknown>): OrderedMapping<RequestHandlerMappingData>[];
}
export {};