123456789101112131415161718192021222324252627282930313233 |
- const objectToString = Object.prototype.toString;
- const isError = value => objectToString.call(value) === '[object Error]';
- const errorMessages = new Set([
- 'network error',
- 'Failed to fetch',
- 'NetworkError when attempting to fetch resource.',
- 'The Internet connection appears to be offline.',
- 'Load failed',
- 'Network request failed',
- 'fetch failed',
- 'terminated',
- ]);
- export default function isNetworkError(error) {
- const isValid = error
- && isError(error)
- && error.name === 'TypeError'
- && typeof error.message === 'string';
- if (!isValid) {
- return false;
- }
-
-
- if (error.message === 'Load failed') {
- return error.stack === undefined;
- }
- return errorMessages.has(error.message);
- }
|