/
aprogrammer
/
yessql
Обзор
Документация
Войти
/
aprogrammer
/
yessql
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/YesSql.Filters.Query/QueryEngineBuilder.cs
33 строки
1 KB
dependabot[bot]
Bump the all-dependencies group with 10 updates (#571)
03 июн 2024, 20:05
Не верифицирован
03 июн 2024, 20:05
e2b1e32
Код
Авторство
О чём код?
using System; using System.Collections.Generic; using System.Linq; using YesSql.Filters.Abstractions.Builders; using YesSql.Filters.Query.Services; namespace YesSql.Filters.Query { /// <summary> /// Builds a <see cref="QueryEngineBuilder{T}"/> for an <see cref="IQuery{T}"/>. /// </summary> public class QueryEngineBuilder<T> where T : class { private readonly Dictionary<string, TermEngineBuilder<T, QueryTermOption<T>>> _termBuilders = []; public QueryEngineBuilder<T> SetTermParser(TermEngineBuilder<T, QueryTermOption<T>> builder) { _termBuilders[builder.Name] = builder; return this; } public IQueryParser<T> Build() { var builders = _termBuilders.Values.Select(x => x.Build()); var parsers = builders.Select(x => x.Parser).ToArray(); var termOptions = builders.Select(x => x.TermOption).ToDictionary(k => k.Name, v => v, StringComparer.OrdinalIgnoreCase); return new QueryParser<T>(parsers, termOptions); } } }