11/* @flow */
22/* eslint-disable no-param-reassign, no-use-before-define */
33
4- import { Resolver , TypeComposer } from 'graphql-compose' ;
5- import type { ResolveParams , ProjectionType , ComposeFieldConfigArgumentMap } from 'graphql-compose' ;
4+ import type {
5+ Resolver ,
6+ TypeComposer ,
7+ ResolveParams , // eslint-disable-line
8+ ProjectionType ,
9+ ComposeFieldConfigArgumentMap ,
10+ } from 'graphql-compose' ;
611import type { GraphQLResolveInfo } from 'graphql-compose/lib/graphql' ;
712import { prepareConnectionType } from './types/connectionType' ;
813import { prepareSortType } from './types/sortInputType' ;
@@ -15,21 +20,21 @@ export type ConnectionSortOpts = {
1520 beforeCursorQuery : (
1621 rawQuery : any ,
1722 cursorData : CursorDataType ,
18- resolveParams : ConnectionResolveParams < * , * >
23+ resolveParams : ConnectionResolveParams < any >
1924 ) => any ,
2025 afterCursorQuery : (
2126 rawQuery : any ,
2227 cursorData : CursorDataType ,
23- resolveParams : ConnectionResolveParams < * , * >
28+ resolveParams : ConnectionResolveParams < any >
2429 ) => any ,
2530} ;
2631
2732export type ConnectionSortMapOpts = {
2833 [ sortName : string ] : ConnectionSortOpts ,
2934} ;
3035
31- export type ConnectionResolveParams < TSource , TContext > = {
32- source : TSource ,
36+ export type ConnectionResolveParams < TContext > = {
37+ source : any ,
3338 args : {
3439 first ?: ?number ,
3540 after ?: string ,
@@ -63,24 +68,24 @@ export type PageInfoType = {
6368 hasNextPage : boolean ,
6469} ;
6570
66- export function prepareConnectionResolver < TSource , TContext > (
67- typeComposer : TypeComposer ,
71+ export function prepareConnectionResolver (
72+ tc : TypeComposer ,
6873 opts : ComposeWithConnectionOpts
6974) : Resolver {
70- if ( ! typeComposer || typeComposer . constructor . name !== 'TypeComposer' ) {
75+ if ( ! tc || tc . constructor . name !== 'TypeComposer' ) {
7176 throw new Error ( 'First arg for prepareConnectionResolver() should be instance of TypeComposer' ) ;
7277 }
7378
7479 if ( ! opts . countResolverName ) {
7580 throw new Error (
76- `TypeComposer ( ${typeComposer . getTypeName ( ) } ) provided to composeWithConnection ` +
81+ `TypeComposer(${ tc . getTypeName ( ) } ) provided to composeWithConnection ` +
7782 'should have option `opts.countResolverName`.'
7883 ) ;
7984 }
80- const countResolver = typeComposer .getResolver(opts.countResolverName);
85+ const countResolver = tc . getResolver ( opts . countResolverName ) ;
8186 if ( ! countResolver ) {
8287 throw new Error (
83- ` TypeComposer ( $ { typeComposer . getTypeName ( ) } ) provided to composeWithConnection ` +
88+ `TypeComposer(${ tc . getTypeName ( ) } ) provided to composeWithConnection ` +
8489 `should have resolver with name '${ opts . countResolverName } ' ` +
8590 'due opts.countResolverName.'
8691 ) ;
@@ -89,14 +94,14 @@ export function prepareConnectionResolver<TSource, TContext>(
8994
9095 if ( ! opts . findResolverName ) {
9196 throw new Error (
92- ` TypeComposer ( $ { typeComposer . getTypeName ( ) } ) provided to composeWithConnection ` +
97+ `TypeComposer(${ tc . getTypeName ( ) } ) provided to composeWithConnection ` +
9398 'should have option `opts.findResolverName`.'
9499 ) ;
95100 }
96- const findManyResolver = typeComposer .getResolver(opts.findResolverName);
101+ const findManyResolver = tc . getResolver ( opts . findResolverName ) ;
97102 if ( ! findManyResolver ) {
98103 throw new Error (
99- ` TypeComposer ( $ { typeComposer . getTypeName ( ) } ) provided to composeWithConnection ` +
104+ `TypeComposer(${ tc . getTypeName ( ) } ) provided to composeWithConnection ` +
100105 `should have resolver with name '${ opts . findResolverName } ' ` +
101106 'due opts.countResolverName.'
102107 ) ;
@@ -111,10 +116,10 @@ export function prepareConnectionResolver<TSource, TContext>(
111116 }
112117 }
113118
114- const sortEnumType = prepareSortType(typeComposer , opts);
119+ const sortEnumType = prepareSortType ( tc , opts ) ;
115120
116- return new Resolver({
117- type: prepareConnectionType(typeComposer ),
121+ return new tc . constructor . schemaComposer . Resolver ( {
122+ type : prepareConnectionType ( tc ) ,
118123 name : 'connection' ,
119124 kind : 'query' ,
120125 args : {
@@ -142,13 +147,13 @@ export function prepareConnectionResolver<TSource, TContext>(
142147 } ,
143148 } ,
144149 // eslint-disable-next-line
145- resolve: async (
146- resolveParams: $Shape<ConnectionResolveParams<TSource, TContext>>
150+ resolve : async /* :: <TContext> */ (
151+ resolveParams /* : $Shape<ConnectionResolveParams<TContext>> */
147152 ) => {
148153 let countPromise ;
149154 let findManyPromise ;
150155 const { projection = { } , args, rawQuery } = resolveParams ;
151- const findManyParams: $Shape<ResolveParams<TSource , TContext>> = {
156+ const findManyParams /* : $Shape<ResolveParams<any , TContext>> */ = {
152157 ...resolveParams ,
153158 } ;
154159
@@ -161,7 +166,7 @@ export function prepareConnectionResolver<TSource, TContext>(
161166 throw new Error ( 'Argument `last` should be non-negative number.' ) ;
162167 }
163168
164- const countParams : $Shape < ResolveParams < TSource , TContext > > = {
169+ const countParams /* : $Shape<ResolveParams<any , TContext>> */ = {
165170 ...resolveParams ,
166171 rawQuery,
167172 args : {
@@ -194,7 +199,7 @@ export function prepareConnectionResolver<TSource, TContext>(
194199
195200 if ( ! first && last ) {
196201 // Get the number of edges targeted by the findMany resolver (not the whole count)
197- const filteredCountParams : $Shape < ResolveParams < TSource , TContext >> = {
202+ const filteredCountParams /* : $Shape<ResolveParams<any , TContext>> */ = {
198203 ...resolveParams ,
199204 args : {
200205 filter : { ...resolveParams . args . filter } ,
@@ -310,7 +315,7 @@ export function preparePageInfo(
310315}
311316
312317export function prepareRawQuery (
313- rp : $Shape < ConnectionResolveParams < * , * >> ,
318+ rp : $Shape < ConnectionResolveParams < any >> ,
314319 sortConfig : ConnectionSortOpts
315320) {
316321 if ( ! rp . rawQuery ) {
@@ -335,7 +340,7 @@ export function prepareRawQuery(
335340}
336341
337342export function prepareLimitSkipFallback (
338- rp : $Shape < ConnectionResolveParams < * , * >> ,
343+ rp : $Shape < ConnectionResolveParams < any >> ,
339344 limit : number ,
340345 skip : number
341346) : [ number , number ] {
0 commit comments