UNPKG

react-healthy

Version:

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

13 lines (8 loc) 764 B
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var React = require('react'); var reactUse = require('react-use'); var useInterval = require('./useInterval.js'); const useHealthCheck=a=>{let{apis:b,interval:d=3e4,onError:c}=a;const[e,{add:f,has:g,remove:h}]=reactUse.useSet(new Set),i=React.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["default"](i,d),React.useMemo(()=>({pageHasError:0<e.size,apisWithErrors:Array.from(e)}),[e])};const makeCall=async a=>fetch(a.endpoint);var useHealthCheck$1 = useHealthCheck; exports["default"] = useHealthCheck$1; exports.useHealthCheck = useHealthCheck;