UNPKG

@commercelayer/react-components

Version:
2 lines 1.11 kB
"use client"; "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SkusContainer=SkusContainer;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext")),SkuContext_1=tslib_1.__importDefault(require("../../context/SkuContext")),SkuReducer_1=tslib_1.__importStar(require("../../reducers/SkuReducer")),react_1=require("react");function SkusContainer(props){const{skus,children,queryParams}=props,[state,dispatch]=(0,react_1.useReducer)(SkuReducer_1.default,SkuReducer_1.skuInitialState),config=(0,react_1.useContext)(CommerceLayerContext_1.default),loadSkus=async()=>{await(0,SkuReducer_1.getSku)({config,dispatch,skus,queryParams})};(0,react_1.useEffect)(()=>(config.accessToken&&state?.skus&&state?.skus.length===0&&loadSkus(),()=>{dispatch({type:"setLoading",payload:{loading:!0}})}),[config,skus]);const contextValue=(0,react_1.useMemo)(()=>state,[state]);return(0,jsx_runtime_1.jsx)(SkuContext_1.default.Provider,{value:contextValue,children})}exports.default=SkusContainer;