UNPKG

@open-tender/store

Version:

A library of hooks, reducers, utility functions, and types for use with Open Tender applications that utilize our in-store POS API

21 lines (20 loc) 906 B
import { __rest } from "tslib"; import { useEffect } from 'react'; import isEqual from 'react-fast-compare'; import { useAppDispatch, useAppSelector } from '../app/hooks'; import { prepareOrder, selectOrder, selectPosCheckout, validatePosOrder } from '../slices'; import usePrevious from './usePrevious'; var useOrderValidate = function () { var dispatch = useAppDispatch(); var checkout = useAppSelector(selectPosCheckout); var order = useAppSelector(selectOrder); var preparedOrder = prepareOrder(order, checkout); var orderCheckout = __rest(preparedOrder || {}, []); var prevOrderCheckout = usePrevious(orderCheckout); useEffect(function () { if (preparedOrder && !isEqual(prevOrderCheckout, orderCheckout)) { dispatch(validatePosOrder()); } }, [dispatch, preparedOrder, prevOrderCheckout, orderCheckout]); }; export default useOrderValidate;