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 _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);
}