@@ -20,33 +20,33 @@ function createAsyncResolver(field) {
20
20
originalResolver ( source , args , context , info )
21
21
}
22
22
23
- function getDirectiveInfo ( directive , resolverMap , schema , location ) {
23
+ function getDirectiveInfo ( directive , resolverMap , schema , location , variables ) {
24
24
const name = directive . name . value
25
25
26
26
const Directive = schema . getDirective ( name )
27
27
if ( typeof Directive === 'undefined' ) {
28
28
throw new Error (
29
29
`Directive @${ name } is undefined. ` +
30
- 'Please define in schema before using.' ,
30
+ 'Please define in schema before using.' ,
31
31
)
32
32
}
33
33
34
34
if ( ! Directive . locations . includes ( location ) ) {
35
35
throw new Error (
36
36
`Directive @${ name } is not marked to be used on "${ location } " location. ` +
37
- `Please add "directive @${ name } ON ${ location } " in schema.` ,
37
+ `Please add "directive @${ name } ON ${ location } " in schema.` ,
38
38
)
39
39
}
40
40
41
41
const resolver = resolverMap [ name ]
42
42
if ( ! resolver && ! BUILT_IN_DIRECTIVES . includes ( name ) ) {
43
43
throw new Error (
44
44
`Directive @${ name } has no resolver.` +
45
- 'Please define one using createFieldExecutionResolver().' ,
45
+ 'Please define one using createFieldExecutionResolver().' ,
46
46
)
47
47
}
48
48
49
- const args = getDirectiveValues ( Directive , { directives : [ directive ] } )
49
+ const args = getDirectiveValues ( Directive , { directives : [ directive ] } , variables )
50
50
return { args, resolver }
51
51
}
52
52
@@ -60,14 +60,13 @@ function createFieldExecutionResolver(field, resolverMap, schema) {
60
60
schema ,
61
61
DirectiveLocation . FIELD_DEFINITION ,
62
62
)
63
- return ( source , args , context , info ) =>
64
- directiveInfo . resolver (
65
- ( ) => recursiveResolver ( source , args , context , info ) ,
66
- source ,
67
- directiveInfo . args ,
68
- context ,
69
- info ,
70
- )
63
+ return ( source , args , context , info ) => directiveInfo . resolver (
64
+ ( ) => recursiveResolver ( source , args , context , info ) ,
65
+ source ,
66
+ directiveInfo . args ,
67
+ context ,
68
+ info ,
69
+ )
71
70
} , createAsyncResolver ( field ) )
72
71
}
73
72
@@ -83,6 +82,7 @@ function createFieldResolver(field, resolverMap, schema) {
83
82
resolverMap ,
84
83
schema ,
85
84
DirectiveLocation . FIELD ,
85
+ info . variableValues ,
86
86
)
87
87
return ( ) =>
88
88
directiveInfo . resolver (
0 commit comments