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( 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); }