react-authorization
Version:
React authorization library.
31 lines (29 loc) • 1.13 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var IfGranted = function IfGranted(props) {
var expected = props.expected,
actual = props.actual ? Array.isArray(props.actual) ? props.actual : [props.actual] : [];
if (actual.indexOf(expected) !== -1) {
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, props.children);
} else {
return props.unauthorized;
}
};
IfGranted.propTypes = {
expected: _propTypes["default"].string.isRequired,
// The expected role
actual: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].array]),
// The actual roles
unauthorized: _propTypes["default"].node // Node to render if the actual roles do not match any the expected
};
IfGranted.defaultProps = {
unauthorized: null
};
var _default = IfGranted;
exports["default"] = _default;