All files / VerticalListMenu VerticalListMenu.reducers.ts

100% Statements 3/3
25% Branches 1/4
100% Functions 2/2
100% Lines 3/3

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25              1x                   2x   2x          
import _ from 'lodash';
import { IVerticalListMenuState } from './VerticalListMenu';
 
export function onSelect(
	state: IVerticalListMenuState = {},
	index: number
): IVerticalListMenuState {
	return {
		...state,
		selectedIndices: [index],
	};
}
 
export function onToggle(
	state: IVerticalListMenuState = {},
	index: number
): IVerticalListMenuState {
	const expandedIndices = state.expandedIndices || [];
 
	return {
		...state,
		expandedIndices: _.xor(expandedIndices, [index]),
	};
}