UNPKG

@mic-rexjs/usecases-react

Version:

React-based solution for use usecases of Clean Architecture

31 lines (30 loc) 1.05 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useStatuses = void 0; var _ahooks = require("ahooks"); var _react = require("react"); var _ArgumentTypes = require("../../enums/ArgumentTypes"); var _Statuses = require("../../enums/Statuses"); var useStatuses = exports.useStatuses = function useStatuses(context, argumentTypes) { var contextValue = (0, _react.useContext)(context); return (0, _ahooks.useCreation)(function () { var statuses = _Statuses.Statuses.None; var _ref = contextValue || {}, store = _ref.store; var hasEntity = (argumentTypes & _ArgumentTypes.ArgumentTypes.Entity) === _ArgumentTypes.ArgumentTypes.Entity; if (hasEntity) { statuses |= _Statuses.Statuses.EntityRootEnabled; } if (contextValue) { statuses |= _Statuses.Statuses.ContextEnabled; } else { statuses |= _Statuses.Statuses.RootEnabled; } if (store) { statuses |= _Statuses.Statuses.EntityEnabled; } return statuses; }, [argumentTypes, contextValue]); };