Skip to content

Function: OnQuery() ​

ts
function OnQuery(type: QueryType): MessagingHandlerDecorator;

Defined in: src/wirestate-core/plugin/queries/on-query.ts:87

Marks an injectable service method as a provision-scoped query handler.

Parameters ​

ParameterTypeDescription
typeQueryTypeQuery token.

Returns ​

MessagingHandlerDecorator

Method decorator.

Remarks ​

The handler is registered when the owning container is provisioned and unregistered when that provision cycle ends. Register QueriesPlugin on the container, or on an ancestor container, to enable query handlers.

Queries answer read-oriented requests. One query call goes to one handler: the newest registered handler for the query token.

Example ​

typescript
import { Injectable, OnQuery } from "@wirestate/core";

@Injectable()
class UserProfileService {
  private readonly avatars = new Map<string, string>();

  @OnQuery("GET_USER_AVATAR")
  public onGetUserAvatar(userId: string): string {
    return this.avatars.get(userId) ?? "";
  }
}