import { uniq } from "ramda"; export const getNextFocusDown = ( disableNextFocusDown, upperNextFocusDown, parentFocus ) => { if (disableNextFocusDown) { return null; } if (upperNextFocusDown) { return upperNextFocusDown; } if (parentFocus.nextFocusDown) { return parentFocus.nextFocusDown; } return null; }; export const getNextFocusUp = ( disableNextFocusUp, upperNextFocusUp, parentFocus ) => { if (disableNextFocusUp) { return null; } if (upperNextFocusUp) { return upperNextFocusUp; } if (parentFocus.nextFocusUp) { return parentFocus.nextFocusUp; } return null; }; export const getNextFocusLeft = ( disableNextFocusLeft, upperNextFocusLeft, parentFocus ) => { if (disableNextFocusLeft) { return null; } if (upperNextFocusLeft) { return upperNextFocusLeft; } if (parentFocus.nextFocusLeft) { return parentFocus.nextFocusLeft; } return null; }; export const getNextFocusRight = ( disableNextFocusRight, upperNextFocusRight, parentFocus ) => { if (disableNextFocusRight) { return null; } if (upperNextFocusRight) { return upperNextFocusRight; } if (parentFocus.nextFocusRight) { return parentFocus.nextFocusRight; } return null; }; const getCount = (element, elements): number => elements.filter((el) => el === element).length; export const getNonUniqueValues = (ids: string[]): string[] => { const uniqIds = uniq(ids); return uniqIds.reduce((acc, id) => { return getCount(id, ids) >= 2 ? [...acc, id] : acc; }, []); };