UNPKG

az-access-control

Version:

A lightweight and flexible bitmask-based role access control library for React.js apps. Control both component visibility and route-level access using a simple 2ⁿ permission model — without the hassle of writing complex permission logic.

20 lines (19 loc) 674 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.usePermission = void 0; var _react = require("react"); var _PermissionProvider = require("../context/PermissionProvider"); var _getPermissionSet = require("../utils/getPermissionSet"); var usePermission = exports.usePermission = function usePermission() { var _useContext = (0, _react.useContext)(_PermissionProvider.PermissionContext), permissionSum = _useContext.permissionSum; var allowed = (0, _getPermissionSet.getPermissionSet)(permissionSum); var hasAccess = function hasAccess(code) { return allowed.includes(code); }; return { hasAccess: hasAccess }; };