mobility-toolbox-js 2.0.0 → 2.0.1-beta.13

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 (102) hide show
  1. package/api/RoutingAPI.js +15 -0
  2. package/api/RoutingAPI.test.js +25 -0
  3. package/api/StopsAPI.js +12 -0
  4. package/api/StopsAPI.test.js +22 -0
  5. package/api/TralisAPI.js +359 -0
  6. package/api/TralisAPI.test.js +67 -0
  7. package/api/{tralis/TralisAPIUtils.js → TralisAPIUtils.js} +2 -32
  8. package/api/index.js +3 -3
  9. package/{ol/README.md → api/typedefs.js} +0 -0
  10. package/common/Tracker.js +14 -118
  11. package/common/api/HttpAPI.js +30 -0
  12. package/common/api/HttpAPI.test.js +50 -0
  13. package/common/api/WebSocketAPI.js +175 -0
  14. package/{api/tralis/WebSocketConnector.test.js → common/api/WebSocketAPI.test.js} +100 -145
  15. package/common/controls/Control.js +26 -91
  16. package/common/controls/Control.test.js +32 -43
  17. package/common/index.js +4 -0
  18. package/common/layers/Layer.js +53 -244
  19. package/common/layers/Layer.test.js +185 -244
  20. package/common/mixins/CopyrightMixin.js +20 -44
  21. package/common/mixins/SearchMixin.js +100 -166
  22. package/common/mixins/TralisLayerMixin.js +443 -894
  23. package/common/styles/index.js +4 -4
  24. package/common/styles/trackerDefaultStyle.js +39 -175
  25. package/common/styles/trackerDelayStyle.js +2 -11
  26. package/common/styles/trackerSimpleStyle.js +4 -8
  27. package/common/trackerConfig.js +61 -99
  28. package/common/trackerConfig.test.js +15 -17
  29. package/common/typedefs.js +0 -23
  30. package/common/utils/createTrackerFilters.js +10 -41
  31. package/common/utils/createTrackerFilters.test.js +40 -56
  32. package/common/utils/getMapboxMapCopyrights.js +3 -16
  33. package/common/utils/getMapboxMapCopyrights.test.js +32 -39
  34. package/common/utils/getMapboxStyleUrl.js +3 -13
  35. package/common/utils/getVehiclePosition.js +3 -33
  36. package/common/utils/index.js +5 -6
  37. package/common/utils/removeDuplicate.js +3 -17
  38. package/common/utils/removeDuplicate.test.js +17 -20
  39. package/common/utils/sortByDelay.js +2 -7
  40. package/common/utils/timeUtils.js +8 -32
  41. package/common/utils/timeUtils.test.js +7 -13
  42. package/index.js +8 -2
  43. package/mapbox/controls/CopyrightControl.js +9 -38
  44. package/mapbox/controls/index.js +1 -0
  45. package/mapbox/index.js +4 -3
  46. package/mapbox/layers/Layer.js +15 -76
  47. package/mapbox/layers/Layer.test.js +81 -101
  48. package/mapbox/layers/TralisLayer.js +46 -193
  49. package/mapbox/layers/TralisLayer.test.js +12 -14
  50. package/mapbox/layers/index.js +2 -0
  51. package/mapbox/utils.js +7 -21
  52. package/mbt.js +50444 -0
  53. package/mbt.js.map +7 -0
  54. package/mbt.min.js +1005 -0
  55. package/mbt.min.js.map +7 -0
  56. package/ol/controls/CopyrightControl.js +8 -46
  57. package/ol/controls/CopyrightControl.test.js +75 -121
  58. package/ol/controls/RoutingControl.js +167 -532
  59. package/ol/controls/RoutingControl.test.js +99 -164
  60. package/ol/controls/StopFinderControl.js +3 -31
  61. package/ol/controls/StopFinderControl.test.js +18 -29
  62. package/ol/controls/index.js +3 -0
  63. package/ol/index.js +5 -13
  64. package/ol/layers/Layer.js +23 -128
  65. package/ol/layers/Layer.test.js +79 -102
  66. package/ol/layers/MapboxLayer.js +62 -237
  67. package/ol/layers/MapboxLayer.test.js +58 -84
  68. package/ol/layers/MapboxStyleLayer.js +38 -268
  69. package/ol/layers/MapboxStyleLayer.test.js +97 -128
  70. package/ol/layers/MaplibreLayer.js +46 -187
  71. package/ol/layers/RoutingLayer.js +21 -51
  72. package/ol/layers/RoutingLayer.test.js +15 -24
  73. package/ol/layers/TralisLayer.js +102 -276
  74. package/ol/layers/TralisLayer.test.js +32 -50
  75. package/ol/layers/VectorLayer.js +3 -24
  76. package/ol/layers/VectorLayer.test.js +34 -45
  77. package/ol/layers/WMSLayer.js +15 -57
  78. package/ol/layers/WMSLayer.test.js +35 -43
  79. package/ol/layers/index.js +8 -0
  80. package/ol/styles/fullTrajectoryDelayStyle.js +11 -15
  81. package/ol/styles/fullTrajectoryStyle.js +17 -25
  82. package/ol/styles/index.js +2 -2
  83. package/package.json +35 -62
  84. package/api/routing/RoutingAPI.js +0 -44
  85. package/api/routing/RoutingAPI.test.js +0 -41
  86. package/api/stops/StopsAPI.js +0 -41
  87. package/api/stops/StopsAPI.test.js +0 -34
  88. package/api/tralis/TralisAPI.js +0 -731
  89. package/api/tralis/TralisAPI.test.js +0 -75
  90. package/api/tralis/WebSocketConnector.js +0 -338
  91. package/api/tralis/typedefs.js +0 -81
  92. package/common/api/api.js +0 -64
  93. package/common/api/api.test.js +0 -68
  94. package/index.js.map +0 -1
  95. package/module.js +0 -23
  96. package/ol/controls/snapshots/RoutingControlRouteGen10.json +0 -58
  97. package/ol/controls/snapshots/RoutingControlRouteGen100.json +0 -292
  98. package/ol/controls/snapshots/RoutingControlRouteGen30.json +0 -69
  99. package/ol/controls/snapshots/RoutingControlRouteGen5.json +0 -58
  100. package/ol/controls/snapshots/RoutingControlRouteOSM.json +0 -759
  101. package/ol/controls/snapshots/RoutingControlStation1.json +0 -60
  102. package/ol/controls/snapshots/RoutingControlStation2.json +0 -49
