UNPKG

@mic-rexjs/usecases-react

Version:

React-based solution for use usecases of Clean Architecture

24 lines (23 loc) 818 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useRuntimeEntity = void 0; var _Statuses = require("../../enums/Statuses"); var _react = require("react"); var useRuntimeEntity = exports.useRuntimeEntity = function useRuntimeEntity(store, entityArg, contextEntity, statuses) { var prevEntityArgRef = (0, _react.useRef)(entityArg); var entityRootDisabled = (statuses & _Statuses.Statuses.EntityRootEnabled) !== _Statuses.Statuses.EntityRootEnabled; if (entityRootDisabled) { return contextEntity; } var isFunction = typeof entityArg === 'function'; var prevEntityArg = prevEntityArgRef.current; switch (true) { case isFunction: case prevEntityArg === entityArg: return store.value; } prevEntityArgRef.current = entityArg; return entityArg; };