UNPKG

1.01 kBJavaScriptView Raw
1import {
2 inc,
3 compose,
4 map,
5 zipObj,
6 prop,
7 toPairs,
8 findIndex,
9 propEq,
10 nth,
11} from 'ramda';
12
13// -----------------------------------------------------------------------------
14// Internal
15// -----------------------------------------------------------------------------
16
17// -----------------------------------------------------------------------------
18// Exports
19// -----------------------------------------------------------------------------
20
21export const propEqName = propEq('name');
22const propName = prop('name');
23const zipToNameAndValue = zipObj(['name', 'value']);
24// TODO: This should be internal
25const findBreakpointIndex = (breakpoint, breakpointsArray) =>
26 findIndex(propEqName(breakpoint))(breakpointsArray);
27
28export const toBreakpointArray = compose(map(zipToNameAndValue), toPairs);
29
30export const getUpperLimit = (breakpointsArray, breakpoint) => {
31 const index = findBreakpointIndex(breakpoint, breakpointsArray);
32 return compose(propName, nth(inc(index)))(breakpointsArray);
33};