mobility-toolbox-js 2.0.0-beta.45 → 2.0.0-beta.47

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 (201) hide show
  1. package/api/RealtimeAPI.d.ts +80 -64
  2. package/api/RealtimeAPI.d.ts.map +1 -1
  3. package/api/RealtimeAPI.js +58 -45
  4. package/api/RoutingAPI.d.ts +2 -2
  5. package/api/RoutingAPI.d.ts.map +1 -1
  6. package/api/RoutingAPI.js +1 -1
  7. package/api/StopsAPI.d.ts +14 -12
  8. package/api/StopsAPI.d.ts.map +1 -1
  9. package/api/StopsAPI.js +7 -9
  10. package/api/typedefs.d.ts +84 -10
  11. package/api/typedefs.d.ts.map +1 -1
  12. package/api/typedefs.js +3 -1
  13. package/common/api/WebSocketAPI.d.ts +80 -24
  14. package/common/api/WebSocketAPI.d.ts.map +1 -1
  15. package/common/api/WebSocketAPI.js +28 -16
  16. package/common/controls/{Control.d.ts → ControlCommon.d.ts} +21 -19
  17. package/common/controls/ControlCommon.d.ts.map +1 -0
  18. package/common/controls/{Control.js → ControlCommon.js} +21 -8
  19. package/common/controls/CopyrightControlCommon.d.ts +13 -0
  20. package/common/controls/CopyrightControlCommon.d.ts.map +1 -0
  21. package/common/controls/CopyrightControlCommon.js +34 -0
  22. package/common/controls/StopFinderControlCommon.d.ts +54 -0
  23. package/common/controls/StopFinderControlCommon.d.ts.map +1 -0
  24. package/common/{mixins/StopFinderMixin.js → controls/StopFinderControlCommon.js} +25 -38
  25. package/common/layers/{Layer.d.ts → LayerCommon.d.ts} +34 -21
  26. package/common/layers/LayerCommon.d.ts.map +1 -0
  27. package/common/layers/{Layer.js → LayerCommon.js} +15 -9
  28. package/common/mixins/RealtimeLayerMixin.d.ts +243 -19
  29. package/common/mixins/RealtimeLayerMixin.d.ts.map +1 -1
  30. package/common/mixins/RealtimeLayerMixin.js +598 -569
  31. package/common/mixins/UserInteractionsLayerMixin.d.ts +18 -8
  32. package/common/mixins/UserInteractionsLayerMixin.d.ts.map +1 -1
  33. package/common/mixins/UserInteractionsLayerMixin.js +170 -159
  34. package/common/styles/realtimeDefaultStyle.d.ts +30 -9
  35. package/common/styles/realtimeDefaultStyle.d.ts.map +1 -1
  36. package/common/styles/realtimeDefaultStyle.js +41 -17
  37. package/common/styles/realtimeDelayStyle.d.ts +3 -2
  38. package/common/styles/realtimeDelayStyle.d.ts.map +1 -1
  39. package/common/styles/realtimeSimpleStyle.d.ts +1 -1
  40. package/common/styles/realtimeSimpleStyle.d.ts.map +1 -1
  41. package/common/styles/realtimeSimpleStyle.js +9 -7
  42. package/common/typedefs.d.ts +64 -3
  43. package/common/typedefs.d.ts.map +1 -1
  44. package/common/typedefs.js +34 -4
  45. package/common/utils/cleanStopTime.d.ts +3 -2
  46. package/common/utils/cleanStopTime.d.ts.map +1 -1
  47. package/common/utils/cleanStopTime.js +0 -3
  48. package/common/utils/compareDepartures.d.ts +6 -4
  49. package/common/utils/compareDepartures.d.ts.map +1 -1
  50. package/common/utils/compareDepartures.js +3 -2
  51. package/common/utils/createCanvas.d.ts +3 -2
  52. package/common/utils/createCanvas.d.ts.map +1 -1
  53. package/common/utils/createTrackerFilters.d.ts +3 -2
  54. package/common/utils/createTrackerFilters.d.ts.map +1 -1
  55. package/common/utils/createTrackerFilters.js +3 -3
  56. package/common/utils/getLayersAsFlatArray.d.ts +1 -1
  57. package/common/utils/getLayersAsFlatArray.d.ts.map +1 -1
  58. package/common/utils/getLayersAsFlatArray.js +1 -0
  59. package/common/utils/getMapboxMapCopyrights.d.ts +13 -3
  60. package/common/utils/getMapboxMapCopyrights.d.ts.map +1 -1
  61. package/common/utils/getMapboxMapCopyrights.js +10 -4
  62. package/common/utils/getMapboxRender.d.ts +3 -1
  63. package/common/utils/getMapboxRender.d.ts.map +1 -1
  64. package/common/utils/getMapboxRender.js +1 -2
  65. package/common/utils/getVehiclePosition.d.ts +1 -1
  66. package/common/utils/getVehiclePosition.d.ts.map +1 -1
  67. package/common/utils/removeDuplicate.d.ts +2 -2
  68. package/common/utils/removeDuplicate.d.ts.map +1 -1
  69. package/common/utils/renderTrajectories.d.ts +3 -6
  70. package/common/utils/renderTrajectories.d.ts.map +1 -1
  71. package/common/utils/renderTrajectories.js +17 -8
  72. package/common/utils/trackerConfig.d.ts.map +1 -1
  73. package/common/utils/trackerConfig.js +3 -0
  74. package/mapbox/controls/CopyrightControl.d.ts +6 -8
  75. package/mapbox/controls/CopyrightControl.d.ts.map +1 -1
  76. package/mapbox/controls/CopyrightControl.js +3 -8
  77. package/mapbox/layers/Layer.js +1 -1
  78. package/mapbox/layers/RealtimeLayer.d.ts +1 -1
  79. package/mapbox/layers/RealtimeLayer.d.ts.map +1 -1
  80. package/mapbox/utils.d.ts +1 -1
  81. package/mapbox/utils.d.ts.map +1 -1
  82. package/mbt.js +825 -703
  83. package/mbt.js.map +3 -3
  84. package/mbt.min.js +84 -84
  85. package/mbt.min.js.map +3 -3
  86. package/ol/controls/CopyrightControl.d.ts +10 -10
  87. package/ol/controls/CopyrightControl.d.ts.map +1 -1
  88. package/ol/controls/CopyrightControl.js +8 -8
  89. package/ol/controls/RoutingControl.d.ts +10 -3
  90. package/ol/controls/RoutingControl.d.ts.map +1 -1
  91. package/ol/controls/RoutingControl.js +2 -2
  92. package/ol/controls/StopFinderControl.d.ts +5 -7
  93. package/ol/controls/StopFinderControl.d.ts.map +1 -1
  94. package/ol/controls/StopFinderControl.js +4 -8
  95. package/ol/layers/Layer.d.ts +57 -9
  96. package/ol/layers/Layer.d.ts.map +1 -1
  97. package/ol/layers/Layer.js +17 -8
  98. package/ol/layers/MapGlLayer.d.ts +67 -0
  99. package/ol/layers/MapGlLayer.d.ts.map +1 -0
  100. package/{common/mixins/MapboxLayerMixin.js → ol/layers/MapGlLayer.js} +66 -44
  101. package/ol/layers/MapboxLayer.d.ts +15 -17
  102. package/ol/layers/MapboxLayer.d.ts.map +1 -1
  103. package/ol/layers/MapboxLayer.js +11 -8
  104. package/ol/layers/MapboxStyleLayer.d.ts +6 -0
  105. package/ol/layers/MapboxStyleLayer.d.ts.map +1 -1
  106. package/ol/layers/MaplibreLayer.d.ts +4 -4
  107. package/ol/layers/MaplibreLayer.d.ts.map +1 -1
  108. package/ol/layers/MaplibreLayer.js +2 -3
  109. package/ol/layers/RealtimeLayer.d.ts +106 -30
  110. package/ol/layers/RealtimeLayer.d.ts.map +1 -1
  111. package/ol/layers/RealtimeLayer.js +22 -14
  112. package/ol/styles/fullTrajectoryStyle.d.ts +3 -2
  113. package/ol/styles/fullTrajectoryStyle.d.ts.map +1 -1
  114. package/package.json +15 -9
  115. package/types/common.d.ts +111 -0
  116. package/types/index.d.ts +1 -0
  117. package/types/realtime.d.ts +290 -9
  118. package/api/RealtimeAPI.test.d.ts +0 -2
  119. package/api/RealtimeAPI.test.d.ts.map +0 -1
  120. package/api/RealtimeAPI.test.js +0 -67
  121. package/api/RoutingAPI.test.d.ts +0 -2
  122. package/api/RoutingAPI.test.d.ts.map +0 -1
  123. package/api/RoutingAPI.test.js +0 -29
  124. package/api/StopsAPI.test.d.ts +0 -2
  125. package/api/StopsAPI.test.d.ts.map +0 -1
  126. package/api/StopsAPI.test.js +0 -26
  127. package/common/api/HttpAPI.test.d.ts +0 -2
  128. package/common/api/HttpAPI.test.d.ts.map +0 -1
  129. package/common/api/HttpAPI.test.js +0 -54
  130. package/common/api/WebSocketAPI.test.d.ts +0 -2
  131. package/common/api/WebSocketAPI.test.d.ts.map +0 -1
  132. package/common/api/WebSocketAPI.test.js +0 -380
  133. package/common/controls/Control.d.ts.map +0 -1
  134. package/common/controls/Control.test.d.ts +0 -2
  135. package/common/controls/Control.test.d.ts.map +0 -1
  136. package/common/controls/Control.test.js +0 -89
  137. package/common/layers/Layer.d.ts.map +0 -1
  138. package/common/layers/Layer.test.d.ts +0 -2
  139. package/common/layers/Layer.test.d.ts.map +0 -1
  140. package/common/layers/Layer.test.js +0 -137
  141. package/common/mixins/CopyrightMixin.d.ts +0 -22
  142. package/common/mixins/CopyrightMixin.d.ts.map +0 -1
  143. package/common/mixins/CopyrightMixin.js +0 -43
  144. package/common/mixins/MapboxLayerMixin.d.ts +0 -27
  145. package/common/mixins/MapboxLayerMixin.d.ts.map +0 -1
  146. package/common/mixins/StopFinderMixin.d.ts +0 -40
  147. package/common/mixins/StopFinderMixin.d.ts.map +0 -1
  148. package/common/mixins/UserInteractionsLayerMixin.test.d.ts +0 -2
  149. package/common/mixins/UserInteractionsLayerMixin.test.d.ts.map +0 -1
  150. package/common/mixins/UserInteractionsLayerMixin.test.js +0 -214
  151. package/common/utils/createTrackerFilters.test.d.ts +0 -2
  152. package/common/utils/createTrackerFilters.test.d.ts.map +0 -1
  153. package/common/utils/createTrackerFilters.test.js +0 -79
  154. package/common/utils/getMapboxMapCopyrights.test.d.ts +0 -2
  155. package/common/utils/getMapboxMapCopyrights.test.d.ts.map +0 -1
  156. package/common/utils/getMapboxMapCopyrights.test.js +0 -40
  157. package/common/utils/removeDuplicate.test.d.ts +0 -2
  158. package/common/utils/removeDuplicate.test.d.ts.map +0 -1
  159. package/common/utils/removeDuplicate.test.js +0 -19
  160. package/common/utils/timeUtils.test.d.ts +0 -2
  161. package/common/utils/timeUtils.test.d.ts.map +0 -1
  162. package/common/utils/timeUtils.test.js +0 -10
  163. package/common/utils/trackerConfig.test.d.ts +0 -2
  164. package/common/utils/trackerConfig.test.d.ts.map +0 -1
  165. package/common/utils/trackerConfig.test.js +0 -23
  166. package/mapbox/layers/Layer.test.d.ts +0 -2
  167. package/mapbox/layers/Layer.test.d.ts.map +0 -1
  168. package/mapbox/layers/Layer.test.js +0 -204
  169. package/mapbox/layers/RealtimeLayer.test.d.ts +0 -2
  170. package/mapbox/layers/RealtimeLayer.test.d.ts.map +0 -1
  171. package/mapbox/layers/RealtimeLayer.test.js +0 -10
  172. package/ol/controls/CopyrightControl.test.d.ts +0 -2
  173. package/ol/controls/CopyrightControl.test.d.ts.map +0 -1
  174. package/ol/controls/CopyrightControl.test.js +0 -177
  175. package/ol/controls/RoutingControl.test.d.ts +0 -2
  176. package/ol/controls/RoutingControl.test.d.ts.map +0 -1
  177. package/ol/controls/RoutingControl.test.js +0 -150
  178. package/ol/controls/StopFinderControl.test.d.ts +0 -2
  179. package/ol/controls/StopFinderControl.test.d.ts.map +0 -1
  180. package/ol/controls/StopFinderControl.test.js +0 -49
  181. package/ol/layers/Layer.test.d.ts +0 -2
  182. package/ol/layers/Layer.test.d.ts.map +0 -1
  183. package/ol/layers/Layer.test.js +0 -196
  184. package/ol/layers/MapboxLayer.test.d.ts +0 -2
  185. package/ol/layers/MapboxLayer.test.d.ts.map +0 -1
  186. package/ol/layers/MapboxLayer.test.js +0 -164
  187. package/ol/layers/MapboxStyleLayer.test.d.ts +0 -2
  188. package/ol/layers/MapboxStyleLayer.test.d.ts.map +0 -1
  189. package/ol/layers/MapboxStyleLayer.test.js +0 -232
  190. package/ol/layers/RealtimeLayer.test.d.ts +0 -2
  191. package/ol/layers/RealtimeLayer.test.d.ts.map +0 -1
  192. package/ol/layers/RealtimeLayer.test.js +0 -71
  193. package/ol/layers/RoutingLayer.test.d.ts +0 -2
  194. package/ol/layers/RoutingLayer.test.d.ts.map +0 -1
  195. package/ol/layers/RoutingLayer.test.js +0 -39
  196. package/ol/layers/VectorLayer.test.d.ts +0 -2
  197. package/ol/layers/VectorLayer.test.d.ts.map +0 -1
  198. package/ol/layers/VectorLayer.test.js +0 -87
  199. package/ol/layers/WMSLayer.test.d.ts +0 -2
  200. package/ol/layers/WMSLayer.test.d.ts.map +0 -1
  201. package/ol/layers/WMSLayer.test.js +0 -66
