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

23 lines (22 loc) 1.12 kB
"use strict"; 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;