Skip to content

Commit 4e4c68f

Browse files
committed
FirstFailureOrSuccess() - move to separate file
1 parent dec928b commit 4e4c68f

File tree

3 files changed

+24
-16
lines changed

3 files changed

+24
-16
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
using System.Diagnostics;
2+
3+
namespace CSharpFunctionalExtensions
4+
{
5+
public partial struct Result
6+
{
7+
/// <summary>
8+
/// Returns first failure in the list of <paramref name="results"/>. If there is no failure returns success.
9+
/// </summary>
10+
/// <param name="results">List of results.</param>
11+
[DebuggerStepThrough]
12+
public static Result FirstFailureOrSuccess(params Result[] results)
13+
{
14+
foreach (Result result in results)
15+
{
16+
if (result.IsFailure)
17+
return Fail(result.Error);
18+
}
19+
20+
return Ok();
21+
}
22+
}
23+
}

CSharpFunctionalExtensions/Result/Result.cs

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -37,22 +37,6 @@ private Result(bool isFailure, string error)
3737
_logic = ResultCommonLogic.Create(isFailure, error);
3838
}
3939

40-
/// <summary>
41-
/// Returns first failure in the list of <paramref name="results"/>. If there is no failure returns success.
42-
/// </summary>
43-
/// <param name="results">List of results.</param>
44-
[DebuggerStepThrough]
45-
public static Result FirstFailureOrSuccess(params Result[] results)
46-
{
47-
foreach (Result result in results)
48-
{
49-
if (result.IsFailure)
50-
return Fail(result.Error);
51-
}
52-
53-
return Ok();
54-
}
55-
5640
public Result<T> MapFailure<T>()
5741
{
5842
if (IsSuccess)

CSharpFunctionalExtensionsNet4.0/CSharpFunctionalExtensionsNet4.0.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@
6666
<Compile Include="..\CSharpFunctionalExtensions\Result\Methods\Combine.cs" Link="Result\Methods\Combine.cs" />
6767
<Compile Include="..\CSharpFunctionalExtensions\Result\Methods\Create.cs" Link="Result\Methods\Create.cs" />
6868
<Compile Include="..\CSharpFunctionalExtensions\Result\Methods\CreateFailure.cs" Link="Result\Methods\CreateFailure.cs" />
69+
<Compile Include="..\CSharpFunctionalExtensions\Result\Methods\FirstFailureOrSuccess.cs" Link="Result\Methods\FirstFailureOrSuccess.cs" />
6970
<Compile Include="..\CSharpFunctionalExtensions\Result\Methods\Fail.cs" Link="Result\Methods\Fail.cs" />
7071
<Compile Include="..\CSharpFunctionalExtensions\Result\Methods\Ok.cs" Link="Result\Methods\Ok.cs" />
7172
<Compile Include="..\CSharpFunctionalExtensions\Result\Methods\Try.cs" Link="Result\Methods\Try.cs" />

0 commit comments

Comments
 (0)