nas/app/javascript/mastodon/reducers/antennas.js
2023-04-25 10:30:30 +09:00

25 lines
610 B
JavaScript

import {
ANTENNAS_FETCH_SUCCESS,
} from '../actions/antennas';
import { Map as ImmutableMap, fromJS } from 'immutable';
const initialState = ImmutableMap();
const normalizeAntenna = (state, antenna) => state.set(antenna.id, fromJS(antenna));
const normalizeAntennas = (state, antennas) => {
antennas.forEach(antenna => {
state = normalizeAntenna(state, antenna);
});
return state;
};
export default function antennas(state = initialState, action) {
switch(action.type) {
case ANTENNAS_FETCH_SUCCESS:
return normalizeAntennas(state, action.antennas);
default:
return state;
}
}