private void ResolveField(IFieldQueryNode node, IQueryVisitorContext context) { if (node.Parent == null || node.Field == null) { return; } var contextResolver = context.GetFieldResolver(); string resolvedField = node.Field; if (_globalResolver != null) { resolvedField = _globalResolver(resolvedField) ?? resolvedField; } if (contextResolver != null) { resolvedField = contextResolver(resolvedField) ?? resolvedField; } if (resolvedField != null && !resolvedField.Equals(node.Field, StringComparison.OrdinalIgnoreCase)) { node.SetOriginalField(node.Field); node.Field = resolvedField; } }
private void SetupQueryVisitorContextDefaults(IQueryVisitorContext context) { if (_config.FieldResolver != null && context.GetFieldResolver() == null) { context.SetFieldResolver(_config.FieldResolver); } if (_config.Validator != null && context.GetValidator() == null) { context.SetValidator(_config.Validator); } }