/// <summary> /// Pattern match by providing a function for each case /// </summary> public static TResult Match <TSuccess, TFailure, TResult>(RopResult <TSuccess, TFailure> ropResult, Func <TSuccess, TResult> successCase, Func <List <TFailure>, TResult> failureCase) { if (ropResult.IsSuccess) { return(successCase(ropResult.SuccessValue)); } return(failureCase(ropResult.FailureValues)); }
/// <summary> /// Select is a synonyms for Lift /// </summary> public static RopResult <T2, TFailure> Select <T1, T2, TFailure>(RopResult <T1, TFailure> result, Func <T1, T2> func) { return(Lift <T1, T2, TFailure>(func)(result)); }