@mic-rexjs/usecases-react
Version:
React-based solution for use usecases of Clean Architecture
31 lines (30 loc) • 1.05 kB
JavaScript
;
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]);
};