"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; } };