UNPKG

@mic-rexjs/usecases-react

Version:

React-based solution for use usecases of Clean Architecture

35 lines (34 loc) 1.31 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.SafeUseCaseFragment = void 0; var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _jsxRuntime = require("react/jsx-runtime"); var _useUseCase3 = require("../../hooks/useUseCase"); var _ahooks = require("ahooks"); var _react = require("react"); var SafeUseCaseFragment = exports.SafeUseCaseFragment = function SafeUseCaseFragment(_ref) { var usecase = _ref.usecase, watch = _ref.watch, onMount = _ref.onMount, onUpdate = _ref.onUpdate, onChange = _ref.onChange; var _useUseCase = (0, _useUseCase3.useUseCase)(usecase, { watch: watch, onChange: onChange }), _useUseCase2 = (0, _slicedToArray2["default"])(_useUseCase, 1), entity = _useUseCase2[0]; var onEntityUpdate = (0, _ahooks.useMemoizedFn)(function () { onUpdate === null || onUpdate === void 0 || onUpdate(entity); }); (0, _ahooks.useMount)(function () { onMount === null || onMount === void 0 || onMount(entity); }); (0, _ahooks.useUpdateEffect)(function () { onEntityUpdate(); }, [entity, onEntityUpdate]); return (0, _jsxRuntime.jsx)(_react.Fragment, {}); };