UNPKG

alpha-command-bus

Version:
15 lines (14 loc) 1.11 kB
import { Command } from 'alpha-command-bus-core'; import { ShapeCommand } from 'alpha-command-bus-command-factory'; export declare class CommandHandlerDescriptor<TCommand extends Command = Command> { readonly predicate: CommandHandlerDescriptor.Predicate<TCommand>; readonly func: CommandHandlerDescriptor.Func<TCommand>; constructor(predicate: CommandHandlerDescriptor.Predicate<TCommand>, func: CommandHandlerDescriptor.Func<TCommand>); static fromFilter<TCommand extends Command = Command>(filter: CommandHandlerDescriptor.Filter<TCommand>, func: CommandHandlerDescriptor.Func<TCommand>): CommandHandlerDescriptor<TCommand>; static filterToPredicate(filter: CommandHandlerDescriptor.Filter<any>): CommandHandlerDescriptor.Predicate<any>; } export declare namespace CommandHandlerDescriptor { type Predicate<TCommand extends Command> = (command: TCommand) => boolean; type Func<TCommand extends Command, TResult = any> = (command: TCommand) => Promise<TResult> | TResult; type Filter<TCommand extends Command> = string | object | Predicate<TCommand> | ShapeCommand.Shape; }