oolPref(SHOW_INFINITE_LINES), }; }; const reducers = { [UPDATE_SHOW_GRID_AREAS](highlighterSettings, { enabled }) { return Object.assign({}, highlighterSettings, { showGridAreasOverlay: enabled, }); }, [UPDATE_SHOW_GRID_LINE_NUMBERS](highlighterSettings, { enabled }) { return Object.assign({}, highlighterSettings, { showGridLineNumbers: enabled, }); }, [UPDATE_SHOW_INFINITE_LINES](highlighterSettings, { enabled }) { return Object.assign({}, highlighterSettings, { showInfiniteLines: enabled, }); }, }; module.exports = function ( highlighterSettings = INITIAL_HIGHLIGHTER_SETTINGS(), action ) { const reducer = reducers[action.type]; if (!reducer) { return highlighterSettings; } return reducer(highlighterSettings, action); }; PK