UNPKG

react-authorization

Version:
38 lines (36 loc) 1.43 kB
"use strict"; 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 IfNoneGranted = function IfNoneGranted(props) { var expected = props.expected ? Array.isArray(props.expected) ? props.expected : [props.expected] : [], actual = props.actual ? Array.isArray(props.actual) ? props.actual : [props.actual] : []; var found = false; for (var i = 0; i < expected.length; i++) { if (actual.indexOf(expected[i]) !== -1) { found = true; break; } } if (!found && actual.length !== 0) { return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, props.children); } else { return props.unauthorized; } }; IfNoneGranted.propTypes = { expected: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].array]), // The expected roles 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 }; IfNoneGranted.defaultProps = { unauthorized: null }; var _default = IfNoneGranted; exports["default"] = _default;