mobility-toolbox-js 2.0.0-beta.30 → 2.0.0-beta.34

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 (225) hide show
  1. package/api/RealtimeAPI.d.ts +268 -0
  2. package/api/RealtimeAPI.d.ts.map +1 -0
  3. package/api/RealtimeAPI.js +626 -343
  4. package/api/RoutingAPI.d.ts +33 -0
  5. package/api/RoutingAPI.d.ts.map +1 -0
  6. package/api/RoutingAPI.js +65 -15
  7. package/api/StopsAPI.d.ts +36 -0
  8. package/api/StopsAPI.d.ts.map +1 -0
  9. package/api/StopsAPI.js +70 -12
  10. package/api/index.d.ts +5 -0
  11. package/api/index.d.ts.map +1 -0
  12. package/api/index.js +10 -3
  13. package/api/typedefs.d.ts +105 -0
  14. package/api/typedefs.d.ts.map +1 -0
  15. package/api/typedefs.js +72 -0
  16. package/common/api/HttpAPI.d.ts +31 -0
  17. package/common/api/HttpAPI.d.ts.map +1 -0
  18. package/common/api/HttpAPI.js +82 -30
  19. package/common/api/WebSocketAPI.d.ts +95 -0
  20. package/common/api/WebSocketAPI.d.ts.map +1 -0
  21. package/common/api/WebSocketAPI.js +313 -168
  22. package/common/controls/Control.d.ts +74 -0
  23. package/common/controls/Control.d.ts.map +1 -0
  24. package/common/controls/Control.js +167 -78
  25. package/common/index.d.ts +3 -0
  26. package/common/index.d.ts.map +1 -0
  27. package/common/index.js +18 -2
  28. package/common/layers/Layer.d.ts +80 -0
  29. package/common/layers/Layer.d.ts.map +1 -0
  30. package/common/layers/Layer.js +251 -134
  31. package/common/mixins/CopyrightMixin.d.ts +22 -0
  32. package/common/mixins/CopyrightMixin.d.ts.map +1 -0
  33. package/common/mixins/CopyrightMixin.js +70 -22
  34. package/common/mixins/MapboxLayerMixin.d.ts +27 -0
  35. package/common/mixins/MapboxLayerMixin.d.ts.map +1 -0
  36. package/common/mixins/MapboxLayerMixin.js +240 -0
  37. package/common/mixins/RealtimeLayerMixin.d.ts +58 -0
  38. package/common/mixins/RealtimeLayerMixin.d.ts.map +1 -0
  39. package/common/mixins/RealtimeLayerMixin.js +698 -429
  40. package/common/mixins/StopFinderMixin.d.ts +40 -0
  41. package/common/mixins/StopFinderMixin.d.ts.map +1 -0
  42. package/common/mixins/StopFinderMixin.js +195 -107
  43. package/common/mixins/UserInteractionsLayerMixin.d.ts +42 -0
  44. package/common/mixins/UserInteractionsLayerMixin.d.ts.map +1 -0
  45. package/common/mixins/UserInteractionsLayerMixin.js +222 -121
  46. package/common/styles/index.d.ts +5 -0
  47. package/common/styles/index.d.ts.map +1 -0
  48. package/common/styles/index.js +24 -4
  49. package/common/styles/realtimeDefaultStyle.d.ts +15 -0
  50. package/common/styles/realtimeDefaultStyle.d.ts.map +1 -0
  51. package/common/styles/realtimeDefaultStyle.js +236 -190
  52. package/common/styles/realtimeDelayStyle.d.ts +11 -0
  53. package/common/styles/realtimeDelayStyle.d.ts.map +1 -0
  54. package/common/styles/realtimeDelayStyle.js +25 -7
  55. package/common/styles/realtimeSimpleStyle.d.ts +3 -0
  56. package/common/styles/realtimeSimpleStyle.d.ts.map +1 -0
  57. package/common/styles/realtimeSimpleStyle.js +23 -17
  58. package/common/typedefs.d.ts +50 -0
  59. package/common/typedefs.d.ts.map +1 -0
  60. package/common/typedefs.js +21 -0
  61. package/common/utils/cleanStopTime.d.ts +7 -0
  62. package/common/utils/cleanStopTime.d.ts.map +1 -0
  63. package/common/utils/cleanStopTime.js +28 -17
  64. package/common/utils/compareDepartures.d.ts +9 -0
  65. package/common/utils/compareDepartures.d.ts.map +1 -0
  66. package/common/utils/compareDepartures.js +34 -22
  67. package/common/utils/createCanvas.d.ts +9 -0
  68. package/common/utils/createCanvas.d.ts.map +1 -0
  69. package/common/utils/createCanvas.js +28 -16
  70. package/common/utils/createTrackerFilters.d.ts +12 -0
  71. package/common/utils/createTrackerFilters.d.ts.map +1 -0
  72. package/common/utils/createTrackerFilters.js +75 -54
  73. package/common/utils/getLayersAsFlatArray.d.ts +3 -0
  74. package/common/utils/getLayersAsFlatArray.d.ts.map +1 -0
  75. package/common/utils/getLayersAsFlatArray.js +15 -13
  76. package/common/utils/getMapboxMapCopyrights.d.ts +8 -0
  77. package/common/utils/getMapboxMapCopyrights.d.ts.map +1 -0
  78. package/common/utils/getMapboxMapCopyrights.js +24 -17
  79. package/common/utils/getMapboxRender.d.ts +5 -0
  80. package/common/utils/getMapboxRender.d.ts.map +1 -0
  81. package/common/utils/getMapboxRender.js +77 -0
  82. package/common/utils/getMaplibreRender.d.ts +5 -0
  83. package/common/utils/getMaplibreRender.d.ts.map +1 -0
  84. package/common/utils/getMaplibreRender.js +38 -0
  85. package/common/utils/getRealtimeModeSuffix.d.ts +8 -0
  86. package/common/utils/getRealtimeModeSuffix.d.ts.map +1 -0
  87. package/common/utils/getRealtimeModeSuffix.js +11 -2
  88. package/common/utils/getUrlWithParams.d.ts +9 -0
  89. package/common/utils/getUrlWithParams.d.ts.map +1 -0
  90. package/common/utils/getUrlWithParams.js +20 -10
  91. package/common/utils/getVehiclePosition.d.ts +14 -0
  92. package/common/utils/getVehiclePosition.d.ts.map +1 -0
  93. package/common/utils/getVehiclePosition.js +63 -39
  94. package/common/utils/index.d.ts +12 -0
  95. package/common/utils/index.d.ts.map +1 -0
  96. package/common/utils/index.js +37 -9
  97. package/common/utils/removeDuplicate.d.ts +10 -0
  98. package/common/utils/removeDuplicate.d.ts.map +1 -0
  99. package/common/utils/removeDuplicate.js +29 -7
  100. package/common/utils/renderTrajectories.d.ts +20 -0
  101. package/common/utils/renderTrajectories.d.ts.map +1 -0
  102. package/common/utils/renderTrajectories.js +111 -78
  103. package/common/utils/sortByDelay.d.ts +3 -0
  104. package/common/utils/sortByDelay.d.ts.map +1 -0
  105. package/common/utils/sortByDelay.js +21 -17
  106. package/common/utils/timeUtils.d.ts +5 -0
  107. package/common/utils/timeUtils.d.ts.map +1 -0
  108. package/common/utils/timeUtils.js +47 -18
  109. package/common/utils/trackerConfig.d.ts +24 -0
  110. package/common/utils/trackerConfig.d.ts.map +1 -0
  111. package/common/utils/trackerConfig.js +171 -118
  112. package/iife.d.ts +3 -0
  113. package/iife.d.ts.map +1 -0
  114. package/iife.js +7 -0
  115. package/index.d.ts +6 -0
  116. package/index.d.ts.map +1 -0
  117. package/index.js +10 -7
  118. package/mapbox/controls/CopyrightControl.d.ts +32 -0
  119. package/mapbox/controls/CopyrightControl.d.ts.map +1 -0
  120. package/mapbox/controls/CopyrightControl.js +72 -28
  121. package/mapbox/controls/index.d.ts +2 -0
  122. package/mapbox/controls/index.d.ts.map +1 -0
  123. package/mapbox/controls/index.js +6 -1
  124. package/mapbox/index.d.ts +5 -0
  125. package/mapbox/index.d.ts.map +1 -0
  126. package/mapbox/index.js +20 -4
  127. package/mapbox/layers/Layer.d.ts +47 -0
  128. package/mapbox/layers/Layer.d.ts.map +1 -0
  129. package/mapbox/layers/Layer.js +137 -54
  130. package/mapbox/layers/RealtimeLayer.d.ts +118 -0
  131. package/mapbox/layers/RealtimeLayer.d.ts.map +1 -0
  132. package/mapbox/layers/RealtimeLayer.js +310 -183
  133. package/mapbox/layers/index.d.ts +3 -0
  134. package/mapbox/layers/index.d.ts.map +1 -0
  135. package/mapbox/layers/index.js +7 -2
  136. package/mapbox/utils.d.ts +8 -0
  137. package/mapbox/utils.d.ts.map +1 -0
  138. package/mapbox/utils.js +54 -29
  139. package/mbt.js +2052 -2109
  140. package/mbt.js.map +3 -3
  141. package/mbt.min.js +18 -18
  142. package/mbt.min.js.map +3 -3
  143. package/ol/controls/CopyrightControl.d.ts +31 -0
  144. package/ol/controls/CopyrightControl.d.ts.map +1 -0
  145. package/ol/controls/CopyrightControl.js +89 -41
  146. package/ol/controls/RoutingControl.d.ts +180 -0
  147. package/ol/controls/RoutingControl.d.ts.map +1 -0
  148. package/ol/controls/RoutingControl.js +666 -371
  149. package/ol/controls/StopFinderControl.d.ts +32 -0
  150. package/ol/controls/StopFinderControl.d.ts.map +1 -0
  151. package/ol/controls/StopFinderControl.js +59 -10
  152. package/ol/controls/index.d.ts +4 -0
  153. package/ol/controls/index.d.ts.map +1 -0
  154. package/ol/controls/index.js +9 -3
  155. package/ol/index.d.ts +6 -0
  156. package/ol/index.d.ts.map +1 -0
  157. package/ol/index.js +21 -5
  158. package/ol/layers/Layer.d.ts +49 -0
  159. package/ol/layers/Layer.d.ts.map +1 -0
  160. package/ol/layers/Layer.js +178 -81
  161. package/ol/layers/MapboxLayer.d.ts +42 -0
  162. package/ol/layers/MapboxLayer.d.ts.map +1 -0
  163. package/ol/layers/MapboxLayer.js +131 -198
  164. package/ol/layers/MapboxStyleLayer.d.ts +146 -0
  165. package/ol/layers/MapboxStyleLayer.d.ts.map +1 -0
  166. package/ol/layers/MapboxStyleLayer.js +382 -186
  167. package/ol/layers/MaplibreLayer.d.ts +27 -0
  168. package/ol/layers/MaplibreLayer.d.ts.map +1 -0
  169. package/ol/layers/MaplibreLayer.js +67 -138
  170. package/ol/layers/RealtimeLayer.d.ts +119 -0
  171. package/ol/layers/RealtimeLayer.d.ts.map +1 -0
  172. package/ol/layers/RealtimeLayer.js +327 -184
  173. package/ol/layers/RoutingLayer.d.ts +24 -0
  174. package/ol/layers/RoutingLayer.d.ts.map +1 -0
  175. package/ol/layers/RoutingLayer.js +111 -56
  176. package/ol/layers/VectorLayer.d.ts +23 -0
  177. package/ol/layers/VectorLayer.d.ts.map +1 -0
  178. package/ol/layers/VectorLayer.js +71 -21
  179. package/ol/layers/WMSLayer.d.ts +38 -0
  180. package/ol/layers/WMSLayer.d.ts.map +1 -0
  181. package/ol/layers/WMSLayer.js +105 -37
  182. package/ol/layers/index.d.ts +9 -0
  183. package/ol/layers/index.d.ts.map +1 -0
  184. package/ol/layers/index.js +19 -8
  185. package/ol/styles/fullTrajectoryDelayStyle.d.ts +4 -0
  186. package/ol/styles/fullTrajectoryDelayStyle.d.ts.map +1 -0
  187. package/ol/styles/fullTrajectoryDelayStyle.js +32 -28
  188. package/ol/styles/fullTrajectoryStyle.d.ts +4 -0
  189. package/ol/styles/fullTrajectoryStyle.d.ts.map +1 -0
  190. package/ol/styles/fullTrajectoryStyle.js +44 -40
  191. package/ol/styles/index.d.ts +3 -0
  192. package/ol/styles/index.d.ts.map +1 -0
  193. package/ol/styles/index.js +7 -2
  194. package/package.json +14 -36
  195. package/setupTests.d.ts +2 -0
  196. package/setupTests.d.ts.map +1 -0
  197. package/setupTests.js +15 -0
  198. package/types/index.d.ts +7 -6
  199. package/types/routing.d.ts +25 -25
  200. package/types/stops.d.ts +19 -19
  201. package/api/RealtimeAPI.test.js +0 -67
  202. package/api/RoutingAPI.test.js +0 -25
  203. package/api/StopsAPI.test.js +0 -22
  204. package/common/api/HttpAPI.test.js +0 -50
  205. package/common/api/WebSocketAPI.test.js +0 -311
  206. package/common/controls/Control.test.js +0 -87
  207. package/common/layers/Layer.test.js +0 -134
  208. package/common/mixins/UserInteractionsLayerMixin.test.js +0 -199
  209. package/common/utils/createTrackerFilters.test.js +0 -79
  210. package/common/utils/getMapboxMapCopyrights.test.js +0 -40
  211. package/common/utils/removeDuplicate.test.js +0 -19
  212. package/common/utils/timeUtils.test.js +0 -10
  213. package/common/utils/trackerConfig.test.js +0 -23
  214. package/mapbox/layers/Layer.test.js +0 -182
  215. package/mapbox/layers/RealtimeLayer.test.js +0 -10
  216. package/ol/controls/CopyrightControl.test.js +0 -165
  217. package/ol/controls/RoutingControl.test.js +0 -146
  218. package/ol/controls/StopFinderControl.test.js +0 -48
  219. package/ol/layers/Layer.test.js +0 -175
  220. package/ol/layers/MapboxLayer.test.js +0 -160
  221. package/ol/layers/MapboxStyleLayer.test.js +0 -226
  222. package/ol/layers/RealtimeLayer.test.js +0 -67
  223. package/ol/layers/RoutingLayer.test.js +0 -39
  224. package/ol/layers/VectorLayer.test.js +0 -76
  225. package/ol/layers/WMSLayer.test.js +0 -57
