UNPKG

@mic-rexjs/usecases-react

Version:

React-based solution for use usecases of Clean Architecture

24 lines (23 loc) 807 B
import { ArgumentTypes } from '../../enums/ArgumentTypes'; import { Statuses } from '../../enums/Statuses'; import { useCreation } from 'ahooks'; export const useStatuses = (argumentTypes, contextValue) => { return useCreation(() => { let statuses = Statuses.None; const { store } = (contextValue || {}); const hasEntity = (argumentTypes & ArgumentTypes.Entity) === ArgumentTypes.Entity; if (hasEntity) { statuses |= Statuses.EntityRootEnabled; } if (contextValue) { statuses |= Statuses.ContextEnabled; } else { statuses |= Statuses.RootEnabled; } if (store) { statuses |= Statuses.EntityEnabled; } return statuses; }, [argumentTypes, contextValue]); };