@grubou/bussy
Version:
Command & query bus implementations
22 lines • 841 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.QueryBusDispatcherMiddleware = void 0;
const QueryNotHandledError_1 = require("../types/QueryNotHandledError");
class QueryBusDispatcherMiddleware {
constructor(queryHandlers) {
this.queryHandlers = queryHandlers;
}
static build(queryHandlers) {
return new QueryBusDispatcherMiddleware(queryHandlers);
}
async handle(query) {
const queryName = query.label();
const queryHandler = this.queryHandlers[queryName];
if (!queryHandler) {
throw new QueryNotHandledError_1.QueryNotHandledError(queryName);
}
return queryHandler.handle(query);
}
}
exports.QueryBusDispatcherMiddleware = QueryBusDispatcherMiddleware;
//# sourceMappingURL=QueryBusDispatcherMiddleware.js.map