Stream custom live channels using your own media
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

18 lines
551 B

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