@kiwicom/smart-faq
Version:
Smart FAQ
47 lines (39 loc) • 1.26 kB
JavaScript
;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var React = _interopRequireWildcard(require("react"));
var _User = require("../context/User");
// @flow
var maybeRender = function maybeRender(predicateFn) {
return function (props) {
if (!predicateFn(props)) {
return null;
}
return props.children;
};
};
var hasAnyAuthorization = function hasAnyAuthorization(props
/*: AnyAuthorizationProps*/
) {
return props.simpleToken || props.user || props.kwAuthToken;
};
var LoggedIn = (0, _User.withSimpleToken)((0, _User.withUser)((0, _User.withKwAuthToken)(maybeRender(hasAnyAuthorization))));
var LoggedOut = (0, _User.withSimpleToken)((0, _User.withUser)((0, _User.withKwAuthToken)(maybeRender(function (props
/*: AnyAuthorizationProps*/
) {
return !hasAnyAuthorization(props);
}))));
var LoggedInAccount = (0, _User.withUser)((0, _User.withKwAuthToken)(maybeRender(function (props
/*: AccountOnlyProps*/
) {
return props.user || props.kwAuthToken;
})));
var _default = {
LoggedIn: LoggedIn,
LoggedOut: LoggedOut,
LoggedInAccount: LoggedInAccount
};
exports.default = _default;