Skip to content

Commit cd65f79

Browse files
committed
fix(Discriminator): type definitions for Flow
1 parent 72fb754 commit cd65f79

File tree

4 files changed

+12
-11
lines changed

4 files changed

+12
-11
lines changed
Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
/* @flow */
22

33
import { schemaComposer as globalSchemaComposer } from 'graphql-compose';
4-
import type { Model } from 'mongoose';
4+
import type { MongooseModel } from 'mongoose';
55
import { type DiscriminatorOptions, DiscriminatorTypeComposer } from './discriminators';
66

7-
export function composeWithMongooseDiscriminators(
8-
baseModel: Class<Model>,
9-
opts?: DiscriminatorOptions
10-
): DiscriminatorTypeComposer<any, any> {
7+
export function composeWithMongooseDiscriminators<TSource, TContext>(
8+
baseModel: Class<TSource>, // === MongooseModel,
9+
opts?: DiscriminatorOptions<TContext>
10+
): DiscriminatorTypeComposer<TSource, TContext> {
11+
const m: MongooseModel = (baseModel: any);
1112
const sc = (opts ? opts.schemaComposer : null) || globalSchemaComposer;
12-
return DiscriminatorTypeComposer.createFromModel(baseModel, sc, opts);
13+
return DiscriminatorTypeComposer.createFromModel(m, sc, opts);
1314
}

src/discriminators/DiscriminatorTypeComposer.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ import { mergeCustomizationOptions } from './utils/mergeCustomizationOptions';
1919
import { prepareBaseResolvers } from './prepareBaseResolvers';
2020
import { reorderFields } from './utils/reorderFields';
2121

22-
export type DiscriminatorOptions = {|
22+
export type DiscriminatorOptions<TContext> = {|
2323
reorderFields?: boolean | string[], // true order: _id, DKey, DInterfaceFields, DiscriminatorFields
24-
...TypeConverterOpts<any>,
24+
...TypeConverterOpts<TContext>,
2525
|};
2626

2727
type Discriminators = {
@@ -75,7 +75,7 @@ export class DiscriminatorTypeComposer<TSource, TContext> extends ObjectTypeComp
7575

7676
DKeyETC: EnumTypeComposer<TContext>;
7777

78-
opts: DiscriminatorOptions;
78+
opts: DiscriminatorOptions<TContext>;
7979

8080
DInterface: InterfaceTypeComposer<TSource, TContext>;
8181

src/discriminators/composeChildTC.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ function copyBaseTCFieldsToChildTC(
3232
export function composeChildTC<TSource, TContext>(
3333
baseDTC: DiscriminatorTypeComposer<any, TContext>,
3434
childTC: ObjectTypeComposer<TSource, TContext>,
35-
opts: DiscriminatorOptions
35+
opts: DiscriminatorOptions<TContext>
3636
): ObjectTypeComposer<TSource, TContext> {
3737
const composedChildTC = copyBaseTCFieldsToChildTC(baseDTC, childTC);
3838

src/discriminators/prepareChildResolvers.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ function reorderFieldsRecordFilter<TSource, TContext>(
134134
export function prepareChildResolvers<TSource, TContext>(
135135
baseDTC: DiscriminatorTypeComposer<TSource, TContext>,
136136
childTC: ObjectTypeComposer<TSource, TContext>,
137-
opts: DiscriminatorOptions
137+
opts: DiscriminatorOptions<TContext>
138138
) {
139139
for (const resolverName in EMCResolvers) {
140140
if (EMCResolvers.hasOwnProperty(resolverName) && childTC.hasResolver(resolverName)) {

0 commit comments

Comments
 (0)