diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 38efffd..d47ba2b 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -18,12 +18,12 @@ jobs:
- name: Restore dependencies
run: dotnet restore
- name: Create NuGet Package
- run: dotnet pack -c Release /p:Version=${{ github.event.release.tag_name }} /p:PackageReleaseNotes="See https://github.com/late4dtrain/functional-result/releases/tag/${{ github.event.release.tag_name }}"
+ run: dotnet pack -c Release /p:Version=${{ github.event.release.tag_name }} /p:PackageReleaseNotes="See https://github.com/late4dtrain/result/releases/tag/${{ github.event.release.tag_name }}"
- name: Archive NuGet Package
uses: actions/upload-artifact@v1
with:
name: Result
- path: ./Late4dTrain.Functional.Result/bin/Release/Late4dTrain.Functional.Result.${{ github.event.release.tag_name }}.nupkg
+ path: ./Late4dTrain.Result/bin/Release/Late4dTrain.Result.${{ github.event.release.tag_name }}.nupkg
- name: Publish NuGet Package
run: dotnet nuget push **/*.nupkg --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json
diff --git a/Late4dTrain.Functional.Result.Tests/Late4dTrain.Functional.Result.Tests.csproj b/Late4dTrain.Result.Tests/Late4dTrain.Result.Tests.csproj
old mode 100644
new mode 100755
similarity index 82%
rename from Late4dTrain.Functional.Result.Tests/Late4dTrain.Functional.Result.Tests.csproj
rename to Late4dTrain.Result.Tests/Late4dTrain.Result.Tests.csproj
index bc3b064..a6d0a0f
--- a/Late4dTrain.Functional.Result.Tests/Late4dTrain.Functional.Result.Tests.csproj
+++ b/Late4dTrain.Result.Tests/Late4dTrain.Result.Tests.csproj
@@ -1,30 +1,30 @@
-
-
-
- net6.0
- enable
-
- false
-
- Late4dTrain.Functional.ResultTests
-
-
-
-
-
-
-
- runtime; build; native; contentfiles; analyzers; buildtransitive
- all
-
-
- runtime; build; native; contentfiles; analyzers; buildtransitive
- all
-
-
-
-
-
-
-
-
+
+
+
+ net6.0
+ enable
+
+ false
+
+ Late4dTrain
+
+
+
+
+
+
+
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+ all
+
+
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+ all
+
+
+
+
+
+
+
+
diff --git a/Late4dTrain.Functional.Result.Tests/OnFailTests.cs b/Late4dTrain.Result.Tests/OnFailTests.cs
similarity index 93%
rename from Late4dTrain.Functional.Result.Tests/OnFailTests.cs
rename to Late4dTrain.Result.Tests/OnFailTests.cs
index 024a5f8..04f7c6d 100644
--- a/Late4dTrain.Functional.Result.Tests/OnFailTests.cs
+++ b/Late4dTrain.Result.Tests/OnFailTests.cs
@@ -1,61 +1,61 @@
-namespace Late4dTrain.Functional.ResultTests;
-
-using System;
-
-using FluentAssertions;
-
-using Xunit;
-
-public class OnFailTests
-{
- [Fact]
- public void OnFailWithIntResult()
- {
- var successCalled = false;
- var failCalled = false;
- var capturedError = string.Empty;
-
- var result = Result.Fail("It went wrong...");
- var func = () => result.Value;
-
- result
- .OnSuccess((i) => successCalled = true)
- .OnFailure((e) =>
- {
- failCalled = true;
- capturedError = e;
- }
- );
-
- successCalled.Should().BeFalse();
- failCalled.Should().BeTrue();
- result.Error.Should().Be("It went wrong...");
- capturedError.Should().Be("It went wrong...");
- func.Should().Throw();
- }
-
- [Fact]
- public void OnFailWithoutResult()
- {
- var successCalled = false;
- var failCalled = false;
- var capturedError = string.Empty;
-
- var result = Result.Fail("It went wrong...");
-
- result
- .OnSuccess(() => successCalled = true)
- .OnFailure((e) =>
- {
- failCalled = true;
- capturedError = e;
- }
- );
-
- successCalled.Should().BeFalse();
- failCalled.Should().BeTrue();
- result.Error.Should().Be("It went wrong...");
- capturedError.Should().Be("It went wrong...");
- }
-
-}
+namespace Late4dTrain;
+
+using System;
+
+using FluentAssertions;
+
+using Xunit;
+
+public class OnFailTests
+{
+ [Fact]
+ public void OnFailWithIntResult()
+ {
+ var successCalled = false;
+ var failCalled = false;
+ var capturedError = string.Empty;
+
+ var result = Result.Fail("It went wrong...");
+ var func = () => result.Value;
+
+ result
+ .OnSuccess((i) => successCalled = true)
+ .OnFailure((e) =>
+ {
+ failCalled = true;
+ capturedError = e;
+ }
+ );
+
+ successCalled.Should().BeFalse();
+ failCalled.Should().BeTrue();
+ result.Error.Should().Be("It went wrong...");
+ capturedError.Should().Be("It went wrong...");
+ func.Should().Throw();
+ }
+
+ [Fact]
+ public void OnFailWithoutResult()
+ {
+ var successCalled = false;
+ var failCalled = false;
+ var capturedError = string.Empty;
+
+ var result = Result.Fail("It went wrong...");
+
+ result
+ .OnSuccess(() => successCalled = true)
+ .OnFailure((e) =>
+ {
+ failCalled = true;
+ capturedError = e;
+ }
+ );
+
+ successCalled.Should().BeFalse();
+ failCalled.Should().BeTrue();
+ result.Error.Should().Be("It went wrong...");
+ capturedError.Should().Be("It went wrong...");
+ }
+
+}
diff --git a/Late4dTrain.Functional.Result.Tests/OnSuccessTests.cs b/Late4dTrain.Result.Tests/OnSuccessTests.cs
similarity index 92%
rename from Late4dTrain.Functional.Result.Tests/OnSuccessTests.cs
rename to Late4dTrain.Result.Tests/OnSuccessTests.cs
index d6987da..9339283 100644
--- a/Late4dTrain.Functional.Result.Tests/OnSuccessTests.cs
+++ b/Late4dTrain.Result.Tests/OnSuccessTests.cs
@@ -1,55 +1,55 @@
-namespace Late4dTrain.Functional.ResultTests;
-
-using System;
-
-using FluentAssertions;
-
-using Xunit;
-
-public class OnSuccessTests
-{
- [Fact]
- public void OnSuccessWithIntResult()
- {
- var successCalled = false;
- var failCalled = false;
- var capturedResult = 0;
-
- var result = Result.Ok(42);
- var func = () => result.Error;
-
- result
- .OnSuccess((i) =>
- {
- successCalled = true;
- capturedResult = i;
- }
- )
- .OnFailure((e) => failCalled = true);
-
- successCalled.Should().BeTrue();
- failCalled.Should().BeFalse();
- result.Value.Should().Be(42);
- capturedResult.Should().Be(42);
- func.Should().Throw();
- }
-
- [Fact]
- public void OnSuccessWithoutResult()
- {
- var successCalled = false;
- var failCalled = false;
-
- var result = Result.Ok();
- var func = () => result.Error;
-
- result
- .OnSuccess(() => successCalled = true)
- .OnFailure((e) => failCalled = true);
-
- successCalled.Should().BeTrue();
- failCalled.Should().BeFalse();
-
- func.Should().Throw();
- }
-}
+namespace Late4dTrain;
+
+using System;
+
+using FluentAssertions;
+
+using Xunit;
+
+public class OnSuccessTests
+{
+ [Fact]
+ public void OnSuccessWithIntResult()
+ {
+ var successCalled = false;
+ var failCalled = false;
+ var capturedResult = 0;
+
+ var result = Result.Ok(42);
+ var func = () => result.Error;
+
+ result
+ .OnSuccess((i) =>
+ {
+ successCalled = true;
+ capturedResult = i;
+ }
+ )
+ .OnFailure((e) => failCalled = true);
+
+ successCalled.Should().BeTrue();
+ failCalled.Should().BeFalse();
+ result.Value.Should().Be(42);
+ capturedResult.Should().Be(42);
+ func.Should().Throw();
+ }
+
+ [Fact]
+ public void OnSuccessWithoutResult()
+ {
+ var successCalled = false;
+ var failCalled = false;
+
+ var result = Result.Ok();
+ var func = () => result.Error;
+
+ result
+ .OnSuccess(() => successCalled = true)
+ .OnFailure((e) => failCalled = true);
+
+ successCalled.Should().BeTrue();
+ failCalled.Should().BeFalse();
+
+ func.Should().Throw();
+ }
+}
diff --git a/Late4dTrain.Functional.sln b/Late4dTrain.Result.sln
old mode 100644
new mode 100755
similarity index 78%
rename from Late4dTrain.Functional.sln
rename to Late4dTrain.Result.sln
index 44c7de4..fc09d20
--- a/Late4dTrain.Functional.sln
+++ b/Late4dTrain.Result.sln
@@ -1,22 +1,22 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Late4dTrain.Functional.Result", "Late4dTrain.Functional.Result\Late4dTrain.Functional.Result.csproj", "{AD4BBABF-A9D3-4880-895C-9F7CAEC8EB4F}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Late4dTrain.Functional.Result.Tests", "Late4dTrain.Functional.Result.Tests\Late4dTrain.Functional.Result.Tests.csproj", "{4AF544CA-A934-4853-911A-DB9E481CA52B}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {AD4BBABF-A9D3-4880-895C-9F7CAEC8EB4F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {AD4BBABF-A9D3-4880-895C-9F7CAEC8EB4F}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {AD4BBABF-A9D3-4880-895C-9F7CAEC8EB4F}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {AD4BBABF-A9D3-4880-895C-9F7CAEC8EB4F}.Release|Any CPU.Build.0 = Release|Any CPU
- {4AF544CA-A934-4853-911A-DB9E481CA52B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {4AF544CA-A934-4853-911A-DB9E481CA52B}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {4AF544CA-A934-4853-911A-DB9E481CA52B}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {4AF544CA-A934-4853-911A-DB9E481CA52B}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
-EndGlobal
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Late4dTrain.Result", "Late4dTrain.Result\Late4dTrain.Result.csproj", "{AD4BBABF-A9D3-4880-895C-9F7CAEC8EB4F}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Late4dTrain.Result.Tests", "Late4dTrain.Result.Tests\Late4dTrain.Result.Tests.csproj", "{4AF544CA-A934-4853-911A-DB9E481CA52B}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {AD4BBABF-A9D3-4880-895C-9F7CAEC8EB4F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {AD4BBABF-A9D3-4880-895C-9F7CAEC8EB4F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {AD4BBABF-A9D3-4880-895C-9F7CAEC8EB4F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {AD4BBABF-A9D3-4880-895C-9F7CAEC8EB4F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {4AF544CA-A934-4853-911A-DB9E481CA52B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {4AF544CA-A934-4853-911A-DB9E481CA52B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {4AF544CA-A934-4853-911A-DB9E481CA52B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {4AF544CA-A934-4853-911A-DB9E481CA52B}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+EndGlobal
diff --git a/Late4dTrain.Functional.Result/Late4dTrain.Functional.Result.csproj b/Late4dTrain.Result/Late4dTrain.Result.csproj
old mode 100644
new mode 100755
similarity index 64%
rename from Late4dTrain.Functional.Result/Late4dTrain.Functional.Result.csproj
rename to Late4dTrain.Result/Late4dTrain.Result.csproj
index 4bb24e2..0e9b375
--- a/Late4dTrain.Functional.Result/Late4dTrain.Functional.Result.csproj
+++ b/Late4dTrain.Result/Late4dTrain.Result.csproj
@@ -1,23 +1,23 @@
-
-
-
- enable
- enable
- Late4dTrain.Functional
- net6.0;netstandard2.0;netstandard2.1
- 10
- Gab Soulavy
- Simple generic result object in order to replace exceptions changing program flow
- MIT
- https://github.com/late4dtrain/functional-result
- https://github.com/late4dtrain/functional-result
- git
- functional result
- Late4dTrain.Functional.Result
- 0.0.1
- 0.0.1
- 0.0.1
- MIT
-
-
-
+
+
+
+ enable
+ enable
+ Late4dTrain
+ net6.0;netstandard2.0;netstandard2.1
+ 10
+ Gab Soulavy
+ Simple generic result object in order to replace exceptions changing program flow
+ MIT
+ https://github.com/late4dtrain/result
+ https://github.com/late4dtrain/result
+ git
+ result object
+ Late4dTrain.Result
+ 0.0.1
+ 0.0.1
+ 0.0.1
+ MIT
+
+
+
diff --git a/Late4dTrain.Functional.Result/Result.cs b/Late4dTrain.Result/Result.cs
similarity index 93%
rename from Late4dTrain.Functional.Result/Result.cs
rename to Late4dTrain.Result/Result.cs
index 105c28b..d999413 100644
--- a/Late4dTrain.Functional.Result/Result.cs
+++ b/Late4dTrain.Result/Result.cs
@@ -1,65 +1,65 @@
-namespace Late4dTrain.Functional;
-
-public class Result
-{
- private readonly TError? _error;
-
- protected Result(bool isSuccess, TError? error)
- {
- if (isSuccess && error is { })
- throw new InvalidOperationException();
-
- if (!isSuccess && error is null)
- throw new InvalidOperationException();
-
- IsSuccess = isSuccess;
- _error = error;
- }
-
- public TError Error => _error ?? throw new InvalidOperationException();
-
- public bool IsSuccess { get; }
-
- public static Result Fail(TError error) => new(false, error);
-
- public static Result Fail(TError error) => new(default, false, error);
-
- public static Result Ok() => new(true, default);
-
- public static Result Ok(T value) => new(value, true, default);
-
- public Result OnSuccess(Action action)
- {
- if (IsSuccess)
- action();
-
- return this;
- }
-
- public Result OnFailure(Action action)
- {
- if (!IsSuccess)
- action(_error!);
-
- return this;
- }
-}
-
-public class Result : Result
-{
- private readonly TValue? _value;
-
- public Result(TValue? value, bool isSuccess, TError? error)
- : base(isSuccess, error) =>
- _value = value;
-
- public TValue Value => !IsSuccess ? throw new InvalidOperationException(): _value!;
-
- public Result OnSuccess(Action action)
- {
- if (IsSuccess)
- action(_value!);
-
- return this;
- }
-}
+namespace Late4dTrain;
+
+public class Result
+{
+ private readonly TError? _error;
+
+ protected Result(bool isSuccess, TError? error)
+ {
+ if (isSuccess && error is { })
+ throw new InvalidOperationException();
+
+ if (!isSuccess && error is null)
+ throw new InvalidOperationException();
+
+ IsSuccess = isSuccess;
+ _error = error;
+ }
+
+ public TError Error => _error ?? throw new InvalidOperationException();
+
+ public bool IsSuccess { get; }
+
+ public static Result Fail(TError error) => new(false, error);
+
+ public static Result Fail(TError error) => new(default, false, error);
+
+ public static Result Ok() => new(true, default);
+
+ public static Result Ok(T value) => new(value, true, default);
+
+ public Result OnSuccess(Action action)
+ {
+ if (IsSuccess)
+ action();
+
+ return this;
+ }
+
+ public Result OnFailure(Action action)
+ {
+ if (!IsSuccess)
+ action(_error!);
+
+ return this;
+ }
+}
+
+public class Result : Result
+{
+ private readonly TValue? _value;
+
+ public Result(TValue? value, bool isSuccess, TError? error)
+ : base(isSuccess, error) =>
+ _value = value;
+
+ public TValue Value => !IsSuccess ? throw new InvalidOperationException(): _value!;
+
+ public Result OnSuccess(Action action)
+ {
+ if (IsSuccess)
+ action(_value!);
+
+ return this;
+ }
+}
diff --git a/README.md b/README.md
index 4b039e6..2086e6a 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
# Late4dTrain.Functional.Result
-[![.NET](https://github.com/late4dtrain/functional-result/actions/workflows/ci.yml/badge.svg)](https://github.com/late4dtrain/functional-result/actions/workflows/ci.yml)
-[![Release to Nuget](https://github.com/late4dtrain/functional-result/actions/workflows/release.yml/badge.svg)](https://github.com/late4dtrain/functional-result/actions/workflows/release.yml)
-[![NuGet version (GSoulavy.Csv.Net)](https://img.shields.io/nuget/v/Late4dTrain.Functional.Result.svg?style=flat-square)](https://www.nuget.org/packages/Late4dTrain.Functional.Result/)
+[![.NET](https://github.com/late4dtrain/result/actions/workflows/ci.yml/badge.svg)](https://github.com/late4dtrain/result/actions/workflows/ci.yml)
+[![Release to Nuget](https://github.com/late4dtrain/result/actions/workflows/release.yml/badge.svg)](https://github.com/late4dtrain/result/actions/workflows/release.yml)
+[![NuGet version (GSoulavy.Csv.Net)](https://img.shields.io/nuget/v/Late4dTrain.Result.svg?style=flat-square)](https://www.nuget.org/packages/Late4dTrain.Result/)
-Functional Result Object
+Result Object