autumn-js
Version:
Autumn JS Library
53 lines (49 loc) • 1.11 kB
JavaScript
"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
};