UNPKG

curli-bus

Version:

Simple Command Bus Implementation (CQRS) for NodeJS/Typescript.

21 lines (20 loc) 674 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); class MiddlewareCollection { constructor() { this.collection = []; } add(middleware) { this.collection.push(middleware); } execute(request, options) { const runRequestInMiddlewareCollection = this.collection.reduceRight((next, middleware) => { return middleware.execute.bind(middleware, request, next, options); }, (results) => results); return runRequestInMiddlewareCollection(request); } removeLast() { this.collection.pop(); } } exports.MiddlewareCollection = MiddlewareCollection;