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
-
+