FunSharp 1.0.10

FunSharp  - Railway oriented programming library in C#.

Provides a functional programming approach to handle exceptions in an elegant way and to avoid NullReferenceExceptions.

There is a newer version of this package available.
See the version list below for details.
Install-Package FunSharp -Version 1.0.10
dotnet add package FunSharp --version 1.0.10
<PackageReference Include="FunSharp" Version="1.0.10" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add FunSharp --version 1.0.10
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: FunSharp, 1.0.10"
For F# scripts that support #r syntax, copy this into the source code to reference the package.
// Install FunSharp as a Cake Addin
#addin nuget:?package=FunSharp&version=1.0.10

// Install FunSharp as a Cake Tool
#tool nuget:?package=FunSharp&version=1.0.10
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

FunSharp

FunSharp oferece uma abordagem funcional para o tratamento de erros em .Net, através de RailWay Oriented Programming.

Ao invés de:

public Pessoa ObterPessoa(int id)
{
    try
    {
        return repository.ObterPessoa(id);
    }
    catch(Exception ex)
    {
       return null;
    }
}

// Consumindo o método acima:
var pessoa = ObterPessoa(id);
if (pessoa == null)
{
   // lógica para null
}
else
{
   // lógica para diferente de null
}

Com FunSharp, você faz assim:

using static FunSharp.TryFunctions;

public Res<Pessoa> ObterPessoa(int id)
    => Try(() => repository.ObterPessoa(id), "Erro ao obter pessoa.");

// Consumindo o método acima:
ObterPessoa(id)
  .Match(
      some: p => 
      {
         // lógica para quando há retorno de valor.
      },
      error: err =>
      {
         // Tratamento do erro (mensagens, log, etc)
      },
      none: _ =>
      {
         // Lógica para quando não retorna valor (nulo).
      }
  );

FunSharp

FunSharp oferece uma abordagem funcional para o tratamento de erros em .Net, através de RailWay Oriented Programming.

Ao invés de:

public Pessoa ObterPessoa(int id)
{
    try
    {
        return repository.ObterPessoa(id);
    }
    catch(Exception ex)
    {
       return null;
    }
}

// Consumindo o método acima:
var pessoa = ObterPessoa(id);
if (pessoa == null)
{
   // lógica para null
}
else
{
   // lógica para diferente de null
}

Com FunSharp, você faz assim:

using static FunSharp.TryFunctions;

public Res<Pessoa> ObterPessoa(int id)
    => Try(() => repository.ObterPessoa(id), "Erro ao obter pessoa.");

// Consumindo o método acima:
ObterPessoa(id)
  .Match(
      some: p => 
      {
         // lógica para quando há retorno de valor.
      },
      error: err =>
      {
         // Tratamento do erro (mensagens, log, etc)
      },
      none: _ =>
      {
         // Lógica para quando não retorna valor (nulo).
      }
  );

  • .NETStandard 2.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on FunSharp:

Package Downloads
Bragil.Core
Interfaces e funcionalidades básicas para o desenvolvimento de aplicações.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.0.11 190 7/21/2020
1.0.10 283 3/5/2020
1.0.9 230 1/14/2020
1.0.8 211 1/14/2020
1.0.7 198 11/22/2019
1.0.6 202 10/11/2019
1.0.5 262 6/6/2019
1.0.4 270 6/6/2019
1.0.3 265 6/6/2019
1.0.2 264 4/26/2019
1.0.1 296 4/26/2019
1.0.0 289 4/25/2019