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
JavaScript
;
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
};
};