atriusmaps-node-sdk 3.3.631 → 3.3.633

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 (54) hide show
  1. package/LICENSE.md +1 -2
  2. package/README.md +15 -16
  3. package/dist/cjs/deploy/prepareSDKConfig.js +73 -57
  4. package/dist/cjs/nodesdk/nodeEntry.js +51 -44
  5. package/dist/cjs/package.json.js +4 -1
  6. package/dist/cjs/plugins/clientAPI/src/clientAPI.js +6 -4
  7. package/dist/cjs/plugins/dynamicPois/src/dynamicPois.js +32 -26
  8. package/dist/cjs/plugins/dynamicPois/src/processors.js +41 -35
  9. package/dist/cjs/plugins/poiDataManager/src/poiDataManager.js +102 -95
  10. package/dist/cjs/plugins/sdkServer/src/sdkHeadless.js +52 -26
  11. package/dist/cjs/plugins/sdkServer/src/sdkServer.js +86 -66
  12. package/dist/cjs/plugins/searchService/src/flexsearchExports/lang.js +16 -16
  13. package/dist/cjs/plugins/searchService/src/flexsearchExports/simple.js +31 -8
  14. package/dist/cjs/plugins/searchService/src/poiSearch.js +14 -17
  15. package/dist/cjs/plugins/searchService/src/searchService.js +41 -39
  16. package/dist/cjs/plugins/searchService/src/searchTypeahead.js +14 -19
  17. package/dist/cjs/plugins/searchService/src/utils.js +4 -5
  18. package/dist/cjs/plugins/venueDataLoader/src/venueDataLoader.js +145 -127
  19. package/dist/cjs/plugins/venueDataLoader/src/venueLoadingUtils.js +37 -39
  20. package/dist/cjs/plugins/wayfinder/src/findRoute.js +11 -18
  21. package/dist/cjs/plugins/wayfinder/src/minPriorityQueue.js +18 -19
  22. package/dist/cjs/plugins/wayfinder/src/navGraph.js +111 -91
  23. package/dist/cjs/plugins/wayfinder/src/navGraphDebug.js +19 -16
  24. package/dist/cjs/plugins/wayfinder/src/segmentBadges.js +1 -1
  25. package/dist/cjs/plugins/wayfinder/src/segmentBuilder.js +79 -76
  26. package/dist/cjs/plugins/wayfinder/src/segmentCategories.js +1 -1
  27. package/dist/cjs/plugins/wayfinder/src/stepBuilder.js +147 -107
  28. package/dist/cjs/plugins/wayfinder/src/wayfinder.js +178 -148
  29. package/dist/cjs/src/app.js +64 -44
  30. package/dist/cjs/src/configs/postproc-mol-url-parms.js +22 -21
  31. package/dist/cjs/src/configs/postproc-stateTracking.js +5 -8
  32. package/dist/cjs/src/controller.js +11 -6
  33. package/dist/cjs/src/debugTools.js +61 -34
  34. package/dist/cjs/src/env.js +7 -4
  35. package/dist/cjs/src/extModules/bustle.js +35 -45
  36. package/dist/cjs/src/extModules/flexapi/src/help.js +16 -8
  37. package/dist/cjs/src/extModules/flexapi/src/index.js +39 -18
  38. package/dist/cjs/src/extModules/flexapi/src/validate.js +129 -87
  39. package/dist/cjs/src/extModules/geohasher.js +7 -7
  40. package/dist/cjs/src/extModules/log.js +20 -22
  41. package/dist/cjs/src/historyManager.js +2 -2
  42. package/dist/cjs/src/utils/bounds.js +6 -6
  43. package/dist/cjs/src/utils/buildStructureLookup.js +3 -3
  44. package/dist/cjs/src/utils/configUtils.js +14 -18
  45. package/dist/cjs/src/utils/dom.js +12 -18
  46. package/dist/cjs/src/utils/funcs.js +12 -15
  47. package/dist/cjs/src/utils/geodesy.js +7 -9
  48. package/dist/cjs/src/utils/geom.js +52 -40
  49. package/dist/cjs/src/utils/i18n.js +47 -36
  50. package/dist/cjs/src/utils/location.js +12 -13
  51. package/dist/cjs/src/utils/observable.js +27 -28
  52. package/dist/cjs/src/utils/rand.js +9 -10
  53. package/dist/package.json.js +1 -1
  54. package/package.json +1 -1
