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    
@doodle/i18n / dist / cjs / src / state / saga / index.js
Size: Mime:
'use strict';

var index$1 = require('../actions/index.js');
var index_es = require('../../../node_modules/react-intl/lib/index.es.js');
var transform = require('../../onesky/transform.js');
var io6de156f3 = require('../../../node_modules/@redux-saga/core/dist/io-6de156f3.js');
var reduxSagaEffects_esm = require('../../../node_modules/@redux-saga/core/dist/redux-saga-effects.esm.js');
var cookie = require('../../cookie.js');
var _import = require('../../import.js');
var getCookieDomain = require('./getCookieDomain.js');

var _marked = /*#__PURE__*/regeneratorRuntime.mark(onChangeLocale),
    _marked2 = /*#__PURE__*/regeneratorRuntime.mark(onFetchMessages),
    _marked3 = /*#__PURE__*/regeneratorRuntime.mark(watchChangeLocale),
    _marked4 = /*#__PURE__*/regeneratorRuntime.mark(watchFetchMessages),
    _marked5 = /*#__PURE__*/regeneratorRuntime.mark(loadI18NSaga);

function onChangeLocale(options, action) {
  var locale, cookieDomain, reduxState, messages, _yield$all, messagesData, reactIntlLocaleData;

  return regeneratorRuntime.wrap(function onChangeLocale$(_context) {
    while (1) {
      switch (_context.prev = _context.next) {
        case 0:
          locale = action.payload.locale;
          cookieDomain = getCookieDomain();
          _context.next = 4;
          return io6de156f3.a3(function (state) {
            return state[options.domain || 'i18n'];
          });

        case 4:
          reduxState = _context.sent;
          messages = reduxState.messages;
          cookie.set('locale', locale, undefined, cookieDomain);

          if (document.documentElement) {
            document.documentElement.lang = locale;
          }

          if (messages[locale]) {
            _context.next = 24;
            break;
          }

          _context.prev = 9;
          _context.next = 12;
          return io6de156f3._({
            intl: io6de156f3.N(_import.importIntl),
            reactIntlLocaleData: io6de156f3.N(_import.importLocaleData, locale),
            messagesData: io6de156f3.N(_import.importMessages, locale)
          });

        case 12:
          _yield$all = _context.sent;
          messagesData = _yield$all.messagesData;
          reactIntlLocaleData = _yield$all.reactIntlLocaleData;

          if (reactIntlLocaleData) {
            index_es.addLocaleData(reactIntlLocaleData);
          }

          _context.next = 18;
          return io6de156f3.Y(index$1.fetchMessagesSuccess(locale, transform.flatten(messagesData)));

        case 18:
          _context.next = 24;
          break;

        case 20:
          _context.prev = 20;
          _context.t0 = _context["catch"](9);
          _context.next = 24;
          return io6de156f3.Y(index$1.fetchMessagesError(_context.t0));

        case 24:
        case "end":
          return _context.stop();
      }
    }
  }, _marked, null, [[9, 20]]);
}

function onFetchMessages(options, action) {
  var locale, messages;
  return regeneratorRuntime.wrap(function onFetchMessages$(_context2) {
    while (1) {
      switch (_context2.prev = _context2.next) {
        case 0:
          _context2.prev = 0;
          locale = action.payload.locale;
          _context2.next = 4;
          return io6de156f3.N(_import.importMessages, locale);

        case 4:
          messages = _context2.sent;
          _context2.next = 7;
          return io6de156f3.Y(index$1.fetchMessagesSuccess(locale, messages));

        case 7:
          _context2.next = 13;
          break;

        case 9:
          _context2.prev = 9;
          _context2.t0 = _context2["catch"](0);
          _context2.next = 13;
          return io6de156f3.Y(index$1.fetchMessagesError(_context2.t0));

        case 13:
        case "end":
          return _context2.stop();
      }
    }
  }, _marked2, null, [[0, 9]]);
}

function watchChangeLocale(options) {
  return regeneratorRuntime.wrap(function watchChangeLocale$(_context3) {
    while (1) {
      switch (_context3.prev = _context3.next) {
        case 0:
          _context3.next = 2;
          return reduxSagaEffects_esm.takeLatest(index$1.ActionTypes.CHANGE_LOCALE, onChangeLocale, options);

        case 2:
        case "end":
          return _context3.stop();
      }
    }
  }, _marked3);
}

function watchFetchMessages(options) {
  return regeneratorRuntime.wrap(function watchFetchMessages$(_context4) {
    while (1) {
      switch (_context4.prev = _context4.next) {
        case 0:
          _context4.next = 2;
          return reduxSagaEffects_esm.takeLatest(index$1.ActionTypes.FETCH_MESSAGES, onFetchMessages, options);

        case 2:
        case "end":
          return _context4.stop();
      }
    }
  }, _marked4);
}

function loadI18NSaga() {
  var options,
      _args5 = arguments;
  return regeneratorRuntime.wrap(function loadI18NSaga$(_context5) {
    while (1) {
      switch (_context5.prev = _context5.next) {
        case 0:
          options = _args5.length > 0 && _args5[0] !== undefined ? _args5[0] : {};
          _context5.next = 3;
          return io6de156f3._([io6de156f3.N(watchChangeLocale, options), io6de156f3.N(watchFetchMessages, options)]);

        case 3:
        case "end":
          return _context5.stop();
      }
    }
  }, _marked5);
}

module.exports = loadI18NSaga;
//# sourceMappingURL=index.js.map