title: Nested query and mutation in type-Graphql
body: <p>I found a feature in graphql to write nested query and mutation, I tried it but got null. I found the best practices of building graphqL schema on Meetup HolyJs and the speaker told that one of the best ways is building "Namespaced" mutations/queries nested, in this way you can write some middlewares inside the "Namespaced" mutations/queries and for get the Child mutation you should return an empty array because if you return an empty array, Graphql understand it and go one level deep.</p>
  
  <p>Please check the example code. </p>
  
  <p>Example in graphql-tools</p>
  
  <pre><code>const typeDefs = gql`
    type Query { ...}
    type Post { ... }
    type Mutation {
      likePost(id: Int!): LikePostPayload
    }
    type LikePostPayload {
      recordId: Int
      record: Post
      # ✨✨✨ magic – add 'query' field with 'Query' root-type
      query: Query!
    }
  `;
  
  const resolvers = {
    Mutation: {
      likePost: async (_, { id }, context) =&gt; {
        const post = await context.DB.Post.find(id);
        post.like();
        return {
          record: post,
          recordId: post.id,
          query: {}, // ✨✨✨ magic - just return empty Object
        };
      },
    }
  };
  </code></pre>
  
  <p>This is my Code</p>
  
  <p>types</p>
  
  <pre><code>import { ObjectType, Field } from "type-graphql";
  
  import { MeTypes } from "../User/Me/Me.types";
  
  @ObjectType()
  export class MeNameSpaceTypes {
    @Field()
    hello: string;
    @Field({ nullable: true })
    meCheck: MeTypes;
  }
  
  </code></pre>
  
  <pre><code>import { Resolver, Query } from "type-graphql";
  
  import { MeNameSpaceTypes } from "./MeNamespace.types";
  
  @Resolver()
  export class MeResolver {
    @Query(() =&gt; MeNameSpaceTypes)
    async Me() {
      const response = {
        hello: "world",
        meCheck:{}
      };
      return response;
    }
  }
  </code></pre>
  
  <p>Result of code</p>
  
  <pre><code>query {
    Me{
      hello
      meCheck{
        meHello
      }
    }
  }
  
  --RESULT--
  {
    "data": {
      "Me": {
        "hello": "world",
        "meCheck": {
          "meHello": null
        }
      }
    }
  }
  </code></pre>
  
  <p>I got a null instead a meHello resolver. Where am I wrong?</p>