sequence method
Turns a Map<K, Result<V>>
into a Result<Map<K, V>>
.
If all values are Ok, it returns an Ok<Map<K, V>>
. If any value
is an Err, it returns the first Err encountered.
Implementation
Result<Map<K, V>> sequence() {
final buffer = <K, V>{};
for (final entry in entries) {
switch (entry.value) {
case Ok(value: final v):
buffer[entry.key] = v;
case Err err:
return err.transfErr();
}
}
return Ok(buffer);
}