Description
getIntrospectionQuery
only requests the name
field from the root queryType
object
(https://github.com/graphql/graphql-js/blob/6e48d16f92b9a6df8638b1486354c6be2537033b/src/utilities/getIntrospectionQuery.ts)
queryType { name }
yet the IntrospectionQuery
datatype defines queryType
as IntrospectionNamedTypeRef
(https://github.com/graphql/graphql-js/blob/main/src/utilities/getIntrospectionQuery.ts#L167) which requires kind
as well
export interface IntrospectionNamedTypeRef<
T extends IntrospectionType = IntrospectionType,
> {
readonly kind: T['kind'];
readonly name: string;
}
This means that copying the result of the querying a GQL API with the introspection query as JSON and trying to assign to IntrospectionQuery
will fail with:
The types of '__schema.queryType' are incompatible between these types.
Property 'kind' is missing in type '{ name: string; }' but required in type 'IntrospectionNamedTypeRef'.