Fix mutations without onCompleted (#1914)
This commit is contained in:
parent
b98d1e1d22
commit
2b2b4de4dd
2 changed files with 13 additions and 17 deletions
|
@ -17,35 +17,29 @@ export const displayDemoMessage = (
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
const getAllErrorMessages = (error: ApolloError) => {
|
const getNetworkErrors = (error: ApolloError): string[] => {
|
||||||
const errorMessages = [];
|
|
||||||
|
|
||||||
if (error.graphQLErrors.length) {
|
|
||||||
error.graphQLErrors.forEach(err => {
|
|
||||||
errorMessages.push(err.message);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
const networkErrors = error.networkError as ServerErrorWithName;
|
const networkErrors = error.networkError as ServerErrorWithName;
|
||||||
|
|
||||||
if (error.networkError) {
|
if (networkErrors) {
|
||||||
// Apparently network errors can be an object or an array
|
// Apparently network errors can be an object or an array
|
||||||
if (Array.isArray(networkErrors.result)) {
|
if (Array.isArray(networkErrors.result)) {
|
||||||
networkErrors.result.forEach(result => {
|
networkErrors.result.forEach(result => {
|
||||||
if (result.errors) {
|
if (result.errors) {
|
||||||
result.errors.forEach(({ message }) => {
|
return result.errors.map(({ message }) => message);
|
||||||
errorMessages.push(message);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else {
|
|
||||||
errorMessages.push(networkErrors.result.errors.message);
|
|
||||||
}
|
}
|
||||||
|
return networkErrors.result.errors.message;
|
||||||
}
|
}
|
||||||
|
|
||||||
return errorMessages;
|
return [];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const getAllErrorMessages = (error: ApolloError) => [
|
||||||
|
...(error.graphQLErrors?.map(err => err.message) || []),
|
||||||
|
...getNetworkErrors(error)
|
||||||
|
];
|
||||||
|
|
||||||
export const showAllErrors = ({
|
export const showAllErrors = ({
|
||||||
notify,
|
notify,
|
||||||
error
|
error
|
||||||
|
|
|
@ -53,7 +53,9 @@ export function useMutation<TData, TVariables>(
|
||||||
notify
|
notify
|
||||||
});
|
});
|
||||||
|
|
||||||
onCompleted(data);
|
if (onCompleted) {
|
||||||
|
onCompleted(data);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
onError: (err: ApolloError) => {
|
onError: (err: ApolloError) => {
|
||||||
if (err.graphQLErrors) {
|
if (err.graphQLErrors) {
|
||||||
|
|
Loading…
Reference in a new issue