Add __typename removal for mutations

pull/1/head
Max Ehrlicher-Schmidt 4 years ago
parent ee0ca0ddce
commit dc8d025822

@ -1,13 +1,33 @@
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
import { APOLLO_OPTIONS } from 'apollo-angular'; import { APOLLO_OPTIONS } from 'apollo-angular';
import {ApolloClientOptions, ApolloLink, InMemoryCache} from '@apollo/client/core'; import {
ApolloClientOptions,
ApolloLink,
concat,
InMemoryCache,
} from '@apollo/client/core';
import { HttpLink } from 'apollo-angular/http'; import { HttpLink } from 'apollo-angular/http';
import { environment } from '../environments/environment'; import { environment } from '../environments/environment';
const uri = environment.apiUrl + '/graphql'; // <-- add the URL of the GraphQL server here const uri = environment.apiUrl + '/graphql'; // <-- add the URL of the GraphQL server here
const cleanTypeName = new ApolloLink((operation, forward) => {
if (operation.variables) {
const omitTypename = (key: string, value: any) =>
key === '__typename' ? undefined : value;
operation.variables = JSON.parse(
JSON.stringify(operation.variables),
omitTypename
);
}
return forward(operation).map((data) => {
return data;
});
});
export function createApollo(httpLink: HttpLink): ApolloClientOptions<any> { export function createApollo(httpLink: HttpLink): ApolloClientOptions<any> {
return { return {
link: httpLink.create({uri}), link: concat(cleanTypeName, httpLink.create({ uri })),
cache: new InMemoryCache({}), cache: new InMemoryCache({}),
}; };
} }
@ -21,5 +41,4 @@ export function createApollo(httpLink: HttpLink): ApolloClientOptions<any> {
}, },
], ],
}) })
export class GraphQLModule { export class GraphQLModule {}
}

Loading…
Cancel
Save