@@ -1,43 +0,0 @@
1
- /* eslint-disable class-methods-use-this */
2
- /* eslint-disable max-classes-per-file */
3
- /**
4
- * Copyright control interface.
5
- *
6
- */
7
- export class CopyrightInterface {
8
- /**
9
- * Return an array of layer's copyright.
10
- *
11
- * @return {String[]} A list of copyrights to render.
12
- */
13
- getCopyrights() { }
14
- }
15
- /**
16
- * Mixin for CopyrightInterface.
17
- *
18
- * @param {Class} Base A class to extend with {CopyrightInterface} functionnalities.
19
- * @return {Class} A class that implements <CopyrightInterface> class and extends Base;
20
- * @private
21
- */
22
- const CopyrightMixin = (Base) => class extends Base {
23
- render() {
24
- if (!this.element) {
25
- return;
26
- }
27
- this.element.innerHTML = this.active
28
- ? this.getCopyrights().join(' | ')
29
- : '';
30
- }
31
- createDefaultElement() {
32
- this.element = document.createElement('div');
33
- this.element.id = 'mbt-copyright';
34
- Object.assign(this.element.style, {
35
- position: 'absolute',
36
- bottom: 0,
37
- right: 0,
38
- fontSize: '.8rem',
39
- padding: '0 10px',
40
- });
41
- }
42
- };
43
- export default CopyrightMixin;
@@ -1,27 +0,0 @@
1
- /**
2
- * MapboxLayerInterface
3
- */
4
- export class MapboxLayerInterface {
5
- /**
6
- * Return the render function function for the ol layer.
7
- *
8
- */
9
- getOlLayerRender(): void;
10
- /**
11
- * Return the Class to instanciate for the mapbox map.
12
- *
13
- * @return {mapboxgl.Map|maplibregl.Map} map
14
- */
15
- getMapboxMapClass(): mapboxgl.Map | maplibregl.Map;
16
- }
17
- export default MapboxLayerMixin;
18
- /**
19
- * Mixin for MapboxLayerLayerInterface.
20
- * It's used to share code between Mapbox and Maplibre layers without importing both libs
21
- *
22
- * @param {Class} Base A class to extend with {MapboxLayerLayerInterface} functionnalities.
23
- * @return {Class} A class that implements {MapboxLayerLayerInterface} class and extends Base;
24
- * @private
25
- */
26
- declare function MapboxLayerMixin(Base: Class): Class;
27
- //# sourceMappingURL=MapboxLayerMixin.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MapboxLayerMixin.d.ts","sourceRoot":"","sources":["../../../src/common/mixins/MapboxLayerMixin.js"],"names":[],"mappings":"AAOA;;GAEG;AACH;IACE;;;OAGG;IAEH,yBAAqB;IAErB;;;;OAIG;IAEH,qBAHY,eAAa,cAAc,CAGjB;CACvB;;AAED;;;;;;;GAOG;AACH,sDA6MG"}
@@ -1,40 +0,0 @@
1
- /**
2
- * StopFinder control interface.
3
- *
4
- * @classproperty {StopsSearchParams} apiParams - Default request parameters used by the search method. See [Stops service documentation](https://developer.geops.io/apis/5dcbd702a256d90001cf1361/).
5
- */
6
- export class StopFinderInterface {
7
- /**
8
- * Constructor.
9
- *
10
- * @param {Object} options Map options
11
- * @param {string} options.apiKey Access key for [geOps services](https://developer.geops.io/). See StopsAPI.
12
- * @param {string} [options.url='https://api.geops.io/tracker/v1'] Stops service url. See StopsAPI.
13
- * @param {string} [options.placeholder='Search for a stop...'] Input field placeholder.
14
- * @param {StopsSearchParams} [options.apiParams={ limit: 20 }] Request parameters. See [Stops service documentation](https://developer.geops.io/apis/5dcbd702a256d90001cf1361/).
15
- */
16
- constructor(options?: {
17
- apiKey: string;
18
- url?: string | undefined;
19
- placeholder?: string | undefined;
20
- apiParams?: any;
21
- });
22
- /**
23
- * Launch a search.
24
- *
25
- * @param {String} query The query to search for.
26
- * @param {AbortController} abortController Abort controller used to cancel the request.
27
- * @return {Promise<Array<GeoJSONFeature>>} An array of GeoJSON features with coordinates in [EPSG:4326](http://epsg.io/4326).
28
- */
29
- search(query: string, abortController: AbortController): Promise<Array<GeoJSONFeature>>;
30
- }
31
- export default StopFinderMixin;
32
- /**
33
- * Mixin for StopFinderInterface.
34
- *
35
- * @param {Class} Base A class to extend with {StopFinderInterface} functionnalities.
36
- * @return {Class} A class that implements <StopFinderInterface> class and extends Base;
37
- * @private
38
- */
39
- declare function StopFinderMixin(Base: Class): Class;
40
- //# sourceMappingURL=StopFinderMixin.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StopFinderMixin.d.ts","sourceRoot":"","sources":["../../../src/common/mixins/StopFinderMixin.js"],"names":[],"mappings":"AAMA;;;;GAIG;AACH;IACE;;;;;;;;OAQG;IAEH;QAN2B,MAAM,EAAtB,MAAM;QACW,GAAG;QACH,WAAW;QACA,SAAS;OAGpB;IAE5B;;;;;;OAMG;IAEH,uCAJW,eAAe,GACd,QAAQ,qBAAqB,CAAC,CAGT;CAClC;;AAED;;;;;;GAMG;AACH,qDAoIG"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=UserInteractionsLayerMixin.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UserInteractionsLayerMixin.test.d.ts","sourceRoot":"","sources":["../../../src/common/mixins/UserInteractionsLayerMixin.test.js"],"names":[],"mappings":""}
@@ -1,214 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import VectorLayer from 'ol/layer/Vector';
11
- import VectorSource from 'ol/source/Vector';
12
- import BaseLayer from '../layers/Layer';
13
- import mixin from './UserInteractionsLayerMixin';
14
- const olLayer = new VectorLayer({ source: new VectorSource() });
15
- const Layer = mixin(BaseLayer);
16
- describe('Layer', () => {
17
- test('should initialize.', () => {
18
- const layer = new Layer();
19
- expect(layer).toBeInstanceOf(Layer);
20
- });
21
- test('should define default properties.', () => {
22
- const layer = new Layer();
23
- expect(layer).toBeInstanceOf(Layer);
24
- expect(layer.userInteractions).toEqual(true);
25
- expect(layer.userClickInteractions).toEqual(true);
26
- expect(layer.userHoverInteractions).toEqual(true);
27
- expect(layer.defaultUserInteractions).toBe(true);
28
- expect(layer.userClickCallbacks).toEqual([]);
29
- expect(layer.userHoverCallbacks).toEqual([]);
30
- expect(layer.userClickEventsKeys).toEqual([]);
31
- expect(layer.userHoverEventsKeys).toEqual([]);
32
- });
33
- test('should set userInteractionsXXX to false.', () => {
34
- const options = {
35
- userInteractions: false,
36
- userClickInteractions: false,
37
- userHoverInteractions: false,
38
- defaultUserInteractions: false,
39
- };
40
- const layer = new Layer(options);
41
- expect(layer).toBeInstanceOf(Layer);
42
- expect(layer.userInteractions).toBe(false);
43
- expect(layer.userClickInteractions).toBe(false);
44
- expect(layer.userHoverInteractions).toBe(false);
45
- expect(layer.defaultUserInteractions).toBe(false);
46
- });
47
- test('should set onClick using constructor', () => {
48
- const fn = () => { };
49
- const layer = new Layer({
50
- onClick: fn,
51
- onHover: fn,
52
- });
53
- expect(layer.userClickCallbacks[0]).toBe(fn);
54
- expect(layer.userHoverCallbacks[0]).toBe(fn);
55
- expect(layer.userClickEventsKeys.length).toBe(0);
56
- expect(layer.userHoverEventsKeys.length).toBe(0);
57
- });
58
- describe('#attachToMap()', () => {
59
- test('should not add events if no callbacks', () => {
60
- const layer = new Layer({
61
- olLayer,
62
- });
63
- expect(layer.map).toBe(undefined);
64
- const obj = {};
65
- layer.attachToMap(obj);
66
- expect(layer.userClickEventsKeys.length).toBe(0);
67
- expect(layer.userHoverEventsKeys.length).toBe(0);
68
- });
69
- test('should add events', () => {
70
- const fn = () => { };
71
- const layer = new Layer({
72
- olLayer,
73
- onClick: fn,
74
- onHover: fn,
75
- });
76
- expect(layer.map).toBe(undefined);
77
- const obj = {};
78
- layer.attachToMap(obj);
79
- expect(layer.userClickEventsKeys.length).toBe(1);
80
- expect(layer.userHoverEventsKeys.length).toBe(1);
81
- });
82
- });
83
- describe('#onClick()', () => {
84
- test('adds function to callback array', () => {
85
- const layer = new Layer();
86
- const fn = jest.fn();
87
- const fn2 = jest.fn();
88
- layer.onClick(fn);
89
- expect(layer.userClickCallbacks).toEqual([fn]);
90
- layer.onClick(fn2);
91
- expect(layer.userClickCallbacks).toEqual([fn, fn2]);
92
- expect(layer.userClickEventsKeys.length).toBe(0);
93
- layer.attachToMap({});
94
- expect(layer.userClickEventsKeys.length).toBe(2);
95
- });
96
- });
97
- describe('#onHover()', () => {
98
- test('adds function to callback array', () => {
99
- const layer = new Layer();
100
- const fn = jest.fn();
101
- const fn2 = jest.fn();
102
- layer.onHover(fn);
103
- expect(layer.userHoverCallbacks).toEqual([fn]);
104
- layer.onHover(fn2);
105
- expect(layer.userHoverCallbacks).toEqual([fn, fn2]);
106
- expect(layer.userHoverEventsKeys.length).toBe(0);
107
- layer.attachToMap({});
108
- expect(layer.userHoverEventsKeys.length).toBe(2);
109
- });
110
- });
111
- describe('#onUserClickCallback()', () => {
112
- const evt = { type: 'signleclick', coordinate: [0, 0] };
113
- const getFeatureInfo = (layer, features = []) => ({
114
- features,
115
- layer,
116
- coordinate: evt.coordinate,
117
- event: evt,
118
- });
119
- test('calls click callback functions', (done) => __awaiter(void 0, void 0, void 0, function* () {
120
- const layer = new Layer();
121
- const goodFeatureInfo = getFeatureInfo(layer, [{ name: 'test' }]);
122
- const fn = jest.fn();
123
- const fn2 = jest.fn();
124
- const spy = jest
125
- .spyOn(layer, 'getFeatureInfoAtCoordinate')
126
- .mockResolvedValue(goodFeatureInfo);
127
- layer.onClick(fn);
128
- layer.onClick(fn2);
129
- layer.attachToMap({});
130
- layer.onUserClickCallback(evt).then((featureInfo) => {
131
- expect(spy).toHaveBeenCalledTimes(1);
132
- expect(spy).toHaveBeenCalledWith(evt.coordinate);
133
- expect(featureInfo).toBe(goodFeatureInfo);
134
- expect(fn).toHaveBeenCalledTimes(1);
135
- expect(fn.mock.calls[0][0]).toBe(goodFeatureInfo.features);
136
- expect(fn.mock.calls[0][1]).toBe(goodFeatureInfo.layer);
137
- expect(fn.mock.calls[0][2]).toBe(goodFeatureInfo.coordinate);
138
- expect(fn2).toHaveBeenCalledTimes(1);
139
- expect(fn2.mock.calls[0][0]).toBe(goodFeatureInfo.features);
140
- expect(fn2.mock.calls[0][1]).toBe(goodFeatureInfo.layer);
141
- expect(fn2.mock.calls[0][2]).toBe(goodFeatureInfo.coordinate);
142
- done();
143
- });
144
- }));
145
- describe('returns empty feature info', () => {
146
- test('if an error is thrown in click callback', (done) => {
147
- const layer = new Layer();
148
- layer.onClick(() => {
149
- throw new Error('foo');
150
- });
151
- const goodFeatureInfo = getFeatureInfo(layer, [{ name: 'test' }]);
152
- jest
153
- .spyOn(layer, 'getFeatureInfoAtCoordinate')
154
- .mockResolvedValue(goodFeatureInfo);
155
- layer.attachToMap({});
156
- layer.onUserClickCallback(evt).then((featureInfo) => {
157
- expect(featureInfo).toEqual(getFeatureInfo(layer));
158
- done();
159
- });
160
- });
161
- });
162
- });
163
- describe('#onUserMoveCallback()', () => {
164
- const evt = { type: 'pointermove', coordinate: [0, 0] };
165
- const getFeatureInfo = (layer, features = []) => ({
166
- features,
167
- layer,
168
- coordinate: evt.coordinate,
169
- event: evt,
170
- });
171
- test('calls hover callback functions', (done) => {
172
- const layer = new Layer();
173
- const goodFeatureInfo = getFeatureInfo(layer, [{ name: 'test' }]);
174
- const fn = jest.fn();
175
- const fn2 = jest.fn();
176
- const spy = jest
177
- .spyOn(layer, 'getFeatureInfoAtCoordinate')
178
- .mockResolvedValue(goodFeatureInfo);
179
- layer.onHover(fn);
180
- layer.onHover(fn2);
181
- layer.attachToMap({});
182
- layer.onUserMoveCallback(evt).then((featureInfo) => {
183
- expect(spy).toHaveBeenCalledTimes(1);
184
- expect(spy).toHaveBeenCalledWith(evt.coordinate);
185
- expect(featureInfo).toBe(goodFeatureInfo);
186
- expect(fn).toHaveBeenCalledTimes(1);
187
- expect(fn.mock.calls[0][0]).toBe(goodFeatureInfo.features);
188
- expect(fn.mock.calls[0][1]).toBe(goodFeatureInfo.layer);
189
- expect(fn.mock.calls[0][2]).toBe(goodFeatureInfo.coordinate);
190
- expect(fn2).toHaveBeenCalledTimes(1);
191
- expect(fn2.mock.calls[0][0]).toBe(goodFeatureInfo.features);
192
- expect(fn2.mock.calls[0][1]).toBe(goodFeatureInfo.layer);
193
- expect(fn2.mock.calls[0][2]).toBe(goodFeatureInfo.coordinate);
194
- done();
195
- });
196
- });
197
- describe('returns empty feature info', () => {
198
- test('if an error is thrown in hover callback', (done) => {
199
- const layer = new Layer();
200
- layer.onHover(() => {
201
- throw new Error('foo');
202
- });
203
- jest
204
- .spyOn(layer, 'getFeatureInfoAtCoordinate')
205
- .mockResolvedValue(getFeatureInfo(layer, [{ name: 'test' }]));
206
- layer.attachToMap({});
207
- layer.onUserMoveCallback(evt).then((featureInfo) => {
208
- expect(featureInfo).toEqual(getFeatureInfo(layer));
209
- done();
210
- });
211
- });
212
- });
213
- });
214
- });
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=createTrackerFilters.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createTrackerFilters.test.d.ts","sourceRoot":"","sources":["../../../src/common/utils/createTrackerFilters.test.js"],"names":[],"mappings":""}
@@ -1,79 +0,0 @@
1
- import createTrackerFilters from './createTrackerFilters';
2
- const u1 = {
3
- properties: {
4
- routeIdentifier: '001.000827.004:7',
5
- operator: 'FoO',
6
- line: {
7
- name: 'U1',
8
- },
9
- },
10
- };
11
- const ireta = {
12
- properties: {
13
- routeIdentifier: '0022.000827.004:7',
14
- operator: 'BAR',
15
- line: {
16
- name: 'IRETA',
17
- },
18
- },
19
- };
20
- const arb = {
21
- properties: {
22
- routeIdentifier: '00333.000827.004:7',
23
- operator: 'qux',
24
- line: {
25
- name: 'ARB',
26
- },
27
- },
28
- };
29
- const trajectories = [u1, ireta, arb];
30
- describe('#createTrackerFilter()', () => {
31
- test('returns null', () => {
32
- const filterFunc = createTrackerFilters();
33
- expect(filterFunc).toBe(null);
34
- });
35
- describe('using line', () => {
36
- test('as string', () => {
37
- const filterFunc = createTrackerFilters('u1,foo');
38
- expect(trajectories.filter(filterFunc)).toEqual([u1]);
39
- });
40
- test('as array of string', () => {
41
- const filterFunc = createTrackerFilters(['u1', 'foo', 'IRETA']);
42
- expect(trajectories.filter(filterFunc)).toEqual([u1, ireta]);
43
- });
44
- });
45
- describe('using route identifier', () => {
46
- test('as string', () => {
47
- const filterFunc = createTrackerFilters(null, '1,foo');
48
- expect(trajectories.filter(filterFunc)).toEqual([u1]);
49
- });
50
- test('as array of string', () => {
51
- const filterFunc = createTrackerFilters(null, ['22', 'foo', '1']);
52
- expect(trajectories.filter(filterFunc)).toEqual([u1, ireta]);
53
- });
54
- });
55
- describe('using operator', () => {
56
- test('as string', () => {
57
- const filterFunc = createTrackerFilters(null, null, 'foo');
58
- expect(trajectories.filter(filterFunc)).toEqual([u1]);
59
- });
60
- test('as array of string', () => {
61
- const filterFunc = createTrackerFilters(null, null, ['bar', 'foo', '1']);
62
- expect(trajectories.filter(filterFunc)).toEqual([u1, ireta]);
63
- });
64
- });
65
- describe('using regexLine', () => {
66
- test('as string', () => {
67
- const filterFunc = createTrackerFilters(null, null, null, '^(S|R$|RE|PE|D|IRE|RB|TER)');
68
- expect(trajectories.filter(filterFunc)).toEqual([ireta]);
69
- });
70
- test('as array of string', () => {
71
- const filterFunc = createTrackerFilters(null, null, null, [
72
- '^IR',
73
- '^ARB$',
74
- 'foo',
75
- ]);
76
- expect(trajectories.filter(filterFunc)).toEqual([ireta, arb]);
77
- });
78
- });
79
- });
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=getMapboxMapCopyrights.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getMapboxMapCopyrights.test.d.ts","sourceRoot":"","sources":["../../../src/common/utils/getMapboxMapCopyrights.test.js"],"names":[],"mappings":""}
@@ -1,40 +0,0 @@
1
- import getMapboxMapCopyrights from './getMapboxMapCopyrights';
2
- describe('getMapboxMapCopyrights()', () => {
3
- test('returns an empty array if map is not defined', () => {
4
- expect(getMapboxMapCopyrights().length).toBe(0);
5
- });
6
- test('returns an empty array if map.style is not defined', () => {
7
- expect(getMapboxMapCopyrights({}).length).toBe(0);
8
- });
9
- test('returns non depluicated copyrights in an array', () => {
10
- expect(getMapboxMapCopyrights({
11
- style: {
12
- sourceCaches: {
13
- used: {
14
- used: true,
15
- getSource() {
16
- return {
17
- attribution: '<a href="https://www.openmaptiles.org/" target="_blank">© OpenMapTiles</a> <a href="https://www.openstreetmap.org/about/" target="_blank">&copy; OpenStreetMap contributors</a>',
18
- };
19
- },
20
- },
21
- 'not used': {
22
- used: false,
23
- },
24
- 'also used': {
25
- used: true,
26
- getSource() {
27
- return {
28
- attribution: '<a href="https://www.openmaptiles.org/" target="_blank">&copy; OpenMapTiles</a> <a href="https://www.imagico.de/" target="_blank">&copy; imagico</a>',
29
- };
30
- },
31
- },
32
- },
33
- },
34
- })).toEqual([
35
- '<a href="https://www.openmaptiles.org/" target="_blank">© OpenMapTiles</a>',
36
- '<a href="https://www.openstreetmap.org/about/" target="_blank">© OpenStreetMap contributors</a>',
37
- '<a href="https://www.imagico.de/" target="_blank">© imagico</a>',
38
- ]);
39
- });
40
- });
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=removeDuplicate.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"removeDuplicate.test.d.ts","sourceRoot":"","sources":["../../../src/common/utils/removeDuplicate.test.js"],"names":[],"mappings":""}
@@ -1,19 +0,0 @@
1
- import removeDuplicate from './removeDuplicate';
2
- describe('removeDuplicate()', () => {
3
- test('removes duplicates', () => {
4
- expect(removeDuplicate([
5
- 'a',
6
- ' ',
7
- ' ',
8
- 'b',
9
- 'a',
10
- undefined,
11
- null,
12
- 'A',
13
- 0,
14
- 'c',
15
- 'b',
16
- 'B',
17
- ])).toEqual(['a', 'b', 'c']);
18
- });
19
- });
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=timeUtils.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"timeUtils.test.d.ts","sourceRoot":"","sources":["../../../src/common/utils/timeUtils.test.js"],"names":[],"mappings":""}
@@ -1,10 +0,0 @@
1
- import { getUTCDateString, getUTCTimeString } from './timeUtils';
2
- describe('timeUtils', () => {
3
- test('getUTCDateString should be correct.', () => {
4
- expect(getUTCDateString(new Date(2020, 5, 30))).toBe('20200630');
5
- expect(getUTCDateString(new Date('January 1, 2021 00:15:30 GMT+2:00'))).toBe('20201231');
6
- });
7
- test('getUTCTimeString should be correct.', () => {
8
- expect(getUTCTimeString(new Date(2020, 5, 30, 11, 5, 1, 123))).toBe('11:5:1.123');
9
- });
10
- });
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=trackerConfig.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trackerConfig.test.d.ts","sourceRoot":"","sources":["../../../src/common/utils/trackerConfig.test.js"],"names":[],"mappings":""}
@@ -1,23 +0,0 @@
1
- import { getTypeIndex } from './trackerConfig';
2
- describe('trackerConfig', () => {
3
- describe('#getTypeIndex()', () => {
4
- test("retrurn the type is it's not a string", () => {
5
- const obj = { foo: 'foo' };
6
- expect(getTypeIndex(obj)).toBe(obj);
7
- expect(getTypeIndex(0)).toBe(0);
8
- expect(getTypeIndex(null)).toBe(null);
9
- expect(getTypeIndex(undefined)).toBe(undefined);
10
- });
11
- test('find good index for new tracker values', () => {
12
- expect(getTypeIndex('tram')).toBe(0);
13
- expect(getTypeIndex('subway')).toBe(1);
14
- expect(getTypeIndex('bus')).toBe(3);
15
- expect(getTypeIndex('ferry')).toBe(4);
16
- expect(getTypeIndex('cablecar')).toBe(5);
17
- expect(getTypeIndex('gondola')).toBe(6);
18
- expect(getTypeIndex('funicular')).toBe(7);
19
- expect(getTypeIndex('coach')).toBe(8);
20
- expect(getTypeIndex('rail')).toBe(9);
21
- });
22
- });
23
- });
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=Layer.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Layer.test.d.ts","sourceRoot":"","sources":["../../../src/mapbox/layers/Layer.test.js"],"names":[],"mappings":""}