Skip to content

Commit 4279a7b

Browse files
committed
chore: fix flowtype definitions and cove rest tests files by flow
1 parent 8a244cc commit 4279a7b

File tree

6 files changed

+32
-27
lines changed

6 files changed

+32
-27
lines changed

flow-typed/npm/mongoose_v4.x.x.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -553,7 +553,7 @@ declare module "mongoose" {
553553
models: { [name: string]: typeof Mongoose$Document },
554554
createConnection(uri?: string, options?: Object): Mongoose$Connection,
555555
set: (key: string, value: string | Function | boolean) => void,
556-
connect: (uri: string, options?: Object) => void,
556+
connect: (uri?: string, options?: Object) => void,
557557
connection: Mongoose$Connection,
558558
connections: Mongoose$Connection[],
559559
Query: typeof Mongoose$Query,

src/__tests__/composeWithMongooseDiscriminators-test.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,7 @@ import { DiscriminatorTypeComposer } from '../discriminators';
1616
beforeAll(() => MovieModel.base.connect());
1717
afterAll(() => MovieModel.base.disconnect());
1818

19-
export const allowedDKeys = ['type', 'kind', 'error'];
20-
21-
const { CharacterModel, PersonModel, DroidModel } = getCharacterModels(allowedDKeys[0]);
19+
const { CharacterModel, PersonModel, DroidModel } = getCharacterModels('type');
2220

2321
describe('composeWithMongooseDiscriminators ->', () => {
2422
beforeEach(() => {
@@ -50,14 +48,14 @@ describe('composeWithMongooseDiscriminators ->', () => {
5048
customizationOptions: {
5149
inputType: {
5250
fields: {
53-
required: [allowedDKeys[1]],
51+
required: ['kind'],
5452
},
5553
},
5654
},
5755
});
5856
const filterArgInFindOne: any = typeComposer.getResolver('findOne').getArg('filter');
5957
const inputComposer = new InputTypeComposer(filterArgInFindOne.type);
60-
expect(inputComposer.isRequired(allowedDKeys[1])).toBe(true);
58+
expect(inputComposer.isRequired('kind')).toBe(true);
6159
});
6260

6361
it('should proceed customizationOptions.inputType.fields.required', () => {
@@ -90,7 +88,7 @@ describe('composeWithMongooseDiscriminators ->', () => {
9088
expect(baseDTC.getFieldNames()).toEqual(Object.keys(baseDTC.getDInterface().getFields()));
9189

9290
beforeAll(() =>
93-
baseDTC.addDFields({
91+
baseDTC.addFields({
9492
field1: 'String',
9593
field2: 'String',
9694
}));
@@ -177,7 +175,7 @@ describe('composeWithMongooseDiscriminators ->', () => {
177175
const characterDTC = composeWithMongooseDiscriminators(CharacterModel);
178176
const personTC = characterDTC.discriminator(PersonModel);
179177
const droidTC = characterDTC.discriminator(DroidModel);
180-
const fieldName = allowedDKeys[1];
178+
const fieldName = 'kind';
181179
const fieldExtension = {
182180
type: 'String',
183181
description: 'Hello I am changed',
@@ -190,7 +188,9 @@ describe('composeWithMongooseDiscriminators ->', () => {
190188
it('should extend field on baseTC', () => {
191189
expect(characterDTC.getFieldType(fieldName).toString()).toEqual(graphql.GraphQLString.name);
192190

193-
expect(characterDTC.getField(fieldName).description).toEqual(fieldExtension.description);
191+
expect((characterDTC.getField(fieldName): any).description).toEqual(
192+
fieldExtension.description
193+
);
194194
});
195195

196196
it('should extend field type on DInterface', () => {
@@ -206,11 +206,11 @@ describe('composeWithMongooseDiscriminators ->', () => {
206206
it('should extend field on childTC', () => {
207207
expect(personTC.getFieldType(fieldName).toString()).toEqual(graphql.GraphQLString.name);
208208

209-
expect(personTC.getField(fieldName).description).toEqual(fieldExtension.description);
209+
expect((personTC.getField(fieldName): any).description).toEqual(fieldExtension.description);
210210

211211
expect(droidTC.getFieldType(fieldName).toString()).toEqual(graphql.GraphQLString.name);
212212

213-
expect(droidTC.getField(fieldName).description).toEqual(fieldExtension.description);
213+
expect((droidTC.getField(fieldName): any).description).toEqual(fieldExtension.description);
214214
});
215215
});
216216

src/__tests__/integration-discriminators-test.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
/* @flow */
2+
13
import { graphql, schemaComposer } from 'graphql-compose/lib/index';
24
import { mongoose } from '../__mocks__/mongooseCommon';
35
import { getCharacterModels } from '../__mocks__/characterModels';

src/composeWithMongooseDiscriminators.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
/* @flow */
22

3-
import { Model } from 'mongoose';
3+
import type { Model } from 'mongoose';
44
import { type Options, DiscriminatorTypeComposer } from './discriminators';
55

66
export function composeWithMongooseDiscriminators(
7-
baseModel: Model,
7+
baseModel: Class<Model>,
88
opts?: Options
99
): DiscriminatorTypeComposer<any> {
1010
return DiscriminatorTypeComposer.createFromModel(baseModel, opts);

src/discriminators/DiscriminatorTypeComposer.js

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,12 @@ import {
77
SchemaComposer,
88
TypeComposerClass,
99
type InterfaceTypeComposerClass,
10+
type ComposeFieldConfig,
11+
type RelationOpts,
12+
type GetRecordIdFn,
1013
} from 'graphql-compose';
11-
import type { GraphQLFieldConfigMap } from 'graphql-compose/lib/graphql';
12-
import type {
13-
ComposePartialFieldConfigAsObject,
14-
RelationOpts,
15-
ComposeFieldConfig,
16-
GetRecordIdFn,
17-
} from 'graphql-compose/lib/TypeComposer';
18-
import { Model } from 'mongoose';
14+
import type { ComposePartialFieldConfigAsObject } from 'graphql-compose/lib/TypeComposer';
15+
import type { Model } from 'mongoose';
1916
import { composeWithMongoose, type TypeConverterOpts } from '../composeWithMongoose';
2017
import { composeChildTC } from './composeChildTC';
2118
import { mergeCustomizationOptions } from './merge-customization-options';
@@ -95,7 +92,7 @@ export class DiscriminatorTypeComposer<TContext> extends TypeComposerClass<TCont
9592
}
9693
*/
9794

98-
static createFromModel(baseModel: Model, opts?: any): DiscriminatorTypeComposer<TContext> {
95+
static createFromModel(baseModel: Class<Model>, opts?: any): DiscriminatorTypeComposer<TContext> {
9996
if (!baseModel || !(baseModel: any).discriminators) {
10097
throw Error('Discriminator Key not Set, Use composeWithMongoose for Normal Collections');
10198
}
@@ -168,7 +165,7 @@ export class DiscriminatorTypeComposer<TContext> extends TypeComposerClass<TCont
168165
return this.DKeyETC;
169166
}
170167

171-
getDInterface(): GraphQLInterfaceType {
168+
getDInterface(): InterfaceTypeComposerClass<TContext> {
172169
return this.DInterface;
173170
}
174171

@@ -323,7 +320,7 @@ export class DiscriminatorTypeComposer<TContext> extends TypeComposerClass<TCont
323320
}
324321

325322
/* eslint no-use-before-define: 0 */
326-
discriminator(childModel: Model, opts?: TypeConverterOpts): TypeComposerClass<TContext> {
323+
discriminator(childModel: Class<Model>, opts?: TypeConverterOpts): TypeComposerClass<TContext> {
327324
const customizationOpts = mergeCustomizationOptions(
328325
(this.opts: any).customizationOptions,
329326
opts

src/discriminators/merge-customization-options/utils/mergeTypeConverterResolversOpts.js

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
/* @flow */
2+
13
import type { TypeConverterResolversOpts } from '../../../composeWithMongoose';
24
import { MergeAbleHelperArgsOpts } from '../../../resolvers/helpers';
35
import { mergeStringAndStringArraysFields } from '../index';
@@ -115,13 +117,17 @@ export function mergeMapTypeFields(baseField: any, childField: any, argOptsTypes
115117
}
116118

117119
export function mergeTypeConverterResolverOpts(
118-
baseTypeConverterResolverOpts: TypeConverterResolversOpts,
119-
childTypeConverterResolverOpts: TypeConverterResolversOpts
120-
) {
120+
baseTypeConverterResolverOpts?: TypeConverterResolversOpts | false,
121+
childTypeConverterResolverOpts?: TypeConverterResolversOpts | false
122+
): TypeConverterResolversOpts | false | void {
121123
if (!baseTypeConverterResolverOpts) {
122124
return childTypeConverterResolverOpts;
123125
}
124126

127+
if (!childTypeConverterResolverOpts) {
128+
return baseTypeConverterResolverOpts;
129+
}
130+
125131
const mergedTypeConverterResolverOpts =
126132
JSON.parse(JSON.stringify(childTypeConverterResolverOpts)) || {};
127133

0 commit comments

Comments
 (0)