Files
ersatztv/ErsatzTV.Infrastructure/Extensions/ConfigElementQueryableExtensions.cs
T
Jason DoveandGitHub 1c07df5bc3 use cancellation tokens in many places (#2350)
* use cancellation tokens everywhere

* more cancellation tokens
2025-08-27 03:20:35 +00:00

16 lines
552 B
C#

using System.Globalization;
using ErsatzTV.Core.Domain;
namespace ErsatzTV.Infrastructure.Extensions;
public static class ConfigElementQueryableExtensions
{
public static Task<Option<T>> GetValue<T>(
this IQueryable<ConfigElement> configElements,
ConfigElementKey key,
CancellationToken cancellationToken) =>
configElements
.SelectOneAsync(ce => ce.Key, ce => ce.Key == key.Key, cancellationToken)
.MapT(ce => (T)Convert.ChangeType(ce.Value, typeof(T), CultureInfo.InvariantCulture));
}