Аргументы, переданные в директивы схемы, оцениваются при первоначальном построении схемы, поэтому они не могут быть динамическими c. В этом конкретном случае вам вообще не нужен аргумент - вы можете просто прочитать значение поля аргументов.
visitFieldDefinition(field) {
const { resolve = defaultFieldResolver } = field
field.resolve = async function (parent, args, context, info) {
console.log(args.postID)
return resolve.apply(this, [parent, args, context, info])
}
}
Однако, если имя аргумента зависит от поля, тогда вы можете передать , что в качестве аргумента вашей директивы
directive @isOwner(argName: String!) on FIELD_DEFINITION
visitFieldDefinition(field) {
const { resolve = defaultFieldResolver } = field
const { argName } = this.args
field.resolve = async function (parent, args, context, info) {
console.log(args[argName])
return resolve.apply(this, [parent, args, context, info])
}
}