Exemplo n.º 1
0
 public static IResultEnumerable <TSuccess, TFailure> Where <TSuccess, TFailure>(this IResultEnumerable <TSuccess, TFailure> source, Func <TSuccess, Result <Unit, TFailure> > failurePredicate)
     where TSuccess : notnull
     where TFailure : notnull
 => source
 .Select((Func <Result <TSuccess, TFailure>, Result <TSuccess, TFailure> >)(value => value
                                                                            .Bind((Func <TSuccess, Result <TSuccess, TFailure> >)(success => (Result <TSuccess, TFailure>)ResultExtensions.Map <Unit, TFailure, TSuccess>(failurePredicate
                                                                                                                                                                                                                          .Invoke((TSuccess)success)
                                                                                                                                                                                                                          , (Func <Unit, TSuccess>)(_ => (TSuccess)success)))
                                                                                  ))
         )
 .AsResultEnumerable();
Exemplo n.º 2
0
 public static IResultEnumerable <TSuccess, TFailure> Where <TSuccess, TFailure>(this IEnumerable <TSuccess> source, Func <TSuccess, Result <Unit, TFailure> > failurePredicate)
 => source
 .Select((Func <TSuccess, Result <TSuccess, TFailure> >)(success => (Result <TSuccess, TFailure>)ResultExtensions.Map <Unit, TFailure, TSuccess>(failurePredicate
                                                                                                                                                 .Invoke((TSuccess)success)
                                                                                                                                                 , (Func <Unit, TSuccess>)(_ => (TSuccess)success)))
         )
 .AsResultEnumerable();