@@ -1,44 +0,0 @@
1
- import API from '../../common/api/api';
2
-
3
- /**
4
- * Access to the [Routing service](https://developer.geops.io/apis/routing).
5
- *
6
- * @example
7
- * import { RoutingAPI } from 'mobility-toolbox-js/api';
8
- *
9
- * const api = new RoutingAPI({
10
- * apiKey: [yourApiKey]
11
- * });
12
- *
13
- */
14
- class RoutingAPI extends API {
15
- /**
16
- * Constructor
17
- *
18
- * @param {Object} options Options.
19
- * @param {string} [options.url='https://api.geops.io/routing/v1/'] Service url.
20
- * @param {string} options.apiKey Access key for [geOps services](https://developer.geops.io/).
21
- * @param {string} options.mot Mean of transport on load.
22
- */
23
- constructor(options = {}) {
24
- super({
25
- ...options,
26
- url: options.url || 'https://api.geops.io/routing/v1/',
27
- });
28
- }
29
-
30
- /**
31
- * Route.
32
- *
33
- * @param {RoutingSearchParams} params Request parameters. See [Routing service documentation](https://developer.geops.io/apis/routing/).
34
- * @param {AbortController} abortController Abort controller used to cancel the request.
35
- * @return {Promise<GeoJSONFeatureCollection>} An GeoJSON feature collection with coordinates in [EPSG:4326](http://epsg.io/4326).
36
- */
37
- route(params, abortController = new AbortController()) {
38
- return this.fetch('', params, {
39
- signal: abortController.signal,
40
- });
41
- }
42
- }
43
-
44
- export default RoutingAPI;
@@ -1,41 +0,0 @@
1
- import fetch from 'jest-fetch-mock';
2
- import RoutingAPI from './RoutingAPI';
3
-
4
- let api;
5
-
6
- describe('RoutingAPI', () => {
7
- beforeEach(() => {
8
- global.fetch = fetch;
9
- fetch.resetMocks();
10
-
11
- api = new RoutingAPI({ apiKey: 'apiKey' });
12
- });
13
-
14
- describe('#route', () => {
15
- test('should success', (done) => {
16
- fetch.mockResponseOnce(JSON.stringify(global.fetchRouteResponse));
17
-
18
- return api
19
- .route({
20
- mot: 'bus',
21
- via: '47.3739194713294,8.538274823394632|47.37595378493421,8.537490375951839',
22
- })
23
- .then((featureCollection) => {
24
- // Correct url
25
- expect(fetch.mock.calls[0][0]).toEqual(
26
- 'https://api.geops.io/routing/v1/?key=apiKey&mot=bus&via=47.3739194713294%2C8.538274823394632%7C47.37595378493421%2C8.537490375951839',
27
- );
28
-
29
- // Correct search result (for bus mot)
30
- expect(featureCollection.features[0].geometry.type).toEqual(
31
- 'LineString',
32
- );
33
- expect(featureCollection.features[0].properties.lines).toBeDefined();
34
- expect(
35
- featureCollection.features[0].properties.station_to,
36
- ).toBeDefined();
37
- done();
38
- });
39
- });
40
- });
41
- });
@@ -1,41 +0,0 @@
1
- import API from '../../common/api/api';
2
-
3
- /**
4
- * Access to the [Stops service](https://developer.geops.io/apis/5dcbd702a256d90001cf1361/).
5
- *
6
- * @example
7
- * import { StopsAPI } from 'mobility-toolbox-js/api';
8
- *
9
- * const api = new StopsAPI({
10
- * url: 'https://api.geops.io/stops/v1/',
11
- * apiKey: [yourApiKey]
12
- * });
13
- *
14
- */
15
- class StopsAPI extends API {
16
- /**
17
- * Constructor
18
- *
19
- * @param {Object} options Options.
20
- * @param {string} [options.url='https://api.geops.io/stops/v1/'] Service url.
21
- * @param {string} options.apiKey Access key for [geOps services](https://developer.geops.io/).
22
- */
23
- constructor(options = {}) {
24
- super({ url: 'https://api.geops.io/stops/v1/', ...options });
25
- }
26
-
27
- /**
28
- * Search.
29
- *
30
- * @param {StopsSearchParams} params Request parameters. See [Stops service documentation](https://developer.geops.io/apis/5dcbd702a256d90001cf1361/).
31
- * @param {AbortController} abortController Abort controller used to cancel the request.
32
- * @return {Promise<Array<GeoJSONFeature>>} An array of GeoJSON features with coordinates in [EPSG:4326](http://epsg.io/4326).
33
- */
34
- search(params, abortController = {}) {
35
- return this.fetch('', params, {
36
- signal: abortController.signal,
37
- }).then((featureCollection) => featureCollection.features);
38
- }
39
- }
40
-
41
- export default StopsAPI;
@@ -1,34 +0,0 @@
1
- import fetch from 'jest-fetch-mock';
2
- import StopsAPI from './StopsAPI';
3
-
4
- let api;
5
-
6
- describe('StopsAPI', () => {
7
- beforeEach(() => {
8
- global.fetch = fetch;
9
- fetch.resetMocks();
10
-
11
- api = new StopsAPI({ apiKey: 'apiKey' });
12
- });
13
-
14
- describe('#search', () => {
15
- test('should success', (done) => {
16
- fetch.mockResponseOnce(JSON.stringify(global.stopsSearchResponse));
17
-
18
- return api
19
- .search({
20
- q: 'Bern',
21
- })
22
- .then((features) => {
23
- // Correct url
24
- expect(fetch.mock.calls[0][0]).toEqual(
25
- 'https://api.geops.io/stops/v1/?key=apiKey&q=Bern',
26
- );
27
-
28
- // Correct search result
29
- expect(features[0].properties.name).toEqual('Bern');
30
- done();
31
- });
32
- });
33
- });
34
- });