private void Initialize(Action <IInterfaceTypeDescriptor> configure) { if (configure == null) { throw new ArgumentNullException(nameof(configure)); } InterfaceTypeDescriptor descriptor = CreateDescriptor(); configure(descriptor); InterfaceTypeDescription description = descriptor.CreateDescription(); _resolveAbstractType = description.ResolveAbstractType; SyntaxNode = description.SyntaxNode; Fields = new FieldCollection <InterfaceField>( description.Fields.Select(t => new InterfaceField(t))); Initialize(description.Name, description.Description, new DirectiveCollection(this, DirectiveLocation.Interface, description.Directives)); }
public InterfaceType() { InterfaceTypeDescriptor descriptor = new InterfaceTypeDescriptor(GetType()); Configure(descriptor); if (string.IsNullOrEmpty(descriptor.Name)) { throw new ArgumentException( "The type name must not be null or empty."); } if (descriptor.Fields.Count == 0) { throw new ArgumentException( $"The interface type `{Name}` has no fields."); } foreach (Field field in descriptor.Fields.Select(t => t.CreateField())) { _fieldMap[field.Name] = field; } _resolveAbstractType = descriptor.ResolveAbstractType; Name = descriptor.Name; Description = descriptor.Description; }
private void Initialize(Action <IInterfaceTypeDescriptor> configure) { InterfaceTypeDescriptor descriptor = new InterfaceTypeDescriptor(GetType()); configure(descriptor); Initialize(descriptor); }
protected override InterfaceTypeDefinition CreateDefinition( IInitializationContext context) { var descriptor = InterfaceTypeDescriptor.New( context.DescriptorContext); _configure(descriptor); return descriptor.CreateDefinition(); }
protected override InterfaceTypeDefinition CreateDefinition( ITypeDiscoveryContext context) { var descriptor = InterfaceTypeDescriptor.New <T>( context.DescriptorContext); _configure(descriptor); return(descriptor.CreateDefinition()); }
protected override InterfaceTypeDefinition CreateDefinition( IInitializationContext context) { var descriptor = InterfaceTypeDescriptor.FromSchemaType( context.DescriptorContext, GetType()); _configure(descriptor); return(descriptor.CreateDefinition()); }
protected override InterfaceTypeDefinition CreateDefinition( IInitializationContext context) { var descriptor = InterfaceTypeDescriptor.New <T>( DescriptorContext.Create(context.Services)); _configure(descriptor); return(descriptor.CreateDefinition()); }
public void Ignore_ExpressionIsNull_ArgumentNullException() { // arrange var descriptor = InterfaceTypeDescriptor.New<IFoo>(DescriptorContext.Create()); // act void Action() => descriptor.Ignore(null); // assert Assert.Throws<ArgumentNullException>(Action); }
public void Ignore_ExpressionIsNull_ArgumentNullException() { // arrange InterfaceTypeDescriptor <IFoo> descriptor = InterfaceTypeDescriptor.New <IFoo>(DescriptorContext.Create()); // act Action action = () => InterfaceTypeDescriptorExtensions .Ignore(descriptor, null); // assert Assert.Throws <ArgumentNullException>(action); }
private void Initialize(InterfaceTypeDescriptor descriptor) { if (string.IsNullOrEmpty(descriptor.Name)) { throw new ArgumentException( "The type name must not be null or empty."); } foreach (Field field in descriptor.Fields .Select(t => new Field(t))) { _fieldMap[field.Name] = field; } _resolveAbstractType = descriptor.ResolveAbstractType; SyntaxNode = descriptor.SyntaxNode; Name = descriptor.Name; Description = descriptor.Description; }
protected override InterfaceTypeDefinition CreateDefinition( ITypeDiscoveryContext context) { try { if (Definition is null) { var descriptor = InterfaceTypeDescriptor.FromSchemaType( context.DescriptorContext, GetType()); _configure !(descriptor); return(descriptor.CreateDefinition()); } return(Definition); } finally { _configure = null; } }