@common.js/is-network-error 1.1.0 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +1 -1
  2. package/index.js +17 -8
  3. package/package.json +3 -3
package/README.md CHANGED
@@ -2,4 +2,4 @@
2
2
 
3
3
  The [is-network-error](https://www.npmjs.com/package/is-network-error) package exported as CommonJS modules.
4
4
 
5
- Exported from [is-network-error@1.1.0](https://www.npmjs.com/package/is-network-error/v/1.1.0) using https://github.com/etienne-martin/common.js.
5
+ Exported from [is-network-error@1.3.2](https://www.npmjs.com/package/is-network-error/v/1.3.2) using https://github.com/etienne-martin/common.js.
package/index.js CHANGED
@@ -14,23 +14,32 @@ var isError = function(value) {
14
14
  };
15
15
  var errorMessages = new Set([
16
16
  "network error",
17
- "Failed to fetch",
18
17
  "NetworkError when attempting to fetch resource.",
19
18
  "The Internet connection appears to be offline.",
20
- "Load failed",
21
19
  "Network request failed",
22
20
  "fetch failed",
23
- "terminated"
21
+ "terminated",
22
+ " A network error occurred.",
23
+ "Network connection lost"
24
24
  ]);
25
25
  function isNetworkError(error) {
26
26
  var isValid = error && isError(error) && error.name === "TypeError" && typeof error.message === "string";
27
27
  if (!isValid) {
28
28
  return false;
29
29
  }
30
- // We do an extra check for Safari 17+ as it has a very generic error message.
31
- // Network errors in Safari have no stack.
32
- if (error.message === "Load failed") {
33
- return error.stack === undefined;
30
+ var message = error.message, stack = error.stack;
31
+ // Safari 17+ has generic message but no stack for network errors
32
+ if (message === "Load failed" || message.startsWith("Load failed (") && message.endsWith(")")) {
33
+ return stack === undefined || "__sentry_captured__" in error;
34
34
  }
35
- return errorMessages.has(error.message);
35
+ // Deno network errors start with specific text
36
+ if (message.startsWith("error sending request for url")) {
37
+ return true;
38
+ }
39
+ // Chrome: exact "Failed to fetch" or with hostname: "Failed to fetch (example.com)"
40
+ if (message === "Failed to fetch" || message.startsWith("Failed to fetch (") && message.endsWith(")")) {
41
+ return true;
42
+ }
43
+ // Standard network error messages
44
+ return errorMessages.has(message);
36
45
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@common.js/is-network-error",
3
- "version": "1.1.0",
3
+ "version": "1.3.2",
4
4
  "description": "is-network-error package exported as CommonJS modules",
5
5
  "license": "MIT",
6
6
  "repository": "etienne-martin/common.js",
@@ -24,6 +24,6 @@
24
24
  },
25
25
  "homepage": "https://github.com/etienne-martin/common.js#readme",
26
26
  "dependencies": {},
27
- "types": "./index.d.ts",
28
- "main": "./index.js"
27
+ "main": "./index.js",
28
+ "types": "./index.d.ts"
29
29
  }