Skip to content

Commit f715706

Browse files
authored
Merge pull request #8 from jdmartinez/dev
Merge from 'dev'
2 parents 2bdb622 + 23ca7aa commit f715706

37 files changed

Lines changed: 458 additions & 200 deletions

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* @jdmartinez

.github/workflows/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* @jdmartinez

.github/workflows/dotnet.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# This workflow will build a .NET project
2+
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net
3+
4+
name: Build
5+
6+
on:
7+
push:
8+
branches: [ "dev" ]
9+
pull_request:
10+
branches: [ "dev" ]
11+
12+
jobs:
13+
build:
14+
15+
name: Build
16+
17+
runs-on: ubuntu-latest
18+
19+
steps:
20+
- name: Setup repository
21+
uses: actions/checkout@v3
22+
23+
- name: Setup .NET
24+
uses: actions/setup-dotnet@v3
25+
with:
26+
dotnet-version: 8.0.x
27+
28+
- name: Restore dependencies
29+
run: dotnet restore ./src/Functional.sln
30+
31+
- name: Build
32+
run: dotnet build ./src/Functional.sln --no-restore
33+
34+
- name: Test
35+
run: dotnet test ./src/Functional.sln --no-build --verbosity normal

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# Functional
2-
Functional C# types
2+
C# types for functional programming
33

4-
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
4+
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) ![Build](https://github.com/jdmartinez/Functional/actions/workflows/dotnet.yml/badge.svg)

src/Functional/Error/Error.cs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
1-
namespace Functional;
1+
namespace Functional;
22

3-
public record Error(int Code = 0, string Message = "") : GenericError
3+
public readonly partial record struct Error(string Code = "", string Message = "")
44
{
55
public static readonly Error None = new();
66

7-
public override int Code { get; init ; } = Code;
8-
9-
public override string Message { get; init ; } = Message;
7+
public override string ToString() => Message;
108
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
namespace Functional;
2+
3+
public static partial class ErrorExtensions
4+
{
5+
public static Error ToError(this Exception ex)
6+
=> new(ex.GetBaseException().GetType().Name, ex.Message);
7+
}

src/Functional/Error/GenericError.cs

Lines changed: 0 additions & 11 deletions
This file was deleted.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
namespace Functional;
2+
3+
public static class TaskExtensions
4+
{
5+
public static Task<T> AsTask<T>(this T value) => Task.FromResult(value);
6+
}

src/Functional/Option/Extensions/Option.GetOrDefault.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,9 @@ public static Option<T> GetOrDefault<T>(this Option<T> opt, Func<Option<T>> defa
1818
() => defaultValue()
1919
);
2020

21-
public static TReturn GetOrDefault<T, TReturn>(this Option<T> opt, Func<T, TReturn> selector, TReturn defaultValue = default!)
21+
public static TReturn GetOrDefault<T, TReturn>(this Option<T> opt, Func<T, TReturn> selector, TReturn defaultValue)
2222
=> opt.Match(
2323
v => selector(v),
2424
() => defaultValue
2525
);
26-
2726
}

src/Functional/Option/Extensions/Option.GetOrDefaultAsync.cs

Lines changed: 0 additions & 11 deletions
This file was deleted.

0 commit comments

Comments
 (0)