UNPKG

@lido-sdk/react

Version:

This project is being slowly deprecated and may not receive further updates. Check out [modern Lido SDK](https://github.com/lidofinance/lido-ethereum-sdk/pulls) to access latest functionality. It is actively maintained and is built for interacting with Li

47 lines (40 loc) 1.44 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var react = require('react'); var useSWRSource = require('swr'); var useSDK = require('./useSDK.js'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var useSWRSource__default = /*#__PURE__*/_interopDefaultLegacy(useSWRSource); const LIDO_SWR_DEFAULT_CONFIG = { errorRetryInterval: 10000, focusThrottleInterval: 10000, }; const useLidoSWR = (key, fetcher, config) => { const { swrConfig } = useSDK.useSDK(); const result = useSWRSource__default["default"](key, fetcher, Object.assign(Object.assign(Object.assign({}, LIDO_SWR_DEFAULT_CONFIG), swrConfig), config)); const mutate = result.mutate; const update = react.useCallback(() => { return mutate(undefined, true); }, [mutate]); return { mutate, update, /* * support dependency collection * https://swr.vercel.app/advanced/performance#dependency-collection */ get data() { return result.data; }, get loading() { return result.isValidating; }, get initialLoading() { return result.data == null && result.isValidating; }, get error() { return result.error; }, }; }; exports.useLidoSWR = useLidoSWR;