static Res<User> TryGetUser() { .. }
static Res<long> PutUserToDbGetId(User user) {
// method that writes the user to a database table and returns back the auto-generated id/primary-key
// might throw in cases of connection errors!
}
Res<long> id = TryGetUser().TryFlatMap(PutUserToDbGetId);
// equivalently:
Res<long> id = TryGetUser().TryFlatMap(user => PutUserToDbGetId(user));
// Res<long> id will be:
// - Err(called on Err) when TryGetUser returns Err,
// - Err(relevant error message) when TryGetUser returns Ok(user) but PutUserToDbGetId returns an Err,
// - Err(relevant error message) when TryGetUser returns Ok(user) but the database transaction throws an exception,
// - Ok(id) when TryGetUser returns Ok(user), the database transaction succeeds and returns the auto-generated id.
public Res<TOut> TryFlatMap<TOut>(
Func<T, Res<TOut>> map,
string name = ""
)
[Missing <typeparam name="TOut"/> documentation for "M:Orx.Fun.Result.Res`1.TryFlatMap``1(System.Func{`0,Orx.Fun.Result.Res{``0}},System.String)"]