UNPKG

react-healthy

Version:

Incrementally check and alert your users to the health of your APIs

8 lines (5 loc) 641 B
import { useCallback, useMemo } from 'react'; import { useSet } from 'react-use'; import useInterval from './useInterval.js'; const useHealthCheck=a=>{let{apis:b,interval:d=3e4,onError:c}=a;const[e,{add:f,has:g,remove:h}]=useSet(new Set),i=useCallback(async()=>{b.forEach(a=>{makeCall(a).then(b=>{b.ok&&g(a)?h(a):!b.ok&&!g(a)&&(f(a),null===c||void 0===c?void 0:c({api:a,response:b}));});});},[b,c,f,g,h]);return useInterval(i,d),useMemo(()=>({pageHasError:0<e.size,apisWithErrors:Array.from(e)}),[e])};const makeCall=async a=>fetch(a.endpoint);var useHealthCheck$1 = useHealthCheck; export { useHealthCheck$1 as default, useHealthCheck };