@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
JavaScript
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;