title: Accessing custom directive argument
body: <p>I have an issue with accessing the arguments of a directive I try to implement who is supposed to take an argument given by the client and filter some data depending of the arguments put in the directive. But I can not manage to access the argument of the directive even after I have the copy past the code from the documentation.
  One of the weird think I have is the server require to add the <code>FIELD</code> location and I cannot find any mention of this location in the documentation so maybe I have a missing method I should implement to make it work but I cannot find it in the Apollo documentation.</p>
  
  <p>I am on the version <code>2.6.4</code> for <code>apollo-server</code> and <code>apollo-server-koa</code> and <code>14.3.1</code> for <code>graphql-js</code>.</p>
  
  <p>I put bellow an example of what I have.</p>
  
  <p>thanks your help</p>
  
  <pre><code>const { SchemaDirectiveVisitor, gql } = require("apollo-server")
  const { defaultFieldResolver, GraphQLString, GraphQLList } = require("graphql")
  
  const schema = gql`
    directive @myDirective(
      fields: [String]
    ) on FIELD_DEFINITION | FIELD
  
    type mainType { 
      anotherType: [AnotherType]
    }
  
    type AnotherType { 
      nestedType: [Object] @myDirective
    }
  `
  
  class MyDirective extends SchemaDirectiveVisitor {
    visitFieldDefinition(field) {
      const { resolve = defaultFieldResolver } = field
      field.args.push({
        name: "fields",
        type: GraphQLList(GraphQLString)
      })
  
      field.resolve = async (source, { fields, otherArgs }, context, info) =&gt; {
        const results = resolve.call(this, source, otherArgs, context, info)
  
        return results.filter(result =&gt;
          fields.every(field =&gt; result.value !== field)
        )
      }
    }
  }
  </code></pre>