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 {APOLLO_OPTIONS} from 'apollo-angular';
import {ApolloClientOptions, ApolloLink, InMemoryCache} from '@apollo/client/core';
import {HttpLink} from 'apollo-angular/http';
import { NgModule } from '@angular/core';
import { APOLLO_OPTIONS } from 'apollo-angular';
import {
ApolloClientOptions,
ApolloLink,
concat,
InMemoryCache,
} from '@apollo/client/core';
import { HttpLink } from 'apollo-angular/http';
import { environment } from '../environments/environment';
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> {
return {
link: httpLink.create({uri}),
link: concat(cleanTypeName, httpLink.create({ uri })),
cache: new InMemoryCache({}),
};
}
@ -21,5 +41,4 @@ export function createApollo(httpLink: HttpLink): ApolloClientOptions<any> {
},
],
})
export class GraphQLModule {
}
export class GraphQLModule {}

Loading…
Cancel
Save