@kiwicom/smart-faq
Version:
Smart FAQ
136 lines (118 loc) • 3.79 kB
JavaScript
;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.withToken = exports.withKwAuthToken = exports.withLoginToken = exports.withSimpleToken = exports.withUser = exports.withLogin = exports.UserContext = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var React = _interopRequireWildcard(require("react"));
// @flow
var UserContext = React.createContext(({
user: null,
brand: 'kiwicom',
loginToken: null,
simpleToken: null,
kwAuthToken: null,
onLogin: function onLogin() {},
onLogout: function onLogout() {
return Promise.resolve(null);
}
}
/*: UserContextType*/
));
exports.UserContext = UserContext;
var withLogin = function withLogin(Component
/*: React.ComponentType<{ onLogin: onLogin } & Props>*/
) {
return function withLoginHOC(props
/*: Props*/
) {
return React.createElement(UserContext.Consumer, null, function (_ref) {
var onLogin = _ref.onLogin;
return React.createElement(Component, (0, _extends2.default)({}, props, {
onLogin: onLogin
}));
});
};
};
exports.withLogin = withLogin;
var withUser = function withUser(Component
/*: React.ComponentType<{ user: User } & Props>*/
) {
return function withUserHOC(props
/*: Props*/
) {
return React.createElement(UserContext.Consumer, null, function (_ref2) {
var user = _ref2.user;
return React.createElement(Component, (0, _extends2.default)({}, props, {
user: user
}));
});
};
};
exports.withUser = withUser;
var withSimpleToken = function withSimpleToken(Component
/*: React.ComponentType<{ simpleToken: ?string } & Props>*/
) {
return function withSimpleTokenHOC(props
/*: Props*/
) {
return React.createElement(UserContext.Consumer, null, function (_ref3) {
var simpleToken = _ref3.simpleToken;
return React.createElement(Component, (0, _extends2.default)({}, props, {
simpleToken: simpleToken
}));
});
};
};
exports.withSimpleToken = withSimpleToken;
var withLoginToken = function withLoginToken(Component
/*: React.ComponentType<{ loginToken: ?string } & Props>*/
) {
return function withLoginTokenHOC(props
/*: Props*/
) {
return React.createElement(UserContext.Consumer, null, function (_ref4) {
var loginToken = _ref4.loginToken;
return React.createElement(Component, (0, _extends2.default)({}, props, {
loginToken: loginToken
}));
});
};
};
exports.withLoginToken = withLoginToken;
var withKwAuthToken = function withKwAuthToken(Component
/*: React.ComponentType<{ kwAuthToken: ?string } & Props>*/
) {
return function withKwAuthTokenHOC(props
/*: Props*/
) {
return React.createElement(UserContext.Consumer, null, function (_ref5) {
var kwAuthToken = _ref5.kwAuthToken;
return React.createElement(Component, (0, _extends2.default)({}, props, {
kwAuthToken: kwAuthToken
}));
});
};
};
exports.withKwAuthToken = withKwAuthToken;
var withToken = function withToken(Component
/*: React.ComponentType<{ ...TokenTypes } & Props>*/
) {
return function withTokenHOC(props
/*: Props*/
) {
return React.createElement(UserContext.Consumer, null, function (_ref6) {
var simpleToken = _ref6.simpleToken,
loginToken = _ref6.loginToken,
kwAuthToken = _ref6.kwAuthToken;
return React.createElement(Component, (0, _extends2.default)({}, props, {
simpleToken: simpleToken,
loginToken: loginToken,
kwAuthToken: kwAuthToken
}));
});
};
};
exports.withToken = withToken;