@@ -0,0 +1,33 @@
1
+ import HttpAPI, { HttpApiOptions } from '../common/api/HttpAPI';
2
+ import { RoutingParameters, RoutingResponse } from '../../types';
3
+ /**
4
+ * Access to the [geOps Routing service](https://developer.geops.io/apis/routing).
5
+ *
6
+ * @example
7
+ * import { RoutingAPI } from 'mobility-toolbox-js';
8
+ *
9
+ * const api = new RoutingAPI({
10
+ * apiKey: [yourApiKey]
11
+ * });
12
+ *
13
+ */
14
+ declare class RoutingAPI extends HttpAPI {
15
+ /**
16
+ * Constructor
17
+ *
18
+ * @param {RoutingAPIOptions} 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
+ */
22
+ constructor(options: HttpApiOptions);
23
+ /**
24
+ * Route.
25
+ *
26
+ * @param {RoutingParameters} params Request parameters. See [Routing service documentation](https://developer.geops.io/apis/routing/).
27
+ * @param {RequestInit} config Options for the fetch request.
28
+ * @return {Promise<RoutingResponse>} An GeoJSON feature collection with coordinates in [EPSG:4326](http://epsg.io/4326).
29
+ */
30
+ route(params: RoutingParameters, config: RequestInit): Promise<RoutingResponse>;
31
+ }
32
+ export default RoutingAPI;
33
+ //# sourceMappingURL=RoutingAPI.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoutingAPI.d.ts","sourceRoot":"","sources":["../../src/api/RoutingAPI.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,EAAE,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEjE;;;;;;;;;;GAUG;AACH,cAAM,UAAW,SAAQ,OAAO;IAC9B;;;;;;OAMG;gBACS,OAAO,EAAE,cAAc;IAOnC;;;;;;OAMG;IACH,KAAK,CACH,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,eAAe,CAAC;CAG5B;AAED,eAAe,UAAU,CAAC"}
package/api/RoutingAPI.js CHANGED
@@ -1,15 +1,65 @@
1
- import HttpAPI from "../common/api/HttpAPI";
2
- class RoutingAPI extends HttpAPI {
3
- constructor(options = {}) {
4
- super({
5
- url: "https://api.geops.io/routing/v1/",
6
- ...options
7
- });
8
- }
9
- route(params, abortController = new AbortController()) {
10
- return this.fetch("", params, {
11
- signal: abortController.signal
12
- });
13
- }
14
- }
15
- export default RoutingAPI;
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __assign = (this && this.__assign) || function () {
18
+ __assign = Object.assign || function(t) {
19
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
20
+ s = arguments[i];
21
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
+ t[p] = s[p];
23
+ }
24
+ return t;
25
+ };
26
+ return __assign.apply(this, arguments);
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ var HttpAPI_1 = require("../common/api/HttpAPI");
30
+ /**
31
+ * Access to the [geOps Routing service](https://developer.geops.io/apis/routing).
32
+ *
33
+ * @example
34
+ * import { RoutingAPI } from 'mobility-toolbox-js';
35
+ *
36
+ * const api = new RoutingAPI({
37
+ * apiKey: [yourApiKey]
38
+ * });
39
+ *
40
+ */
41
+ var RoutingAPI = /** @class */ (function (_super) {
42
+ __extends(RoutingAPI, _super);
43
+ /**
44
+ * Constructor
45
+ *
46
+ * @param {RoutingAPIOptions} options Options.
47
+ * @param {string} [options.url='https://api.geops.io/routing/v1/'] Service url.
48
+ * @param {string} options.apiKey Access key for [geOps services](https://developer.geops.io/).
49
+ */
50
+ function RoutingAPI(options) {
51
+ return _super.call(this, __assign({ url: 'https://api.geops.io/routing/v1/' }, (options || {}))) || this;
52
+ }
53
+ /**
54
+ * Route.
55
+ *
56
+ * @param {RoutingParameters} params Request parameters. See [Routing service documentation](https://developer.geops.io/apis/routing/).
57
+ * @param {RequestInit} config Options for the fetch request.
58
+ * @return {Promise<RoutingResponse>} An GeoJSON feature collection with coordinates in [EPSG:4326](http://epsg.io/4326).
59
+ */
60
+ RoutingAPI.prototype.route = function (params, config) {
61
+ return this.fetch('', params, config);
62
+ };
63
+ return RoutingAPI;
64
+ }(HttpAPI_1.default));
65
+ exports.default = RoutingAPI;
@@ -0,0 +1,36 @@
1
+ export default StopsAPI;
2
+ /**
3
+ * Access to the [Stops service](https://developer.geops.io/apis/5dcbd702a256d90001cf1361/).
4
+ *
5
+ * @example
6
+ * import { StopsAPI } from 'mobility-toolbox-js/api';
7
+ *
8
+ * const api = new StopsAPI({
9
+ * url: 'https://api.geops.io/stops/v1/',
10
+ * apiKey: [yourApiKey]
11
+ * });
12
+ *
13
+ */
14
+ declare class StopsAPI extends HttpAPI {
15
+ /**
16
+ * Constructor
17
+ *
18
+ * @param {Object} options Options.
19
+ * @param {string} [options.url='https://api.geops.io/stops/v1/'] Service url.
20
+ * @param {string} options.apiKey Access key for [geOps services](https://developer.geops.io/).
21
+ */
22
+ constructor(options?: {
23
+ url?: string;
24
+ apiKey: string;
25
+ });
26
+ /**
27
+ * Search.
28
+ *
29
+ * @param {StopsSearchParams} params Request parameters. See [Stops service documentation](https://developer.geops.io/apis/5dcbd702a256d90001cf1361/).
30
+ * @param {AbortController} abortController Abort controller used to cancel the request.
31
+ * @return {Promise<GeoJSONFeatureCollection>} An GeoJSON feature collection with coordinates in [EPSG:4326](http://epsg.io/4326).
32
+ */
33
+ search(params: StopsSearchParams, abortController?: AbortController): Promise<GeoJSONFeatureCollection>;
34
+ }
35
+ import HttpAPI from "../common/api/HttpAPI";
36
+ //# sourceMappingURL=StopsAPI.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StopsAPI.d.ts","sourceRoot":"","sources":["../../src/api/StopsAPI.js"],"names":[],"mappings":";AAEA;;;;;;;;;;;GAWG;AACH;IACE;;;;;;OAMG;IACH;QAH4B,GAAG,GAApB,MAAM;QACU,MAAM,EAAtB,MAAM;OAIhB;IAED;;;;;;OAMG;IACH,oDAHW,eAAe,GACd,iCAAiC,CAM5C;CACF"}
package/api/StopsAPI.js CHANGED
@@ -1,12 +1,70 @@
1
- import HttpAPI from "../common/api/HttpAPI";
2
- class StopsAPI extends HttpAPI {
3
- constructor(options = {}) {
4
- super({ url: "https://api.geops.io/stops/v1/", ...options });
5
- }
6
- search(params, abortController = {}) {
7
- return this.fetch("", params, {
8
- signal: abortController.signal
9
- });
10
- }
11
- }
12
- export default StopsAPI;
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __assign = (this && this.__assign) || function () {
18
+ __assign = Object.assign || function(t) {
19
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
20
+ s = arguments[i];
21
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
+ t[p] = s[p];
23
+ }
24
+ return t;
25
+ };
26
+ return __assign.apply(this, arguments);
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ var HttpAPI_1 = require("../common/api/HttpAPI");
30
+ /**
31
+ * Access to the [Stops service](https://developer.geops.io/apis/5dcbd702a256d90001cf1361/).
32
+ *
33
+ * @example
34
+ * import { StopsAPI } from 'mobility-toolbox-js/api';
35
+ *
36
+ * const api = new StopsAPI({
37
+ * url: 'https://api.geops.io/stops/v1/',
38
+ * apiKey: [yourApiKey]
39
+ * });
40
+ *
41
+ */
42
+ var StopsAPI = /** @class */ (function (_super) {
43
+ __extends(StopsAPI, _super);
44
+ /**
45
+ * Constructor
46
+ *
47
+ * @param {Object} options Options.
48
+ * @param {string} [options.url='https://api.geops.io/stops/v1/'] Service url.
49
+ * @param {string} options.apiKey Access key for [geOps services](https://developer.geops.io/).
50
+ */
51
+ function StopsAPI(options) {
52
+ if (options === void 0) { options = {}; }
53
+ return _super.call(this, __assign({ url: 'https://api.geops.io/stops/v1/' }, options)) || this;
54
+ }
55
+ /**
56
+ * Search.
57
+ *
58
+ * @param {StopsSearchParams} params Request parameters. See [Stops service documentation](https://developer.geops.io/apis/5dcbd702a256d90001cf1361/).
59
+ * @param {AbortController} abortController Abort controller used to cancel the request.
60
+ * @return {Promise<GeoJSONFeatureCollection>} An GeoJSON feature collection with coordinates in [EPSG:4326](http://epsg.io/4326).
61
+ */
62
+ StopsAPI.prototype.search = function (params, abortController) {
63
+ if (abortController === void 0) { abortController = {}; }
64
+ return this.fetch('', params, {
65
+ signal: abortController.signal,
66
+ });
67
+ };
68
+ return StopsAPI;
69
+ }(HttpAPI_1.default));
70
+ exports.default = StopsAPI;
package/api/index.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ declare module '.';
2
+ export { default as RoutingAPI } from './RoutingAPI';
3
+ export { default as StopsAPI } from './StopsAPI';
4
+ export { default as RealtimeAPI, RealtimeModes } from './RealtimeAPI';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,GAAG,CAAC;AAEnB,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC"}
package/api/index.js CHANGED
@@ -1,3 +1,10 @@
1
- export { default as RoutingAPI } from "./RoutingAPI";
2
- export { default as StopsAPI } from "./StopsAPI";
3
- export { default as RealtimeAPI, RealtimeModes } from "./RealtimeAPI";
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RealtimeModes = exports.RealtimeAPI = exports.StopsAPI = exports.RoutingAPI = void 0;
4
+ var RoutingAPI_1 = require("./RoutingAPI");
5
+ Object.defineProperty(exports, "RoutingAPI", { enumerable: true, get: function () { return RoutingAPI_1.default; } });
6
+ var StopsAPI_1 = require("./StopsAPI");
7
+ Object.defineProperty(exports, "StopsAPI", { enumerable: true, get: function () { return StopsAPI_1.default; } });
8
+ var RealtimeAPI_1 = require("./RealtimeAPI");
9
+ Object.defineProperty(exports, "RealtimeAPI", { enumerable: true, get: function () { return RealtimeAPI_1.default; } });
10
+ Object.defineProperty(exports, "RealtimeModes", { enumerable: true, get: function () { return RealtimeAPI_1.RealtimeModes; } });
@@ -0,0 +1,105 @@
1
+ type Departure = {
2
+ /**
3
+ * Timestamp in ms.
4
+ */
5
+ time: number;
6
+ no_stop_between: boolean;
7
+ train_number: number;
8
+ to: string[];
9
+ /**
10
+ * Timestamp in ms.
11
+ */
12
+ ris_aimed_time: number;
13
+ /**
14
+ * Timestamp in ms.
15
+ */
16
+ updated_at: number;
17
+ new_to: boolean;
18
+ /**
19
+ * Timestamp in ms.
20
+ */
21
+ min_arrival_time: number;
22
+ /**
23
+ * List of next stops. Like value in at_station_ds100.
24
+ */
25
+ next_stoppoints: string[];
26
+ /**
27
+ * Timestamp in ms.
28
+ */
29
+ ris_estimated_time: number;
30
+ line: NetworkLine;
31
+ /**
32
+ * if true this departure has realtime data.
33
+ */
34
+ has_fzo: boolean;
35
+ train_id: number;
36
+ platform: string;
37
+ state: any | null;
38
+ /**
39
+ * Timestamp in ms.
40
+ */
41
+ fzo_estimated_time: number;
42
+ formation: any | null;
43
+ no_stop_till: any | null;
44
+ train_type: number;
45
+ call_id: number;
46
+ /**
47
+ * Timestamp in ms.
48
+ */
49
+ created_at: string;
50
+ at_station_ds100: string;
51
+ /**
52
+ * Timestamp in ms.
53
+ */
54
+ timediff: number;
55
+ };
56
+ type Station = GeoJSONFeature;
57
+ type StationProperties = {
58
+ transfers: Transfer[];
59
+ elevatorOutOfOrder: boolean;
60
+ uic: number;
61
+ name: string;
62
+ networkLines: NetworkLine[];
63
+ hasElevator: boolean;
64
+ hasZOB: boolean;
65
+ hasAccessibility: boolean;
66
+ type: string;
67
+ };
68
+ type NetworkLine = {
69
+ /**
70
+ * Identifier of the line.
71
+ */
72
+ id: number;
73
+ /**
74
+ * Color of the line (CSS color string).
75
+ */
76
+ color: string;
77
+ /**
78
+ * Stroke color of the line (CSS color string).
79
+ */
80
+ stroke: string;
81
+ /**
82
+ * Name of the line.
83
+ */
84
+ name: string;
85
+ /**
86
+ * Text color of the line (CSS color string).
87
+ */
88
+ text_color: string;
89
+ };
90
+ type Transfer = {
91
+ /**
92
+ * Mode of transportation (ex: U-Bahn).
93
+ */
94
+ mot: string;
95
+ /**
96
+ * Array of lines name (ex: ["U4", "U5"]).
97
+ */
98
+ lines: string[];
99
+ };
100
+ type StopSequence = GeoJSONFeature;
101
+ type RealtimeTrajectory = GeoJSONFeature;
102
+ type FullTrajectory = GeoJSONFeature;
103
+ type Vehicle = GeoJSONFeature;
104
+ type ExtraGeom = GeoJSONFeature;
105
+ //# sourceMappingURL=typedefs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typedefs.d.ts","sourceRoot":"","sources":["../../src/api/typedefs.js"],"names":[],"mappings":";;;;UAEc,MAAM;qBACN,OAAO;kBACP,MAAM;QACN,MAAM,EAAE;;;;oBACR,MAAM;;;;gBACN,MAAM;YACN,OAAO;;;;sBACP,MAAM;;;;qBACN,MAAM,EAAE;;;;wBACR,MAAM;UACN,WAAW;;;;aACX,OAAO;cACP,MAAM;cACN,MAAM;;;;;wBAEN,MAAM;;;gBAGN,MAAM;aACN,MAAM;;;;gBACN,MAAM;sBACN,MAAM;;;;cACN,MAAM;;;;eAYN,QAAQ,EAAE;wBACV,OAAO;SACP,MAAM;UACN,MAAM;kBACN,WAAW,EAAE;iBACb,OAAO;YACP,OAAO;sBACP,OAAO;UACP,MAAM;;;;;;QAKN,MAAM;;;;WACN,MAAM;;;;YACN,MAAM;;;;UACN,MAAM;;;;gBACN,MAAM;;;;;;SAKN,MAAM;;;;WACN,MAAM,EAAE"}
package/api/typedefs.js CHANGED
@@ -0,0 +1,72 @@
1
+ /**
2
+ * @typedef {Object} Departure
3
+ * @property {number} time Timestamp in ms.
4
+ * @property {boolean} no_stop_between
5
+ * @property {number} train_number
6
+ * @property {string[]} to
7
+ * @property {number} ris_aimed_time Timestamp in ms.
8
+ * @property {number} updated_at Timestamp in ms.
9
+ * @property {boolean} new_to
10
+ * @property {number} min_arrival_time Timestamp in ms.
11
+ * @property {string[]} next_stoppoints List of next stops. Like value in at_station_ds100.
12
+ * @property {number} ris_estimated_time Timestamp in ms.
13
+ * @property {NetworkLine} line
14
+ * @property {boolean} has_fzo if true this departure has realtime data.
15
+ * @property {number} train_id
16
+ * @property {string} platform
17
+ * @property {?*} state
18
+ * @property {number} fzo_estimated_time Timestamp in ms.
19
+ * @property {?*} formation
20
+ * @property {?*} no_stop_till
21
+ * @property {number} train_type
22
+ * @property {number} call_id
23
+ * @property {string} created_at Timestamp in ms.
24
+ * @property {string} at_station_ds100
25
+ * @property {number} timediff Timestamp in ms.
26
+ *
27
+ */
28
+ /**
29
+ * @typedef {GeoJSONFeature} Station
30
+ * @property {StationProperties} properties Returns the station's properties.
31
+ * @property {GeoJSONPoint} geometry Returns a point.
32
+ */
33
+ /**
34
+ * @typedef {Object} StationProperties
35
+ * @property {Transfer[]} transfers
36
+ * @property {boolean} elevatorOutOfOrder
37
+ * @property {number} uic
38
+ * @property {string} name
39
+ * @property {NetworkLine[]} networkLines
40
+ * @property {boolean} hasElevator
41
+ * @property {boolean} hasZOB
42
+ * @property {boolean} hasAccessibility
43
+ * @property {string} type
44
+ */
45
+ /**
46
+ * @typedef {Object} NetworkLine
47
+ * @property {number} id Identifier of the line.
48
+ * @property {string} color Color of the line (CSS color string).
49
+ * @property {string} stroke Stroke color of the line (CSS color string).
50
+ * @property {string} name Name of the line.
51
+ * @property {string} text_color Text color of the line (CSS color string).
52
+ */
53
+ /**
54
+ * @typedef {Object} Transfer
55
+ * @property {string} mot Mode of transportation (ex: U-Bahn).
56
+ * @property {string[]} lines Array of lines name (ex: ["U4", "U5"]).
57
+ */
58
+ /**
59
+ * @typedef {GeoJSONFeature} StopSequence
60
+ */
61
+ /**
62
+ * @typedef {GeoJSONFeature} RealtimeTrajectory
63
+ */
64
+ /**
65
+ * @typedef {GeoJSONFeature} FullTrajectory
66
+ */
67
+ /**
68
+ * @typedef {GeoJSONFeature} Vehicle
69
+ */
70
+ /**
71
+ * @typedef {GeoJSONFeature} ExtraGeom
72
+ */
@@ -0,0 +1,31 @@
1
+ import BaseObject from 'ol/Object';
2
+ export declare type HttpApiOptions = {
3
+ url: string;
4
+ apiKey?: string;
5
+ };
6
+ /**
7
+ * Common class to access to a geOps api using http.
8
+ *
9
+ * @example
10
+ * import { API } from 'mobility-toolbox-js/api';
11
+ *
12
+ * const api = new HttpApi({
13
+ * url: [yourUrl],
14
+ * apiKey: [yourApiKey]
15
+ * });
16
+ *
17
+ * @classproperty {string} url Url of the service.
18
+ * @classproperty {string} apiKey Api key to access the service.
19
+ */
20
+ declare class HttpAPI extends BaseObject {
21
+ url: string;
22
+ apiKey?: string;
23
+ constructor(options: HttpApiOptions);
24
+ /**
25
+ * Append the apiKey before sending the request.
26
+ * @ignore
27
+ */
28
+ fetch(path: string, params: Object, config: RequestInit): Promise<any>;
29
+ }
30
+ export default HttpAPI;
31
+ //# sourceMappingURL=HttpAPI.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpAPI.d.ts","sourceRoot":"","sources":["../../../src/common/api/HttpAPI.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,WAAW,CAAC;AAGnC,oBAAY,cAAc,GAAG;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AACF;;;;;;;;;;;;;GAaG;AACH,cAAM,OAAQ,SAAQ,UAAU;IAC9B,GAAG,EAAE,MAAM,CAAC;IAEZ,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEJ,OAAO,EAAE,cAAc;IASnC;;;OAGG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC;CA6BvE;AAED,eAAe,OAAO,CAAC"}
@@ -1,32 +1,84 @@
1
- import BaseObject from "ol/Object";
2
- import getUrlWithParams from "../utils/getUrlWithParams";
3
- class HttpAPI extends BaseObject {
4
- constructor(options = {}) {
5
- super();
6
- this.url = options.url;
7
- this.apiKey = options.apiKey;
8
- }
9
- fetch(path, params, config) {
10
- if (!this.apiKey && !/key=/.test(this.url)) {
11
- return Promise.reject(new Error(`No apiKey defined for request to ${this.url}`));
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __assign = (this && this.__assign) || function () {
18
+ __assign = Object.assign || function(t) {
19
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
20
+ s = arguments[i];
21
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
+ t[p] = s[p];
23
+ }
24
+ return t;
25
+ };
26
+ return __assign.apply(this, arguments);
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ var Object_1 = require("ol/Object");
30
+ var getUrlWithParams_1 = require("../utils/getUrlWithParams");
31
+ /**
32
+ * Common class to access to a geOps api using http.
33
+ *
34
+ * @example
35
+ * import { API } from 'mobility-toolbox-js/api';
36
+ *
37
+ * const api = new HttpApi({
38
+ * url: [yourUrl],
39
+ * apiKey: [yourApiKey]
40
+ * });
41
+ *
42
+ * @classproperty {string} url Url of the service.
43
+ * @classproperty {string} apiKey Api key to access the service.
44
+ */
45
+ var HttpAPI = /** @class */ (function (_super) {
46
+ __extends(HttpAPI, _super);
47
+ function HttpAPI(options) {
48
+ var _this = _super.call(this) || this;
49
+ /** @ignore */
50
+ _this.url = options.url;
51
+ /** @ignore */
52
+ _this.apiKey = options.apiKey;
53
+ return _this;
12
54
  }
13
- const searchParams = params || {};
14
- const url = getUrlWithParams(`${this.url}${path || ""}`, {
15
- key: this.apiKey,
16
- ...searchParams
17
- });
18
- return fetch(url.toString(), config).then((response) => {
19
- try {
20
- return response.json().then((data) => {
21
- if (data.error) {
22
- throw new Error(data.error);
23
- }
24
- return data;
55
+ /**
56
+ * Append the apiKey before sending the request.
57
+ * @ignore
58
+ */
59
+ HttpAPI.prototype.fetch = function (path, params, config) {
60
+ if (!this.apiKey && !/key=/.test(this.url)) {
61
+ // eslint-disable-next-line no-console
62
+ return Promise.reject(new Error("No apiKey defined for request to ".concat(this.url)));
63
+ }
64
+ // Clean requets parameters, removing undefined and null values.
65
+ var searchParams = params || {};
66
+ var url = (0, getUrlWithParams_1.default)("".concat(this.url).concat(path || ''), __assign({ key: this.apiKey }, searchParams));
67
+ // We use toString because of TYpeScript bug that only accept a string in fetch method.
68
+ return fetch(url.toString(), config).then(function (response) {
69
+ try {
70
+ return response.json().then(function (data) {
71
+ if (data.error) {
72
+ throw new Error(data.error);
73
+ }
74
+ return data;
75
+ });
76
+ }
77
+ catch (err) {
78
+ return Promise.reject(new Error(err));
79
+ }
25
80
  });
26
- } catch (err) {
27
- return Promise.reject(new Error(err));
28
- }
29
- });
30
- }
31
- }
32
- export default HttpAPI;
81
+ };
82
+ return HttpAPI;
83
+ }(Object_1.default));
84
+ exports.default = HttpAPI;