Files
ersatztv/ErsatzTV/Extensions/OptionToActionResult.cs
T
Jason DoveandGitHub d4a2197dfa async fixes (#128)
* refactor local metadata provider

* resolve async warnings

* more async fixes
2021-04-03 11:01:20 -05:00

19 lines
594 B
C#

using System.Diagnostics.CodeAnalysis;
using System.Threading.Tasks;
using LanguageExt;
using Microsoft.AspNetCore.Mvc;
namespace ErsatzTV.Extensions
{
[SuppressMessage("ReSharper", "VSTHRD003")]
public static class OptionToActionResult
{
public static IActionResult ToActionResult<T>(this Option<T> option) =>
option.Match<IActionResult>(
t => new OkObjectResult(t),
() => new NotFoundResult());
public static Task<IActionResult> ToActionResult<T>(this Task<Option<T>> option) => option.Map(ToActionResult);
}
}