@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
23 lines (22 loc) • 1.12 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var react_1 = require("react");
var react_fast_compare_1 = tslib_1.__importDefault(require("react-fast-compare"));
var hooks_1 = require("../app/hooks");
var slices_1 = require("../slices");
var usePrevious_1 = tslib_1.__importDefault(require("./usePrevious"));
var useOrderValidate = function () {
var dispatch = (0, hooks_1.useAppDispatch)();
var checkout = (0, hooks_1.useAppSelector)(slices_1.selectPosCheckout);
var order = (0, hooks_1.useAppSelector)(slices_1.selectOrder);
var preparedOrder = (0, slices_1.prepareOrder)(order, checkout);
var orderCheckout = tslib_1.__rest(preparedOrder || {}, []);
var prevOrderCheckout = (0, usePrevious_1.default)(orderCheckout);
(0, react_1.useEffect)(function () {
if (preparedOrder && !(0, react_fast_compare_1.default)(prevOrderCheckout, orderCheckout)) {
dispatch((0, slices_1.validatePosOrder)());
}
}, [dispatch, preparedOrder, prevOrderCheckout, orderCheckout]);
};
exports.default = useOrderValidate;