Skip to content

Commit 0417aad

Browse files
authored
Simplify default resolver function
1 parent a3c746c commit 0417aad

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

src/execution/execute.js

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1112,10 +1112,9 @@ function defaultResolveTypeFn(
11121112
context: mixed,
11131113
info: GraphQLResolveInfo,
11141114
abstractType: GraphQLAbstractType
1115-
): ?GraphQLObjectType | ?Promise<?GraphQLObjectType> {
1115+
): ?GraphQLObjectType | Promise<?GraphQLObjectType> {
11161116
const possibleTypes = info.schema.getPossibleTypes(abstractType);
11171117
const promisedIsTypeOfResults = [];
1118-
const promisedIsTypeOfResultTypes = [];
11191118

11201119
for (let i = 0; i < possibleTypes.length; i++) {
11211120
const type = possibleTypes[i];
@@ -1124,20 +1123,21 @@ function defaultResolveTypeFn(
11241123
const isTypeOfResult = type.isTypeOf(value, context, info);
11251124

11261125
if (isThenable(isTypeOfResult)) {
1127-
promisedIsTypeOfResults.push(isTypeOfResult);
1128-
promisedIsTypeOfResultTypes.push(type);
1126+
promisedIsTypeOfResults[i] = isTypeOfResult;
11291127
} else if (isTypeOfResult) {
11301128
return type;
11311129
}
11321130
}
11331131
}
11341132

11351133
if (promisedIsTypeOfResults.length) {
1136-
return Promise.all(promisedIsTypeOfResults).then(isTypeOfResults => (
1137-
promisedIsTypeOfResultTypes[
1138-
isTypeOfResults.findIndex(isTypeOf => isTypeOf)
1139-
]
1140-
));
1134+
return Promise.all(promisedIsTypeOfResults).then(isTypeOfResults => {
1135+
for (let i = 0; i < isTypeOfResults.length; i++) {
1136+
if (isTypeOfResults[i]) {
1137+
return possibleTypes[i];
1138+
}
1139+
}
1140+
});
11411141
}
11421142
}
11431143

0 commit comments

Comments
 (0)