Repository URL to install this package:
|
Version:
0.4.8 ▾
|
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _regenerator = require('babel-runtime/regenerator');
var _regenerator2 = _interopRequireDefault(_regenerator);
exports.loadUserSaga = loadUserSaga;
exports.loadUserSettingsSaga = loadUserSettingsSaga;
exports.loadUserConnectCalendarSaga = loadUserConnectCalendarSaga;
var _effects = require('redux-saga/effects');
var _geolocation = require('@doodle/geolocation');
var _actions = require('../actions');
var _login = require('./login');
var _login2 = _interopRequireDefault(_login);
var _signup = require('./signup');
var _signup2 = _interopRequireDefault(_signup);
var _google = require('./google');
var _google2 = _interopRequireDefault(_google);
var _facebook = require('./facebook');
var _facebook2 = _interopRequireDefault(_facebook);
var _store = require('./store');
var _store2 = _interopRequireDefault(_store);
var _load = require('./load');
var _load2 = _interopRequireDefault(_load);
var _settings = require('./settings');
var _settings2 = _interopRequireDefault(_settings);
var _connectCalendar = require('./connectCalendar');
var _connectCalendar2 = _interopRequireDefault(_connectCalendar);
var _tracking = require('./tracking');
var _tracking2 = _interopRequireDefault(_tracking);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var _marked = /*#__PURE__*/_regenerator2.default.mark(loadUserSaga),
_marked2 = /*#__PURE__*/_regenerator2.default.mark(loadUserSettingsSaga),
_marked3 = /*#__PURE__*/_regenerator2.default.mark(loadUserConnectCalendarSaga);
/**
* Saga that watches for the `loadUser` and `fetchUser` actions.
* Bootstrapped by dispatching the `loadUser` action.
* @param {Object} options Saga options
* @param {function} options.getCookie supply a cookie string (like the one from `document.cookie`)
* @param {string} options.domain supply a cookie string (like the one from `document.cookie`)
* @param {string} options.disableRequireCookies wether to disable the cookie check, only rely on localstorage (useful for developmnet)
* @param {string} options.disableLoadUserOnBoot wether to disable the bootstraping loadUser action
*/
function loadUserSaga() {
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
disableRequireCookies: false,
disableLoadUserOnBoot: false
};
return _regenerator2.default.wrap(function loadUserSaga$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return (0, _effects.all)([(0, _effects.call)(_load2.default, options), (0, _effects.call)(_store2.default, options), (0, _effects.call)(_login2.default, options), (0, _effects.call)(_signup2.default, options), (0, _effects.call)(_google2.default, options), (0, _effects.call)(_facebook2.default, options), (0, _effects.call)(_tracking2.default, options), !options.disableLoadUserOnBoot ? (0, _effects.put)((0, _actions.loadUser)()) : undefined].filter(function (effect) {
return effect;
}));
case 2:
case 'end':
return _context.stop();
}
}
}, _marked, this);
}
function loadUserSettingsSaga() {
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return _regenerator2.default.wrap(function loadUserSettingsSaga$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return (0, _effects.all)([(0, _effects.call)(_settings2.default, options), (0, _effects.put)((0, _geolocation.fetchGeolocation)())]);
case 2:
case 'end':
return _context2.stop();
}
}
}, _marked2, this);
}
function loadUserConnectCalendarSaga() {
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return _regenerator2.default.wrap(function loadUserConnectCalendarSaga$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
_context3.next = 2;
return (0, _effects.all)([(0, _effects.call)(_connectCalendar2.default, options)]);
case 2:
case 'end':
return _context3.stop();
}
}
}, _marked3, this);
}