/** * Einheitliche Sortierung der Erklärungen nach Titel. * * Bewusst nicht über die Datenbank: SQLite vergleicht Zeichenketten binär, * dort landete „Änderungsmitteilung“ hinter „Zählerstandsablesung“. Intl * sortiert nach deutschen Regeln, Ä also bei A. * * `numeric` sorgt außerdem für „Nr. 2“ vor „Nr. 10“. */ const collator = new Intl.Collator("de", { numeric: true }) export function compareByTitle(a: { title: string }, b: { title: string }) { return collator.compare(a.title, b.title) } /** Gibt eine nach Titel aufsteigend sortierte Kopie zurück. */ export function sortByTitle(policies: T[]): T[] { return [...policies].sort(compareByTitle) }