import { type ShowCoordinates } from '@scrabble-solver/types'; import { type Comparator } from '@/types'; import { createStringComparator } from './createStringComparator'; interface Parameters { getItemCoordinates: (item: Item, showCoordinates: ShowCoordinates) => string; locale: string; showCoordinates: ShowCoordinates; } export function createCoordinatesComparator({ getItemCoordinates, locale, showCoordinates, }: Parameters): Comparator { const stringComparator = createStringComparator(locale); return (a, b) => { return stringComparator(getItemCoordinates(a, showCoordinates), getItemCoordinates(b, showCoordinates)); }; }