@opentripplanner/core-utils 11.2.3-mobility-profile → 11.2.4

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.
@@ -1,231 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- const query_1 = require("../query");
27
- const query_params_1 = __importStar(require("../query-params"));
28
- const query_gen_1 = require("../query-gen");
29
- const customWalkDistanceOptions = [
30
- {
31
- text: "200 m",
32
- value: 200
33
- },
34
- {
35
- text: "500 m",
36
- value: 500
37
- }
38
- ];
39
- function modeStrToTransportMode(m) {
40
- const splitVals = m.split("_");
41
- return {
42
- mode: splitVals[0],
43
- qualifier: (splitVals === null || splitVals === void 0 ? void 0 : splitVals[1]) || null
44
- };
45
- }
46
- const mockLatLon = {
47
- lat: 1,
48
- lon: 2
49
- };
50
- function expectModes(modes, expectedModes) {
51
- const generatedModesList = (0, query_gen_1.generateCombinations)({
52
- modes: modes.map(modeStrToTransportMode),
53
- to: mockLatLon,
54
- from: mockLatLon,
55
- modeSettings: []
56
- });
57
- const expandedExpectedModesList = expectedModes.map(em => ({
58
- modes: em.map(modeStrToTransportMode),
59
- to: mockLatLon,
60
- from: mockLatLon,
61
- modeSettings: []
62
- }));
63
- return it(modes.join(" "), () => expect(generatedModesList.length === expandedExpectedModesList.length) &&
64
- expect(new Set(generatedModesList)).toEqual(new Set(expandedExpectedModesList)));
65
- }
66
- describe("extract-modes", () => {
67
- const mode = {
68
- mode: "UNICYCLE"
69
- };
70
- const testTransportMode = {
71
- mode: "testMode"
72
- };
73
- const checkboxModeSetting = {
74
- type: "CHECKBOX",
75
- icon: null,
76
- label: "test",
77
- applicableMode: testTransportMode.mode,
78
- key: "test",
79
- value: true,
80
- addTransportMode: mode
81
- };
82
- const dropdownModeSetting = {
83
- type: "DROPDOWN",
84
- label: "test",
85
- applicableMode: testTransportMode.mode,
86
- key: "test",
87
- options: [{ text: "testop", value: "1", addTransportMode: mode }],
88
- value: "1"
89
- };
90
- it("a checkbox setting", () => {
91
- expect((0, query_gen_1.extractAdditionalModes)([checkboxModeSetting], [testTransportMode])).toEqual([mode]);
92
- });
93
- it("a dropdown setting", () => {
94
- expect((0, query_gen_1.extractAdditionalModes)([dropdownModeSetting], [testTransportMode])).toEqual([mode]);
95
- });
96
- it("a disabled mode setting", () => {
97
- expect((0, query_gen_1.extractAdditionalModes)([{ ...checkboxModeSetting, value: false }], [testTransportMode])).toEqual([]);
98
- });
99
- it("a setting from a disabled mode", () => {
100
- expect((0, query_gen_1.extractAdditionalModes)([{ ...checkboxModeSetting }], [])).toEqual([]);
101
- });
102
- });
103
- describe("query-gen", () => {
104
- describe("generateCombinations", () => {
105
- expectModes(["WALK"], [["WALK"]]);
106
- expectModes(["WALK", "TRANSIT"], [["WALK"], ["TRANSIT"]]);
107
- expectModes(["WALK", "TRANSIT", "BICYCLE"], [["WALK"], ["TRANSIT"], ["BICYCLE"], ["TRANSIT", "BICYCLE"]]);
108
- expectModes(["WALK", "TRANSIT", "CAR"], [["WALK"], ["TRANSIT"], ["TRANSIT", "CAR"]]);
109
- expectModes(["TRANSIT", "CAR"], [["TRANSIT"], ["TRANSIT", "CAR"]]);
110
- expectModes(["CAR"], []);
111
- expectModes(["WALK", "TRANSIT", "BICYCLE", "CAR"], [
112
- ["WALK"],
113
- ["TRANSIT"],
114
- ["TRANSIT", "BICYCLE"],
115
- ["BICYCLE"],
116
- ["TRANSIT", "CAR"]
117
- ]);
118
- expectModes(["BICYCLE_RENT", "TRANSIT", "WALK"], [
119
- ["TRANSIT"],
120
- ["BICYCLE_RENT", "TRANSIT"],
121
- ["BICYCLE_RENT", "WALK"],
122
- ["WALK"]
123
- ]);
124
- expectModes(["BICYCLE_RENT", "BICYCLE", "TRANSIT", "WALK"], [
125
- ["TRANSIT"],
126
- ["BICYCLE_RENT", "TRANSIT"],
127
- ["BICYCLE", "TRANSIT"],
128
- ["BICYCLE_RENT", "WALK"],
129
- ["BICYCLE"],
130
- ["WALK"]
131
- ]);
132
- expectModes(["SCOOTER_RENT", "BICYCLE_RENT", "TRANSIT", "WALK"], [
133
- ["TRANSIT"],
134
- ["BICYCLE_RENT", "TRANSIT"],
135
- ["BICYCLE_RENT", "WALK"],
136
- ["SCOOTER_RENT", "TRANSIT"],
137
- ["SCOOTER_RENT", "WALK"],
138
- ["WALK"]
139
- ]);
140
- expectModes(["FLEX", "TRANSIT", "WALK"], [["TRANSIT"], ["FLEX", "TRANSIT"], ["FLEX", "WALK"], ["WALK"]]);
141
- expectModes(["FLEX", "SCOOTER_RENT", "TRANSIT", "WALK"], [
142
- ["TRANSIT"],
143
- ["FLEX", "TRANSIT"],
144
- ["WALK"],
145
- ["FLEX", "WALK"],
146
- ["FLEX", "SCOOTER_RENT", "WALK"],
147
- ["FLEX", "SCOOTER_RENT", "TRANSIT"],
148
- ["SCOOTER_RENT", "WALK"],
149
- ["SCOOTER_RENT", "TRANSIT"]
150
- ]);
151
- expectModes(["FLEX", "SCOOTER_RENT", "TRANSIT"], [
152
- ["TRANSIT"],
153
- ["FLEX", "TRANSIT"],
154
- ["FLEX", "SCOOTER_RENT", "TRANSIT"],
155
- ["SCOOTER_RENT", "TRANSIT"]
156
- ]);
157
- expectModes(
158
- // Transit is required to enable other transit submodes
159
- ["BUS", "RAIL", "GONDOLA", "TRAM", "TRANSIT"], [["BUS", "RAIL", "GONDOLA", "TRAM"]]);
160
- expectModes(
161
- // Transit is required to enable other transit submodes
162
- ["TRANSIT"], [["TRANSIT"]]);
163
- });
164
- });
165
- describe("query-params", () => {
166
- describe("getCustomQueryParams", () => {
167
- it("should return the original unmodified queryParams if no customizations", () => {
168
- expect((0, query_params_1.getCustomQueryParams)()).toEqual(query_params_1.default);
169
- });
170
- it("should return queryParams with customizations", () => {
171
- const customizations = {
172
- maxWalkDistance: {
173
- label: "Max Walk Distance In Meters",
174
- options: customWalkDistanceOptions
175
- }
176
- };
177
- expect((0, query_params_1.getCustomQueryParams)(customizations)).toMatchSnapshot();
178
- });
179
- it("should ignore unknown query params", () => {
180
- const customizations = {
181
- unknownQueryParameter: {
182
- label: "Unknown query parameter",
183
- options: customWalkDistanceOptions
184
- }
185
- };
186
- expect((0, query_params_1.getCustomQueryParams)(customizations)).toEqual(query_params_1.default);
187
- });
188
- });
189
- });
190
- describe("flex-reducer", () => {
191
- it("should not touch a query that doesn't include flex modes", () => {
192
- expect((0, query_1.reduceOtpFlexModes)(["WALK", "TRANSIT", "BIKE"])).toStrictEqual([
193
- "WALK",
194
- "TRANSIT",
195
- "BIKE"
196
- ]);
197
- });
198
- it("should modify a query that includes some flex modes", () => {
199
- expect((0, query_1.reduceOtpFlexModes)(["WALK", "TRANSIT", "BIKE", "FLEX_DIRECT"])).toStrictEqual(["WALK", "TRANSIT", "BIKE", "FLEX"]);
200
- });
201
- it("should modify a query that includes all flex modes", () => {
202
- expect((0, query_1.reduceOtpFlexModes)([
203
- "WALK",
204
- "TRANSIT",
205
- "BIKE",
206
- "FLEX_DIRECT",
207
- "FLEX_ACCESS",
208
- "FLEX_EGRESS"
209
- ])).toStrictEqual(["WALK", "TRANSIT", "BIKE", "FLEX"]);
210
- expect((0, query_1.reduceOtpFlexModes)([
211
- "FLEX_DIRECT",
212
- "BIKE",
213
- "FLEX_ACCESS",
214
- "WALK",
215
- "FLEX_EGRESS",
216
- "TRANSIT"
217
- ])).toStrictEqual(["FLEX", "BIKE", "WALK", "TRANSIT"]);
218
- });
219
- it("should modify a query that includes only flex modes", () => {
220
- expect((0, query_1.reduceOtpFlexModes)(["FLEX_DIRECT", "FLEX_ACCESS", "FLEX_EGRESS"])).toStrictEqual(["FLEX"]);
221
- });
222
- it("should modify a query that includes duplicate flex modes", () => {
223
- expect((0, query_1.reduceOtpFlexModes)([
224
- "FLEX_DIRECT",
225
- "FLEX_DIRECT",
226
- "FLEX_ACCESS",
227
- "FLEX_EGRESS"
228
- ])).toStrictEqual(["FLEX"]);
229
- });
230
- });
231
- //# sourceMappingURL=query-params.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"query-params.js","sourceRoot":"","sources":["../../src/__tests__/query-params.ts"],"names":[],"mappings":"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"}