pvpokemon/src/ts/app/reducers.js
2019-01-19 00:41:50 -05:00

40 lines
1.7 KiB
JavaScript

"use strict";
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
exports.__esModule = true;
var types_1 = require("./types");
exports.initialState = {
activePokemonIndex: -1,
pokemonList: [],
pokemonListFiltered: [],
pokemonLeagueStats: {}
};
var reduceSetPokemonList = function (state, action) { return (__assign({}, state, { pokemonList: action.payload.pokemonList })); };
var reduceSetActivePokemonIndex = function (state, action) { return (__assign({}, state, { activePokemonIndex: action.payload.activePokemonIndex })); };
var reduceSetPokemonLeagueStats = function (state, action) {
var _a;
return (__assign({}, state, { pokemonLeagueStats: __assign({}, state.pokemonLeagueStats, (_a = {}, _a[action.payload.pokemonId] = action.payload.pokemonStats, _a)) }));
};
exports.PokemonSelectListReducers = function (state, action) {
if (state === void 0) { state = exports.initialState; }
switch (action.type) {
case types_1.PokemonSelectListActionTypes.SET_POKEMON_LIST:
return reduceSetPokemonList(state, action);
case types_1.PokemonSelectListActionTypes.SET_ACTIVE_POKEMON_INDEX:
return reduceSetActivePokemonIndex(state, action);
case types_1.PokemonSelectListActionTypes.SET_POKEMON_LEAGUE_STATS:
return reduceSetPokemonLeagueStats(state, action);
default:
return state;
}
};