projects/commons/src/lib/core/gql/services/gql.service.ts
Methods |
|
constructor(apollo: Apollo)
|
||||||
|
Parameters :
|
| Public mutate | |||
mutate(undefined)
|
|||
|
Parameters :
Returns :
Observable<any>
|
| Public watchQuery | |||
watchQuery(undefined)
|
|||
|
Parameters :
Returns :
Observable<any>
|
import { Observable } from 'rxjs';
import { Apollo } from 'apollo-angular';
import { Injectable } from '@angular/core';
import { map } from 'rxjs/operators';
@Injectable()
export class GqlService {
constructor(private readonly apollo: Apollo) {}
public watchQuery({ query }): Observable<any> {
return this.apollo.watchQuery({
query,
fetchPolicy: 'network-only'
}).valueChanges.pipe(map(({ data }) => {
const key = Object.keys(data)[0];
return data[key];
}));
}
public mutate({ mutation, variables }): Observable<any> {
return this.apollo.mutate({ mutation, variables });
}
}