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.
- package/api/RoutingAPI.js +15 -0
- package/api/RoutingAPI.test.js +25 -0
- package/api/StopsAPI.js +12 -0
- package/api/StopsAPI.test.js +22 -0
- package/api/TralisAPI.js +359 -0
- package/api/TralisAPI.test.js +67 -0
- package/api/{tralis/TralisAPIUtils.js → TralisAPIUtils.js} +2 -32
- package/api/index.js +3 -3
- package/{ol/README.md → api/typedefs.js} +0 -0
- package/common/Tracker.js +14 -118
- package/common/api/HttpAPI.js +30 -0
- package/common/api/HttpAPI.test.js +50 -0
- package/common/api/WebSocketAPI.js +175 -0
- package/{api/tralis/WebSocketConnector.test.js → common/api/WebSocketAPI.test.js} +100 -145
- package/common/controls/Control.js +26 -91
- package/common/controls/Control.test.js +32 -43
- package/common/index.js +4 -0
- package/common/layers/Layer.js +53 -244
- package/common/layers/Layer.test.js +185 -244
- package/common/mixins/CopyrightMixin.js +20 -44
- package/common/mixins/SearchMixin.js +100 -166
- package/common/mixins/TralisLayerMixin.js +443 -894
- package/common/styles/index.js +4 -4
- package/common/styles/trackerDefaultStyle.js +39 -175
- package/common/styles/trackerDelayStyle.js +2 -11
- package/common/styles/trackerSimpleStyle.js +4 -8
- package/common/trackerConfig.js +61 -99
- package/common/trackerConfig.test.js +15 -17
- package/common/typedefs.js +0 -23
- package/common/utils/createTrackerFilters.js +10 -41
- package/common/utils/createTrackerFilters.test.js +40 -56
- package/common/utils/getMapboxMapCopyrights.js +3 -16
- package/common/utils/getMapboxMapCopyrights.test.js +32 -39
- package/common/utils/getMapboxStyleUrl.js +3 -13
- package/common/utils/getVehiclePosition.js +3 -33
- package/common/utils/index.js +5 -6
- package/common/utils/removeDuplicate.js +3 -17
- package/common/utils/removeDuplicate.test.js +17 -20
- package/common/utils/sortByDelay.js +2 -7
- package/common/utils/timeUtils.js +8 -32
- package/common/utils/timeUtils.test.js +7 -13
- package/index.js +8 -2
- package/mapbox/controls/CopyrightControl.js +9 -38
- package/mapbox/controls/index.js +1 -0
- package/mapbox/index.js +4 -3
- package/mapbox/layers/Layer.js +15 -76
- package/mapbox/layers/Layer.test.js +81 -101
- package/mapbox/layers/TralisLayer.js +46 -193
- package/mapbox/layers/TralisLayer.test.js +12 -14
- package/mapbox/layers/index.js +2 -0
- package/mapbox/utils.js +7 -21
- package/mbt.js +50444 -0
- package/mbt.js.map +7 -0
- package/mbt.min.js +1005 -0
- package/mbt.min.js.map +7 -0
- package/ol/controls/CopyrightControl.js +8 -46
- package/ol/controls/CopyrightControl.test.js +75 -121
- package/ol/controls/RoutingControl.js +167 -532
- package/ol/controls/RoutingControl.test.js +99 -164
- package/ol/controls/StopFinderControl.js +3 -31
- package/ol/controls/StopFinderControl.test.js +18 -29
- package/ol/controls/index.js +3 -0
- package/ol/index.js +5 -13
- package/ol/layers/Layer.js +23 -128
- package/ol/layers/Layer.test.js +79 -102
- package/ol/layers/MapboxLayer.js +62 -237
- package/ol/layers/MapboxLayer.test.js +58 -84
- package/ol/layers/MapboxStyleLayer.js +38 -268
- package/ol/layers/MapboxStyleLayer.test.js +97 -128
- package/ol/layers/MaplibreLayer.js +46 -187
- package/ol/layers/RoutingLayer.js +21 -51
- package/ol/layers/RoutingLayer.test.js +15 -24
- package/ol/layers/TralisLayer.js +102 -276
- package/ol/layers/TralisLayer.test.js +32 -50
- package/ol/layers/VectorLayer.js +3 -24
- package/ol/layers/VectorLayer.test.js +34 -45
- package/ol/layers/WMSLayer.js +15 -57
- package/ol/layers/WMSLayer.test.js +35 -43
- package/ol/layers/index.js +8 -0
- package/ol/styles/fullTrajectoryDelayStyle.js +11 -15
- package/ol/styles/fullTrajectoryStyle.js +17 -25
- package/ol/styles/index.js +2 -2
- package/package.json +35 -62
- package/api/routing/RoutingAPI.js +0 -44
- package/api/routing/RoutingAPI.test.js +0 -41
- package/api/stops/StopsAPI.js +0 -41
- package/api/stops/StopsAPI.test.js +0 -34
- package/api/tralis/TralisAPI.js +0 -731
- package/api/tralis/TralisAPI.test.js +0 -75
- package/api/tralis/WebSocketConnector.js +0 -338
- package/api/tralis/typedefs.js +0 -81
- package/common/api/api.js +0 -64
- package/common/api/api.test.js +0 -68
- package/index.js.map +0 -1
- package/module.js +0 -23
- package/ol/controls/snapshots/RoutingControlRouteGen10.json +0 -58
- package/ol/controls/snapshots/RoutingControlRouteGen100.json +0 -292
- package/ol/controls/snapshots/RoutingControlRouteGen30.json +0 -69
- package/ol/controls/snapshots/RoutingControlRouteGen5.json +0 -58
- package/ol/controls/snapshots/RoutingControlRouteOSM.json +0 -759
- package/ol/controls/snapshots/RoutingControlStation1.json +0 -60
- 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
|
-
});
|
package/api/stops/StopsAPI.js
DELETED
|
@@ -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
|
-
});
|