@@ -260,46 +260,29 @@ def connection_resolver(
260
260
261
261
iterable = resolver (root , info , ** args )
262
262
263
- if info .is_awaitable (iterable ):
264
-
265
- async def resolve_connection_async (iterable ):
266
- iterable = await iterable
267
- if iterable is None :
268
- iterable = default_manager
269
-
270
- iterable = await sync_to_async (queryset_resolver )(
271
- connection , iterable , info , args
272
- )
273
-
274
- if info .is_awaitable (iterable ):
275
- iterable = await iterable
276
-
277
- return await sync_to_async (cls .resolve_connection )(
278
- connection , args , iterable , max_limit = max_limit
279
- )
280
-
281
- return resolve_connection_async (iterable )
282
-
283
263
if iterable is None :
284
264
iterable = default_manager
285
265
266
+ iterable = queryset_resolver (connection , iterable , info , args )
267
+
268
+ return cls .resolve_connection (connection , args , iterable , max_limit = max_limit )
269
+
270
+ def wrap_resolve (self , parent_resolver ):
286
271
try :
287
272
get_running_loop ()
288
273
except RuntimeError :
289
274
pass
290
275
else :
291
- iterable = sync_to_async (queryset_resolver )(
292
- connection , iterable , info , args
293
- )
294
- return sync_to_async (cls .resolve_connection )(
295
- connection , args , iterable , max_limit = max_limit
276
+ return partial (
277
+ sync_to_async (self .connection_resolver ),
278
+ parent_resolver ,
279
+ self .connection_type ,
280
+ self .get_manager (),
281
+ self .get_queryset_resolver (),
282
+ self .max_limit ,
283
+ self .enforce_first_or_last ,
296
284
)
297
285
298
- iterable = queryset_resolver (connection , iterable , info , args )
299
-
300
- return cls .resolve_connection (connection , args , iterable , max_limit = max_limit )
301
-
302
- def wrap_resolve (self , parent_resolver ):
303
286
return partial (
304
287
self .connection_resolver ,
305
288
parent_resolver ,
0 commit comments