private static ISchemaErrorBuilder SetField( this ISchemaErrorBuilder errorBuilder, IField field, string name = "field") => errorBuilder .AddSyntaxNode(field.SyntaxNode) .SetExtension(name, field);
public static ISchemaErrorBuilder SpecifiedBy( this ISchemaErrorBuilder errorBuilder, string section, bool condition = true) { if (condition) { errorBuilder.SetExtension( "specifiedBy", "http://spec.graphql.org/June2018/#" + section); } return(errorBuilder); }
public static ISchemaErrorBuilder SetMessage( this ISchemaErrorBuilder builder, string format, params object[] args) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } return(builder.SetMessage(string.Format( CultureInfo.InvariantCulture, format, args))); }
private void CollectErrors() { foreach (TypeDiscoveryContext context in _typeRegistry.Types.Select(t => t.DiscoveryContext)) { _errors.AddRange(context.Errors); } IReadOnlyCollection <ITypeReference> unresolved = _typeRegistrar.GetUnresolved(); if (_errors.Count == 0 && unresolved.Count > 0) { foreach (ITypeReference unresolvedReference in _typeRegistrar.GetUnresolved()) { var types = _typeRegistry.Types.Where( t => t.Dependencies.Select(d => d.TypeReference) .Any(r => r.Equals(unresolvedReference))).ToList(); ISchemaErrorBuilder builder = SchemaErrorBuilder.New() .SetMessage( TypeResources.TypeRegistrar_TypesInconsistent, unresolvedReference) .SetExtension( TypeErrorFields.Reference, unresolvedReference) .SetCode(ErrorCodes.Schema.UnresolvedTypes); if (types.Count == 1) { builder.SetTypeSystemObject(types[0].Type); } else if (types.Count > 1) { builder .SetTypeSystemObject(types[0].Type) .SetExtension("involvedTypes", types.Select(t => t.Type).ToList()); } _errors.Add(builder.Build()); } } }
private static ISchemaErrorBuilder SetSpecifiedBy( this ISchemaErrorBuilder errorBuilder, bool isInterface) => errorBuilder .SpecifiedBy(_interfaceTypeValidation, isInterface) .SpecifiedBy(_objectTypeValidation, !isInterface);
private static ISchemaErrorBuilder SetImplementedArgument( this ISchemaErrorBuilder errorBuilder, IInputField field) => errorBuilder.SetField(field, "implementedArgument");
private static ISchemaErrorBuilder SetImplementedField( this ISchemaErrorBuilder errorBuilder, IOutputField field) => errorBuilder.SetField(field, "implementedField");
private static ISchemaErrorBuilder SetImplementedType( this ISchemaErrorBuilder errorBuilder, IComplexOutputType type) => errorBuilder .AddSyntaxNode(type.SyntaxNode) .SetExtension("implementedType", type);
private static ISchemaErrorBuilder SetType( this ISchemaErrorBuilder errorBuilder, IComplexOutputType type) => errorBuilder .AddSyntaxNode(type.SyntaxNode) .SetTypeSystemObject((TypeSystemObjectBase)type);