Skip to content

Commit e3ac35c

Browse files
Revert "Remove deprecate getFieldDefFn argument of TypeInfo const… (#3594)
1 parent e3aaab0 commit e3ac35c

File tree

1 file changed

+18
-10
lines changed

1 file changed

+18
-10
lines changed

src/utilities/TypeInfo.ts

+18-10
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ export class TypeInfo {
5353
private _directive: Maybe<GraphQLDirective>;
5454
private _argument: Maybe<GraphQLArgument>;
5555
private _enumValue: Maybe<GraphQLEnumValue>;
56+
private _getFieldDef: GetFieldDefFn;
5657

5758
constructor(
5859
schema: GraphQLSchema,
@@ -61,6 +62,9 @@ export class TypeInfo {
6162
* beginning somewhere other than documents.
6263
*/
6364
initialType?: Maybe<GraphQLType>,
65+
66+
/** @deprecated will be removed in 17.0.0 */
67+
getFieldDefFn?: GetFieldDefFn,
6468
) {
6569
this._schema = schema;
6670
this._typeStack = [];
@@ -71,6 +75,7 @@ export class TypeInfo {
7175
this._directive = null;
7276
this._argument = null;
7377
this._enumValue = null;
78+
this._getFieldDef = getFieldDefFn ?? getFieldDef;
7479
if (initialType) {
7580
if (isInputType(initialType)) {
7681
this._inputTypeStack.push(initialType);
@@ -155,7 +160,7 @@ export class TypeInfo {
155160
let fieldDef;
156161
let fieldType: unknown;
157162
if (parentType) {
158-
fieldDef = getFieldDef(schema, parentType, node);
163+
fieldDef = this._getFieldDef(schema, parentType, node);
159164
if (fieldDef) {
160165
fieldType = fieldDef.type;
161166
}
@@ -286,34 +291,37 @@ export class TypeInfo {
286291
}
287292
}
288293

294+
type GetFieldDefFn = (
295+
schema: GraphQLSchema,
296+
parentType: GraphQLType,
297+
fieldNode: FieldNode,
298+
) => Maybe<GraphQLField<unknown, unknown>>;
299+
289300
/**
290301
* Not exactly the same as the executor's definition of getFieldDef, in this
291302
* statically evaluated environment we do not always have an Object type,
292303
* and need to handle Interface and Union types.
293304
*/
294305
function getFieldDef(
295306
schema: GraphQLSchema,
296-
parentType: GraphQLCompositeType,
307+
parentType: GraphQLType,
297308
fieldNode: FieldNode,
298309
): Maybe<GraphQLField<unknown, unknown>> {
299-
const fieldName = fieldNode.name.value;
310+
const name = fieldNode.name.value;
300311
if (
301-
fieldName === SchemaMetaFieldDef.name &&
312+
name === SchemaMetaFieldDef.name &&
302313
schema.getQueryType() === parentType
303314
) {
304315
return SchemaMetaFieldDef;
305316
}
306-
if (
307-
fieldName === TypeMetaFieldDef.name &&
308-
schema.getQueryType() === parentType
309-
) {
317+
if (name === TypeMetaFieldDef.name && schema.getQueryType() === parentType) {
310318
return TypeMetaFieldDef;
311319
}
312-
if (fieldName === TypeNameMetaFieldDef.name && isCompositeType(parentType)) {
320+
if (name === TypeNameMetaFieldDef.name && isCompositeType(parentType)) {
313321
return TypeNameMetaFieldDef;
314322
}
315323
if (isObjectType(parentType) || isInterfaceType(parentType)) {
316-
return parentType.getFields()[fieldName];
324+
return parentType.getFields()[name];
317325
}
318326
}
319327

0 commit comments

Comments
 (0)