@tangledwires/uk-station-data 3.1.0 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright 2026 TangledWires
1
+ Copyright 2026 TangledWires Ltd
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4
4
 
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  export * from "./line";
2
2
  export * from "./station";
3
3
  export * from "./toc";
4
- export declare const VERSION = "3.1.0";
4
+ export declare const VERSION = "5.0.0";
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
1
  export * from "./line";
2
2
  export * from "./station";
3
3
  export * from "./toc";
4
- export const VERSION = "3.1.0";
4
+ export const VERSION = "5.0.0";
package/dist/line.d.ts CHANGED
@@ -3,9 +3,18 @@ import { TOCId } from "./toc";
3
3
  * A train line
4
4
  */
5
5
  export type Line = {
6
+ /**
7
+ * The display name of this line
8
+ */
6
9
  displayName: string;
10
+ /**
11
+ * The brand colour of this line
12
+ */
7
13
  colour: string;
8
- toc: TOCId;
14
+ /**
15
+ * A list of {@link TOC}s that operate this line
16
+ */
17
+ tocs: TOCId[];
9
18
  };
10
19
  /**
11
20
  * A list of all {@link Line}s
@@ -14,247 +23,262 @@ export declare const Lines: {
14
23
  readonly bakerloo: {
15
24
  readonly displayName: "Bakerloo Line";
16
25
  readonly colour: "#a45a2a";
17
- readonly toc: "tfl";
26
+ readonly tocs: ["tfl"];
18
27
  };
19
28
  readonly central: {
20
29
  readonly displayName: "Central Line";
21
30
  readonly colour: "#da291c";
22
- readonly toc: "tfl";
31
+ readonly tocs: ["tfl"];
23
32
  };
24
33
  readonly circle: {
25
34
  readonly displayName: "Circle Line";
26
35
  readonly colour: "#ffcd00";
27
- readonly toc: "tfl";
36
+ readonly tocs: ["tfl"];
28
37
  };
29
38
  readonly district: {
30
39
  readonly displayName: "District Line";
31
40
  readonly colour: "#007a33";
32
- readonly toc: "tfl";
41
+ readonly tocs: ["tfl"];
33
42
  };
34
43
  readonly hammersmithAndCity: {
35
44
  readonly displayName: "Hammersmith & City Line";
36
45
  readonly colour: "#e89cae";
37
- readonly toc: "tfl";
46
+ readonly tocs: ["tfl"];
38
47
  };
39
48
  readonly jubilee: {
40
49
  readonly displayName: "Jubilee Line";
41
50
  readonly colour: "#7c878e";
42
- readonly toc: "tfl";
51
+ readonly tocs: ["tfl"];
43
52
  };
44
53
  readonly metropolitan: {
45
54
  readonly displayName: "Metropolitan Line";
46
55
  readonly colour: "#840b55";
47
- readonly toc: "tfl";
56
+ readonly tocs: ["tfl"];
48
57
  };
49
58
  readonly northern: {
50
59
  readonly displayName: "Northern Line";
51
60
  readonly colour: "#000000";
52
- readonly toc: "tfl";
61
+ readonly tocs: ["tfl"];
53
62
  };
54
63
  readonly piccadilly: {
55
64
  readonly displayName: "Piccadilly Line";
56
65
  readonly colour: "#10069f";
57
- readonly toc: "tfl";
66
+ readonly tocs: ["tfl"];
58
67
  };
59
68
  readonly victoria: {
60
69
  readonly displayName: "Victoria Line";
61
70
  readonly colour: "#00a3e0";
62
- readonly toc: "tfl";
71
+ readonly tocs: ["tfl"];
63
72
  };
64
73
  readonly waterlooAndCity: {
65
74
  readonly displayName: "Waterloo & City Line";
66
75
  readonly colour: "#6eceb2";
67
- readonly toc: "tfl";
76
+ readonly tocs: ["tfl"];
68
77
  };
69
78
  readonly elizabeth: {
70
79
  readonly displayName: "Elizabeth Line";
71
80
  readonly colour: "#6950a1";
72
- readonly toc: "tfl";
81
+ readonly tocs: ["tfl"];
73
82
  };
74
83
  readonly dlr: {
75
84
  readonly displayName: "DLR";
76
85
  readonly colour: "#00afad";
77
- readonly toc: "tfl";
86
+ readonly tocs: ["tfl"];
78
87
  };
79
- readonly trams: {
88
+ readonly londonTrams: {
80
89
  readonly displayName: "London Trams";
81
90
  readonly colour: "#5fb526";
82
- readonly toc: "tfl";
91
+ readonly tocs: ["tfl"];
83
92
  };
84
93
  readonly cableCar: {
85
94
  readonly displayName: "IFS Cloud Cable Car";
86
95
  readonly colour: "#734fa0";
87
- readonly toc: "tfl";
96
+ readonly tocs: ["tfl"];
88
97
  };
89
98
  readonly liberty: {
90
99
  readonly displayName: "Liberty Line";
91
100
  readonly colour: "#5d6061";
92
- readonly toc: "londonOverground";
101
+ readonly tocs: ["londonOverground"];
93
102
  };
94
103
  readonly lioness: {
95
104
  readonly displayName: "Lioness Line";
96
105
  readonly colour: "#faa61a";
97
- readonly toc: "londonOverground";
106
+ readonly tocs: ["londonOverground"];
98
107
  };
99
108
  readonly mildmay: {
100
109
  readonly displayName: "Mildmay Line";
101
110
  readonly colour: "#0077ad";
102
- readonly toc: "londonOverground";
111
+ readonly tocs: ["londonOverground"];
103
112
  };
104
113
  readonly suffragette: {
105
114
  readonly displayName: "Suffragette Line";
106
115
  readonly colour: "#5bb972";
107
- readonly toc: "londonOverground";
116
+ readonly tocs: ["londonOverground"];
108
117
  };
109
118
  readonly weaver: {
110
119
  readonly displayName: "Weaver Line";
111
120
  readonly colour: "#823a62";
112
- readonly toc: "londonOverground";
121
+ readonly tocs: ["londonOverground"];
113
122
  };
114
123
  readonly windrush: {
115
124
  readonly displayName: "Windrush Line";
116
125
  readonly colour: "#ed1b00";
117
- readonly toc: "londonOverground";
126
+ readonly tocs: ["londonOverground"];
118
127
  };
119
128
  readonly avantiWestCoast: {
120
129
  readonly displayName: "Avanti West Coast";
121
130
  readonly colour: "#004354";
122
- readonly toc: "avantiWestCoast";
131
+ readonly tocs: ["avantiWestCoast"];
123
132
  };
124
133
  readonly c2c: {
125
134
  readonly displayName: "C2C";
126
135
  readonly colour: "#b7007c";
127
- readonly toc: "c2c";
136
+ readonly tocs: ["c2c"];
128
137
  };
129
- readonly caledonianSleeper: {
130
- readonly displayName: "Caledonian Sleeper";
131
- readonly colour: "#1d2e35";
132
- readonly toc: "caledonianSleeper";
138
+ readonly csLowlander: {
139
+ readonly displayName: "Lowlander Sleeper";
140
+ readonly colour: "#b26734";
141
+ readonly tocs: ["caledonianSleeper"];
142
+ };
143
+ readonly csHighlander: {
144
+ readonly displayName: "Highlander Sleeper";
145
+ readonly colour: "#006984";
146
+ readonly tocs: ["caledonianSleeper"];
133
147
  };
134
148
  readonly chiltern: {
135
149
  readonly displayName: "Chiltern Railways";
136
150
  readonly colour: "#00bfff";
137
- readonly toc: "chiltern";
151
+ readonly tocs: ["chiltern"];
138
152
  };
139
153
  readonly crossCountry: {
140
154
  readonly displayName: "Cross Country";
141
155
  readonly colour: "#660f21";
142
- readonly toc: "crossCountry";
156
+ readonly tocs: ["crossCountry"];
143
157
  };
144
158
  readonly eastMidlandsRailway: {
145
159
  readonly displayName: "East Midlands Railway";
146
160
  readonly colour: "#713563";
147
- readonly toc: "eastMidlandsRailway";
161
+ readonly tocs: ["eastMidlandsRailway"];
148
162
  };
149
163
  readonly gatwickExpress: {
150
164
  readonly displayName: "Gatwick Express";
151
165
  readonly colour: "#eb1e2d";
152
- readonly toc: "goviaThameslinkRailway";
166
+ readonly tocs: ["goviaThameslinkRailway"];
153
167
  };
154
168
  readonly grandCentral: {
155
169
  readonly displayName: "Grand Central";
156
170
  readonly colour: "#1d1d1b";
157
- readonly toc: "grandCentral";
171
+ readonly tocs: ["grandCentral"];
158
172
  };
159
173
  readonly greatNorthern: {
160
174
  readonly displayName: "Great Northern";
161
175
  readonly colour: "#00ABE6";
162
- readonly toc: "goviaThameslinkRailway";
176
+ readonly tocs: ["goviaThameslinkRailway"];
163
177
  };
164
178
  readonly greatWesternRailway: {
165
179
  readonly displayName: "Great Western Railway";
166
180
  readonly colour: "#0a493e";
167
- readonly toc: "greatWesternRailway";
181
+ readonly tocs: ["greatWesternRailway"];
168
182
  };
169
183
  readonly greaterAnglia: {
170
184
  readonly displayName: "Greater Anglia";
171
185
  readonly colour: "#d70428";
172
- readonly toc: "greaterAnglia";
186
+ readonly tocs: ["greaterAnglia"];
173
187
  };
174
188
  readonly heathrowExpress: {
175
189
  readonly displayName: "Heathrow Express";
176
190
  readonly colour: "#532e63";
177
- readonly toc: "heathrowExpress";
191
+ readonly tocs: ["heathrowExpress"];
178
192
  };
179
193
  readonly hullTrains: {
180
194
  readonly displayName: "Hull Trains";
181
195
  readonly colour: "#de005c";
182
- readonly toc: "hullTrains";
196
+ readonly tocs: ["hullTrains"];
183
197
  };
184
198
  readonly islandLineTrains: {
185
199
  readonly displayName: "Island Line";
186
200
  readonly colour: "#1e90ff";
187
- readonly toc: "southWesternRailway";
201
+ readonly tocs: ["southWesternRailway"];
188
202
  };
189
203
  readonly londonNorthEasternRailway: {
190
204
  readonly displayName: "London North Eastern Railway";
191
205
  readonly colour: "#ce0e2d";
192
- readonly toc: "londonNorthEasternRailway";
206
+ readonly tocs: ["londonNorthEasternRailway"];
193
207
  };
194
208
  readonly londonNorthwesternRailway: {
195
209
  readonly displayName: "London Northwestern Railway";
196
210
  readonly colour: "#00bf6f";
197
- readonly toc: "westMidlandsTrains";
211
+ readonly tocs: ["westMidlandsTrains"];
198
212
  };
199
213
  readonly lumo: {
200
214
  readonly displayName: "Lumo";
201
215
  readonly colour: "#2b6ef5";
202
- readonly toc: "lumo";
216
+ readonly tocs: ["lumo"];
203
217
  };
204
218
  readonly northernTrains: {
205
219
  readonly displayName: "Northern";
206
220
  readonly colour: "#0f0d78";
207
- readonly toc: "northernTrains";
221
+ readonly tocs: ["northernTrains"];
208
222
  };
209
223
  readonly scotRail: {
210
224
  readonly displayName: "ScotRail";
211
225
  readonly colour: "#1e467d";
212
- readonly toc: "scotRail";
226
+ readonly tocs: ["scotRail"];
213
227
  };
214
228
  readonly southWesternRailway: {
215
229
  readonly displayName: "South Western Railway";
216
230
  readonly colour: "#24398c";
217
- readonly toc: "southWesternRailway";
231
+ readonly tocs: ["southWesternRailway"];
218
232
  };
219
233
  readonly southeastern: {
220
234
  readonly displayName: "Southeastern";
221
235
  readonly colour: "#389cff";
222
- readonly toc: "southeastern";
236
+ readonly tocs: ["southeastern"];
223
237
  };
224
238
  readonly southeasternHighSpeed: {
225
239
  readonly displayName: "Southeastern High Speed";
226
240
  readonly colour: "#1e1e50";
227
- readonly toc: "southeastern";
241
+ readonly tocs: ["southeastern"];
228
242
  };
229
243
  readonly southern: {
230
244
  readonly displayName: "Southern";
231
245
  readonly colour: "#8cc63e";
232
- readonly toc: "goviaThameslinkRailway";
246
+ readonly tocs: ["goviaThameslinkRailway"];
233
247
  };
234
248
  readonly stanstedExpress: {
235
249
  readonly displayName: "Stansted Express";
236
250
  readonly colour: "#6b717a";
237
- readonly toc: "greaterAnglia";
251
+ readonly tocs: ["greaterAnglia"];
238
252
  };
239
253
  readonly thameslink: {
240
254
  readonly displayName: "Thameslink";
241
255
  readonly colour: "#ff5aa4";
242
- readonly toc: "goviaThameslinkRailway";
256
+ readonly tocs: ["goviaThameslinkRailway"];
243
257
  };
244
258
  readonly transPennineExpress: {
245
259
  readonly displayName: "TransPennine Express";
246
260
  readonly colour: "#09a4ec";
247
- readonly toc: "transPennineExpress";
261
+ readonly tocs: ["transPennineExpress"];
248
262
  };
249
263
  readonly transportForWales: {
250
264
  readonly displayName: "Transport for Wales";
251
265
  readonly colour: "#ff0000";
252
- readonly toc: "transportForWales";
266
+ readonly tocs: ["transportForWales"];
253
267
  };
254
268
  readonly westMidlandsRailway: {
255
- readonly displayName: "westMidlandsRailway";
269
+ readonly displayName: "West Midlands Railway";
256
270
  readonly colour: "#ff8300";
257
- readonly toc: "westMidlandsTrains";
271
+ readonly tocs: ["westMidlandsTrains"];
272
+ };
273
+ readonly edinburghTrams: {
274
+ readonly displayName: "Edinburgh Trams";
275
+ readonly colour: "#8D181B";
276
+ readonly tocs: ["edinburghTrams"];
277
+ };
278
+ readonly glasgowSubway: {
279
+ readonly displayName: "Glasgow Subway";
280
+ readonly colour: "#FF6200";
281
+ readonly tocs: ["glasgowSubway"];
258
282
  };
259
283
  };
260
284
  export type LineId = keyof typeof Lines;