UNPKG

cqrs-eda

Version:

Lightweight CQRS and Event-Driven Architecture library using TypeScript decorators, handlers and typings. Perfect for scalable event-driven apps.

22 lines 847 B
export interface ICommand<Payload = any> { execute(payload: Payload): Promise<void>; } export interface IQuery<Params = any, Result = any> { execute(params: Params): Promise<Result>; } export interface IObserver<Payload = any> { execute(payload: Payload): Promise<void>; } export type Constructor<T = any> = new (...args: any[]) => T; export interface IQueryHandler<Q extends Record<string, any>, R extends { [K in keyof Q]: any; }> { fire<K extends keyof Q>(queryName: K, params: Q[K]): Promise<R[K]>; } export interface IObserverHandler<O extends Record<string, any>> { publish<K extends keyof O>(eventName: K, payload: O[K]): Promise<void>; } export interface ICommandHandler<C extends Record<string, any>> { fire<K extends keyof C>(commandName: K, payload: C[K]): Promise<void>; } //# sourceMappingURL=base.d.ts.map