Skip to content

Commit 5fb1859

Browse files
committed
fix(Flowtype): Resolve Flowtype warnings
1 parent ecbc64e commit 5fb1859

20 files changed

+47
-53
lines changed

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
},
2828
"peerDependencies": {
2929
"elasticsearch": ">=12.0.0 || >=13.0.0",
30-
"graphql-compose": ">=1.20.1"
30+
"graphql-compose": ">=1.20.2"
3131
},
3232
"devDependencies": {
3333
"babel-cli": "^6.24.1",
@@ -48,7 +48,7 @@
4848
"express-graphql": "^0.6.6",
4949
"flow-bin": "^0.47.0",
5050
"graphql": "^0.10.1",
51-
"graphql-compose": "^1.20.1",
51+
"graphql-compose": "^1.20.2",
5252
"jest": "^20.0.4",
5353
"jest-babel": "^1.0.1",
5454
"npm-run-all": "^4.0.1",

src/__mocks__/cv.js

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
import {
2-
inputPropertiesToGraphQLTypes,
3-
convertToSourceTC,
4-
} from '../mappingConverter';
1+
/* @flow */
2+
3+
import { inputPropertiesToGraphQLTypes, convertToSourceTC } from '../mappingConverter';
54
import cvMapping from './cvMapping';
65

76
export const CvFieldMap = inputPropertiesToGraphQLTypes(cvMapping);

src/__mocks__/cvMapping.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
/* @flow */
2+
13
export default {
24
properties: {
35
avatarUrl: {

src/__mocks__/elasticClient.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
/* @flow */
2+
13
import elasticsearch from 'elasticsearch';
24

35
const elasticClient = new elasticsearch.Client({

src/__tests__/ElasticApiParser-test.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,8 @@ describe('ElasticApiParser', () => {
167167
);
168168
const doxAST = dox.parseComments(source, { raw: true });
169169
expect(ElasticApiParser.parseParamsDescription(doxAST[0])).toMatchObject({
170-
analyzeWildcard: 'Specify whether wildcard and prefix queries should be analyzed (default: false)',
170+
analyzeWildcard:
171+
'Specify whether wildcard and prefix queries should be analyzed (default: false)',
171172
analyzer: 'The analyzer to use for the query string',
172173
from: 'Starting offset (default: 0)',
173174
});

src/__tests__/mappingConverter-test.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -141,10 +141,12 @@ describe('PropertiesConverter', () => {
141141
'ComplexType'
142142
);
143143
expect(type).toBeInstanceOf(GraphQLObjectType);
144-
const tc = TypeComposer.create(type);
145-
expect(tc.getTypeName()).toEqual('ComplexType');
146-
expect(tc.getFieldNames()).toEqual(expect.arrayContaining(['big', 'thumb']));
147-
expect(tc.getFieldType('big')).toEqual(GraphQLString);
144+
if (type instanceof GraphQLObjectType) {
145+
const tc = TypeComposer.create(type);
146+
expect(tc.getTypeName()).toEqual('ComplexType');
147+
expect(tc.getFieldNames()).toEqual(expect.arrayContaining(['big', 'thumb']));
148+
expect(tc.getFieldType('big')).toEqual(GraphQLString);
149+
}
148150
});
149151
});
150152

src/elasticDSL/Aggs/Aggs.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
/* @flow */
2+
13
import { getAggBlockITC } from './AggBlock';
24

35
export function getAggsITC(opts: mixed) {
@@ -10,7 +12,7 @@ export type ElasticAggsT = {
1012

1113
export type ElasticAggsRulesT = {
1214
[aggOperationName: string]: mixed,
13-
aggs: ElasticAggsT,
15+
aggs?: ElasticAggsT,
1416
};
1517

1618
export type GqlAggBlock = {
@@ -20,7 +22,7 @@ export type GqlAggBlock = {
2022

2123
export type GqlAggRules = {
2224
[aggOperationName: string]: mixed,
23-
aggs: GqlAggBlock[],
25+
aggs?: GqlAggBlock[],
2426
};
2527

2628
export function prepareAggsInResolve(

src/elasticDSL/Query/Compound/Bool.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,10 +86,7 @@ function prepareQueryMayBeArray(vals, fieldMap) {
8686
return prepareQueryInResolve(vals, fieldMap);
8787
}
8888

89-
export function prepareBoolInResolve(
90-
bool: any,
91-
fieldMap: mixed
92-
): { [argName: string]: any } {
89+
export function prepareBoolInResolve(bool: any, fieldMap: mixed): { [argName: string]: any } {
9390
/* eslint-disable no-param-reassign */
9491
if (bool.must) {
9592
bool.must = prepareQueryMayBeArray(bool.must, fieldMap);

src/elasticDSL/Query/Compound/ConstantScore.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,7 @@ export function prepareConstantScoreInResolve(
3232
fieldMap: mixed
3333
): { [argName: string]: any } {
3434
if (constant_score.filter) {
35-
constant_score.filter = prepareQueryInResolve(
36-
constant_score.filter,
37-
fieldMap
38-
);
35+
constant_score.filter = prepareQueryInResolve(constant_score.filter, fieldMap);
3936
}
4037

4138
return constant_score;

src/elasticDSL/Query/Compound/DisMax.js

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,9 @@ export function getDisMaxITC(opts: mixed = {}): InputTypeComposer {
3030
}
3131

3232
/* eslint-disable no-param-reassign, camelcase */
33-
export function prepareDisMaxResolve(
34-
dis_max: any,
35-
fieldMap: mixed
36-
): { [argName: string]: any } {
33+
export function prepareDisMaxResolve(dis_max: any, fieldMap: mixed): { [argName: string]: any } {
3734
if (Array.isArray(dis_max.queries)) {
38-
dis_max.queries = dis_max.queries.map(query =>
39-
prepareQueryInResolve(query, fieldMap)
40-
);
35+
dis_max.queries = dis_max.queries.map(query => prepareQueryInResolve(query, fieldMap));
4136
}
4237

4338
return dis_max;

src/elasticDSL/Query/Compound/FunctionScore.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,10 +67,7 @@ export function prepareFunctionScoreInResolve(
6767
fieldMap: mixed
6868
): { [argName: string]: any } {
6969
if (function_score.query) {
70-
function_score.query = prepareQueryInResolve(
71-
function_score.query,
72-
fieldMap
73-
);
70+
function_score.query = prepareQueryInResolve(function_score.query, fieldMap);
7471
}
7572

7673
if (Array.isArray(function_score.functions)) {

src/elasticDSL/SearchBody.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,7 @@ export function getSearchBodyITC(opts: SearchOptsT = {}): InputTypeComposer {
5252
);
5353
}
5454

55-
export function prepareBodyInResolve(
56-
body: any,
57-
fieldMap: mixed
58-
): { [argName: string]: any } {
55+
export function prepareBodyInResolve(body: any, fieldMap: mixed): { [argName: string]: any } {
5956
/* eslint-disable no-param-reassign */
6057
if (body.query) {
6158
body.query = prepareQueryInResolve(body.query, fieldMap);

src/mappingConverter.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import {
1010
isObject,
1111
graphql,
1212
} from 'graphql-compose';
13+
import type { GraphQLScalarType, GraphQLInputType } from 'graphql-compose/lib/definition';
1314

1415
import { ElasticGeoPointType } from './elasticDSL/Commons/Geo';
1516

@@ -20,7 +21,6 @@ const {
2021
GraphQLBoolean,
2122
GraphQLList,
2223
GraphQLObjectType,
23-
GraphQLInputObjectType,
2424
} = graphql;
2525

2626
export type ElasticMappingT = {
@@ -38,7 +38,7 @@ export type ElasticPropertyT = {
3838
};
3939

4040
export type InputFieldsMap = {
41-
[field: string]: GraphQLInputObjectType,
41+
[field: string]: GraphQLInputType,
4242
};
4343

4444
export type FieldsMapByElasticType = {
@@ -146,7 +146,7 @@ export function propertyToSourceGraphQLType(
146146
prop: ElasticPropertyT,
147147
typeName?: string,
148148
opts?: ConvertOptsT
149-
): GraphQLObjectType {
149+
): GraphQLObjectType | GraphQLScalarType {
150150
if (!prop || (typeof prop.type !== 'string' && !prop.properties)) {
151151
throw new Error('You provide incorrect Elastic property config.');
152152
}

src/resolvers/__tests__/search-test.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
/* @flow */
2+
13
import { Resolver } from 'graphql-compose';
24
import createSearchResolver, * as Search from '../search';
35
import elasticClient from '../../__mocks__/elasticClient';
@@ -12,7 +14,7 @@ describe('search resolver', () => {
1214
const SearchResolver = createSearchResolver(CvFieldMap, CvTC, elasticClient);
1315

1416
it.skip('should return result', () => {
15-
return SearchResolver.resolve({}, {}, {}).then(res => {
17+
return SearchResolver.resolve({}).then(res => {
1618
console.log(res); // eslint-disable-line
1719
});
1820
});

src/resolvers/search.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,6 @@ export default function createSearchResolver(
133133
if (!hits._source) {
134134
args.body._source = false;
135135
} else {
136-
// $FlowFixMe
137136
args.body._source = toDottedList(hits._source);
138137
}
139138

src/resolvers/searchConnection.js

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* @Flow */
1+
/* @flow */
22

33
import { Resolver, TypeComposer } from 'graphql-compose';
44
import { getTypeName, getOrSetType } from '../utils';
@@ -21,18 +21,22 @@ export default function createSearchConnectionResolver(
2121
.removeArg(['limit', 'skip'])
2222
.reorderArgs(['q', 'query', 'sort', 'aggs', 'first', 'after', 'last', 'before']);
2323

24-
const searchType = searchResolver.getTypeComposer();
25-
const typeName = searchType.getTypeName();
24+
const searchTC = searchResolver.getTypeComposer();
25+
if (!searchTC) {
26+
throw new Error('Cannot get TypeComposer from resolver. Maybe resolver return Scalar?!');
27+
}
28+
29+
const typeName = searchTC.getTypeName();
2630
resolver.setType(
27-
searchType
31+
searchTC
2832
.clone(`${typeName}Connection`)
2933
.addFields({
3034
pageInfo: getPageInfoTC(opts),
3135
edges: [
3236
TypeComposer.create({
3337
name: `${typeName}Edge`,
3438
fields: {
35-
node: searchType.get('hits'),
39+
node: searchTC.get('hits'),
3640
cursor: 'String!',
3741
},
3842
}),

src/types/SearchHitItem.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ export function getSearchHitItemTC(opts: SearchOptsT = {}): TypeComposer {
88
const name = getTypeName('SearchHitItem', opts);
99

1010
return getOrSetType(name, () =>
11-
// $FlowFixMe
1211
TypeComposer.create({
1312
name,
1413
fields: {

src/types/SearchOutput.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,13 @@ export function getSearchOutputTC(opts: SearchOptsT = {}): TypeComposer {
1818
const nameHits = getTypeName('SearchHits', opts);
1919

2020
return getOrSetType(name, () =>
21-
// $FlowFixMe
2221
TypeComposer.create({
2322
name,
2423
fields: {
2524
took: 'Int',
2625
timed_out: 'Boolean',
2726
_shards: getShardsTC(opts),
2827
hits: getOrSetType(nameHits, () =>
29-
// $FlowFixMe
3028
TypeComposer.create({
3129
name: nameHits,
3230
fields: {

src/types/Shards.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1+
/* @flow */
2+
13
import { TypeComposer } from 'graphql-compose';
24
import { getTypeName, getOrSetType } from '../utils';
35

46
export default function getShardsTC(opts: mixed = {}): TypeComposer {
57
const name = getTypeName('MetaShards', opts);
68

79
return getOrSetType(name, () =>
8-
// $FlowFixMe
910
TypeComposer.create({
1011
name,
1112
fields: {

yarn.lock

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2023,9 +2023,9 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.4, graceful-fs@^4.1.6:
20232023
version "1.0.1"
20242024
resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
20252025

2026-
graphql-compose@^1.20.1:
2027-
version "1.20.1"
2028-
resolved "https://registry.yarnpkg.com/graphql-compose/-/graphql-compose-1.20.1.tgz#41a1f35f2c2aded2934bb6568ac762c9e6b9b5ce"
2026+
graphql-compose@^1.20.2:
2027+
version "1.20.2"
2028+
resolved "https://registry.yarnpkg.com/graphql-compose/-/graphql-compose-1.20.2.tgz#4198b9bbe62fead32df5556ac1d054c5f25995ee"
20292029
dependencies:
20302030
babel-runtime "^6.23.0"
20312031
object-path "^0.11.4"

0 commit comments

Comments
 (0)