@foblex/ng-mediator
Version:
A mediator library for Angular facilitating a clean architecture with a better command-query separation.
14 lines • 2.48 kB
JavaScript
import { of, switchMap } from 'rxjs';
import { ValidationFailed } from './validation-failed';
import { ValidationSuccess } from './validation-success';
export class FValidatorBase {
handle(request) {
return this.validate(request).pipe(switchMap((errors) => {
if (errors && errors.length > 0) {
return of(new ValidationFailed(errors));
}
return of(new ValidationSuccess());
}));
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi12YWxpZGF0b3ItYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1lZGlhdG9yL3NyYy9saWIvbWVkaWF0b3IvdmFsaWRhdG9yL2YtdmFsaWRhdG9yLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFekQsTUFBTSxPQUFnQixjQUFjO0lBRTNCLE1BQU0sQ0FBQyxPQUFpQjtRQUM3QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUNoQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNuQixJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNoQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7WUFDekMsQ0FBQztZQUNELE9BQU8sRUFBRSxDQUFDLElBQUksaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0NBR0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUmVxdWVzdCB9IGZyb20gJy4uLy4uL2NxcnMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSVZhbGlkYXRpb25SZXN1bHQgfSBmcm9tICcuL2ktdmFsaWRhdGlvbi1yZXN1bHQnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkZhaWxlZCB9IGZyb20gJy4vdmFsaWRhdGlvbi1mYWlsZWQnO1xuaW1wb3J0IHsgVmFsaWRhdGlvblN1Y2Nlc3MgfSBmcm9tICcuL3ZhbGlkYXRpb24tc3VjY2Vzcyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGVmFsaWRhdG9yQmFzZTxUUmVxdWVzdCBleHRlbmRzIElSZXF1ZXN0PFRSZXNwb25zZT4sIFRSZXNwb25zZSwgVEVycm9yIGV4dGVuZHMgRXJyb3IgPSBFcnJvcj4ge1xuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogVFJlcXVlc3QpOiBPYnNlcnZhYmxlPElWYWxpZGF0aW9uUmVzdWx0PFRFcnJvcj4+IHtcbiAgICByZXR1cm4gdGhpcy52YWxpZGF0ZShyZXF1ZXN0KS5waXBlKFxuICAgICAgc3dpdGNoTWFwKChlcnJvcnMpID0+IHtcbiAgICAgICAgaWYgKGVycm9ycyAmJiBlcnJvcnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHJldHVybiBvZihuZXcgVmFsaWRhdGlvbkZhaWxlZChlcnJvcnMpKVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvZihuZXcgVmFsaWRhdGlvblN1Y2Nlc3MoKSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgdmFsaWRhdGUocmVxdWVzdDogVFJlcXVlc3QpOiBPYnNlcnZhYmxlPFRFcnJvcltdPjtcbn1cbiJdfQ==