UNPKG

@applicaster/zapp-react-native-ui-components

Version:

Applicaster Zapp React Native ui components for the Quick Brick App

93 lines (73 loc) 1.58 kB
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; }, []); };