Interface QueryHandler<TQuery, TResult>

Handler for processing queries.

Query handlers retrieve data without changing state. Each query should have exactly one handler.

class GetUserQueryHandler implements QueryHandler<GetUserQuery, User | null> {
async handle(query: GetUserQuery): Promise<User | null> {
return await this.repository.findById(query.userId);
}
}
interface QueryHandler<TQuery extends Query, TResult = unknown> {
    handle(query: TQuery): Promise<TResult>;
}

Type Parameters

  • TQuery extends Query

    The type of query this handler processes

  • TResult = unknown

    The result type returned by the handler

Implemented by

Methods

Methods