getOrTryInit<E extends Object> method
Gets the contents of the cell, initializing it with f if the cell was empty. If the cell was empty and f failed, an error is returned.
Implementation
@override
Result<T, E> getOrTryInit<E extends Object>(Result<T, E> Function() f) {
var val = _cache[this] as (T,)?;
if (val != null) {
return Ok(val.$1);
}
final result = f();
if (result.isOk()) {
final val = result.unwrap();
_cache[this] = (val,);
return Ok(val);
}
return result;
}