import { m } from './paraglide/messages'; // #region Stations export const placeNameMap = new Map(); for (const [v1, v2] of [ ['Freiburg(Brsg)', 'Freiburg(Breisgau) Hbf'], ['Freiburg(Breisgau)', 'Freiburg(Breisgau) Hbf'], ['Freiburg(Breisgau) Hbf', 'Freiburg(Breisgau) Hbf'], ['Freiburg (Breisgau)', 'Freiburg(Breisgau) Hbf'], ['Freiburg (Breisgau) Hbf', 'Freiburg(Breisgau) Hbf'], ['Freiburg im Breisgau', 'Freiburg(Breisgau) Hbf'], ['Freiburg im Breisgau Hbf', 'Freiburg(Breisgau) Hbf'], ['Freiburg im Breisgau Hauptbahnhof', 'Freiburg(Breisgau) Hbf'], ['Freiburg (D)', 'Freiburg(Breisgau) Hbf'], ['Freiburg (D), Busbahnhof', 'Freiburg(Breisgau) Hbf'], ['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()); operators.set('SZU', m.operator_szu()); operators.set('Sihltal-Zürich-Uetliberg-Bahn', m.operator_szu()); operators.set('Verkehrsbetriebe Zürich', m.operator_vbz()); // buses operators.set('Verkehrsbetriebe Zürich INFO+', m.operator_vbz()); // trams operators.set('BLS AG (bls)', m.operator_bls()); operators.set('Städtische Verkehrsbetriebe Bern', m.operator_bernmobil()); operators.set('Regionalverkehr Bern-Solothurn', m.operator_rbs()); operators.set('Verkehrsbetriebe Glattal', m.operator_vbg()); operators.set('OEBB Personenverkehr AG Kundenservice', m.operator_oebb()); operators.set('Österreichische Bundesbahnen', m.operator_oebb()); // #endregion