Skip to content

Commit 5084896

Browse files
authored
fix: improve query error console messaging (#1435)
* fix: improve query error console messaging * fix: add mutation message as well
1 parent a4c299c commit 5084896

File tree

1 file changed

+20
-4
lines changed

1 file changed

+20
-4
lines changed

projects/graphql-client/src/graphql-request.service.ts

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { Inject, Injectable } from '@angular/core';
22
import { Apollo, gql } from 'apollo-angular';
3-
import { includes, uniq } from 'lodash-es';
3+
import { includes, isNil, uniq } from 'lodash-es';
44
import { defer, EMPTY, Observable, Observer, of, Subject, zip } from 'rxjs';
5-
import { buffer, catchError, debounceTime, filter, map, mergeMap, take } from 'rxjs/operators';
5+
import { buffer, catchError, debounceTime, filter, map, mergeMap, take, tap } from 'rxjs/operators';
66
import {
77
GraphQlHandler,
88
GraphQlHandlerType,
@@ -151,15 +151,31 @@ export class GraphQlRequestService {
151151
errorPolicy: 'all',
152152
fetchPolicy: options.cacheability
153153
})
154-
.pipe(map(response => response.data));
154+
.pipe(
155+
tap(response => {
156+
if (!isNil(response.errors)) {
157+
// tslint:disable-next-line: no-console
158+
console.error(`Query response error(s) for request '${requestString}'`, response.errors);
159+
}
160+
}),
161+
map(response => response.data)
162+
);
155163
}
156164

157165
private executeMutation<TResponse extends { [key: string]: unknown }>(requestString: string): Observable<TResponse> {
158166
return this.apollo
159167
.mutate<TResponse>({
160168
mutation: gql(`mutation ${requestString}`)
161169
})
162-
.pipe(mergeMap(response => (response.data ? of(response.data) : EMPTY)));
170+
.pipe(
171+
tap(response => {
172+
if (!isNil(response.errors)) {
173+
// tslint:disable-next-line: no-console
174+
console.error(`Mutation response error(s) for request '${requestString}'`, response.errors);
175+
}
176+
}),
177+
mergeMap(response => (response.data ? of(response.data) : EMPTY))
178+
);
163179
}
164180

165181
private getResultForRequest<T>(request: GraphQlRequest): Observable<T> {

0 commit comments

Comments
 (0)