@kiwicom/smart-faq
Version:
121 lines (105 loc) • 3.34 kB
JavaScript
;
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;