|
1 | 1 | /* eslint-disable no-use-before-define */ |
2 | 2 |
|
3 | 3 | import { ObjectTypeComposer, ObjectTypeComposerArgumentConfigMap } from 'graphql-compose'; |
4 | | -import type { Model } from 'mongoose'; |
| 4 | +import type { Model, Document } from 'mongoose'; |
5 | 5 | import { isObject, toMongoFilterDottedObject, getIndexedFieldNamesForGraphQL } from '../../utils'; |
6 | 6 | import type { ExtendedResolveParams } from '../index'; |
7 | 7 | import { |
@@ -33,11 +33,11 @@ export const getFilterHelperArgOptsMap = (): Record<string, string | string[]> = |
33 | 33 | removeFields: ['string', 'string[]'], |
34 | 34 | }); |
35 | 35 |
|
36 | | -export const filterHelperArgs = ( |
37 | | - typeComposer: ObjectTypeComposer<any, any>, |
38 | | - model: Model<any>, |
| 36 | +export function filterHelperArgs<TDoc extends Document = any>( |
| 37 | + typeComposer: ObjectTypeComposer<TDoc, any>, |
| 38 | + model: Model<TDoc>, |
39 | 39 | opts?: FilterHelperArgsOpts |
40 | | -): ObjectTypeComposerArgumentConfigMap<{ filter: any }> => { |
| 40 | +): ObjectTypeComposerArgumentConfigMap<{ filter: any }> { |
41 | 41 | if (!(typeComposer instanceof ObjectTypeComposer)) { |
42 | 42 | throw new Error('First arg for filterHelperArgs() should be instance of ObjectTypeComposer.'); |
43 | 43 | } |
@@ -95,7 +95,7 @@ export const filterHelperArgs = ( |
95 | 95 | description: opts.onlyIndexed ? 'Filter only by indexed fields' : 'Filter by fields', |
96 | 96 | }, |
97 | 97 | }; |
98 | | -}; |
| 98 | +} |
99 | 99 |
|
100 | 100 | export function filterHelper( |
101 | 101 | resolveParams: ExtendedResolveParams, |
|
0 commit comments