@commercelayer/react-components
Version:
The Official Commerce Layer React Components
2 lines • 1.23 kB
JavaScript
"use client";
;Object.defineProperty(exports,"__esModule",{value:!0}),exports.availabilityInitialState=void 0,exports.getAvailability=getAvailability;const tslib_1=require("tslib"),baseReducer_1=tslib_1.__importDefault(require("../utils/baseReducer")),getSdk_1=tslib_1.__importDefault(require("../utils/getSdk"));exports.availabilityInitialState={};function getAvailability(_a){return tslib_1.__awaiter(this,arguments,void 0,function*({skuCode,skuId,dispatch,config}){var _b;const sdk=(0,getSdk_1.default)(config);try{const[sku]=skuId!=null?[{id:skuId}]:skuCode!=null?yield sdk.skus.list({fields:{skus:["id"]},filters:{code_in:skuCode}}):[];if(sku){const skuInventory=yield sdk.skus.retrieve(sku.id,{fields:{skus:["inventory"]}}),[level]=((_b=skuInventory.inventory)===null||_b===void 0?void 0:_b.levels)||[],[delivery]=level?.delivery_lead_times||[];dispatch({type:"setAvailability",payload:Object.assign(Object.assign({},delivery),{quantity:skuInventory.inventory.quantity,skuCode})})}}catch(error){console.error("Get SKU availability",error)}})}const typeAction=["setAvailability","setErrors"],availabilityReducer=(state,reducer)=>(0,baseReducer_1.default)(state,reducer,typeAction);exports.default=availabilityReducer;