Apollo Client offers the option to automatically adds __typename
fields to all outgoing queries.
If you use a minimal GraphQL client like graphql-request, then it is necessary to manually adds __typename
fields to all outgoing queries.
After going through the documentation and code of Apollo Client, I became aware of the helper function addTypenameToDocument
. This function is responsible to manipulate the GraphQL document by adding __typename
automatically. You can use this function with any GraphQL client!
In my case, I wrote a little helper function for graphql-request:
import { addTypenameToDocument } from '@apollo/client/utilities'
import { parse } from 'graphql'
import { GraphQLClient } from 'graphql-request'
const client = new GraphQLClient(endpoint)
export const request = (query, variables, requestHeaders) => {
// Adds "__typename" to the query
const document = addTypenameToDocument(
typeof query === 'string' ? parse(query) : query
)
return client.request(document, variables, requestHeaders)
}
If you have any kind of feedback, suggestions or ideas - feel free to comment this post!
Top comments (0)