Repository URL to install this package:
|
Version:
2.0.1 ▾
|
"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;