@alitajs/antd-plus
Version:
基于 ant-design 封装的偏业务组件
40 lines (30 loc) • 1.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _isFunction = _interopRequireDefault(require("lodash/isFunction"));
var _checkAuthority = _interopRequireDefault(require("./check-authority"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var Authorized = function Authorized(props) {
var policy = props.policy,
children = props.children,
authority = props.authority,
noMatch = props.noMatch;
var childrenRender = typeof children === 'undefined' ? null : children; // 防止policy不存在报错
if (!policy) {
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, childrenRender);
}
var checkResult = (0, _checkAuthority.default)(policy, authority);
if ((0, _isFunction.default)(children)) {
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children(checkResult));
} else {
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, checkResult ? childrenRender : noMatch);
}
};
Authorized.defaultProps = {
noMatch: null
};
var _default = Authorized;
exports.default = _default;