Fix mutations without onCompleted (#1914)

This commit is contained in:
Dominik Żegleń 2022-03-14 10:53:39 +01:00 committed by GitHub
parent b98d1e1d22
commit 2b2b4de4dd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 17 deletions

View file

@ -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

View file

@ -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) {