UNPKG

@kiwicom/smart-faq

Version:
121 lines (105 loc) 3.34 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.withLoginToken = exports.withSimpleToken = exports.withUser = exports.withSocialLogin = 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, loginToken: null, simpleToken: null, onLogin: function onLogin(email, password) { return Promise.resolve({ email: email, password: password }); }, onSocialLogin: function onSocialLogin(provider) { return Promise.resolve(provider); }, 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 withSocialLogin = function withSocialLogin(Component /*: React.ComponentType<{ onSocialLogin: onSocialLogin } & Props>*/ ) { return function withLoginHOC(props /*: Props*/ ) { return React.createElement(UserContext.Consumer, null, function (_ref2) { var onSocialLogin = _ref2.onSocialLogin; return React.createElement(Component, (0, _extends2.default)({}, props, { onSocialLogin: onSocialLogin })); }); }; }; exports.withSocialLogin = withSocialLogin; var withUser = function withUser(Component /*: React.ComponentType<{ user: User } & Props>*/ ) { return function withUserHOC(props /*: Props*/ ) { return React.createElement(UserContext.Consumer, null, function (_ref3) { var user = _ref3.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 (_ref4) { var simpleToken = _ref4.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 (_ref5) { var loginToken = _ref5.loginToken; return React.createElement(Component, (0, _extends2.default)({}, props, { loginToken: loginToken })); }); }; }; exports.withLoginToken = withLoginToken;