From 3fda4369b4b11d22b73d9ebaf33fc8cf73393980 Mon Sep 17 00:00:00 2001 From: Jason Barden Date: Tue, 2 Sep 2025 23:19:06 +0100 Subject: [PATCH] Change to use SLNX, delete SLN and cleanup --- .github/workflows/dotnet.yml | 38 ++++----- .github/workflows/publish.yml | 6 +- AStar.Dev.Functional.Extensions.sln | 59 -------------- AStar.Dev.Functional.Extensions.slnx | 28 +++++++ .../.idea/.gitignore | 13 +++ .../.idea/.name | 1 + .../.idea/encodings.xml | 4 + .../.idea/indexLayout.xml | 8 ++ .../inspectionProfiles/Project_Default.xml | 5 ++ .../.idea/misc.xml | 5 ++ .../.idea/vcs.xml | 13 +++ .../AStar.Dev.Functional.Extensions.csproj | 21 +++-- .../EnumerableExtensions.cs | 4 - .../OptionExtensions.cs | 5 -- .../OptionLinqExtensions.cs | 3 - .../Option{T}.cs | 24 ++---- .../Pattern.cs | 2 - src/AStar.Dev.Functional.Extensions/Result.cs | 5 +- .../ResultExtensions.cs | 80 +++++++++---------- src/AStar.Dev.Functional.Extensions/Try.cs | 3 - .../TryExtensions.cs | 12 +-- ...ev.Functional.Extensions.Tests.Unit.csproj | 2 +- 22 files changed, 163 insertions(+), 178 deletions(-) delete mode 100644 AStar.Dev.Functional.Extensions.sln create mode 100644 AStar.Dev.Functional.Extensions.slnx create mode 100644 src/AStar.Dev.Functional.Extensions/.idea/.idea.AStar.Dev.Functional.dir/.idea/.gitignore create mode 100644 src/AStar.Dev.Functional.Extensions/.idea/.idea.AStar.Dev.Functional.dir/.idea/.name create mode 100644 src/AStar.Dev.Functional.Extensions/.idea/.idea.AStar.Dev.Functional.dir/.idea/encodings.xml create mode 100644 src/AStar.Dev.Functional.Extensions/.idea/.idea.AStar.Dev.Functional.dir/.idea/indexLayout.xml create mode 100644 src/AStar.Dev.Functional.Extensions/.idea/.idea.AStar.Dev.Functional.dir/.idea/inspectionProfiles/Project_Default.xml create mode 100644 src/AStar.Dev.Functional.Extensions/.idea/.idea.AStar.Dev.Functional.dir/.idea/misc.xml create mode 100644 src/AStar.Dev.Functional.Extensions/.idea/.idea.AStar.Dev.Functional.dir/.idea/vcs.xml diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index 6a1857e..125d797 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -1,59 +1,59 @@ -name: Build and analyse with SonarQube +name: .NET on: + workflow_dispatch: push: - branches: - - main + branches: [ "main" ] pull_request: - types: [ opened, synchronize, reopened ] -env: - SONAR_PROJECT: astar-dev-functional-extensions + branches: [ "main" ] jobs: build: name: Build and analyze runs-on: windows-latest - + steps: - - name: Set up JDK 17 - uses: actions/setup-java@v4 + - name: Set up JDK + uses: actions/setup-java@v4.4.0 with: java-version: 17 distribution: 'zulu' - - uses: actions/checkout@v4 + - name: Checkout + uses: actions/checkout@v4.2.1 with: - fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis + fetch-depth: 0 - - name: Cache SonarQube Cloud packages - uses: actions/cache@v4 + - name: 🛠 Cache SonarQube Cloud packages + uses: actions/cache@v4.2.3 with: path: ~\sonar\cache key: ${{ runner.os }}-sonar restore-keys: ${{ runner.os }}-sonar - - name: Cache SonarQube Cloud scanner + - name: 🛠 Cache SonarQube Cloud scanner id: cache-sonar-scanner - uses: actions/cache@v4 + uses: actions/cache@v4.2.3 with: path: .\.sonar\scanner key: ${{ runner.os }}-sonar-scanner restore-keys: ${{ runner.os }}-sonar-scanner - - name: Install SonarQube Cloud scanner + - name: 🛠 Install SonarQube Cloud scanner if: steps.cache-sonar-scanner.outputs.cache-hit != 'true' shell: powershell run: | New-Item -Path .\.sonar\scanner -ItemType Directory dotnet tool update dotnet-sonarscanner --tool-path .\.sonar\scanner - - name: Build and analyze + - name: 🔍 Restore, 🛠 Build and 🧪 Test with ☁️ SonarCloud / Qube project - ${{ vars.SONAR_PROJECT_NAME }} env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} shell: powershell run: | dotnet tool install --global dotnet-coverage - .\.sonar\scanner\dotnet-sonarscanner begin /k:"astar-development_${{ env.SONAR_PROJECT }}" /o:"astar-development" /d:sonar.token="${{ secrets.SONAR_TOKEN }}" /d:sonar.host.url="https://sonarcloud.io" /d:sonar.cs.vscoveragexml.reportsPaths=coverage.xml /d:sonar.scanner.scanAll=false /d:sonar.scanner.skipJreProvisioning=true - dotnet build + .\.sonar\scanner\dotnet-sonarscanner begin /k:"astar-development_${{ github.event.repository.name }}" /o:"astar-development" /d:sonar.token="${{ secrets.SONAR_TOKEN }}" /d:sonar.host.url="https://sonarcloud.io" /d:sonar.cs.vscoveragexml.reportsPaths=coverage.xml /d:sonar.scanner.scanAll=false /d:sonar.scanner.skipJreProvisioning=true + dotnet build --configuration Release dotnet-coverage collect 'dotnet test --filter "FullyQualifiedName!~Tests.EndToEnd"' -f xml -o 'coverage.xml' .\.sonar\scanner\dotnet-sonarscanner end /d:sonar.token="${{ secrets.SONAR_TOKEN }}" diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index a72640c..1f8c366 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -8,8 +8,6 @@ jobs: runs-on: ubuntu-latest permissions: contents: read - env: - ProjectName: 'AStar.Dev.Functional.Extensions' steps: - name: 🧾 Checkout code @@ -26,8 +24,8 @@ jobs: - name: 🛠 Build solution run: dotnet build --configuration Release - - name: 📦 Pack NuGet package - run: dotnet pack ./src/${{ env.ProjectName }}/${{ env.ProjectName }}.csproj --configuration Release --output ./nupkg + - name: 📦 Pack NuGet package for ${{ github.event.repository.name }} + run: dotnet pack ./src/**/*.csproj --configuration Release --output ./nupkg - name: 🚀 Publish to NuGet.org run: dotnet nuget push ./nupkg/*.nupkg --skip-duplicate --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.NuGet_API_Key }} # diff --git a/AStar.Dev.Functional.Extensions.sln b/AStar.Dev.Functional.Extensions.sln deleted file mode 100644 index 1a753cc..0000000 --- a/AStar.Dev.Functional.Extensions.sln +++ /dev/null @@ -1,59 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AStar.Dev.Functional.Extensions", "src\AStar.Dev.Functional.Extensions\AStar.Dev.Functional.Extensions.csproj", "{46743FC5-9AAD-46A0-BD96-B2EEA6CE9E23}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AStar.Dev.Functional.Extensions.Tests.Unit", "test\AStar.Dev.Functional.Extensions.Tests.Unit\AStar.Dev.Functional.Extensions.Tests.Unit.csproj", "{CD5D55C2-C6D1-4E28-93FD-1A60118403CE}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".github", ".github", "{267BE110-D583-4557-80D5-0D9E80A05542}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{2C3EC910-77D3-475C-A9EE-E8F9F9C8C43C}" - ProjectSection(SolutionItems) = preProject - .github\workflows\publish.yml = .github\workflows\publish.yml - .github\workflows\dotnet.yml = .github\workflows\dotnet.yml - EndProjectSection -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{D1A87C44-FB04-49D8-8C34-C6CD33944612}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{0A5D570A-ACDC-429C-A9EA-9E8D9DA7774C}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{16259E77-6EBB-4B17-94EF-AF149059D5D8}" - ProjectSection(SolutionItems) = preProject - Readme.md = Readme.md - Readme-result.md = Readme-result.md - Readme-option.md = Readme-option.md - blog-post.md = blog-post.md - EndProjectSection -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Docs", "Docs", "{211253BB-7DA6-4078-8105-61B7A58ABB35}" - ProjectSection(SolutionItems) = preProject - docs\advanced-usage-option.md = docs\advanced-usage-option.md - docs\advanced-usage.md = docs\advanced-usage.md - docs\basic-usage.md = docs\basic-usage.md - docs\core-concepts.md = docs\core-concepts.md - docs\error-handling-patterns.md = docs\error-handling-patterns.md - docs\method-reference.md = docs\method-reference.md - docs\testing.md = docs\testing.md - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {46743FC5-9AAD-46A0-BD96-B2EEA6CE9E23}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {46743FC5-9AAD-46A0-BD96-B2EEA6CE9E23}.Debug|Any CPU.Build.0 = Debug|Any CPU - {46743FC5-9AAD-46A0-BD96-B2EEA6CE9E23}.Release|Any CPU.ActiveCfg = Release|Any CPU - {46743FC5-9AAD-46A0-BD96-B2EEA6CE9E23}.Release|Any CPU.Build.0 = Release|Any CPU - {CD5D55C2-C6D1-4E28-93FD-1A60118403CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {CD5D55C2-C6D1-4E28-93FD-1A60118403CE}.Debug|Any CPU.Build.0 = Debug|Any CPU - {CD5D55C2-C6D1-4E28-93FD-1A60118403CE}.Release|Any CPU.ActiveCfg = Release|Any CPU - {CD5D55C2-C6D1-4E28-93FD-1A60118403CE}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {2C3EC910-77D3-475C-A9EE-E8F9F9C8C43C} = {267BE110-D583-4557-80D5-0D9E80A05542} - {46743FC5-9AAD-46A0-BD96-B2EEA6CE9E23} = {D1A87C44-FB04-49D8-8C34-C6CD33944612} - {CD5D55C2-C6D1-4E28-93FD-1A60118403CE} = {0A5D570A-ACDC-429C-A9EA-9E8D9DA7774C} - {211253BB-7DA6-4078-8105-61B7A58ABB35} = {16259E77-6EBB-4B17-94EF-AF149059D5D8} - EndGlobalSection -EndGlobal diff --git a/AStar.Dev.Functional.Extensions.slnx b/AStar.Dev.Functional.Extensions.slnx new file mode 100644 index 0000000..a9ecb03 --- /dev/null +++ b/AStar.Dev.Functional.Extensions.slnx @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/AStar.Dev.Functional.Extensions/.idea/.idea.AStar.Dev.Functional.dir/.idea/.gitignore b/src/AStar.Dev.Functional.Extensions/.idea/.idea.AStar.Dev.Functional.dir/.idea/.gitignore new file mode 100644 index 0000000..030844f --- /dev/null +++ b/src/AStar.Dev.Functional.Extensions/.idea/.idea.AStar.Dev.Functional.dir/.idea/.gitignore @@ -0,0 +1,13 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Rider ignored files +/modules.xml +/.idea.AStar.Dev.Functional.iml +/projectSettingsUpdater.xml +/contentModel.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/src/AStar.Dev.Functional.Extensions/.idea/.idea.AStar.Dev.Functional.dir/.idea/.name b/src/AStar.Dev.Functional.Extensions/.idea/.idea.AStar.Dev.Functional.dir/.idea/.name new file mode 100644 index 0000000..3e04525 --- /dev/null +++ b/src/AStar.Dev.Functional.Extensions/.idea/.idea.AStar.Dev.Functional.dir/.idea/.name @@ -0,0 +1 @@ +AStar.Dev.Functional \ No newline at end of file diff --git a/src/AStar.Dev.Functional.Extensions/.idea/.idea.AStar.Dev.Functional.dir/.idea/encodings.xml b/src/AStar.Dev.Functional.Extensions/.idea/.idea.AStar.Dev.Functional.dir/.idea/encodings.xml new file mode 100644 index 0000000..df87cf9 --- /dev/null +++ b/src/AStar.Dev.Functional.Extensions/.idea/.idea.AStar.Dev.Functional.dir/.idea/encodings.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/AStar.Dev.Functional.Extensions/.idea/.idea.AStar.Dev.Functional.dir/.idea/indexLayout.xml b/src/AStar.Dev.Functional.Extensions/.idea/.idea.AStar.Dev.Functional.dir/.idea/indexLayout.xml new file mode 100644 index 0000000..7b08163 --- /dev/null +++ b/src/AStar.Dev.Functional.Extensions/.idea/.idea.AStar.Dev.Functional.dir/.idea/indexLayout.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/src/AStar.Dev.Functional.Extensions/.idea/.idea.AStar.Dev.Functional.dir/.idea/inspectionProfiles/Project_Default.xml b/src/AStar.Dev.Functional.Extensions/.idea/.idea.AStar.Dev.Functional.dir/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..8d66637 --- /dev/null +++ b/src/AStar.Dev.Functional.Extensions/.idea/.idea.AStar.Dev.Functional.dir/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/src/AStar.Dev.Functional.Extensions/.idea/.idea.AStar.Dev.Functional.dir/.idea/misc.xml b/src/AStar.Dev.Functional.Extensions/.idea/.idea.AStar.Dev.Functional.dir/.idea/misc.xml new file mode 100644 index 0000000..ec2c19c --- /dev/null +++ b/src/AStar.Dev.Functional.Extensions/.idea/.idea.AStar.Dev.Functional.dir/.idea/misc.xml @@ -0,0 +1,5 @@ + + + {} + {} + \ No newline at end of file diff --git a/src/AStar.Dev.Functional.Extensions/.idea/.idea.AStar.Dev.Functional.dir/.idea/vcs.xml b/src/AStar.Dev.Functional.Extensions/.idea/.idea.AStar.Dev.Functional.dir/.idea/vcs.xml new file mode 100644 index 0000000..f18b475 --- /dev/null +++ b/src/AStar.Dev.Functional.Extensions/.idea/.idea.AStar.Dev.Functional.dir/.idea/vcs.xml @@ -0,0 +1,13 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/AStar.Dev.Functional.Extensions/AStar.Dev.Functional.Extensions.csproj b/src/AStar.Dev.Functional.Extensions/AStar.Dev.Functional.Extensions.csproj index 6976ef9..0d9dd04 100644 --- a/src/AStar.Dev.Functional.Extensions/AStar.Dev.Functional.Extensions.csproj +++ b/src/AStar.Dev.Functional.Extensions/AStar.Dev.Functional.Extensions.csproj @@ -2,6 +2,14 @@ netstandard2.1 + latest + enable + enable + latest-recommended + True + + + true true true @@ -9,7 +17,7 @@ true snupkg AStar.Dev.Functional.Extensions - 0.4.2 + 0.4.5 Readme.md AStar Development, Jason Barden AStar Development @@ -19,9 +27,6 @@ git MIT https://github.com/astar-development/astar-dev-functional-extensions - AStar.Dev.Functional.Extensions - latest - enable true Readme.md AStar.Dev.Functional.Extensions @@ -35,10 +40,10 @@ - - - - + + + + diff --git a/src/AStar.Dev.Functional.Extensions/EnumerableExtensions.cs b/src/AStar.Dev.Functional.Extensions/EnumerableExtensions.cs index 6f4977b..9ca279d 100644 --- a/src/AStar.Dev.Functional.Extensions/EnumerableExtensions.cs +++ b/src/AStar.Dev.Functional.Extensions/EnumerableExtensions.cs @@ -1,7 +1,3 @@ -using System; -using System.Collections.Generic; -using System.Linq; - namespace AStar.Dev.Functional.Extensions; /// diff --git a/src/AStar.Dev.Functional.Extensions/OptionExtensions.cs b/src/AStar.Dev.Functional.Extensions/OptionExtensions.cs index e470ffe..9407c40 100644 --- a/src/AStar.Dev.Functional.Extensions/OptionExtensions.cs +++ b/src/AStar.Dev.Functional.Extensions/OptionExtensions.cs @@ -1,8 +1,3 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; - namespace AStar.Dev.Functional.Extensions; /// diff --git a/src/AStar.Dev.Functional.Extensions/OptionLinqExtensions.cs b/src/AStar.Dev.Functional.Extensions/OptionLinqExtensions.cs index 02fe022..9505daf 100644 --- a/src/AStar.Dev.Functional.Extensions/OptionLinqExtensions.cs +++ b/src/AStar.Dev.Functional.Extensions/OptionLinqExtensions.cs @@ -1,6 +1,3 @@ -using System; -using System.Threading.Tasks; - namespace AStar.Dev.Functional.Extensions; /// diff --git a/src/AStar.Dev.Functional.Extensions/Option{T}.cs b/src/AStar.Dev.Functional.Extensions/Option{T}.cs index 5dd81eb..eef040a 100644 --- a/src/AStar.Dev.Functional.Extensions/Option{T}.cs +++ b/src/AStar.Dev.Functional.Extensions/Option{T}.cs @@ -1,6 +1,3 @@ -using System; -using System.Collections.Generic; - namespace AStar.Dev.Functional.Extensions; /// @@ -43,20 +40,13 @@ public TResult Match(Func onSome, Func onNone) => /// /// true if the specified object is equal to the current instance; otherwise, false. /// - public override bool Equals(object? obj) - { - if(obj is Option other) - { - return this switch - { - Some some => other is Some otherSome && EqualityComparer.Default.Equals(some.Value, otherSome.Value), - None => other is None, - _ => false - }; - } - - return false; - } + public override bool Equals(object? obj) => + obj is Option other && this switch + { + Some some => other is Some otherSome && EqualityComparer.Default.Equals(some.Value, otherSome.Value), + None => other is None, + _ => false + }; /// /// Returns a hash code for the current instance of the . diff --git a/src/AStar.Dev.Functional.Extensions/Pattern.cs b/src/AStar.Dev.Functional.Extensions/Pattern.cs index 8636ae0..8e85e1c 100644 --- a/src/AStar.Dev.Functional.Extensions/Pattern.cs +++ b/src/AStar.Dev.Functional.Extensions/Pattern.cs @@ -1,5 +1,3 @@ -using System; - namespace AStar.Dev.Functional.Extensions; /// diff --git a/src/AStar.Dev.Functional.Extensions/Result.cs b/src/AStar.Dev.Functional.Extensions/Result.cs index 31d75ae..3479a2a 100644 --- a/src/AStar.Dev.Functional.Extensions/Result.cs +++ b/src/AStar.Dev.Functional.Extensions/Result.cs @@ -1,7 +1,4 @@ -using System; -using System.Threading.Tasks; - -namespace AStar.Dev.Functional.Extensions; +namespace AStar.Dev.Functional.Extensions; /// /// Represents a discriminated union of success or failure. diff --git a/src/AStar.Dev.Functional.Extensions/ResultExtensions.cs b/src/AStar.Dev.Functional.Extensions/ResultExtensions.cs index 0bd1659..fafb410 100644 --- a/src/AStar.Dev.Functional.Extensions/ResultExtensions.cs +++ b/src/AStar.Dev.Functional.Extensions/ResultExtensions.cs @@ -1,6 +1,4 @@ -using System; using System.Diagnostics.CodeAnalysis; -using System.Threading.Tasks; namespace AStar.Dev.Functional.Extensions; @@ -10,44 +8,44 @@ namespace AStar.Dev.Functional.Extensions; [SuppressMessage("ReSharper", "GrammarMistakeInComment")] public static class ResultExtensions { - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - public static async Task MatchAsync( - this Task> resultTask, - Func> onSuccess, - Func> onFailure) - { - var result = await resultTask; - return await result.Match(onSuccess, onFailure); - } - - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - public static async Task MatchAsync( - this Task> resultTask, - Func onSuccess, - Func onFailure) - { - var result = await resultTask; - return result.Match(onSuccess, onFailure); - } - + /// + /// + /// + /// + /// + /// + /// + /// + /// + public static async Task MatchAsync( + this Task> resultTask, + Func> onSuccess, + Func> onFailure) + { + var result = await resultTask; + + return await result.Match(onSuccess, onFailure); + } + + /// + /// + /// + /// + /// + /// + /// + /// + /// + public static async Task MatchAsync( + this Task> resultTask, + Func onSuccess, + Func onFailure) + { + var result = await resultTask; + + return result.Match(onSuccess, onFailure); + } + /// /// Transforms the success value of a using the specified mapping function. /// @@ -62,7 +60,7 @@ public static async Task MatchAsync( /// public static Result Map( this Result result, - Func map) => + Func map) => result.Match>( ok => new Result.Ok(map(ok)), err => new Result.Error(err) diff --git a/src/AStar.Dev.Functional.Extensions/Try.cs b/src/AStar.Dev.Functional.Extensions/Try.cs index 6636585..a0d89aa 100644 --- a/src/AStar.Dev.Functional.Extensions/Try.cs +++ b/src/AStar.Dev.Functional.Extensions/Try.cs @@ -1,6 +1,3 @@ -using System; -using System.Threading.Tasks; - namespace AStar.Dev.Functional.Extensions; /// diff --git a/src/AStar.Dev.Functional.Extensions/TryExtensions.cs b/src/AStar.Dev.Functional.Extensions/TryExtensions.cs index 822c71d..fde2abd 100644 --- a/src/AStar.Dev.Functional.Extensions/TryExtensions.cs +++ b/src/AStar.Dev.Functional.Extensions/TryExtensions.cs @@ -1,21 +1,17 @@ -using System; - namespace AStar.Dev.Functional.Extensions; /// -/// Extensions for the Try class to convert Result types. -/// These extensions allow for converting Result types with exceptions to Result types with ErrorResponse. +/// Extensions for the Try class to convert Result types. +/// These extensions allow for converting Result types with exceptions to Result types with ErrorResponse. /// public static class TryExtensions { - /// - /// Converts a Result with an Exception to a Result with an ErrorResponse (specifically, the base exception message is mapped to the ErrorResponse - please note: NO translation happens...). + /// Converts a Result with an Exception to a Result with an ErrorResponse (specifically, the base exception message is mapped to the ErrorResponse - please note: NO translation happens...). /// /// The type of the successful result /// The Result object being extended. /// A success result without change if applicable, otherwise, the exception will be mapped to an ErrorResponse public static Result ToErrorResponse(this Result result) - => result.MapFailure( - ex => new ErrorResponse(ex.GetBaseException().Message)); + => result.MapFailure(ex => new ErrorResponse(ex.GetBaseException().Message)); } diff --git a/test/AStar.Dev.Functional.Extensions.Tests.Unit/AStar.Dev.Functional.Extensions.Tests.Unit.csproj b/test/AStar.Dev.Functional.Extensions.Tests.Unit/AStar.Dev.Functional.Extensions.Tests.Unit.csproj index 5b160fa..cc48ed7 100644 --- a/test/AStar.Dev.Functional.Extensions.Tests.Unit/AStar.Dev.Functional.Extensions.Tests.Unit.csproj +++ b/test/AStar.Dev.Functional.Extensions.Tests.Unit/AStar.Dev.Functional.Extensions.Tests.Unit.csproj @@ -13,7 +13,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - +