const lines = ['red', 'blue', 'green', 'orange', 'violet'] as const type Lines = typeof lines[number] const stations: Record> = { red: new Set([ 'Девяткино', 'Гражданский проспект', 'Академическая', 'Политехническая', 'Площадь Мужества', 'Лесная', 'Выборгская', 'Площадь Ленина', 'Чернышевская', 'Площадь Восстания', 'Владимирская', 'Пушкинская', 'Технологический институт', 'Балтийская', 'Нарвская', 'Кировский завод', 'Автово', 'Ленинский проспект', 'Проспект Ветеранов' ]), blue: new Set([ 'Парнас', 'Проспект Просвещения', 'Озерки', 'Удельная', 'Пионерская', 'Чёрная речка', 'Петроградская', 'Горьковская', 'Невский проспект', 'Сенная площадь', 'Технологический институт', 'Фрунзенская', 'Московские ворота', 'Электросила', 'Парк Победы', 'Московская', 'Звёздная', 'Купчино' ]), green: new Set([ 'Приморская', 'Беговая', 'Василеостровская', 'Гостиный двор', 'Маяковская', 'Площадь Александра Невского', 'Елизаровская', 'Ломоносовская', 'Пролетарская', 'Обухово', 'Рыбацкое' ]), orange: new Set([ 'Спасская', 'Достоевская', 'Лиговский проспект', 'Площадь Александра Невского', 'Новочеркасская', 'Ладожская', 'Проспект Большевиков', 'Улица Дыбенко' ]), violet: new Set([ 'Комендантский проспект', 'Старая Деревня', 'Крестовский остров', 'Чкаловская', 'Спортивная', 'Адмиралтейская', 'Садовая', 'Звенигородская', 'Обводный канал', 'Волковская', 'Бухарестская', 'Международная', 'Проспект славы', 'Дунайскай', 'Шушары' ]), } const colors: Record = { red: '#D6083B', blue: '#0078C9', green: '#009A49', orange: '#EA7125', violet: '#702785', } const lineNames: Record = { 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 }