autumn-js
Version:
Autumn JS Library
39 lines (35 loc) • 773 B
JavaScript
"use client";
import {
compareParams
} from "./chunk-VN4AVW2V.mjs";
import {
useAutumnContext
} from "./chunk-ILWLFCTA.mjs";
// src/libraries/react/hooks/useEntity.tsx
import { useEffect } from "react";
var useEntity = (entityId, params) => {
const { entityProvider } = useAutumnContext();
const {
entity,
isLoading,
error,
refetch: refetchEntity,
lastParams
} = entityProvider;
useEffect(() => {
if (entityId !== entity?.id || !compareParams(params, lastParams)) {
refetchEntity({ entityId, params });
}
}, [entityId]);
return {
entity,
isLoading: isLoading && !entity,
error,
refetch: async (params2) => {
await refetchEntity({ entityId, params: params2 });
}
};
};
export {
useEntity
};