@opentripplanner/core-utils 13.0.0-alpha.4 → 13.0.1
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/README.md +0 -4
- package/esm/__mocks__/fake-route-data.story.json +5425 -0
- package/esm/__mocks__/fake-transit-operators.story.json +97 -0
- package/esm/__tests__/__mocks__/routes.json +234 -105
- package/esm/itinerary.js +4 -2
- package/esm/itinerary.js.map +1 -1
- package/esm/otpSchema.json +0 -12
- package/esm/profile.js +1 -1
- package/esm/profile.js.map +1 -1
- package/esm/query-gen.js +2 -4
- package/esm/query-gen.js.map +1 -1
- package/esm/query.js +1 -4
- package/esm/query.js.map +1 -1
- package/esm/route.js +36 -21
- package/esm/route.js.map +1 -1
- package/esm/routes.json +234 -105
- package/esm/storage.js +2 -6
- package/esm/storage.js.map +1 -1
- package/esm/time.js +10 -0
- package/esm/time.js.map +1 -1
- package/lib/__mocks__/fake-route-data.story.json +5425 -0
- package/lib/__mocks__/fake-transit-operators.story.json +97 -0
- package/lib/__tests__/__mocks__/routes.json +234 -105
- package/lib/itinerary.d.ts.map +1 -1
- package/lib/itinerary.js +4 -2
- package/lib/itinerary.js.map +1 -1
- package/lib/otpSchema.json +0 -12
- package/lib/profile.js +1 -1
- package/lib/profile.js.map +1 -1
- package/lib/query-gen.js +2 -2
- package/lib/query-gen.js.map +1 -1
- package/lib/query.js +1 -4
- package/lib/query.js.map +1 -1
- package/lib/route.d.ts +35 -1
- package/lib/route.d.ts.map +1 -1
- package/lib/route.js +38 -17
- package/lib/route.js.map +1 -1
- package/lib/storage.d.ts.map +1 -1
- package/lib/storage.js +2 -6
- package/lib/storage.js.map +1 -1
- package/lib/time.d.ts +7 -0
- package/lib/time.d.ts.map +1 -1
- package/lib/time.js +10 -1
- package/lib/time.js.map +1 -1
- package/package.json +4 -4
- package/src/__mocks__/fake-route-data.story.json +5425 -0
- package/src/__mocks__/fake-transit-operators.story.json +97 -0
- package/src/__snapshots__/core-utils.story.tsx.snap +8382 -0
- package/src/__tests__/__mocks__/routes.json +234 -105
- package/src/__tests__/__snapshots__/route.js.snap +285 -95
- package/src/__tests__/route.js +27 -55
- package/src/core-utils.story.tsx +201 -2
- package/src/itinerary.ts +3 -2
- package/src/otpSchema.json +0 -12
- package/src/profile.js +1 -1
- package/src/query-gen.ts +2 -2
- package/src/query.js +1 -4
- package/src/route.ts +41 -21
- package/src/storage.ts +5 -9
- package/src/time.ts +9 -0
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
{
|
|
2
|
+
"fakeTransitOperators": [
|
|
3
|
+
{
|
|
4
|
+
"feedId": "kcm",
|
|
5
|
+
"agencyId": "kcm:23",
|
|
6
|
+
"name": "City of Seattle",
|
|
7
|
+
"logo": "https://s3.amazonaws.com/datatools-production/branding/agency_4_City_of_Seattle.png"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"feedId": "CommTrans",
|
|
11
|
+
"agencyId": "CommTrans:29",
|
|
12
|
+
"name": "Community Transit",
|
|
13
|
+
"logo": "https://s3.amazonaws.com/datatools-production/branding/agency_2_community_transit.png"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"feedId": "97",
|
|
17
|
+
"agencyId": "97:97",
|
|
18
|
+
"name": "Everett Transit",
|
|
19
|
+
"logo": "https://s3.amazonaws.com/datatools-production/branding/agency_2_Everett_Transit.png"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"feedId": "19",
|
|
23
|
+
"agencyId": "19:0",
|
|
24
|
+
"name": "Intercity Transit",
|
|
25
|
+
"logo": "https://s3.amazonaws.com/datatools-production/branding/intercity_transit_logo.jpg"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"feedId": "kcm",
|
|
29
|
+
"agencyId": "kcm:1",
|
|
30
|
+
"name": "King County Metro",
|
|
31
|
+
"logo": "https://s3.amazonaws.com/datatools-production/branding/agency_2_kcm.png"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"feedId": "Kitsap",
|
|
35
|
+
"agencyId": "Kitsap:kt",
|
|
36
|
+
"name": "Kitsap Transit",
|
|
37
|
+
"logo": "https://s3.amazonaws.com/datatools-production/branding/agency_2_Kitsap_Transit.png",
|
|
38
|
+
"order": 2
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"feedId": "3",
|
|
42
|
+
"agencyId": "3:3",
|
|
43
|
+
"name": "Pierce Transit",
|
|
44
|
+
"logo": "https://s3.amazonaws.com/datatools-production/branding/agency_2_pierce_transit.png"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"feedId": "Skagit",
|
|
48
|
+
"agencyId": "Skagit:e0e4541a-2714-487b-b30c-f5c6cb4a310f",
|
|
49
|
+
"name": "Skagit Transit",
|
|
50
|
+
"logo": "https://s3.amazonaws.com/datatools-production/branding/agency_2_Skagit.png"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"feedId": "96",
|
|
54
|
+
"agencyId": "96:96",
|
|
55
|
+
"name": "Seattle Center Monorail",
|
|
56
|
+
"logo": "https://s3.amazonaws.com/datatools-production/branding/agency_2_seattle_monorail.png"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"feedId": "40",
|
|
60
|
+
"agencyId": "40:40",
|
|
61
|
+
"name": "Sound Transit",
|
|
62
|
+
"logo": "https://s3.amazonaws.com/datatools-production/branding/agency_2_sound_transit.png",
|
|
63
|
+
"order": 1
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"feedId": "CommTrans",
|
|
67
|
+
"agencyId": "CommTrans:40",
|
|
68
|
+
"name": "Sound Transit",
|
|
69
|
+
"logo": "https://s3.amazonaws.com/datatools-production/branding/agency_2_sound_transit.png"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"feedId": "kcm",
|
|
73
|
+
"agencyId": "kcm:40",
|
|
74
|
+
"name": "Sound Transit",
|
|
75
|
+
"logo": "https://s3.amazonaws.com/datatools-production/branding/agency_2_sound_transit.png"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"feedId": "3",
|
|
79
|
+
"agencyId": "3:40",
|
|
80
|
+
"name": "Sound Transit",
|
|
81
|
+
"logo": "https://s3.amazonaws.com/datatools-production/branding/agency_2_sound_transit.png",
|
|
82
|
+
"order": 1
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"feedId": "95",
|
|
86
|
+
"agencyId": "95:95",
|
|
87
|
+
"name": "Washington State Ferries",
|
|
88
|
+
"logo": "https://s3.amazonaws.com/datatools-production/branding/agency_2_wash_state_ferry.png"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"feedId": "Whatcom",
|
|
92
|
+
"agencyId": "Whatcom:14",
|
|
93
|
+
"name": "Whatcom Transportation Authority",
|
|
94
|
+
"logo": "https://s3.amazonaws.com/datatools-production/branding/agency_2_wta.png"
|
|
95
|
+
}
|
|
96
|
+
]
|
|
97
|
+
}
|
|
@@ -1,107 +1,236 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
2
|
+
"otp1Routes": [
|
|
3
|
+
{
|
|
4
|
+
"agencyId": "bcd",
|
|
5
|
+
"longName": "Across town",
|
|
6
|
+
"mode": "BUS",
|
|
7
|
+
"shortName": "10",
|
|
8
|
+
"sortOrder": 10
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"agencyId": "bcd",
|
|
12
|
+
"longName": "Around town",
|
|
13
|
+
"mode": "BUS",
|
|
14
|
+
"shortName": "20",
|
|
15
|
+
"sortOrder": 2
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"agencyId": "bcd",
|
|
19
|
+
"longName": "Around another town",
|
|
20
|
+
"shortName": "3",
|
|
21
|
+
"sortOrder": -999,
|
|
22
|
+
"type": 3
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"agencyId": "bcd",
|
|
26
|
+
"longName": "Loop route",
|
|
27
|
+
"mode": "BUS",
|
|
28
|
+
"shortName": "2",
|
|
29
|
+
"sortOrder": -999
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"agencyId": "bcd",
|
|
33
|
+
"longName": "A-line",
|
|
34
|
+
"mode": "BUS",
|
|
35
|
+
"shortName": "A",
|
|
36
|
+
"sortOrder": -999
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"agencyId": "bcd",
|
|
40
|
+
"longName": "B-line",
|
|
41
|
+
"mode": "BUS",
|
|
42
|
+
"shortName": "B",
|
|
43
|
+
"sortOrder": -999
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"agencyId": "bcd",
|
|
47
|
+
"longName": "A meandering route",
|
|
48
|
+
"mode": "BUS",
|
|
49
|
+
"sortOrder": -999
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"agencyId": "bcd",
|
|
53
|
+
"longName": "Zig-zagging route",
|
|
54
|
+
"mode": "BUS",
|
|
55
|
+
"shortName": "30",
|
|
56
|
+
"sortOrder": 2
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"agencyId": "bcd",
|
|
60
|
+
"longName": "Express route",
|
|
61
|
+
"mode": "BUS",
|
|
62
|
+
"shortName": "30",
|
|
63
|
+
"sortOrder": 2
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"agencyId": "bcd",
|
|
67
|
+
"longName": "Variation of express route",
|
|
68
|
+
"mode": "BUS",
|
|
69
|
+
"shortName": "30",
|
|
70
|
+
"sortOrder": 2
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"agencyId": "bcd",
|
|
74
|
+
"longName": "Local route",
|
|
75
|
+
"mode": "BUS",
|
|
76
|
+
"shortName": "6",
|
|
77
|
+
"sortOrder": 2
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"agencyId": "bcd",
|
|
81
|
+
"longName": "Intercity Train",
|
|
82
|
+
"mode": "RAIL",
|
|
83
|
+
"shortName": "IC",
|
|
84
|
+
"sortOrder": 2
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"agencyId": "bcd",
|
|
88
|
+
"longName": "Yellow line Subway",
|
|
89
|
+
"mode": "SUBWAY",
|
|
90
|
+
"shortName": "Yellow",
|
|
91
|
+
"sortOrder": 2
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"agencyId": "bcd",
|
|
95
|
+
"longName": "Xpress route C",
|
|
96
|
+
"mode": "BUS",
|
|
97
|
+
"shortName": "30C",
|
|
98
|
+
"sortOrder": 2
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"agencyId": "bcd",
|
|
102
|
+
"longName": "Express route X",
|
|
103
|
+
"mode": "BUS",
|
|
104
|
+
"shortName": "30X"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"agencyId": "abc",
|
|
108
|
+
"agencyName": "Agency 1",
|
|
109
|
+
"longName": "Intercity Train 2",
|
|
110
|
+
"mode": "RAIL",
|
|
111
|
+
"routeId": "1:it2",
|
|
112
|
+
"shortName": "IC",
|
|
113
|
+
"sortOrder": 10
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"agencyId": "abc",
|
|
117
|
+
"agencyName": "Acclaimed agency 1",
|
|
118
|
+
"longName": "Express route X",
|
|
119
|
+
"mode": "BUS",
|
|
120
|
+
"routeId": "2:erx",
|
|
121
|
+
"shortName": "30X",
|
|
122
|
+
"sortOrder": 10
|
|
123
|
+
}
|
|
124
|
+
],
|
|
125
|
+
"otp2Routes": [
|
|
126
|
+
{
|
|
127
|
+
"longName": "Across town",
|
|
128
|
+
"mode": "BUS",
|
|
129
|
+
"shortName": "10",
|
|
130
|
+
"sortOrder": 10
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"longName": "Around town",
|
|
134
|
+
"mode": "BUS",
|
|
135
|
+
"shortName": "20",
|
|
136
|
+
"sortOrder": 2
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"longName": "Around another town",
|
|
140
|
+
"shortName": "3",
|
|
141
|
+
"sortOrder": null,
|
|
142
|
+
"type": 3
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"longName": "Loop route",
|
|
146
|
+
"mode": "BUS",
|
|
147
|
+
"shortName": "2",
|
|
148
|
+
"sortOrder": -999
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"longName": "A-line",
|
|
152
|
+
"mode": "BUS",
|
|
153
|
+
"shortName": "A",
|
|
154
|
+
"sortOrder": -999
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"longName": "B-line",
|
|
158
|
+
"mode": "BUS",
|
|
159
|
+
"shortName": "B"
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
"longName": "A meandering route",
|
|
163
|
+
"mode": "BUS"
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
"longName": "Zig-zagging route",
|
|
167
|
+
"mode": "BUS",
|
|
168
|
+
"shortName": "30",
|
|
169
|
+
"sortOrder": 2
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"longName": "Express route",
|
|
173
|
+
"mode": "BUS",
|
|
174
|
+
"shortName": "30",
|
|
175
|
+
"sortOrder": 2
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
"longName": "Variation of express route",
|
|
179
|
+
"mode": "BUS",
|
|
180
|
+
"shortName": "30",
|
|
181
|
+
"sortOrder": 2
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"longName": "Local route",
|
|
185
|
+
"mode": "BUS",
|
|
186
|
+
"shortName": "6",
|
|
187
|
+
"sortOrder": 2
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"longName": "Intercity Train",
|
|
191
|
+
"mode": "RAIL",
|
|
192
|
+
"shortName": "IC",
|
|
193
|
+
"sortOrder": 2
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
"longName": "Yellow line Subway",
|
|
197
|
+
"mode": "SUBWAY",
|
|
198
|
+
"shortName": "Yellow",
|
|
199
|
+
"sortOrder": 2
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"longName": "Xpress route C",
|
|
203
|
+
"mode": "BUS",
|
|
204
|
+
"shortName": "30C",
|
|
205
|
+
"sortOrder": 2
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
"longName": "Express route X",
|
|
209
|
+
"mode": "BUS",
|
|
210
|
+
"shortName": "30X",
|
|
211
|
+
"sortOrder": 2
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
"agency": {
|
|
215
|
+
"name": "Agency 1",
|
|
216
|
+
"id": "abc"
|
|
217
|
+
},
|
|
218
|
+
"longName": "Intercity Train 2",
|
|
219
|
+
"mode": "RAIL",
|
|
220
|
+
"routeId": "1:it2",
|
|
221
|
+
"shortName": "IC",
|
|
222
|
+
"sortOrder": 2
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"agency": {
|
|
226
|
+
"name": "Acclaimed agency 1",
|
|
227
|
+
"id": "abc"
|
|
228
|
+
},
|
|
229
|
+
"longName": "Express route X",
|
|
230
|
+
"mode": "BUS",
|
|
231
|
+
"routeId": "2:erx",
|
|
232
|
+
"shortName": "30X",
|
|
233
|
+
"sortOrder": 2
|
|
234
|
+
}
|
|
235
|
+
]
|
|
107
236
|
}
|
package/esm/itinerary.js
CHANGED
|
@@ -71,8 +71,6 @@ export function legDropoffRequiresAdvanceBooking(leg) {
|
|
|
71
71
|
export function isFlex(leg) {
|
|
72
72
|
return isReservationRequired(leg) || isCoordinationRequired(leg) || legDropoffRequiresAdvanceBooking(leg) || isAdvanceBookingRequired(leg === null || leg === void 0 ? void 0 : leg.pickupBookingInfo) || legContainsGeometry(leg);
|
|
73
73
|
}
|
|
74
|
-
|
|
75
|
-
// alpha-only comment
|
|
76
74
|
export function isRideshareLeg(leg) {
|
|
77
75
|
var _leg$rideHailingEstim;
|
|
78
76
|
return !!((_leg$rideHailingEstim = leg.rideHailingEstimate) !== null && _leg$rideHailingEstim !== void 0 && (_leg$rideHailingEstim = _leg$rideHailingEstim.provider) !== null && _leg$rideHailingEstim !== void 0 && _leg$rideHailingEstim.id);
|
|
@@ -186,6 +184,7 @@ export function toSentenceCase(str) {
|
|
|
186
184
|
* Derive the company string based on mode and network associated with leg.
|
|
187
185
|
*/
|
|
188
186
|
export function getCompanyFromLeg(leg) {
|
|
187
|
+
var _from$vehicleRentalSt;
|
|
189
188
|
if (!leg) return null;
|
|
190
189
|
var from = leg.from,
|
|
191
190
|
mode = leg.mode,
|
|
@@ -205,6 +204,9 @@ export function getCompanyFromLeg(leg) {
|
|
|
205
204
|
if (from.rentalVehicle) {
|
|
206
205
|
return from.rentalVehicle.network;
|
|
207
206
|
}
|
|
207
|
+
if ((_from$vehicleRentalSt = from.vehicleRentalStation) !== null && _from$vehicleRentalSt !== void 0 && _from$vehicleRentalSt.rentalNetwork) {
|
|
208
|
+
return from.vehicleRentalStation.rentalNetwork.networkId;
|
|
209
|
+
}
|
|
208
210
|
if ((mode === "MICROMOBILITY" || mode === "SCOOTER") && rentedVehicle && from.networks) {
|
|
209
211
|
return from.networks[0];
|
|
210
212
|
}
|