23 lines
		
	
	
	
		
			634 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
	
		
			634 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| import { Map as ImmutableMap } from 'immutable';
 | |
| import { HEIGHT_CACHE_SET, HEIGHT_CACHE_CLEAR } from 'flavours/glitch/actions/height_cache';
 | |
| 
 | |
| const initialState = ImmutableMap();
 | |
| 
 | |
| const setHeight = (state, key, id, height) => {
 | |
|   return state.update(key, ImmutableMap(), map => map.set(id, height));
 | |
| };
 | |
| 
 | |
| const clearHeights = () => {
 | |
|   return ImmutableMap();
 | |
| };
 | |
| 
 | |
| export default function statuses(state = initialState, action) {
 | |
|   switch(action.type) {
 | |
|   case HEIGHT_CACHE_SET:
 | |
|     return setHeight(state, action.key, action.id, action.height);
 | |
|   case HEIGHT_CACHE_CLEAR:
 | |
|     return clearHeights();
 | |
|   default:
 | |
|     return state;
 | |
|   }
 | |
| };
 |