From 75c9e412287ace0801d752ce731824243d7c8b53 Mon Sep 17 00:00:00 2001 From: memdmp Date: Sun, 14 Sep 2025 18:12:53 +0200 Subject: feat: small changes --- src/lib/aliases.ts | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'src/lib/aliases.ts') diff --git a/src/lib/aliases.ts b/src/lib/aliases.ts index c954f56..7308315 100644 --- a/src/lib/aliases.ts +++ b/src/lib/aliases.ts @@ -1,5 +1,6 @@ import { m } from './paraglide/messages'; +// #region Stations export const placeNameMap = new Map(); for (const [v1, v2] of [ ['Freiburg(Brsg)', 'Freiburg(Breisgau) Hbf'], @@ -15,8 +16,32 @@ for (const [v1, v2] of [ ['Freiburg Hauptbahnhof', 'Freiburg(Breisgau) Hbf'], ['S+U Berlin Hauptbahnhof', 'Berlin Hbf'], ['Berlin Hauptbahnhof', 'Berlin Hbf'], + ['Hauptbahnhof (oben)', 'Stuttgart Hbf (oben)'], // probably + ['de-DELFI_de:08111:6115:1:1', 'Stuttgart Hbf (oben)'], ]) placeNameMap.set(v1.toLowerCase(), v2); + +export const normaliseGermanUmlauts = (n: string) => { + return n + .replace(/ü/gu, 'ue') + .replace(/Ü/gu, 'UE') + .replace(/ä/gu, 'ae') + .replace(/Ä/gu, 'AE') + .replace(/ö/gu, 'oe') + .replace(/ß/gu, 'ss'); +}; +export const normalisePlaceName = (name: string, id?: string) => + placeNameMap.has(name.toLowerCase()) + ? placeNameMap.get(name.toLowerCase())! + : id && placeNameMap.has(id) + ? placeNameMap.get(id)! + : name; +export const arePlacenamesEqual = (n1: string, n2: string) => + normalisePlaceName(normaliseGermanUmlauts(n1).toUpperCase()).toUpperCase() === + normalisePlaceName(normaliseGermanUmlauts(n2)).toUpperCase(); +// #endregion + +// #region Operators export const operators = new Map(); operators.set('Schweizerische Bundesbahnen SBB', m.operator_sbb()); operators.set('SBB', m.operator_sbb()); @@ -37,3 +62,4 @@ operators.set('Verkehrsbetriebe Glattal', m.operator_vbg()); operators.set('OEBB Personenverkehr AG Kundenservice', m.operator_oebb()); operators.set('Österreichische Bundesbahnen', m.operator_oebb()); +// #endregion -- cgit v1.2.3