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