@lad-tech/mobydick-core
Version:
React Native components library focused on usability, accessibility and developer experience
23 lines (17 loc) • 452 B
text/typescript
import {IListItem} from '../types';
function getSelectedItems<T extends IListItem>(
selectedItems: T[] | undefined,
item: T,
) {
if (!selectedItems?.length) {
return [item];
}
const itemAlreadyExist = selectedItems.some(
({value}) => value === item.value,
);
if (itemAlreadyExist) {
return selectedItems.filter(({value}) => item.value !== value);
}
return [...selectedItems, item];
}
export default getSelectedItems;