Added brackets for const lambdas Converted const lambdas with multiple instructions to functions
110 lines
3.4 KiB
TypeScript
110 lines
3.4 KiB
TypeScript
const lines = ['red', 'blue', 'green', 'orange', 'violet'] as const
|
|
type Lines = typeof lines[number]
|
|
|
|
const stations: Record<Lines, Set<string>> = {
|
|
red: new Set([
|
|
'Девяткино',
|
|
'Гражданский проспект',
|
|
'Академическая',
|
|
'Политехническая',
|
|
'Площадь Мужества',
|
|
'Лесная',
|
|
'Выборгская',
|
|
'Площадь Ленина',
|
|
'Чернышевская',
|
|
'Площадь Восстания',
|
|
'Владимирская',
|
|
'Пушкинская',
|
|
'Технологический институт',
|
|
'Балтийская',
|
|
'Нарвская',
|
|
'Кировский завод',
|
|
'Автово',
|
|
'Ленинский проспект',
|
|
'Проспект Ветеранов'
|
|
]),
|
|
blue: new Set([
|
|
'Парнас',
|
|
'Проспект Просвещения',
|
|
'Озерки',
|
|
'Удельная',
|
|
'Пионерская',
|
|
'Чёрная речка',
|
|
'Петроградская',
|
|
'Горьковская',
|
|
'Невский проспект',
|
|
'Сенная площадь',
|
|
'Технологический институт',
|
|
'Фрунзенская',
|
|
'Московские ворота',
|
|
'Электросила',
|
|
'Парк Победы',
|
|
'Московская',
|
|
'Звёздная',
|
|
'Купчино'
|
|
]),
|
|
green: new Set([
|
|
'Приморская',
|
|
'Беговая',
|
|
'Василеостровская',
|
|
'Гостиный двор',
|
|
'Маяковская',
|
|
'Площадь Александра Невского',
|
|
'Елизаровская',
|
|
'Ломоносовская',
|
|
'Пролетарская',
|
|
'Обухово',
|
|
'Рыбацкое'
|
|
]),
|
|
orange: new Set([
|
|
'Спасская',
|
|
'Достоевская',
|
|
'Лиговский проспект',
|
|
'Площадь Александра Невского',
|
|
'Новочеркасская',
|
|
'Ладожская',
|
|
'Проспект Большевиков',
|
|
'Улица Дыбенко'
|
|
]),
|
|
violet: new Set([
|
|
'Комендантский проспект',
|
|
'Старая Деревня',
|
|
'Крестовский остров',
|
|
'Чкаловская',
|
|
'Спортивная',
|
|
'Адмиралтейская',
|
|
'Садовая',
|
|
'Звенигородская',
|
|
'Обводный канал',
|
|
'Волковская',
|
|
'Бухарестская',
|
|
'Международная',
|
|
'Проспект славы',
|
|
'Дунайскай',
|
|
'Шушары'
|
|
]),
|
|
}
|
|
|
|
const colors: Record<Lines, string> = {
|
|
red: '#D6083B',
|
|
blue: '#0078C9',
|
|
green: '#009A49',
|
|
orange: '#EA7125',
|
|
violet: '#702785',
|
|
}
|
|
|
|
const lineNames: Record<Lines, string> = {
|
|
red: 'Красная',
|
|
blue: 'Синяя',
|
|
green: 'Зелёная',
|
|
orange: 'Оранжевая',
|
|
violet: 'Фиолетовая',
|
|
}
|
|
|
|
const lineByName = (name: string) => (
|
|
lines.find(line => stations[line].has(name))
|
|
)
|
|
|
|
export type { Lines }
|
|
export { lines, stations, colors, lineNames, lineByName }
|