awv3
Version:
⚡ AWV3 embedded CAD
16 lines (14 loc) • 644 B
JavaScript
import without from 'lodash/without';
import { types as pluginTypes } from './plugins';
import { types as ConnectionTypes } from './connections';
export const reducer = (state = { plugins: [], connections: [] }, { type, ...payload }) => {
switch (type) {
case ConnectionTypes.register:
return { ...state, connections: [...state.connections, payload.id] };
case ConnectionTypes.unregister:
let objects = Array.isArray(payload.ids) ? payload.ids : [payload.ids];
return { ...state, connections: without(state.connections, ...objects) };
default:
return state;
}
};