mirror of
https://github.com/excalidraw/excalidraw.git
synced 2025-04-14 16:40:58 -04:00
* feat: decouple package deps and introduce yarn workspaces * update root directory * fix * fix scripts * fix lint * update path in scripts * remove yarn.lock files from packages * ignore workspace * dummy * dummy * remove comment check * revert workflow changes * ignore ws when installing gh actions * remove log * update path * fix * fix typo
15 lines
543 B
TypeScript
15 lines
543 B
TypeScript
import { PointerCoords } from "./types";
|
|
|
|
export const getCenter = (pointers: Map<number, PointerCoords>) => {
|
|
const allCoords = Array.from(pointers.values());
|
|
return {
|
|
x: sum(allCoords, (coords) => coords.x) / allCoords.length,
|
|
y: sum(allCoords, (coords) => coords.y) / allCoords.length,
|
|
};
|
|
};
|
|
|
|
export const getDistance = ([a, b]: readonly PointerCoords[]) =>
|
|
Math.hypot(a.x - b.x, a.y - b.y);
|
|
|
|
const sum = <T>(array: readonly T[], mapper: (item: T) => number): number =>
|
|
array.reduce((acc, item) => acc + mapper(item), 0);
|