144 lines
3.4 KiB
TypeScript
144 lines
3.4 KiB
TypeScript
/*
|
|
* Copyright (C) 2024 Aleksander <alekswilc> Wilczyński (aleks@alekswilc.dev)
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU Affero General Public License as published
|
|
* by the Free Software Foundation, either version 3 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU Affero General Public License for more details.
|
|
*
|
|
* See LICENSE for more.
|
|
*/
|
|
|
|
import wcmatch from "wildcard-match";
|
|
|
|
/*
|
|
E186_134 = "Traxx/E186-134",
|
|
E186_929 = "Traxx/E186-929",
|
|
E6ACTa_014 = "Dragon2/E6ACTa-014",
|
|
E6ACTa_016 = "Dragon2/E6ACTa-016",
|
|
E6ACTadb_027 = "Dragon2/E6ACTadb-027",
|
|
ED250_018 = "Pendolino/ED250-018 Variant",
|
|
EN57_009 = "EN57/EN57-009",
|
|
EN57_047 = "EN57/EN57-047",
|
|
EN57_1000 = "EN57/EN57-1000",
|
|
EN57_1003 = "EN57/EN57-1003",
|
|
EN57_1051 = "EN57/EN57-1051",
|
|
EN57_1219 = "EN57/EN57-1219",
|
|
EN57_1316 = "EN57/EN57-1316",
|
|
EN57_1458 = "EN57/EN57-1458",
|
|
EN57_1567 = "EN57/EN57-1567",
|
|
EN57_1571 = "EN57/EN57-1571",
|
|
EN57_1752 = "EN57/EN57-1752",
|
|
EN57_1755 = "EN57/EN57-1755",
|
|
EN57_1796 = "EN57/EN57-1796",
|
|
EN57_1821 = "EN57/EN57-1821",
|
|
EN57_614 = "EN57/EN57-614",
|
|
EN71_005 = "EN57/EN71-005",
|
|
EN71_011 = "EN57/EN71-011",
|
|
EN76_006 = "Elf/EN76-006",
|
|
EN76_022 = "Elf/EN76-022",
|
|
EN96_001 = "Elf/EN96-001",
|
|
EP07_135 = "4E/EP07-135",
|
|
EP07_174 = "4E/EP07-174",
|
|
EP08_001 = "4E/EP08-001",
|
|
EP08_013 = "4E/EP08-013",
|
|
ET22_1163 = "201E/ET22-1163", -- DLC required: 2868050
|
|
ET22_243 = "201E/ET22-243", -- DLC required: 2868050
|
|
ET22_256 = "201E/ET22-256", -- DLC required: 2868050
|
|
ET22_644 = "201E/ET22-644", -- DLC required: 2868050
|
|
ET22_836 = "201E/ET22-836", -- DLC required: 2868050
|
|
ET22_911 = "201E/ET22-911", -- DLC required: 2868050
|
|
ET25_002 = "Dragon2/ET25-002",
|
|
EU07_005 = "4E/EU07-005",
|
|
EU07_068 = "4E/EU07-068",
|
|
EU07_085 = "4E/EU07-085",
|
|
EU07_092 = "4E/EU07-092",
|
|
EU07_096 = "4E/EU07-096",
|
|
EU07_241 = "4E/EU07-241",
|
|
*/
|
|
|
|
export const trainsList = [
|
|
{
|
|
train: "Traxx (E186)",
|
|
pattern: [
|
|
"Traxx/E186-*",
|
|
],
|
|
},
|
|
{
|
|
train: "Dragon2 (E6ACTa, E6ACTadb)",
|
|
pattern: [
|
|
"Dragon2/E6ACTa-*",
|
|
"Dragon2/E6ACTadb-*",
|
|
],
|
|
},
|
|
{
|
|
train: "Dragon2 (ET25)",
|
|
pattern: [
|
|
"Dragon2/ET25-*",
|
|
],
|
|
},
|
|
{
|
|
train: "Pendolino (ED250)",
|
|
pattern: [
|
|
"Pendolino/ED250-*",
|
|
],
|
|
},
|
|
{
|
|
train: "EN57",
|
|
pattern: [
|
|
"EN57/EN57-*",
|
|
],
|
|
},
|
|
{
|
|
train: "EN71",
|
|
pattern: [
|
|
"EN57/EN71-*",
|
|
],
|
|
},
|
|
{
|
|
train: "EN96",
|
|
pattern: [
|
|
"Elf/EN76-*",
|
|
],
|
|
},
|
|
|
|
{
|
|
train: "EP07",
|
|
pattern: [
|
|
"4E/EP07-*",
|
|
],
|
|
},
|
|
|
|
{
|
|
train: "EP08",
|
|
pattern: [
|
|
"4E/EP08-*",
|
|
],
|
|
},
|
|
|
|
{
|
|
train: "ET22",
|
|
pattern: [
|
|
"201E/ET22-*",
|
|
],
|
|
},
|
|
|
|
|
|
{
|
|
train: "EU07",
|
|
pattern: [
|
|
"4E/EU07-*",
|
|
],
|
|
},
|
|
];
|
|
|
|
|
|
export const getVehicle = (name: string) =>
|
|
{
|
|
return trainsList.find(x => wcmatch(x.pattern)(name))?.train;
|
|
}; |