private T RemoveFields <T>( T typeDefinition, RewriteFieldsDelegate <T> rewrite) where T : ComplexTypeDefinitionNodeBase, ITypeDefinitionNode { var renamedFields = new List <FieldDefinitionNode>(); foreach (FieldDefinitionNode field in typeDefinition.Fields) { if (!Field.FieldName.Equals(field.Name.Value)) { renamedFields.Add(field); } } return(rewrite(renamedFields)); }
private T RenameFields <T>( T typeDefinition, NameString schemaName, RewriteFieldsDelegate <T> rewrite) where T : ComplexTypeDefinitionNodeBase, ITypeDefinitionNode { var renamedFields = new List <FieldDefinitionNode>(); foreach (FieldDefinitionNode field in typeDefinition.Fields) { renamedFields.Add( Field.FieldName.Equals(field.Name.Value) ? field.Rename(NewFieldName, schemaName) : field); } return(rewrite(renamedFields)); }
private T SelectField <T>( T typeDefinition, NameString schemaName, RewriteFieldsDelegate <T> rewrite) where T : ComplexTypeDefinitionNodeBase, ITypeDefinitionNode { var renamedFields = new List <FieldDefinitionNode>(); foreach (FieldDefinitionNode field in typeDefinition.Fields) { if (Field.FieldName.Equals(field.Name.Value)) { renamedFields.Add(RewriteArgument(schemaName, field)); } else { renamedFields.Add(field); } } return(rewrite(renamedFields)); }