mirror of
https://github.com/henrywhitaker3/Speedtest-Tracker.git
synced 2025-12-28 07:56:33 +01:00
36 lines
972 B
JavaScript
Vendored
36 lines
972 B
JavaScript
Vendored
// @flow
|
|
import memoizeOne from 'memoize-one';
|
|
import { values } from '../native-with-fallback';
|
|
import type {
|
|
DroppableDimension,
|
|
DroppableDimensionMap,
|
|
DraggableDimension,
|
|
DraggableDimensionMap,
|
|
} from '../types';
|
|
|
|
export const toDroppableMap = memoizeOne(
|
|
(droppables: DroppableDimension[]): DroppableDimensionMap =>
|
|
droppables.reduce((previous, current) => {
|
|
previous[current.descriptor.id] = current;
|
|
return previous;
|
|
}, {}),
|
|
);
|
|
|
|
export const toDraggableMap = memoizeOne(
|
|
(draggables: DraggableDimension[]): DraggableDimensionMap =>
|
|
draggables.reduce((previous, current) => {
|
|
previous[current.descriptor.id] = current;
|
|
return previous;
|
|
}, {}),
|
|
);
|
|
|
|
export const toDroppableList = memoizeOne(
|
|
(droppables: DroppableDimensionMap): DroppableDimension[] =>
|
|
values(droppables),
|
|
);
|
|
|
|
export const toDraggableList = memoizeOne(
|
|
(draggables: DraggableDimensionMap): DraggableDimension[] =>
|
|
values(draggables),
|
|
);
|