build method
T
build({
- T orElse()?,
Evaluates conditions in order and returns the value of the first true condition.
If no condition matches, the orElse
value is returned if provided.
Throws an AssertionError if no conditions are added.
Throws a StateError if no condition is met and no orElse
is provided.
Implementation
T build({T Function()? orElse}) {
assert(
conditions.isNotEmpty,
"ConditionBuilder: you must provide at least one condition.",
);
for (final condition in conditions) {
if (condition.condition()) {
return condition.value();
}
}
if (orElse != null) {
return orElse();
}
throw StateError(
"ConditionBuilder: No condition was met and no orElse value was provided.",
);
}