2016-06-10 00:16:01 -03:00
|
|
|
import { Map } from 'immutable';
|
2016-06-10 14:01:14 -03:00
|
|
|
import { ADD_MEDIA, REMOVE_MEDIA } from '../actions/media';
|
2016-06-10 00:16:01 -03:00
|
|
|
import MediaProxy from '../valueObjects/MediaProxy';
|
|
|
|
|
|
|
|
const medias = (state = Map(), action) => {
|
|
|
|
switch (action.type) {
|
|
|
|
case ADD_MEDIA:
|
2016-07-19 17:11:22 -03:00
|
|
|
return state.set(action.payload.path, action.payload);
|
2016-06-10 14:01:14 -03:00
|
|
|
case REMOVE_MEDIA:
|
|
|
|
return state.delete(action.payload);
|
2016-06-10 18:48:38 -03:00
|
|
|
|
2016-06-10 00:16:01 -03:00
|
|
|
default:
|
|
|
|
return state;
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
export default medias;
|
|
|
|
|
2016-07-19 17:11:22 -03:00
|
|
|
export const getMedia = (state, path) => {
|
|
|
|
if (state.has(path)) {
|
|
|
|
return state.get(path);
|
2016-06-10 00:16:01 -03:00
|
|
|
} else {
|
2016-07-19 17:11:22 -03:00
|
|
|
return new MediaProxy(path, null, true);
|
2016-06-10 00:16:01 -03:00
|
|
|
}
|
|
|
|
};
|