Skip to content

Commit f874d42

Browse files
committed
CreateFailure() - move to separate file
1 parent 09d851e commit f874d42

File tree

3 files changed

+77
-68
lines changed

3 files changed

+77
-68
lines changed
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
using System;
2+
using System.Diagnostics;
3+
using System.Threading.Tasks;
4+
5+
namespace CSharpFunctionalExtensions
6+
{
7+
public partial struct Result
8+
{
9+
public static Result CreateFailure(bool isFailure, string error)
10+
{
11+
return isFailure
12+
? Fail(error)
13+
: Ok();
14+
}
15+
16+
public static Result CreateFailure(Func<bool> failurePredicate, string error)
17+
{
18+
return failurePredicate()
19+
? Fail(error)
20+
: Ok();
21+
}
22+
23+
public static async Task<Result> CreateFailure(Func<Task<bool>> failurePredicate, string error)
24+
{
25+
bool isFailure = await failurePredicate().ConfigureAwait(Result.DefaultConfigureAwait);
26+
return isFailure
27+
? Fail(error)
28+
: Ok();
29+
}
30+
31+
public static Result<T> CreateFailure<T>(bool isFailure, T value, string error)
32+
{
33+
return isFailure
34+
? Fail<T>(error)
35+
: Ok<T>(value);
36+
}
37+
38+
public static Result<T> CreateFailure<T>(Func<bool> failurePredicate, T value, string error)
39+
{
40+
return failurePredicate()
41+
? Fail<T>(error)
42+
: Ok<T>(value);
43+
}
44+
45+
public static async Task<Result<T>> CreateFailure<T>(Func<Task<bool>> failurePredicate, T value, string error)
46+
{
47+
bool isFailure = await failurePredicate().ConfigureAwait(Result.DefaultConfigureAwait);
48+
return isFailure
49+
? Fail<T>(error)
50+
: Ok<T>(value);
51+
}
52+
53+
[DebuggerStepThrough]
54+
public static Result<T, E> CreateFailure<T, E>(bool isFailure, T value, E error)
55+
{
56+
return isFailure
57+
? Fail<T, E>(error)
58+
: Ok<T, E>(value);
59+
}
60+
61+
public static Result<T, E> CreateFailure<T, E>(Func<bool> failurePredicate, T value, E error)
62+
{
63+
return failurePredicate()
64+
? Fail<T, E>(error)
65+
: Ok<T, E>(value);
66+
}
67+
68+
public static async Task<Result<T, E>> CreateFailure<T, E>(Func<Task<bool>> failurePredicate, T value, E error)
69+
{
70+
bool isFailure = await failurePredicate().ConfigureAwait(Result.DefaultConfigureAwait);
71+
return isFailure
72+
? Fail<T, E>(error)
73+
: Ok<T, E>(value);
74+
}
75+
}
76+
}

CSharpFunctionalExtensions/Result/Result.cs

Lines changed: 0 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
using System;
33
using System.Diagnostics;
44
using System.Runtime.Serialization;
5-
using System.Threading.Tasks;
65

76
namespace CSharpFunctionalExtensions
87
{
@@ -38,73 +37,6 @@ private Result(bool isFailure, string error)
3837
_logic = ResultCommonLogic.Create(isFailure, error);
3938
}
4039

41-
public static Result CreateFailure(bool isFailure, string error)
42-
{
43-
return isFailure
44-
? Fail(error)
45-
: Ok();
46-
}
47-
48-
public static Result CreateFailure(Func<bool> failurePredicate, string error)
49-
{
50-
return failurePredicate()
51-
? Fail(error)
52-
: Ok();
53-
}
54-
55-
public static async Task<Result> CreateFailure(Func<Task<bool>> failurePredicate, string error)
56-
{
57-
bool isFailure = await failurePredicate().ConfigureAwait(Result.DefaultConfigureAwait);
58-
return isFailure
59-
? Fail(error)
60-
: Ok();
61-
}
62-
63-
public static Result<T> CreateFailure<T>(bool isFailure, T value, string error)
64-
{
65-
return isFailure
66-
? Fail<T>(error)
67-
: Ok<T>(value);
68-
}
69-
70-
public static Result<T> CreateFailure<T>(Func<bool> failurePredicate, T value, string error)
71-
{
72-
return failurePredicate()
73-
? Fail<T>(error)
74-
: Ok<T>(value);
75-
}
76-
77-
public static async Task<Result<T>> CreateFailure<T>(Func<Task<bool>> failurePredicate, T value, string error)
78-
{
79-
bool isFailure = await failurePredicate().ConfigureAwait(Result.DefaultConfigureAwait);
80-
return isFailure
81-
? Fail<T>(error)
82-
: Ok<T>(value);
83-
}
84-
85-
[DebuggerStepThrough]
86-
public static Result<T, E> CreateFailure<T, E>(bool isFailure, T value, E error)
87-
{
88-
return isFailure
89-
? Fail<T, E>(error)
90-
: Ok<T, E>(value);
91-
}
92-
93-
public static Result<T, E> CreateFailure<T, E>(Func<bool> failurePredicate, T value, E error)
94-
{
95-
return failurePredicate()
96-
? Fail<T, E>(error)
97-
: Ok<T, E>(value);
98-
}
99-
100-
public static async Task<Result<T, E>> CreateFailure<T, E>(Func<Task<bool>> failurePredicate, T value, E error)
101-
{
102-
bool isFailure = await failurePredicate().ConfigureAwait(Result.DefaultConfigureAwait);
103-
return isFailure
104-
? Fail<T, E>(error)
105-
: Ok<T, E>(value);
106-
}
107-
10840
/// <summary>
10941
/// Returns first failure in the list of <paramref name="results"/>. If there is no failure returns success.
11042
/// </summary>

CSharpFunctionalExtensionsNet4.0/CSharpFunctionalExtensionsNet4.0.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@
6565
<Compile Include="..\CSharpFunctionalExtensions\Result\Internal\ResultMessages.cs" Link="Result\Internal\ResultMessages.cs" />
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" />
68+
<Compile Include="..\CSharpFunctionalExtensions\Result\Methods\CreateFailure.cs" Link="Result\Methods\CreateFailure.cs" />
6869
<Compile Include="..\CSharpFunctionalExtensions\Result\Methods\Fail.cs" Link="Result\Methods\Fail.cs" />
6970
<Compile Include="..\CSharpFunctionalExtensions\Result\Methods\Ok.cs" Link="Result\Methods\Ok.cs" />
7071
<Compile Include="..\CSharpFunctionalExtensions\Result\Methods\Try.cs" Link="Result\Methods\Try.cs" />

0 commit comments

Comments
 (0)