mirror of https://github.com/ErsatzTV/ErsatzTV.git
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
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))); |
|
} |
|
}
|
|
|