Skip to content

Commit d031b9a

Browse files
committed
fix(Flowtype): Resolve Flow warnings and other code style fixes
1 parent 7d90f9e commit d031b9a

File tree

5 files changed

+52
-58
lines changed

5 files changed

+52
-58
lines changed

src/definition.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import type {
1010
ResolverMWOutputTypeFn as _ResolverMWOutputTypeFn,
1111
ResolverMWOutputType as _ResolverMWOutputType,
1212
GraphQLResolveInfo as _GraphQLResolveInfo,
13-
} from 'graphql-compose/lib/definition.js';
13+
} from 'graphql-compose/lib/definition';
1414

1515
import type {
1616
TypeComposer as _TypeComposer,
@@ -28,18 +28,18 @@ export type WrapMutationResolverOpts = {
2828
export type ResolverMWArgsFn = _ResolverMWArgsFn;
2929
export type ResolverMWArgs = _ResolverMWArgs;
3030

31-
export type ResolverMWResolveFn = _ResolverMWResolveFn;
32-
export type ResolverMWResolve = _ResolverMWResolve;
31+
export type ResolverMWResolveFn<TSource, TContext> = _ResolverMWResolveFn<TSource, TContext>;
32+
export type ResolverMWResolve<TSource, TContext> = _ResolverMWResolve<TSource, TContext>;
3333

3434
export type ResolverMWOutputTypeFn = _ResolverMWOutputTypeFn;
3535
export type ResolverMWOutputType = _ResolverMWOutputType;
3636

3737
export type GraphQLResolveInfo = _GraphQLResolveInfo;
3838

39-
export type Resolver = _Resolver;
40-
export type ResolveParams = _ResolveParams;
39+
export type Resolver<TSource, TContext> = _Resolver<TSource, TContext>;
40+
export type ResolveParams<TSource, TContext> = _ResolveParams<TSource, TContext>;
4141
export type TypeComposer = _TypeComposer;
42-
export type TypeMapForNode = {[typeName: string]: { resolver: Resolver, tc: TypeComposer } };
42+
export type TypeMapForNode = {[typeName: string]: { resolver: Resolver<*, *>, tc: TypeComposer } };
4343

4444

4545
// INTERNAL TYPES

src/globalId.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import type {
44
ResolvedGlobalId,
55
Base64String,
6-
} from './definition.js';
6+
} from './definition';
77

88
export function base64(i: string): Base64String {
99
return ((new Buffer(i, 'ascii')).toString('base64'));

src/nodeFieldConfig.js

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ import { GraphQLID, GraphQLNonNull } from 'graphql';
55
import { getProjectionFromAST } from 'graphql-compose';
66
import { fromGlobalId } from './globalId';
77
import NodeInterface from './nodeInterface';
8-
import type { TypeMapForNode, GraphQLResolveInfo } from './definition.js';
9-
8+
import type { TypeMapForNode, GraphQLResolveInfo } from './definition';
109

1110
// this fieldConfig must be set to RootQuery.node field
1211
export function getNodeFieldConfig(typeMapForNode: TypeMapForNode) {
@@ -21,9 +20,9 @@ export function getNodeFieldConfig(typeMapForNode: TypeMapForNode) {
2120
},
2221
resolve: (
2322
source: mixed,
24-
args: {[argName: string]: mixed},
23+
args: { [argName: string]: mixed },
2524
context: mixed,
26-
info: GraphQLResolveInfo
25+
info: GraphQLResolveInfo,
2726
) => {
2827
if (!args.id || !(typeof args.id === 'string')) {
2928
return null;
@@ -51,17 +50,19 @@ export function getNodeFieldConfig(typeMapForNode: TypeMapForNode) {
5150

5251
// suppose that first argument is argument with id field
5352
const idArgName = Object.keys(findById.args)[0];
54-
return findById.resolve({
55-
source,
56-
args: { [idArgName]: id }, // eg. mongoose has _id fieldname, so should map
57-
context,
58-
info,
59-
projection,
60-
}).then(res => {
61-
if (!res) return res;
62-
res.__nodeType = graphqlType;
63-
return res;
64-
});
53+
return findById
54+
.resolve({
55+
source,
56+
args: { [idArgName]: id }, // eg. mongoose has _id fieldname, so should map
57+
context,
58+
info,
59+
projection,
60+
})
61+
.then((res) => {
62+
if (!res) return res;
63+
res.__nodeType = graphqlType;
64+
return res;
65+
});
6566
}
6667

6768
return null;

src/nodeInterface.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ const NodeInterface = new GraphQLInterfaceType({
1818
}),
1919
resolveType: (payload) => {
2020
// `payload.__nodeType` was added to payload via nodeFieldConfig.resolve
21-
// $FlowFixMe
2221
return payload.__nodeType ? payload.__nodeType : null;
2322
},
2423
});

src/wrapMutationResolver.js

Lines changed: 29 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,19 @@
11
/* @flow */
22
/* eslint-disable no-param-reassign */
33

4-
import {
5-
GraphQLObjectType,
6-
getNamedType,
7-
GraphQLInputObjectType,
8-
GraphQLNonNull,
9-
} from 'graphql';
4+
import { GraphQLObjectType, getNamedType, GraphQLInputObjectType, GraphQLNonNull } from 'graphql';
105
import { TypeComposer, InputTypeComposer } from 'graphql-compose';
116
import { toGlobalId } from './globalId';
12-
import type {
13-
Resolver,
14-
WrapMutationResolverOpts,
15-
} from './definition';
7+
import type { Resolver, WrapMutationResolverOpts } from './definition';
168

179
function upperFirst(str) {
1810
return str.charAt(0).toUpperCase() + str.slice(1);
1911
}
2012

21-
export default function wrapMutationResolver(
22-
resolver: Resolver,
23-
opts: WrapMutationResolverOpts = {}
24-
): Resolver {
13+
export default function wrapMutationResolver<TSource, TContext>(
14+
resolver: Resolver<TSource, TContext>,
15+
opts: WrapMutationResolverOpts,
16+
): Resolver<TSource, TContext> {
2517
const { resolverName, rootTypeName } = opts;
2618

2719
function prepareArgs(newResolver) {
@@ -44,15 +36,17 @@ export default function wrapMutationResolver(
4436
type: new GraphQLNonNull(ITC.getType()),
4537
},
4638
});
39+
// $FlowFixMe
4740
newResolver._relayIsArgsWrapped = true;
4841
}
4942

5043
// add `clientMutationId` to args.input field
5144
if (ITC && !ITC.hasField('clientMutationId')) {
5245
ITC.setField('clientMutationId', {
5346
type: 'String',
54-
description: 'The client mutation ID used by clients like Relay to track the mutation. '
55-
+ 'If given, returned in the response payload of the mutation.',
47+
description:
48+
'The client mutation ID used by clients like Relay to track the mutation. ' +
49+
'If given, returned in the response payload of the mutation.',
5650
});
5751
}
5852
}
@@ -69,21 +63,16 @@ export default function wrapMutationResolver(
6963
}
7064

7165
if (newResolver._relayIsArgsWrapped) {
72-
// $FlowFixMe
7366
resolveParams.args = resolveParams.args.input;
7467
}
7568

76-
return prevResolver.resolve(resolveParams)
77-
.then(res => {
78-
res.nodeId = toGlobalId(
79-
rootTypeName,
80-
res.recordId
81-
);
82-
if (clientMutationId) {
83-
res.clientMutationId = clientMutationId;
84-
}
85-
return res;
86-
});
69+
return prevResolver.resolve(resolveParams).then((res) => {
70+
res.nodeId = toGlobalId(rootTypeName, res.recordId);
71+
if (clientMutationId) {
72+
res.clientMutationId = clientMutationId;
73+
}
74+
return res;
75+
});
8776
});
8877
}
8978

@@ -105,17 +94,22 @@ export default function wrapMutationResolver(
10594
if (!outputTC.hasField('clientMutationId')) {
10695
outputTC.setField('clientMutationId', {
10796
type: 'String',
108-
description: 'The client mutation ID used by clients like Relay to track the mutation. '
109-
+ 'If given, returned in the response payload of the mutation.',
97+
description:
98+
'The client mutation ID used by clients like Relay to track the mutation. ' +
99+
'If given, returned in the response payload of the mutation.',
110100
});
111101
}
112102

113103
newResolver.setType(outputTC.getType());
114104
}
115105

116-
return resolver.wrap((newResolver, prevResolver) => {
117-
prepareArgs(newResolver);
118-
prepareResolve(newResolver, prevResolver);
119-
prepareType(newResolver, prevResolver);
120-
}, { name: 'RelayMutation' });
106+
return resolver.wrap(
107+
(newResolver, prevResolver) => {
108+
prepareArgs(newResolver);
109+
prepareResolve(newResolver, prevResolver);
110+
prepareType(newResolver, prevResolver);
111+
return newResolver;
112+
},
113+
{ name: 'RelayMutation' },
114+
);
121115
}

0 commit comments

Comments
 (0)