import type { QueryBusResponse } from '../CallbackArg'; import MessageBus from "../MessageBus"; import type IMiddleware from "../Middleware"; import type IQuery from "./Query"; export default class QueryBus extends MessageBus { constructor( ...middlewares: IMiddleware[] ) { super(...middlewares); } public async ask(query: IQuery): Promise { return await this.middlewareChain(query); } }