verify method
Returns a Result.ok
if all verifiers do, otherwise returns a
Result.err
with all errors returned by all verifiers.
Implementation
Result<void, List<String>> verify() {
final errors = verifiers
.map((verifier) => verifier(this, '$parser'))
.fold<Iterable<String>>(
[],
(iter, result) =>
result.mapOrElse((_) => iter, (es) => iter.followedBy([es])));
return errors.isEmpty
? const Result.ok(null)
: Result.err(errors.toList(growable: false));
}