public ElasticQueryParserConfiguration UseFieldResolver(QueryFieldResolver resolver, int priority = 10) { FieldResolver = resolver; ReplaceVisitor <FieldResolverQueryVisitor>(new FieldResolverQueryVisitor(resolver), priority); return(this); }
public static T SetFieldResolver <T>(this T context, QueryFieldResolver resolver) where T : IQueryVisitorContext { if (!(context is IQueryVisitorContextWithFieldResolver resolverContext)) { throw new ArgumentException("Context must be of type IQueryVisitorContextWithFieldResolver", nameof(context)); } resolverContext.FieldResolver = resolver; return(context); }
public FieldResolverQueryBuilder(QueryFieldResolver aliasMap) { _aliasMap = aliasMap; }
public static IQueryNode Run(IQueryNode node, QueryFieldResolver resolver, IQueryVisitorContextWithFieldResolver context = null) { return(RunAsync(node, resolver, context).GetAwaiter().GetResult()); }
public static Task <IQueryNode> RunAsync(IQueryNode node, QueryFieldResolver resolver, IQueryVisitorContextWithFieldResolver context = null) { return(new FieldResolverQueryVisitor().AcceptAsync(node, context ?? new QueryVisitorContextWithFieldResolver { FieldResolver = resolver })); }
public FieldResolverQueryVisitor(QueryFieldResolver globalResolver = null) { _globalResolver = globalResolver; }
public static T QueryFieldResolver <T>(this T options, QueryFieldResolver rootAliasResolver) where T : ICommandOptions { options.Values.Set(QueryFieldResolverKey, rootAliasResolver); return(options); }
public void UseAliases(QueryFieldResolver aliasMap) { Unregister <ExpressionQueryBuilder>(); Register(new FieldResolverQueryBuilder(aliasMap)); }