UNPKG

autumn-js

Version:
53 lines (49 loc) 1.11 kB
"use client"; import { AutumnContext, useAutumnContext } from "./chunk-OYO7LPVB.mjs"; import { AutumnError } from "./chunk-QN2ALOVD.mjs"; // src/libraries/react/hooks/useAnalytics.tsx import useSWR from "swr"; var useAnalytics = (params) => { const context = useAutumnContext({ AutumnContext, name: "useAnalytics" }); const client = context.client; const fetcher = async () => { const res = await client.query(params); if (res.error) { const err = new AutumnError({ message: res.error.message, code: res.error.code }); err.statusCode = res.statusCode; throw err; } return res.data; }; const { data, error, mutate } = useSWR( ["analytics", params.featureId, params.range], fetcher, { refreshInterval: 0, revalidateOnFocus: false, revalidateOnReconnect: false, shouldRetryOnError: (error2) => error2.statusCode === 429, errorRetryCount: 3 } ); return { data: data?.list, isLoading: !error && !data, error, refetch: mutate }; }; export { useAnalytics };