@automattic/shopping-cart
Version:
A library to use the WordPress.com shopping cart.
21 lines • 1.06 kB
JavaScript
import { jsx as _jsx } from "react/jsx-runtime";
import debugFactory from 'debug';
import { useMemo } from 'react';
import ShoppingCartContext from './shopping-cart-context';
import ShoppingCartOptionsContext from './shopping-cart-options-context';
const debug = debugFactory('shopping-cart:shopping-cart-provider');
export default function ShoppingCartProvider({ managerClient, options, children, }) {
if (!options) {
options = {};
}
debug('rendering ShoppingCartProvider with options', options);
// Memoize a copy of the options object to prevent re-renders if the values
// did not change.
const { refetchOnWindowFocus, defaultCartKey } = options;
const memoizedOptions = useMemo(() => ({
refetchOnWindowFocus,
defaultCartKey,
}), [refetchOnWindowFocus, defaultCartKey]);
return (_jsx(ShoppingCartOptionsContext.Provider, { value: memoizedOptions, children: _jsx(ShoppingCartContext.Provider, { value: managerClient, children: children }) }));
}
//# sourceMappingURL=shopping-cart-provider.js.map