@randy.tarampi/jsx
Version:
Some common JSX components for www.randytarampi.ca
23 lines (20 loc) • 835 B
JavaScript
import { Map } from "immutable";
import { CLEAR_EMOJI } from "../actions/emoji/clearEmoji";
import { INSTANTIATE_EMOJI } from "../actions/emoji/instantiateEmoji";
import { UPDATE_EMOJI } from "../actions/emoji/updateEmoji";
export var emojiReducer = function emojiReducer() {
var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Map();
var action = arguments.length > 1 ? arguments[1] : undefined;
switch (action.type) {
case INSTANTIATE_EMOJI:
case UPDATE_EMOJI:
return state.set(action.payload.id, action.payload);
case CLEAR_EMOJI:
return state.delete(action.payload.id);
default:
return state;
}
};
export default emojiReducer;
export var getEmoji = (state, emojiId) => state.get(emojiId);
export var hasEmoji = (state, emojiId) => !!getEmoji(state, emojiId);