예제 #1
0
 private GraphQLFieldConfig CreateInputFieldConfigTypeFromFieldInfo(GraphQLObjectTypeFieldInfo fieldInfo)
 {
     return(new GraphQLFieldConfig()
     {
         Name = fieldInfo.Name,
         Type = this.typeTranslator.GetInputType(fieldInfo.ReturnValueType),
         Arguments = this.GetArguments(fieldInfo)
     });
 }
        public GraphQLObjectTypeFieldInfo GetFieldInfo(string fieldName)
        {
            if (fieldName == "__typename")
            {
                Expression <Func <string> > lambda = () => this.Name;
                return(GraphQLObjectTypeFieldInfo.CreateResolverFieldInfo("__typename", lambda,
                                                                          "The name of the current Object type at runtime."));
            }

            if (!this.ContainsField(fieldName))
            {
                return(null);
            }

            return(this.Fields[fieldName]);
        }
 private GraphQLObjectTypeFieldInfo CreateResolverFieldInfo(string fieldName, LambdaExpression resolver, string description)
 {
     return(GraphQLObjectTypeFieldInfo.CreateResolverFieldInfo(fieldName, resolver, description));
 }
 protected GraphQLObjectTypeFieldInfo CreateFieldInfo <T, TProperty>(string fieldName, Expression <Func <T, TProperty> > accessor, string description)
 {
     return(GraphQLObjectTypeFieldInfo.CreateAccessorFieldInfo(fieldName, accessor, description));
 }
예제 #5
0
 private Dictionary <string, GraphQLScalarType> GetArguments(GraphQLObjectTypeFieldInfo fieldInfo)
 {
     return(fieldInfo.Arguments
            .Select(e => new { Name = e.Key, Type = this.typeTranslator.GetInputType(e.Value.Type) })
            .ToDictionary(e => e.Name, e => e.Type));
 }