1919use GraphQL \Validator \DocumentValidator ;
2020use GraphQL \Validator \Rules \QueryComplexity ;
2121use GraphQL \Validator \Rules \ValidationRule ;
22+ use Psr \SimpleCache \CacheInterface ;
2223
2324/**
2425 * This is the primary facade for fulfilling GraphQL operations.
@@ -90,7 +91,8 @@ public static function executeQuery(
9091 ?array $ variableValues = null ,
9192 ?string $ operationName = null ,
9293 ?callable $ fieldResolver = null ,
93- ?array $ validationRules = null
94+ ?array $ validationRules = null ,
95+ ?CacheInterface $ cache = null ,
9496 ): ExecutionResult {
9597 $ promiseAdapter = new SyncPromiseAdapter ();
9698
@@ -103,7 +105,8 @@ public static function executeQuery(
103105 $ variableValues ,
104106 $ operationName ,
105107 $ fieldResolver ,
106- $ validationRules
108+ $ validationRules ,
109+ $ cache
107110 );
108111
109112 return $ promiseAdapter ->wait ($ promise );
@@ -132,7 +135,8 @@ public static function promiseToExecute(
132135 ?array $ variableValues = null ,
133136 ?string $ operationName = null ,
134137 ?callable $ fieldResolver = null ,
135- ?array $ validationRules = null
138+ ?array $ validationRules = null ,
139+ ?CacheInterface $ cache = null
136140 ): Promise {
137141 try {
138142 $ documentNode = $ source instanceof DocumentNode
@@ -152,7 +156,7 @@ public static function promiseToExecute(
152156 }
153157 }
154158
155- $ validationErrors = DocumentValidator::validate ($ schema , $ documentNode , $ validationRules );
159+ $ validationErrors = DocumentValidator::validate ($ schema , $ documentNode , $ validationRules, null , $ cache );
156160
157161 if ($ validationErrors !== []) {
158162 return $ promiseAdapter ->createFulfilled (
0 commit comments