private static IDictionary <string, object> CoerceInputValueAst( Func <string, IEnumerable <KeyValuePair <string, InputObjectField> > > getInputObjectFields, InputObjectType input, GraphQLObjectValue graphQLObjectValue, Dictionary <string, object> result) { var fields = getInputObjectFields(input.Name); foreach (var inputField in fields) { var fieldName = inputField.Key; var field = inputField.Value; var fieldType = field.Type; var astValue = graphQLObjectValue.Fields.SingleOrDefault(v => v.Name.Value == fieldName); var coercedFieldValue = CoerceValue(getInputObjectFields, astValue?.Value, fieldType); result[fieldName] = coercedFieldValue; } return(result); }
private string PrintObjectValue(GraphQLObjectValue node) { var fields = node.Fields?.Select(PrintObjectField); return("{" + Join(fields, ", ") + "}"); }
public virtual GraphQLObjectValue EndVisitObjectValue(GraphQLObjectValue node) => node;
public virtual GraphQLObjectValue EndVisitObjectValue(GraphQLObjectValue node) { return(node); }
public virtual GraphQLObjectValue BeginVisitObjectValue(GraphQLObjectValue node) { this.BeginVisitNodeCollection(node.Fields); return(this.EndVisitObjectValue(node)); }
private static GraphQLObjectField GetFieldFromAstObjectValue(GraphQLObjectValue objectAstValue, string fieldName) { return(objectAstValue.Fields.FirstOrDefault(e => e.Name.Value == fieldName)); }
public override GraphQLObjectValue EndVisitObjectValue(GraphQLObjectValue node) { this.knownNames = this.knownNameStack.Pop(); return(base.EndVisitObjectValue(node)); }
private IEnumerable <GraphQLException> ValidateObjectFields(GraphQLInputObjectType objectType, GraphQLObjectValue objectValue) { foreach (var fieldInfo in objectType.GetFieldsInfo()) { var field = objectValue.Fields.SingleOrDefault(e => e.Name.Value == fieldInfo.Name); var fieldType = fieldInfo.GetGraphQLType(this.schemaRepository); var fieldValue = field?.Value; var fieldErrors = this.IsValid(fieldType, fieldValue); foreach (var fieldError in fieldErrors) { yield return(new GraphQLException($"In field \"{fieldInfo.Name}\": {fieldError.Message}")); } } }