sindresorhus / is-network-error

Check if a value is a Fetch network error
MIT License
125 stars 6 forks source link

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.

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): boolean

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