zheng 6c3f2333fd 修改 12 jam lalu
..
index.d.ts 6c3f2333fd 修改 12 jam lalu
index.js 6c3f2333fd 修改 12 jam lalu
license 6c3f2333fd 修改 12 jam lalu
package.json 6c3f2333fd 修改 12 jam lalu
readme.md 6c3f2333fd 修改 12 jam lalu

readme.md

is-network-error

Check if a value is a Fetch network error

This can be useful when you want to do something specific when a network error happens without catching other Fetch-related errors.

Unfortunately, Fetch network errors are not standardized and differ among implementations. This package handles the differences across Node.js, Bun, Deno, and browsers.

For instance, p-retry uses this package to retry on network errors.

Install

npm install is-network-error

Usage

import isNetworkError from 'is-network-error';

async function getUnicorns() {
	try {
		const response = await fetch('unicorns.json');
		return await response.json();
	} catch (error) {
		if (isNetworkError(error)) {
			return localStorage.getItem('…');
		}

		throw error;
	}
}

console.log(await getUnicorns());

API

isNetworkError(value: unknown): value is TypeError

Returns true if the given value is a Fetch network error, otherwise false.

This function acts as a type guard, narrowing the type to TypeError when it returns true.