protected override void OnCompleteType( ICompletionContext context, InputObjectTypeDefinition definition) { base.OnCompleteType(context, definition); ITypeConversion typeConversion = context.Services.GetTypeConversion(); _objectToValueConverter = new InputObjectToObjectValueConverter(typeConversion); _valueToObjectConverter = new ObjectValueToInputObjectConverter(typeConversion); _objectToDictionary = new InputObjectToDictionaryConverter(typeConversion); _dictionaryToObject = new DictionaryToInputObjectConverter(typeConversion); SyntaxNode = definition.SyntaxNode; var fields = new List <InputField>(); OnCompleteFields(context, definition, fields); Fields = new FieldCollection <InputField>(fields); FieldInitHelper.CompleteFields(context, definition, Fields); }
protected override void OnCompleteType( ICompletionContext context, InputObjectTypeDefinition definition) { base.OnCompleteType(context, definition); ITypeConversion converter = context.Services.GetTypeConversion(); _objectToValueConverter = new InputObjectToObjectValueConverter(converter); _objectToDictionary = new InputObjectToDictionaryConverter(converter); SyntaxNode = definition.SyntaxNode; var fields = new List <InputField>(); OnCompleteFields(context, definition, fields); Fields = new FieldCollection <InputField>(fields); FieldInitHelper.CompleteFields(context, definition, Fields); if (ClrType == typeof(object) || Fields.Any(t => t.Property is null)) { _parseLiteral = ov => InputObjectParserHelper.Parse(this, ov, converter); _deserialize = map => InputObjectParserHelper.Deserialize(this, map, converter); }
protected override void OnCompleteType( ICompletionContext context, DirectiveTypeDefinition definition) { base.OnCompleteType(context, definition); _converter = context.Services.GetTypeConversion(); MiddlewareComponents = definition.MiddlewareComponents.ToList().AsReadOnly(); SyntaxNode = definition.SyntaxNode; Locations = definition.Locations.ToList().AsReadOnly(); Arguments = new FieldCollection <Argument>( definition.Arguments.Select(t => new Argument(t))); IsExecutable = MiddlewareComponents.Count > 0; if (!Locations.Any()) { context.ReportError(SchemaErrorBuilder.New() .SetMessage(string.Format( CultureInfo.InvariantCulture, TypeResources.DirectiveType_NoLocations, Name)) .SetCode(ErrorCodes.Schema.MissingType) .SetTypeSystemObject(context.Type) .AddSyntaxNode(definition.SyntaxNode) .Build()); } FieldInitHelper.CompleteFields(context, definition, Arguments); }
protected override void OnCompleteType( ITypeCompletionContext context, InputObjectTypeDefinition definition) { base.OnCompleteType(context, definition); ITypeConverter converter = context.Services.GetTypeConverter(); _objectToValueConverter = new InputObjectToObjectValueConverter(converter); _objectToDictionary = new InputObjectToDictionaryConverter(converter); SyntaxNode = definition.SyntaxNode; var fields = new List <InputField>(); OnCompleteFields(context, definition, fields); Fields = FieldCollection <InputField> .From( fields, context.DescriptorContext.Options.SortFieldsByName); FieldInitHelper.CompleteFields(context, definition, Fields); if (RuntimeType == typeof(object) || Fields.Any(t => t.Property is null)) { _parseLiteral = ov => ParseLiteralToDictionary(this, ov, converter); _deserialize = map => DeserializeToDictionary(this, map, converter); }
protected override void OnCompleteType( ICompletionContext context, DirectiveTypeDefinition definition) { base.OnCompleteType(context, definition); _converter = context.Services.GetTypeConversion(); MiddlewareComponents = definition.MiddlewareComponents.ToList().AsReadOnly(); SyntaxNode = definition.SyntaxNode; ClrType = definition.ClrType == GetType() ? typeof(object) : definition.ClrType; IsRepeatable = definition.IsRepeatable; Locations = definition.Locations.ToList().AsReadOnly(); Arguments = new FieldCollection <Argument>( definition.Arguments.Select(t => new Argument(t))); IsExecutable = MiddlewareComponents.Count > 0; if (!Locations.Any()) { // TODO : resources context.ReportError(SchemaErrorBuilder.New() .SetMessage( $"The `{Name}` directive does not declare any " + "location on which it is valid.") .SetCode(TypeErrorCodes.MissingType) .SetTypeSystemObject(context.Type) .AddSyntaxNode(definition.SyntaxNode) .Build()); } FieldInitHelper.CompleteFields(context, definition, Arguments); }
protected override void OnCompleteType( ICompletionContext context, InterfaceTypeDefinition definition) { base.OnCompleteType(context, definition); SyntaxNode = definition.SyntaxNode; Fields = new FieldCollection <InterfaceField>( definition.Fields.Select(t => new InterfaceField(t))); CompleteAbstractTypeResolver( context, definition.ResolveAbstractType); FieldInitHelper.CompleteFields(context, definition, Fields); }
protected override void OnCompleteType( ICompletionContext context, InputObjectTypeDefinition definition) { base.OnCompleteType(context, definition); ITypeConversion typeConversion = context.Services.GetTypeConversion(); _objectToValueConverter = new InputObjectToObjectValueConverter(typeConversion); _valueToObjectConverter = new ObjectValueToInputObjectConverter(typeConversion); SyntaxNode = definition.SyntaxNode; Fields = new FieldCollection <InputField>( definition.Fields.Select(t => new InputField(t))); FieldInitHelper.CompleteFields(context, definition, Fields); }
protected override void OnCompleteType( ICompletionContext context, ObjectTypeDefinition definition) { base.OnCompleteType(context, definition); _isOfType = definition.IsOfType; SyntaxNode = definition.SyntaxNode; var fields = new List <ObjectField>(); AddIntrospectionFields(context, fields); fields.AddRange(definition.Fields.Select(t => new ObjectField(t))); Fields = new FieldCollection <ObjectField>(fields); CompleteInterfaces(context, definition); CompleteIsOfType(context); FieldInitHelper.CompleteFields(context, definition, Fields); }