@vitruvius-labs/ts-predicate
Version:
TypeScript predicates library
26 lines (25 loc) • 633 B
JavaScript
import { ValidationError } from "./validation-error.mjs";
class ValidationResult {
value;
constructor(value) {
this.value = value;
}
onSuccess(callback) {
if (!(this.value instanceof ValidationError)) {
callback(this.value);
}
}
onFailure(callback) {
if (this.value instanceof ValidationError) {
callback(this.value);
}
}
then(onSuccess, onFailure) {
if (this.value instanceof ValidationError) {
onFailure(this.value);
return;
}
onSuccess(this.value);
}
}
export { ValidationResult };