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
});
exports.createReducer = exports.initialSubscriptionState = void 0;

var _usersApiConnector = require("@doodle/users-api-connector");

var _subscriptionActions = require("../actions/subscriptionActions");

function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }

function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

var initialSubscriptionState = {
  list: [],
  error: null
};
exports.initialSubscriptionState = initialSubscriptionState;

var reducer = function reducer() {
  var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialSubscriptionState;
  var action = arguments.length > 1 ? arguments[1] : undefined;

  switch (action.type) {
    case _subscriptionActions.ActionTypes.CHANGE_AUTORENEWAL_SUCCESS:
      {
        return _objectSpread({}, state, {
          list: state.list.length ? state.list.map(function (subscription) {
            return subscription.subscriptionId === action.payload.subscriptionId ? _objectSpread({}, subscription, {
              autoRenewal: action.payload.autoRenewal
            }) : subscription;
          }) : [action.payload],
          error: null
        });
      }

    case _subscriptionActions.ActionTypes.FETCH_ALL_SUBSCRIPTIONS_SUCCESS:
      {
        return _objectSpread({}, state, {
          list: action.payload,
          error: null
        });
      }

    case _subscriptionActions.ActionTypes.FETCH_ALL_SUBSCRIPTIONS_ERROR:
      {
        return _objectSpread({}, state, {
          error: action.payload
        });
      }

    case _usersApiConnector.ActionTypes.LOGOUT:
      {
        return _objectSpread({}, initialSubscriptionState);
      }

    default:
      return state;
  }
};

var createReducer = function createReducer() {
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  return _defineProperty({}, options.domain || 'subscriptions', reducer);
};

exports.createReducer = createReducer;