@opentripplanner/core-utils 13.0.0-alpha.4 → 14.0.0-alpha.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/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/query-gen.js +1 -3
- package/esm/query-gen.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/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/query-gen.js +1 -1
- package/lib/query-gen.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/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 +2 -2
- 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 +200 -1
- package/src/query-gen.ts +1 -1
- package/src/route.ts +41 -21
- 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/lib/query-gen.js
CHANGED
|
@@ -113,7 +113,7 @@ function isCombinationValid(combo, queryTransitSubmodes) {
|
|
|
113
113
|
if (BANNED_TOGETHER.filter(m => combo.find(c => c.mode === m)).length > 1) {
|
|
114
114
|
return false;
|
|
115
115
|
}
|
|
116
|
-
return !!VALID_COMBOS.find(vc => simplifiedModes.
|
|
116
|
+
return !!VALID_COMBOS.find(vc => simplifiedModes.length === vc.length && vc.every(m => simplifiedModes.includes(m)));
|
|
117
117
|
}
|
|
118
118
|
|
|
119
119
|
/**
|
package/lib/query-gen.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-gen.js","names":["_graphql","require","DefaultPlanQuery","kind","definitions","operation","name","value","variableDefinitions","variable","type","directives","selectionSet","selections","arguments","block","alias","typeCondition","loc","start","end","source","body","locationOffset","line","column","extractAdditionalModes","modeSettings","enabledModes","reduce","prev","cur","map","m","mode","includes","applicableMode","addTransportMode","newTransportModes","Array","isArray","_cur$options$find","transportMode","options","find","o","combinations","array","length","fill","e1","i","filter","e2","j","SIMPLIFICATIONS","exports","AIRPLANE","BICYCLE","BUS","CABLE_CAR","CAR","FERRY","FLEX","FUNICULAR","GONDOLA","RAIL","MONORAIL","SCOOTER","SUBWAY","TROLLEYBUS","TRAM","TRANSIT","WALK","VALID_COMBOS","BANNED_TOGETHER","TRANSIT_SUBMODES","Object","keys","TRANSIT_SUBMODES_AND_TRANSIT","isCombinationValid","combo","queryTransitSubmodes","simplifiedModes","from","Set","c","qualifier","vc","every","generateCombinations","params","completeModeList","modes","generateOtp2Query","otpQueryParams","planQuery","to","otherOtpQueryParams","modeSettingValues","inverseKey","high","low","key","truthValue","_cur$falseValue","falseValue","bikeReluctance","carReluctance","walkReluctance","walkSpeed","wheelchair","query","print","variables","fromPlace","lat","lon","toPlace"],"sources":["../src/query-gen.ts"],"sourcesContent":["import { LonLatOutput } from \"@conveyal/lonlat\";\nimport { print } from \"graphql\";\nimport {\n ModeSetting,\n ModeSettingValues,\n TransportMode\n} from \"@opentripplanner/types\";\n\nimport DefaultPlanQuery from \"./planQuery.graphql\";\n\ntype InputBanned = {\n routes?: string;\n agencies?: string;\n trips?: string;\n stops?: string;\n stopsHard?: string;\n};\n\ntype InputPreferred = {\n routes?: string;\n agencies?: string;\n unpreferredCost?: string;\n};\n\ntype OTPQueryParams = {\n arriveBy: boolean;\n date?: string;\n from: LonLatOutput & { name?: string };\n modes: TransportMode[];\n modeSettings: ModeSetting[];\n time?: string;\n numItineraries?: number;\n to: LonLatOutput & { name?: string };\n banned?: InputBanned;\n preferred?: InputPreferred;\n unpreferred?: InputPreferred;\n};\n\ntype GraphQLQuery = {\n query: string;\n variables: Record<string, unknown>;\n};\n\n/**\n * Mode Settings can contain additional modes to add to the query,\n * this function extracts those additional modes from the settings\n * and returns them in an array.\n * @param modeSettings List of mode settings with values populated\n * @returns Additional transport modes to add to query\n */\nexport function extractAdditionalModes(\n modeSettings: ModeSetting[],\n enabledModes: TransportMode[]\n): TransportMode[] {\n return modeSettings.reduce<TransportMode[]>((prev, cur) => {\n // First, ensure that the mode associated with this setting is even enabled\n if (!enabledModes.map(m => m.mode).includes(cur.applicableMode)) {\n return prev;\n }\n\n // In checkboxes (or submode checkboxes), mode must be enabled and have a transport mode in it\n if (\n (cur.type === \"CHECKBOX\" || cur.type === \"SUBMODE\") &&\n cur.addTransportMode &&\n cur.value\n ) {\n const newTransportModes = Array.isArray(cur.addTransportMode)\n ? cur.addTransportMode\n : [cur.addTransportMode];\n return [...prev, ...newTransportModes];\n }\n if (cur.type === \"DROPDOWN\") {\n const transportMode = cur.options.find(o => o.value === cur.value)\n ?.addTransportMode;\n if (transportMode) {\n return [...prev, transportMode];\n }\n }\n return prev;\n }, []);\n}\n\n/**\n * Generates every possible mathematical subset of the input TransportModes.\n * Uses code from:\n * https://stackoverflow.com/questions/5752002/find-all-possible-subset-combos-in-an-array\n * @param array Array of input transport modes\n * @returns 2D array representing every possible subset of transport modes from input\n */\nfunction combinations(array: TransportMode[]): TransportMode[][] {\n if (!array) return [];\n return (\n // eslint-disable-next-line no-bitwise\n new Array(1 << array.length)\n .fill(null)\n // eslint-disable-next-line no-bitwise\n .map((e1, i) => array.filter((e2, j) => i & (1 << j)))\n );\n}\n\n/**\n * This constant maps all the transport mode to a broader mode type,\n * which is used to determine the valid combinations of modes used in query generation.\n */\nexport const SIMPLIFICATIONS = {\n AIRPLANE: \"TRANSIT\",\n BICYCLE: \"PERSONAL\",\n BUS: \"TRANSIT\",\n CABLE_CAR: \"TRANSIT\",\n CAR: \"CAR\",\n FERRY: \"TRANSIT\",\n FLEX: \"SHARED\", // TODO: this allows FLEX+WALK. Is this reasonable?\n FUNICULAR: \"TRANSIT\",\n GONDOLA: \"TRANSIT\",\n RAIL: \"TRANSIT\",\n MONORAIL: \"TRANSIT\",\n SCOOTER: \"PERSONAL\",\n SUBWAY: \"TRANSIT\",\n TROLLEYBUS: \"TRANSIT\",\n TRAM: \"TRANSIT\",\n TRANSIT: \"TRANSIT\",\n WALK: \"WALK\"\n};\n\n// Inclusion of \"TRANSIT\" alone automatically implies \"WALK\" in OTP\nconst VALID_COMBOS = [\n [\"WALK\"],\n [\"PERSONAL\"],\n [\"TRANSIT\", \"SHARED\"],\n [\"WALK\", \"SHARED\"],\n [\"TRANSIT\"],\n [\"TRANSIT\", \"PERSONAL\"],\n [\"TRANSIT\", \"CAR\"]\n];\n\nconst BANNED_TOGETHER = [\"SCOOTER\", \"BICYCLE\", \"CAR\"];\n\nexport const TRANSIT_SUBMODES = Object.keys(SIMPLIFICATIONS).filter(\n mode => SIMPLIFICATIONS[mode] === \"TRANSIT\" && mode !== \"TRANSIT\"\n);\nexport const TRANSIT_SUBMODES_AND_TRANSIT = Object.keys(SIMPLIFICATIONS).filter(\n mode => SIMPLIFICATIONS[mode] === \"TRANSIT\"\n);\n\nfunction isCombinationValid(\n combo: TransportMode[],\n queryTransitSubmodes: string[]\n): boolean {\n if (combo.length === 0) return false;\n\n // All current qualifiers currently simplify to \"SHARED\"\n const simplifiedModes = Array.from(\n new Set(combo.map(c => (c.qualifier ? \"SHARED\" : SIMPLIFICATIONS[c.mode])))\n );\n\n // Ensure that if we have one transit mode, then we include ALL transit modes\n if (simplifiedModes.includes(\"TRANSIT\")) {\n // Don't allow TRANSIT along with any other submodes\n if (queryTransitSubmodes.length && combo.find(c => c.mode === \"TRANSIT\")) {\n return false;\n }\n\n if (\n combo.reduce((prev, cur) => {\n if (queryTransitSubmodes.includes(cur.mode)) {\n return prev - 1;\n }\n return prev;\n }, queryTransitSubmodes.length) !== 0\n ) {\n return false;\n }\n // Continue to the other checks\n }\n\n // OTP doesn't support multiple non-walk modes\n if (BANNED_TOGETHER.filter(m => combo.find(c => c.mode === m)).length > 1) {\n return false;\n }\n\n return !!VALID_COMBOS.find(\n vc =>\n simplifiedModes.every(m => vc.includes(m)) &&\n vc.every(m => simplifiedModes.includes(m))\n );\n}\n\n/**\n * Generates a list of queries for OTP to get a comprehensive\n * set of results based on the modes input.\n * @param params OTP Query Params\n * @returns Set of parameters to generate queries\n */\nexport function generateCombinations(params: OTPQueryParams): OTPQueryParams[] {\n const completeModeList = [\n ...extractAdditionalModes(params.modeSettings, params.modes),\n ...params.modes\n ];\n\n // List of the transit *submodes* that are included in the input params\n const queryTransitSubmodes = completeModeList\n .filter(mode => TRANSIT_SUBMODES.includes(mode.mode))\n .map(mode => mode.mode);\n\n return combinations(completeModeList)\n .filter(combo => isCombinationValid(combo, queryTransitSubmodes))\n .map(combo => ({ ...params, modes: combo }));\n}\n\n/**\n * Generates a query for OTP GraphQL API based on parameters.\n * @param param0 OTP2 Parameters for the query\n * @param planQuery Override the default query for OTP\n * @returns A fully formed query+variables ready to be sent to GraphQL backend\n */\nexport function generateOtp2Query(\n otpQueryParams: OTPQueryParams,\n planQuery = DefaultPlanQuery\n): GraphQLQuery {\n const { from, modeSettings, to, ...otherOtpQueryParams } = otpQueryParams;\n\n // This extracts the values from the mode settings to key value pairs\n const modeSettingValues = modeSettings.reduce((prev, cur) => {\n if (cur.type === \"SLIDER\" && cur.inverseKey) {\n prev[cur.inverseKey] = cur.high - cur.value + cur.low;\n }\n prev[cur.key] = cur.value;\n\n // If we assign a value on true, return the value (or null) instead of a boolean.\n if (cur.type === \"CHECKBOX\" && cur.truthValue) {\n prev[cur.key] =\n cur.value === true ? cur.truthValue : cur.falseValue ?? null;\n }\n return prev;\n }, {}) as ModeSettingValues;\n\n const {\n bikeReluctance,\n carReluctance,\n walkReluctance,\n walkSpeed,\n wheelchair\n } = modeSettingValues;\n\n return {\n query: print(planQuery),\n variables: {\n ...otherOtpQueryParams,\n bikeReluctance,\n carReluctance,\n fromPlace: `${from.name}::${from.lat},${from.lon}`,\n toPlace: `${to.name}::${to.lat},${to.lon}`,\n walkReluctance,\n walkSpeed,\n wheelchair\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"query-gen.js","names":["_graphql","require","DefaultPlanQuery","kind","definitions","operation","name","value","variableDefinitions","variable","type","directives","selectionSet","selections","arguments","block","alias","typeCondition","loc","start","end","source","body","locationOffset","line","column","extractAdditionalModes","modeSettings","enabledModes","reduce","prev","cur","map","m","mode","includes","applicableMode","addTransportMode","newTransportModes","Array","isArray","_cur$options$find","transportMode","options","find","o","combinations","array","length","fill","e1","i","filter","e2","j","SIMPLIFICATIONS","exports","AIRPLANE","BICYCLE","BUS","CABLE_CAR","CAR","FERRY","FLEX","FUNICULAR","GONDOLA","RAIL","MONORAIL","SCOOTER","SUBWAY","TROLLEYBUS","TRAM","TRANSIT","WALK","VALID_COMBOS","BANNED_TOGETHER","TRANSIT_SUBMODES","Object","keys","TRANSIT_SUBMODES_AND_TRANSIT","isCombinationValid","combo","queryTransitSubmodes","simplifiedModes","from","Set","c","qualifier","vc","every","generateCombinations","params","completeModeList","modes","generateOtp2Query","otpQueryParams","planQuery","to","otherOtpQueryParams","modeSettingValues","inverseKey","high","low","key","truthValue","_cur$falseValue","falseValue","bikeReluctance","carReluctance","walkReluctance","walkSpeed","wheelchair","query","print","variables","fromPlace","lat","lon","toPlace"],"sources":["../src/query-gen.ts"],"sourcesContent":["import { LonLatOutput } from \"@conveyal/lonlat\";\nimport { print } from \"graphql\";\nimport {\n ModeSetting,\n ModeSettingValues,\n TransportMode\n} from \"@opentripplanner/types\";\n\nimport DefaultPlanQuery from \"./planQuery.graphql\";\n\ntype InputBanned = {\n routes?: string;\n agencies?: string;\n trips?: string;\n stops?: string;\n stopsHard?: string;\n};\n\ntype InputPreferred = {\n routes?: string;\n agencies?: string;\n unpreferredCost?: string;\n};\n\ntype OTPQueryParams = {\n arriveBy: boolean;\n date?: string;\n from: LonLatOutput & { name?: string };\n modes: TransportMode[];\n modeSettings: ModeSetting[];\n time?: string;\n numItineraries?: number;\n to: LonLatOutput & { name?: string };\n banned?: InputBanned;\n preferred?: InputPreferred;\n unpreferred?: InputPreferred;\n};\n\ntype GraphQLQuery = {\n query: string;\n variables: Record<string, unknown>;\n};\n\n/**\n * Mode Settings can contain additional modes to add to the query,\n * this function extracts those additional modes from the settings\n * and returns them in an array.\n * @param modeSettings List of mode settings with values populated\n * @returns Additional transport modes to add to query\n */\nexport function extractAdditionalModes(\n modeSettings: ModeSetting[],\n enabledModes: TransportMode[]\n): TransportMode[] {\n return modeSettings.reduce<TransportMode[]>((prev, cur) => {\n // First, ensure that the mode associated with this setting is even enabled\n if (!enabledModes.map(m => m.mode).includes(cur.applicableMode)) {\n return prev;\n }\n\n // In checkboxes (or submode checkboxes), mode must be enabled and have a transport mode in it\n if (\n (cur.type === \"CHECKBOX\" || cur.type === \"SUBMODE\") &&\n cur.addTransportMode &&\n cur.value\n ) {\n const newTransportModes = Array.isArray(cur.addTransportMode)\n ? cur.addTransportMode\n : [cur.addTransportMode];\n return [...prev, ...newTransportModes];\n }\n if (cur.type === \"DROPDOWN\") {\n const transportMode = cur.options.find(o => o.value === cur.value)\n ?.addTransportMode;\n if (transportMode) {\n return [...prev, transportMode];\n }\n }\n return prev;\n }, []);\n}\n\n/**\n * Generates every possible mathematical subset of the input TransportModes.\n * Uses code from:\n * https://stackoverflow.com/questions/5752002/find-all-possible-subset-combos-in-an-array\n * @param array Array of input transport modes\n * @returns 2D array representing every possible subset of transport modes from input\n */\nfunction combinations(array: TransportMode[]): TransportMode[][] {\n if (!array) return [];\n return (\n // eslint-disable-next-line no-bitwise\n new Array(1 << array.length)\n .fill(null)\n // eslint-disable-next-line no-bitwise\n .map((e1, i) => array.filter((e2, j) => i & (1 << j)))\n );\n}\n\n/**\n * This constant maps all the transport mode to a broader mode type,\n * which is used to determine the valid combinations of modes used in query generation.\n */\nexport const SIMPLIFICATIONS = {\n AIRPLANE: \"TRANSIT\",\n BICYCLE: \"PERSONAL\",\n BUS: \"TRANSIT\",\n CABLE_CAR: \"TRANSIT\",\n CAR: \"CAR\",\n FERRY: \"TRANSIT\",\n FLEX: \"SHARED\", // TODO: this allows FLEX+WALK. Is this reasonable?\n FUNICULAR: \"TRANSIT\",\n GONDOLA: \"TRANSIT\",\n RAIL: \"TRANSIT\",\n MONORAIL: \"TRANSIT\",\n SCOOTER: \"PERSONAL\",\n SUBWAY: \"TRANSIT\",\n TROLLEYBUS: \"TRANSIT\",\n TRAM: \"TRANSIT\",\n TRANSIT: \"TRANSIT\",\n WALK: \"WALK\"\n};\n\n// Inclusion of \"TRANSIT\" alone automatically implies \"WALK\" in OTP\nconst VALID_COMBOS = [\n [\"WALK\"],\n [\"PERSONAL\"],\n [\"TRANSIT\", \"SHARED\"],\n [\"WALK\", \"SHARED\"],\n [\"TRANSIT\"],\n [\"TRANSIT\", \"PERSONAL\"],\n [\"TRANSIT\", \"CAR\"]\n];\n\nconst BANNED_TOGETHER = [\"SCOOTER\", \"BICYCLE\", \"CAR\"];\n\nexport const TRANSIT_SUBMODES = Object.keys(SIMPLIFICATIONS).filter(\n mode => SIMPLIFICATIONS[mode] === \"TRANSIT\" && mode !== \"TRANSIT\"\n);\nexport const TRANSIT_SUBMODES_AND_TRANSIT = Object.keys(SIMPLIFICATIONS).filter(\n mode => SIMPLIFICATIONS[mode] === \"TRANSIT\"\n);\n\nfunction isCombinationValid(\n combo: TransportMode[],\n queryTransitSubmodes: string[]\n): boolean {\n if (combo.length === 0) return false;\n\n // All current qualifiers currently simplify to \"SHARED\"\n const simplifiedModes = Array.from(\n new Set(combo.map(c => (c.qualifier ? \"SHARED\" : SIMPLIFICATIONS[c.mode])))\n );\n\n // Ensure that if we have one transit mode, then we include ALL transit modes\n if (simplifiedModes.includes(\"TRANSIT\")) {\n // Don't allow TRANSIT along with any other submodes\n if (queryTransitSubmodes.length && combo.find(c => c.mode === \"TRANSIT\")) {\n return false;\n }\n\n if (\n combo.reduce((prev, cur) => {\n if (queryTransitSubmodes.includes(cur.mode)) {\n return prev - 1;\n }\n return prev;\n }, queryTransitSubmodes.length) !== 0\n ) {\n return false;\n }\n // Continue to the other checks\n }\n\n // OTP doesn't support multiple non-walk modes\n if (BANNED_TOGETHER.filter(m => combo.find(c => c.mode === m)).length > 1) {\n return false;\n }\n\n return !!VALID_COMBOS.find(\n vc =>\n simplifiedModes.length === vc.length &&\n vc.every(m => simplifiedModes.includes(m))\n );\n}\n\n/**\n * Generates a list of queries for OTP to get a comprehensive\n * set of results based on the modes input.\n * @param params OTP Query Params\n * @returns Set of parameters to generate queries\n */\nexport function generateCombinations(params: OTPQueryParams): OTPQueryParams[] {\n const completeModeList = [\n ...extractAdditionalModes(params.modeSettings, params.modes),\n ...params.modes\n ];\n\n // List of the transit *submodes* that are included in the input params\n const queryTransitSubmodes = completeModeList\n .filter(mode => TRANSIT_SUBMODES.includes(mode.mode))\n .map(mode => mode.mode);\n\n return combinations(completeModeList)\n .filter(combo => isCombinationValid(combo, queryTransitSubmodes))\n .map(combo => ({ ...params, modes: combo }));\n}\n\n/**\n * Generates a query for OTP GraphQL API based on parameters.\n * @param param0 OTP2 Parameters for the query\n * @param planQuery Override the default query for OTP\n * @returns A fully formed query+variables ready to be sent to GraphQL backend\n */\nexport function generateOtp2Query(\n otpQueryParams: OTPQueryParams,\n planQuery = DefaultPlanQuery\n): GraphQLQuery {\n const { from, modeSettings, to, ...otherOtpQueryParams } = otpQueryParams;\n\n // This extracts the values from the mode settings to key value pairs\n const modeSettingValues = modeSettings.reduce((prev, cur) => {\n if (cur.type === \"SLIDER\" && cur.inverseKey) {\n prev[cur.inverseKey] = cur.high - cur.value + cur.low;\n }\n prev[cur.key] = cur.value;\n\n // If we assign a value on true, return the value (or null) instead of a boolean.\n if (cur.type === \"CHECKBOX\" && cur.truthValue) {\n prev[cur.key] =\n cur.value === true ? cur.truthValue : cur.falseValue ?? null;\n }\n return prev;\n }, {}) as ModeSettingValues;\n\n const {\n bikeReluctance,\n carReluctance,\n walkReluctance,\n walkSpeed,\n wheelchair\n } = modeSettingValues;\n\n return {\n query: print(planQuery),\n variables: {\n ...otherOtpQueryParams,\n bikeReluctance,\n carReluctance,\n fromPlace: `${from.name}::${from.lat},${from.lon}`,\n toPlace: `${to.name}::${to.lat},${to.lon}`,\n walkReluctance,\n walkSpeed,\n wheelchair\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
|