UNPKG

@tmorin/ceb-messaging-simple

Version:

The package is part of the `<ceb/>` library. It provides an implementation of the messaging model leveraging on a vanilla TypeScript/JavaScript environment.

16 lines (15 loc) 863 B
import { Disposable, EmittableQueryBus, ExecuteActionOptions, ObservableQueryBus, Query, QueryBus, QueryHandler, Removable, Result } from "@tmorin/ceb-messaging-core"; /** * The symbol used to register {@link SimpleQueryBus}. */ export declare const SimpleQueryBusSymbol: unique symbol; export declare class SimpleQueryBus implements QueryBus, Disposable { private readonly emitter; private readonly handlers; constructor(emitter: EmittableQueryBus, handlers?: Map<string, QueryHandler<any, any>>); get observe(): ObservableQueryBus; execute<R extends Result = Result, Q extends Query = Query>(query: Q, options?: Partial<ExecuteActionOptions>): Promise<R>; handle<C extends Query = Query, R extends Result = Result>(queryType: string, handler: QueryHandler<C, R>): Removable; dispose(): Promise<void>; private resolveHandler; }