40 lines
1.7 KiB
JavaScript
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;
|
|
}
|
|
};
|