Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
'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 _store = require('./store');

var _store2 = _interopRequireDefault(_store);

var _load = require('./load');

var _settings = require('./settings');

var _settings2 = _interopRequireDefault(_settings);

var _connectCalendar = require('./connectCalendar');

var _connectCalendar2 = _interopRequireDefault(_connectCalendar);

var _redirect = require('./redirect');

var _redirect2 = _interopRequireDefault(_redirect);

var _resendActivationMail = require('./resendActivationMail');

var _resendActivationMail2 = _interopRequireDefault(_resendActivationMail);

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.disableLoadUserOnBoot whether to disable the bootstrapping loadUser action
 */
function loadUserSaga() {
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
    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)(_load.watchLoadBranding, options), (0, _effects.call)(_load.watchLoadTheme, options), (0, _effects.call)(_load.watchLoadUser, options), (0, _effects.call)(_store2.default, options), (0, _effects.call)(_redirect2.default, options), (0, _effects.call)(_resendActivationMail2.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);
}