CreateObjectTypeBindings(ITypeRegistry typeRegistry)
        {
            var typeBindings = new Dictionary <ObjectType, ObjectTypeBinding>();

            foreach (TypeBindingInfo typeBindingInfo in _typeBindings)
            {
                if (typeBindingInfo.Name == null)
                {
                    typeBindingInfo.Name =
                        typeBindingInfo.Type.GetGraphQLName();
                }

                IEnumerable <FieldBinding> fieldBindings = null;
                if (typeRegistry.TryGetType(
                        typeBindingInfo.Name, out ObjectType ot))
                {
                    fieldBindings =
                        CreateFieldBindings(typeBindingInfo, ot.Fields);
                    typeBindings[ot] = new ObjectTypeBinding(ot.Name,
                                                             typeBindingInfo.Type, ot, fieldBindings);
                }
            }

            return(typeBindings);
        }
Example #2
0
        private Dictionary <InputObjectType, InputObjectTypeBinding> CreateInputObjectTypeBindings(
            ITypeRegistry typeRegistry)
        {
            Dictionary <InputObjectType, InputObjectTypeBinding> typeBindings =
                new Dictionary <InputObjectType, InputObjectTypeBinding>();

            foreach (TypeBindingInfo typeBindingInfo in _typeBindings)
            {
                if (typeBindingInfo.Name == null)
                {
                    typeBindingInfo.Name = typeBindingInfo.Type.GetGraphQLName();
                }

                IEnumerable <InputFieldBinding> fieldBindings = null;
                if (typeRegistry.TryGetType <InputObjectType>(
                        typeBindingInfo.Name, out InputObjectType iot))
                {
                    fieldBindings     = CreateInputFieldBindings(typeBindingInfo, iot.Fields);
                    typeBindings[iot] = new InputObjectTypeBinding(iot.Name,
                                                                   typeBindingInfo.Type, iot, fieldBindings);
                }
            }

            return(typeBindings);
        }
        private Dictionary <ObjectType, ObjectTypeBinding> CreateObjectTypeBindings(
            ITypeRegistry typeRegistry)
        {
            Dictionary <ObjectType, ObjectTypeBinding> typeBindings =
                new Dictionary <ObjectType, ObjectTypeBinding>();

            foreach (TypeBindingInfo typeBindingInfo in _typeBindings)
            {
                if (typeBindingInfo.Name == null)
                {
                    typeBindingInfo.Name = GetNameFromType(typeBindingInfo.Type);
                }

                IEnumerable <FieldBinding> fieldBindings = null;
                if (typeRegistry.TryGetType <ObjectType>(
                        typeBindingInfo.Name, out ObjectType ot))
                {
                    fieldBindings    = CreateFieldBindings(typeBindingInfo, ot.Fields);
                    typeBindings[ot] = new ObjectTypeBinding(ot.Name,
                                                             typeBindingInfo.Type, ot, fieldBindings);
                }
            }

            return(typeBindings);
        }
Example #4
0
 public static bool TryGetObjectTypeField(
     this ITypeRegistry typeRegistry,
     FieldReference fieldReference,
     out ObjectField field)
 {
     field = null;
     return(typeRegistry.TryGetType(fieldReference.TypeName, out ObjectType ot) &&
            ot.Fields.TryGetField(fieldReference.FieldName, out field));
 }