@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.
Files changed (61) hide show
  1. package/README.md +0 -4
  2. package/esm/__mocks__/fake-route-data.story.json +5425 -0
  3. package/esm/__mocks__/fake-transit-operators.story.json +97 -0
  4. package/esm/__tests__/__mocks__/routes.json +234 -105
  5. package/esm/itinerary.js +4 -2
  6. package/esm/itinerary.js.map +1 -1
  7. package/esm/otpSchema.json +0 -12
  8. package/esm/profile.js +1 -1
  9. package/esm/profile.js.map +1 -1
  10. package/esm/query-gen.js +2 -4
  11. package/esm/query-gen.js.map +1 -1
  12. package/esm/query.js +1 -4
  13. package/esm/query.js.map +1 -1
  14. package/esm/route.js +36 -21
  15. package/esm/route.js.map +1 -1
  16. package/esm/routes.json +234 -105
  17. package/esm/storage.js +2 -6
  18. package/esm/storage.js.map +1 -1
  19. package/esm/time.js +10 -0
  20. package/esm/time.js.map +1 -1
  21. package/lib/__mocks__/fake-route-data.story.json +5425 -0
  22. package/lib/__mocks__/fake-transit-operators.story.json +97 -0
  23. package/lib/__tests__/__mocks__/routes.json +234 -105
  24. package/lib/itinerary.d.ts.map +1 -1
  25. package/lib/itinerary.js +4 -2
  26. package/lib/itinerary.js.map +1 -1
  27. package/lib/otpSchema.json +0 -12
  28. package/lib/profile.js +1 -1
  29. package/lib/profile.js.map +1 -1
  30. package/lib/query-gen.js +2 -2
  31. package/lib/query-gen.js.map +1 -1
  32. package/lib/query.js +1 -4
  33. package/lib/query.js.map +1 -1
  34. package/lib/route.d.ts +35 -1
  35. package/lib/route.d.ts.map +1 -1
  36. package/lib/route.js +38 -17
  37. package/lib/route.js.map +1 -1
  38. package/lib/storage.d.ts.map +1 -1
  39. package/lib/storage.js +2 -6
  40. package/lib/storage.js.map +1 -1
  41. package/lib/time.d.ts +7 -0
  42. package/lib/time.d.ts.map +1 -1
  43. package/lib/time.js +10 -1
  44. package/lib/time.js.map +1 -1
  45. package/package.json +4 -4
  46. package/src/__mocks__/fake-route-data.story.json +5425 -0
  47. package/src/__mocks__/fake-transit-operators.story.json +97 -0
  48. package/src/__snapshots__/core-utils.story.tsx.snap +8382 -0
  49. package/src/__tests__/__mocks__/routes.json +234 -105
  50. package/src/__tests__/__snapshots__/route.js.snap +285 -95
  51. package/src/__tests__/route.js +27 -55
  52. package/src/core-utils.story.tsx +201 -2
  53. package/src/itinerary.ts +3 -2
  54. package/src/otpSchema.json +0 -12
  55. package/src/profile.js +1 -1
  56. package/src/query-gen.ts +2 -2
  57. package/src/query.js +1 -4
  58. package/src/route.ts +41 -21
  59. package/src/storage.ts +5 -9
  60. package/src/time.ts +9 -0
  61. 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
- "route1": {
3
- "longName": "Across town",
4
- "mode": "BUS",
5
- "shortName": "10",
6
- "sortOrder": 10
7
- },
8
- "route2": {
9
- "longName": "Around town",
10
- "mode": "BUS",
11
- "shortName": "20",
12
- "sortOrder": 2
13
- },
14
- "route3": {
15
- "longName": "Around another town",
16
- "shortName": "3",
17
- "sortOrder": -999,
18
- "type": 3
19
- },
20
- "route4": {
21
- "longName": "Loop route",
22
- "mode": "BUS",
23
- "shortName": "2",
24
- "sortOrder": -999
25
- },
26
- "route5": {
27
- "longName": "A-line",
28
- "mode": "BUS",
29
- "shortName": "A",
30
- "sortOrder": -999
31
- },
32
- "route6": {
33
- "longName": "B-line",
34
- "mode": "BUS",
35
- "shortName": "B",
36
- "sortOrder": -999
37
- },
38
- "route7": {
39
- "longName": "A meandering route",
40
- "mode": "BUS",
41
- "sortOrder": -999
42
- },
43
- "route8": {
44
- "longName": "Zig-zagging route",
45
- "mode": "BUS",
46
- "shortName": "30",
47
- "sortOrder": 2
48
- },
49
- "route9": {
50
- "longName": "Express route",
51
- "mode": "BUS",
52
- "shortName": "30",
53
- "sortOrder": 2
54
- },
55
- "route10": {
56
- "longName": "Variation of express route",
57
- "mode": "BUS",
58
- "shortName": "30",
59
- "sortOrder": 2
60
- },
61
- "route11": {
62
- "longName": "Local route",
63
- "mode": "BUS",
64
- "shortName": "6",
65
- "sortOrder": 2
66
- },
67
- "route12": {
68
- "longName": "Intercity Train",
69
- "mode": "RAIL",
70
- "shortName": "IC",
71
- "sortOrder": 2
72
- },
73
- "route13": {
74
- "longName": "Yellow line Subway",
75
- "mode": "SUBWAY",
76
- "shortName": "Yellow",
77
- "sortOrder": 2
78
- },
79
- "route14": {
80
- "longName": "Xpress route C",
81
- "mode": "BUS",
82
- "shortName": "30C",
83
- "sortOrder": 2
84
- },
85
- "route15": {
86
- "longName": "Express route X",
87
- "mode": "BUS",
88
- "shortName": "30X",
89
- "sortOrder": 2
90
- },
91
- "route16": {
92
- "agencyId": "abc",
93
- "agencyName": "Agency 1",
94
- "longName": "Intercity Train 2",
95
- "mode": "RAIL",
96
- "routeId": "1:it2",
97
- "shortName": "IC"
98
- },
99
- "route17": {
100
- "agencyId": "abc",
101
- "agencyName": "Acclaimed agency 1",
102
- "longName": "Express route X",
103
- "mode": "BUS",
104
- "routeId": "2:erx",
105
- "shortName": "30X"
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
  }