UNPKG

autumn-js

Version:

Autumn JS Library

52 lines (48 loc) 1.21 kB
"use client"; import { useAutumnContext } from "./chunk-ILWLFCTA.mjs"; // src/libraries/react/hooks/usePricingTable.tsx import { useEffect } from "react"; var mergeProductDetails = (products, productDetails) => { if (!products) { return null; } if (!productDetails) { return products; } let mergedProducts = structuredClone(products); for (const product of productDetails) { let index = mergedProducts.findIndex((p) => p.id === product.id); if (index == -1) { console.warn(`Product with id ${product.id} not found`); continue; } mergedProducts[index] = { ...mergedProducts[index], ...product }; } return mergedProducts; }; var usePricingTable = (options) => { const { pricingTableProvider } = useAutumnContext(); const { pricingTableProducts, isLoading, error, refetch } = pricingTableProvider; useEffect(() => { if (!pricingTableProducts) { refetch(); } }, [pricingTableProducts]); return { products: mergeProductDetails( pricingTableProducts || void 0, options?.productDetails ), isLoading: isLoading && !pricingTableProducts, error, refetch }; }; export { usePricingTable };