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 errorMessages = [];
|
||||
|
||||
if (error.graphQLErrors.length) {
|
||||
error.graphQLErrors.forEach(err => {
|
||||
errorMessages.push(err.message);
|
||||
});
|
||||
}
|
||||
|
||||
const getNetworkErrors = (error: ApolloError): string[] => {
|
||||
const networkErrors = error.networkError as ServerErrorWithName;
|
||||
|
||||
if (error.networkError) {
|
||||
if (networkErrors) {
|
||||
// Apparently network errors can be an object or an array
|
||||
if (Array.isArray(networkErrors.result)) {
|
||||
networkErrors.result.forEach(result => {
|
||||
if (result.errors) {
|
||||
result.errors.forEach(({ message }) => {
|
||||
errorMessages.push(message);
|
||||
});
|
||||
return result.errors.map(({ message }) => 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 = ({
|
||||
notify,
|
||||
error
|
||||
|
|
|
@ -53,7 +53,9 @@ export function useMutation<TData, TVariables>(
|
|||
notify
|
||||
});
|
||||
|
||||
onCompleted(data);
|
||||
if (onCompleted) {
|
||||
onCompleted(data);
|
||||
}
|
||||
},
|
||||
onError: (err: ApolloError) => {
|
||||
if (err.graphQLErrors) {
|
||||
|
|
Loading…
Reference in a new issue