@@ -24,52 +24,35 @@ function _interopNamespaceDefault(e) {
24
24
 
25
25
  var R__namespace = /*#__PURE__*/_interopNamespaceDefault(R);
26
26
 
27
- const setSegmentCategory = (segments) => {
27
+ const setSegmentCategory = segments => {
28
28
  // Set the category of each segment based on the type of the current segment or the type of the next segment in case we are walking
29
29
  // to a portal or to a security checkpoint
30
30
  segments.forEach((segment, index) => {
31
- if (index === 0)
32
- segment.segmentCategory = segmentCategories.START;
31
+ if (index === 0) segment.segmentCategory = segmentCategories.START;
33
32
  else if (segment.waypoints[segment.waypoints.length - 1].isDestination)
34
33
  segment.segmentCategory = segmentCategories.WALKING_TO_END;
35
- else if (segment.type === 'Security Checkpoint')
36
- segment.segmentCategory = segmentCategories.SECURITY_CHECKPOINT;
37
- else if (segment.type === 'Bus')
38
- segment.segmentCategory = segmentCategories.BUS;
39
- else if (segment.type === 'Train')
40
- segment.segmentCategory = segmentCategories.TRAIN;
34
+ else if (segment.type === 'Security Checkpoint') segment.segmentCategory = segmentCategories.SECURITY_CHECKPOINT;
35
+ else if (segment.type === 'Bus') segment.segmentCategory = segmentCategories.BUS;
36
+ else if (segment.type === 'Train') segment.segmentCategory = segmentCategories.TRAIN;
41
37
  else if (segment.type === 'Stairs') {
42
- if (segment.levelDifference > 0)
43
- segment.segmentCategory = segmentCategories.STAIRS_UP;
44
- else if (segment.levelDifference < 0)
45
- segment.segmentCategory = segmentCategories.STAIRS_DOWN;
46
- else
47
- segment.segmentCategory = segmentCategories.STAIRS;
38
+ if (segment.levelDifference > 0) segment.segmentCategory = segmentCategories.STAIRS_UP;
39
+ else if (segment.levelDifference < 0) segment.segmentCategory = segmentCategories.STAIRS_DOWN;
40
+ else segment.segmentCategory = segmentCategories.STAIRS;
48
41
  } else if (segment.type === 'Elevator') {
49
- if (segment.levelDifference > 0)
50
- segment.segmentCategory = segmentCategories.ELEVATOR_UP;
51
- else if (segment.levelDifference < 0)
52
- segment.segmentCategory = segmentCategories.ELEVATOR_DOWN;
53
- else
54
- segment.segmentCategory = segmentCategories.ELEVATOR;
42
+ if (segment.levelDifference > 0) segment.segmentCategory = segmentCategories.ELEVATOR_UP;
43
+ else if (segment.levelDifference < 0) segment.segmentCategory = segmentCategories.ELEVATOR_DOWN;
44
+ else segment.segmentCategory = segmentCategories.ELEVATOR;
55
45
  } else if (segment.type === 'Escalator') {
56
- if (segment.levelDifference > 0)
57
- segment.segmentCategory = segmentCategories.ESCALATOR_UP;
58
- else if (segment.levelDifference < 0)
59
- segment.segmentCategory = segmentCategories.ESCALATOR_DOWN;
60
- else
61
- segment.segmentCategory = segmentCategories.ESCALATOR;
46
+ if (segment.levelDifference > 0) segment.segmentCategory = segmentCategories.ESCALATOR_UP;
47
+ else if (segment.levelDifference < 0) segment.segmentCategory = segmentCategories.ESCALATOR_DOWN;
48
+ else segment.segmentCategory = segmentCategories.ESCALATOR;
62
49
  } else if (segment.type === 'Ramp') {
63
- if (segment.levelDifference > 0)
64
- segment.segmentCategory = segmentCategories.RAMP_UP;
65
- else if (segment.levelDifference < 0)
66
- segment.segmentCategory = segmentCategories.RAMP_DOWN;
67
- else
68
- segment.segmentCategory = segmentCategories.RAMP;
50
+ if (segment.levelDifference > 0) segment.segmentCategory = segmentCategories.RAMP_UP;
51
+ else if (segment.levelDifference < 0) segment.segmentCategory = segmentCategories.RAMP_DOWN;
52
+ else segment.segmentCategory = segmentCategories.RAMP;
69
53
  } else if (segments[index + 1].type === 'Security Checkpoint')
70
54
  segment.segmentCategory = segmentCategories.WALKING_TO_SECURITY_CHECKPOINT;
71
- else if (segments[index + 1].type !== 'Walk')
72
- segment.segmentCategory = segmentCategories.WALKING_TO_PORTAL;
55
+ else if (segments[index + 1].type !== 'Walk') segment.segmentCategory = segmentCategories.WALKING_TO_PORTAL;
73
56
  });
74
57
  };
75
58
 
@@ -86,7 +69,7 @@ const existsEnd = (segments, lastWaypoint) => {
86
69
  };
87
70
 
88
71
  // todo refactor to not affect step builder
89
- const joinSegments = (segments) => {
72
+ const joinSegments = segments => {
90
73
  segments.forEach((segment, index) => {
91
74
  if (index > 1) {
92
75
  const firstWaypointOfSegment = R__namespace.head(segment.waypoints);
@@ -103,18 +86,19 @@ const calculateCurveLineCoordinates = segment =>
103
86
  // todo index > 0 is hacky fix
104
87
  if (index > 0 && waypoint.curvedPathForward && waypoint.curvedPathForward.length > 0) {
105
88
  return waypoint.curvedPathForward
106
- .flatMap(p => geom.bezierCurveTo(p.start.lng, p.start.lat, p.in.lng, p.in.lat, p.out.lng, p.out.lat, p.end.lng, p.end.lat))
107
- .map(el => [el.x, el.y])
89
+ .flatMap(p =>
90
+ geom.bezierCurveTo(p.start.lng, p.start.lat, p.in.lng, p.in.lat, p.out.lng, p.out.lat, p.end.lng, p.end.lat),
91
+ )
92
+ .map(el => [el.x, el.y]);
108
93
  } else {
109
- return [[waypoint.position.lng, waypoint.position.lat]]
94
+ return [[waypoint.position.lng, waypoint.position.lat]];
110
95
  }
111
96
  });
112
97
 
113
- const addCurveLineCoordinates = R__namespace.map(
114
- R__namespace.converge(R__namespace.assoc('coordinates'), [calculateCurveLineCoordinates, R__namespace.identity]));
98
+ const addCurveLineCoordinates = R__namespace.map(R__namespace.converge(R__namespace.assoc('coordinates'), [calculateCurveLineCoordinates, R__namespace.identity]));
115
99
 
116
100
  // todo refactor
117
- const createSegments = (waypoints) => {
101
+ const createSegments = waypoints => {
118
102
  const segments = [];
119
103
  let segment = { segmentCategory: undefined, waypoints: [] };
120
104
  let lastWaypoint = null;
@@ -129,30 +113,33 @@ const createSegments = (waypoints) => {
129
113
  waypoints.forEach(waypoint => {
130
114
  segmentWaypoints.push(waypoint);
131
115
 
132
- if (!lastWaypoint) { // true on first waypoint only
116
+ if (!lastWaypoint) {
117
+ // true on first waypoint only
133
118
  segment.type = waypoint.isPortal ? waypoint.portalType : 'Walk';
134
119
  lastWaypoint = waypoint;
135
120
  } else {
136
- if ((lastWaypoint.isPortal === waypoint.isPortal) &&
137
- (lastWaypoint.isSecurityCheckpoint === waypoint.isSecurityCheckpoint)) { // todo not sure if this can happen
121
+ if (
122
+ lastWaypoint.isPortal === waypoint.isPortal &&
123
+ lastWaypoint.isSecurityCheckpoint === waypoint.isSecurityCheckpoint
124
+ ) {
125
+ // todo not sure if this can happen
138
126
  segment.levelDifference = waypoint.levelDifference;
139
127
  } else {
140
128
  segment.waypoints = segmentWaypoints;
141
129
 
142
130
  if (waypoint.isPortal || lastWaypoint.isPortal) {
143
- if (segmentWaypoints.length > 1)
144
- segmentWaypoints.pop();
131
+ if (segmentWaypoints.length > 1) segmentWaypoints.pop();
145
132
 
146
133
  // if the portal is not train or bus, we only want it to be one point segment
147
- if (waypoint.isPortal && (waypoint.portalType.toLowerCase() === 'train' || waypoint.portalType.toLowerCase() === 'bus'))
134
+ if (
135
+ waypoint.isPortal &&
136
+ (waypoint.portalType.toLowerCase() === 'train' || waypoint.portalType.toLowerCase() === 'bus')
137
+ )
148
138
  segmentWaypoints = [segmentWaypoints[segmentWaypoints.length - 1], waypoint];
149
- else
150
- segmentWaypoints = [waypoint];
151
- } else
152
- segmentWaypoints = [];
139
+ else segmentWaypoints = [waypoint];
140
+ } else segmentWaypoints = [];
153
141
 
154
- if (lastWaypoint.poiId)
155
- segment.poiId = lastWaypoint.poiId;
142
+ if (lastWaypoint.poiId) segment.poiId = lastWaypoint.poiId;
156
143
  segments.push(segment);
157
144
 
158
145
  segment = { segmentCategory: undefined, waypoints: [] };
@@ -167,8 +154,7 @@ const createSegments = (waypoints) => {
167
154
 
168
155
  segment.waypoints = segmentWaypoints;
169
156
 
170
- if (segmentWaypoints.length === 0)
171
- segment.waypoints = [lastWaypoint];
157
+ if (segmentWaypoints.length === 0) segment.waypoints = [lastWaypoint];
172
158
 
173
159
  segments.push(segment);
174
160
 
@@ -178,20 +164,20 @@ const createSegments = (waypoints) => {
178
164
 
179
165
  joinSegments(segments);
180
166
 
181
- return segments
167
+ return segments;
182
168
  };
183
169
 
184
- const getSegmentType = (segment) => {
170
+ const getSegmentType = segment => {
185
171
  if (segment.type === 'Train') {
186
- return 'nav.train'
172
+ return 'nav.train';
187
173
  }
188
174
  if (segment.type === 'Bus') {
189
- return 'nav.transit'
175
+ return 'nav.transit';
190
176
  }
191
177
  if (segment.type === 'Security Checkpoint') {
192
- return 'nav.secure'
178
+ return 'nav.secure';
193
179
  }
194
- return 'nav.primary'
180
+ return 'nav.primary';
195
181
  };
196
182
 
197
183
  /**
@@ -217,16 +203,24 @@ const getSegmentType = (segment) => {
217
203
  * @param {boolean} requiresAccessibility
218
204
  * @return {{steps: Step[], segments: Segment[]}}
219
205
  */
220
- const buildSegments = (waypoints, fromEndpoint, toEndpoint, floorIdToNameMap, T, queueTypes, requiresAccessibility, securityPois, currentUnits) => {
206
+ const buildSegments = (
207
+ waypoints,
208
+ fromEndpoint,
209
+ toEndpoint,
210
+ floorIdToNameMap,
211
+ T,
212
+ queueTypes,
213
+ requiresAccessibility,
214
+ securityPois,
215
+ currentUnits,
216
+ ) => {
221
217
  let rawSegments = createSegments(waypoints);
222
218
  rawSegments = addCurveLineCoordinates(rawSegments);
223
219
 
224
220
  // add start location (kiosk) as first coordinate to link it with the navline
225
- if (fromEndpoint)
226
- rawSegments[0].coordinates.unshift([fromEndpoint.lng, fromEndpoint.lat]);
221
+ if (fromEndpoint) rawSegments[0].coordinates.unshift([fromEndpoint.lng, fromEndpoint.lat]);
227
222
 
228
- if (toEndpoint)
229
- R__namespace.last(rawSegments).coordinates.push([toEndpoint.lng, toEndpoint.lat]);
223
+ if (toEndpoint) R__namespace.last(rawSegments).coordinates.push([toEndpoint.lng, toEndpoint.lat]);
230
224
 
231
225
  const segments = rawSegments.map((segment, index) => {
232
226
  const startWaypoint = R__namespace.last(segment.waypoints);
@@ -236,7 +230,7 @@ const buildSegments = (waypoints, fromEndpoint, toEndpoint, floorIdToNameMap, T,
236
230
  levelId: startWaypoint.position.structureId,
237
231
  ordinalId: `ordinal: ${startWaypoint.position.ordinal}`,
238
232
  coordinates,
239
- shouldDrawSegment
233
+ shouldDrawSegment,
240
234
  };
241
235
 
242
236
  const badges = [];
@@ -244,24 +238,33 @@ const buildSegments = (waypoints, fromEndpoint, toEndpoint, floorIdToNameMap, T,
244
238
  const nextSegment = rawSegments[index + 1];
245
239
  badges.push({
246
240
  canonicalName: `wayfinding.${nextSegment.segmentCategory}`,
247
- coordinates: R__namespace.last(coordinates)
241
+ coordinates: R__namespace.last(coordinates),
248
242
  });
249
243
  } else if (segmentCategories.START !== segment.segmentCategory) {
250
244
  badges.push({
251
245
  canonicalName: `wayfinding.${segment.segmentCategory}`,
252
- coordinates: R__namespace.last(coordinates)
246
+ coordinates: R__namespace.last(coordinates),
253
247
  });
254
248
  }
255
249
  cookedSegment.badges = badges;
256
250
  cookedSegment.segmentType = getSegmentType(segment);
257
- if (segment.poiId)
258
- cookedSegment.poiId = segment.poiId;
259
- return cookedSegment
251
+ if (segment.poiId) cookedSegment.poiId = segment.poiId;
252
+ return cookedSegment;
260
253
  });
261
254
 
262
- const steps = stepBuilder(rawSegments, R__namespace.prop('title', fromEndpoint), R__namespace.prop('title', toEndpoint), floorIdToNameMap, T, queueTypes, requiresAccessibility, securityPois, currentUnits);
263
-
264
- return { segments, steps }
255
+ const steps = stepBuilder(
256
+ rawSegments,
257
+ R__namespace.prop('title', fromEndpoint),
258
+ R__namespace.prop('title', toEndpoint),
259
+ floorIdToNameMap,
260
+ T,
261
+ queueTypes,
262
+ requiresAccessibility,
263
+ securityPois,
264
+ currentUnits,
265
+ );
266
+
267
+ return { segments, steps };
265
268
  };
266
269
 
267
270
  exports.buildSegments = buildSegments;
@@ -26,7 +26,7 @@ const segmentCategories = {
26
26
  SECURITY_CHECKPOINT: 'enduring security checkpoint',
27
27
  RAMP: 'ramp',
28
28
  RAMP_UP: 'ramp.up',
29
- RAMP_DOWN: 'ramp.down'
29
+ RAMP_DOWN: 'ramp.down',
30
30
  };
31
31
 
32
32
  module.exports = segmentCategories;