UNPKG

@foblex/mediator

Version:

An Angular library that implements the mediator pattern, providing a centralized way to handle requests with optional validation and execution pipelines.

22 lines 3.07 kB
export class Pipeline { handle(request, injector) { let isValid = true; if (this.validator) { isValid = injector.get(this.validator).handle(request); } if (!isValid) { return; } return injector.get(this.execution).handle(request); } execute(request, injector) { return injector.get(this.execution).handle(request); } setValidator(validator) { this.validator = validator; } setExecution(execution) { this.execution = execution; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZWxpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9mLW1lZGlhdG9yL3NyYy9waXBlbGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxNQUFNLE9BQU8sUUFBUTtJQU1aLE1BQU0sQ0FBQyxPQUFpQixFQUFFLFFBQWtCO1FBQ2pELElBQUksT0FBTyxHQUFZLElBQUksQ0FBQztRQUM1QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsT0FBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUN4RDtRQUVELElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDWixPQUFPO1NBQ1I7UUFDRCxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU0sT0FBTyxDQUFDLE9BQWlCLEVBQUUsUUFBa0I7UUFDbEQsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVNLFlBQVksQ0FBQyxTQUFxQztRQUN2RCxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUM3QixDQUFDO0lBRU0sWUFBWSxDQUFDLFNBQWdEO1FBQ2xFLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElWYWxpZGF0b3IgfSBmcm9tICcuL2ktdmFsaWRhdG9yJztcbmltcG9ydCB7IElFeGVjdXRpb24gfSBmcm9tICcuL2ktZXhlY3V0aW9uJztcbmltcG9ydCB7IEluamVjdG9yLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJSGFuZGxlciB9IGZyb20gJy4vaS1oYW5kbGVyJztcblxuZXhwb3J0IGNsYXNzIFBpcGVsaW5lPFRSZXF1ZXN0LCBUUmVzcG9uc2U+XG4gIGltcGxlbWVudHMgSUhhbmRsZXI8VFJlcXVlc3QsIFRSZXNwb25zZSB8IHZvaWQ+IHtcblxuICBwcml2YXRlIHZhbGlkYXRvcj86IFR5cGU8SVZhbGlkYXRvcjxUUmVxdWVzdD4+O1xuICBwcml2YXRlIGV4ZWN1dGlvbiE6IFR5cGU8SUV4ZWN1dGlvbjxUUmVxdWVzdCwgVFJlc3BvbnNlPj47XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBUUmVxdWVzdCwgaW5qZWN0b3I6IEluamVjdG9yKTogVFJlc3BvbnNlIHwgdm9pZCB7XG4gICAgbGV0IGlzVmFsaWQ6IGJvb2xlYW4gPSB0cnVlO1xuICAgIGlmICh0aGlzLnZhbGlkYXRvcikge1xuICAgICAgaXNWYWxpZCA9IGluamVjdG9yLmdldCh0aGlzLnZhbGlkYXRvcikuaGFuZGxlKHJlcXVlc3QpO1xuICAgIH1cblxuICAgIGlmICghaXNWYWxpZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICByZXR1cm4gaW5qZWN0b3IuZ2V0KHRoaXMuZXhlY3V0aW9uKS5oYW5kbGUocmVxdWVzdCk7XG4gIH1cblxuICBwdWJsaWMgZXhlY3V0ZShyZXF1ZXN0OiBUUmVxdWVzdCwgaW5qZWN0b3I6IEluamVjdG9yKTogVFJlc3BvbnNlIHwgdm9pZCB7XG4gICAgcmV0dXJuIGluamVjdG9yLmdldCh0aGlzLmV4ZWN1dGlvbikuaGFuZGxlKHJlcXVlc3QpO1xuICB9XG5cbiAgcHVibGljIHNldFZhbGlkYXRvcih2YWxpZGF0b3I6IFR5cGU8SVZhbGlkYXRvcjxUUmVxdWVzdD4+KTogdm9pZCB7XG4gICAgdGhpcy52YWxpZGF0b3IgPSB2YWxpZGF0b3I7XG4gIH1cblxuICBwdWJsaWMgc2V0RXhlY3V0aW9uKGV4ZWN1dGlvbjogVHlwZTxJRXhlY3V0aW9uPFRSZXF1ZXN0LCBUUmVzcG9uc2U+Pik6IHZvaWQge1xuICAgIHRoaXMuZXhlY3V0aW9uID0gZXhlY3V0aW9uO1xuICB9XG59XG4iXX0=