mobility-toolbox-js 2.0.0-beta.32 → 2.0.0-beta.33

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 (210) hide show
  1. package/api/RealtimeAPI.d.ts +268 -0
  2. package/api/RealtimeAPI.d.ts.map +1 -0
  3. package/api/RoutingAPI.d.ts +33 -0
  4. package/api/RoutingAPI.d.ts.map +1 -0
  5. package/api/StopsAPI.d.ts +36 -0
  6. package/api/StopsAPI.d.ts.map +1 -0
  7. package/api/index.d.ts +5 -0
  8. package/api/index.d.ts.map +1 -0
  9. package/api/typedefs.d.ts +105 -0
  10. package/api/typedefs.d.ts.map +1 -0
  11. package/common/api/HttpAPI.d.ts +31 -0
  12. package/common/api/HttpAPI.d.ts.map +1 -0
  13. package/common/api/WebSocketAPI.d.ts +95 -0
  14. package/common/api/WebSocketAPI.d.ts.map +1 -0
  15. package/common/controls/Control.d.ts +74 -0
  16. package/common/controls/Control.d.ts.map +1 -0
  17. package/common/{index.js → index.d.ts} +1 -0
  18. package/common/index.d.ts.map +1 -0
  19. package/common/layers/Layer.d.ts +80 -0
  20. package/common/layers/Layer.d.ts.map +1 -0
  21. package/common/mixins/CopyrightMixin.d.ts +22 -0
  22. package/common/mixins/CopyrightMixin.d.ts.map +1 -0
  23. package/common/mixins/MapboxLayerMixin.d.ts +27 -0
  24. package/common/mixins/MapboxLayerMixin.d.ts.map +1 -0
  25. package/common/mixins/RealtimeLayerMixin.d.ts +58 -0
  26. package/common/mixins/RealtimeLayerMixin.d.ts.map +1 -0
  27. package/common/mixins/StopFinderMixin.d.ts +40 -0
  28. package/common/mixins/StopFinderMixin.d.ts.map +1 -0
  29. package/common/mixins/UserInteractionsLayerMixin.d.ts +42 -0
  30. package/common/mixins/UserInteractionsLayerMixin.d.ts.map +1 -0
  31. package/common/styles/{index.js → index.d.ts} +1 -0
  32. package/common/styles/index.d.ts.map +1 -0
  33. package/common/styles/realtimeDefaultStyle.d.ts +15 -0
  34. package/common/styles/realtimeDefaultStyle.d.ts.map +1 -0
  35. package/common/styles/realtimeDelayStyle.d.ts +11 -0
  36. package/common/styles/realtimeDelayStyle.d.ts.map +1 -0
  37. package/common/styles/realtimeSimpleStyle.d.ts +3 -0
  38. package/common/styles/realtimeSimpleStyle.d.ts.map +1 -0
  39. package/common/typedefs.d.ts +50 -0
  40. package/common/typedefs.d.ts.map +1 -0
  41. package/common/utils/cleanStopTime.d.ts +7 -0
  42. package/common/utils/cleanStopTime.d.ts.map +1 -0
  43. package/common/utils/compareDepartures.d.ts +9 -0
  44. package/common/utils/compareDepartures.d.ts.map +1 -0
  45. package/common/utils/createCanvas.d.ts +9 -0
  46. package/common/utils/createCanvas.d.ts.map +1 -0
  47. package/common/utils/createTrackerFilters.d.ts +12 -0
  48. package/common/utils/createTrackerFilters.d.ts.map +1 -0
  49. package/common/utils/getLayersAsFlatArray.d.ts +3 -0
  50. package/common/utils/getLayersAsFlatArray.d.ts.map +1 -0
  51. package/common/utils/getMapboxMapCopyrights.d.ts +8 -0
  52. package/common/utils/getMapboxMapCopyrights.d.ts.map +1 -0
  53. package/common/utils/getMapboxRender.d.ts +5 -0
  54. package/common/utils/getMapboxRender.d.ts.map +1 -0
  55. package/common/utils/getMaplibreRender.d.ts +5 -0
  56. package/common/utils/getMaplibreRender.d.ts.map +1 -0
  57. package/common/utils/getRealtimeModeSuffix.d.ts +8 -0
  58. package/common/utils/getRealtimeModeSuffix.d.ts.map +1 -0
  59. package/common/utils/getUrlWithParams.d.ts +9 -0
  60. package/common/utils/getUrlWithParams.d.ts.map +1 -0
  61. package/common/utils/getVehiclePosition.d.ts +14 -0
  62. package/common/utils/getVehiclePosition.d.ts.map +1 -0
  63. package/common/utils/{index.js → index.d.ts} +3 -0
  64. package/common/utils/index.d.ts.map +1 -0
  65. package/common/utils/removeDuplicate.d.ts +10 -0
  66. package/common/utils/removeDuplicate.d.ts.map +1 -0
  67. package/common/utils/renderTrajectories.d.ts +20 -0
  68. package/common/utils/renderTrajectories.d.ts.map +1 -0
  69. package/common/utils/sortByDelay.d.ts +3 -0
  70. package/common/utils/sortByDelay.d.ts.map +1 -0
  71. package/common/utils/timeUtils.d.ts +5 -0
  72. package/common/utils/timeUtils.d.ts.map +1 -0
  73. package/common/utils/trackerConfig.d.ts +24 -0
  74. package/common/utils/trackerConfig.d.ts.map +1 -0
  75. package/iife.d.ts +3 -0
  76. package/iife.d.ts.map +1 -0
  77. package/index.d.ts +6 -0
  78. package/index.d.ts.map +1 -0
  79. package/mapbox/controls/CopyrightControl.d.ts +32 -0
  80. package/mapbox/controls/CopyrightControl.d.ts.map +1 -0
  81. package/mapbox/controls/{index.js → index.d.ts} +1 -0
  82. package/mapbox/controls/index.d.ts.map +1 -0
  83. package/mapbox/{index.js → index.d.ts} +1 -0
  84. package/mapbox/index.d.ts.map +1 -0
  85. package/mapbox/layers/Layer.d.ts +47 -0
  86. package/mapbox/layers/Layer.d.ts.map +1 -0
  87. package/mapbox/layers/RealtimeLayer.d.ts +118 -0
  88. package/mapbox/layers/RealtimeLayer.d.ts.map +1 -0
  89. package/mapbox/layers/{index.js → index.d.ts} +1 -0
  90. package/mapbox/layers/index.d.ts.map +1 -0
  91. package/mapbox/utils.d.ts +8 -0
  92. package/mapbox/utils.d.ts.map +1 -0
  93. package/mbt.js +2049 -2106
  94. package/mbt.js.map +3 -3
  95. package/mbt.min.js +18 -18
  96. package/mbt.min.js.map +3 -3
  97. package/ol/controls/CopyrightControl.d.ts +31 -0
  98. package/ol/controls/CopyrightControl.d.ts.map +1 -0
  99. package/ol/controls/RoutingControl.d.ts +180 -0
  100. package/ol/controls/RoutingControl.d.ts.map +1 -0
  101. package/ol/controls/StopFinderControl.d.ts +32 -0
  102. package/ol/controls/StopFinderControl.d.ts.map +1 -0
  103. package/ol/controls/{index.js → index.d.ts} +1 -0
  104. package/ol/controls/index.d.ts.map +1 -0
  105. package/ol/{index.js → index.d.ts} +1 -0
  106. package/ol/index.d.ts.map +1 -0
  107. package/ol/layers/Layer.d.ts +49 -0
  108. package/ol/layers/Layer.d.ts.map +1 -0
  109. package/ol/layers/MapboxLayer.d.ts +42 -0
  110. package/ol/layers/MapboxLayer.d.ts.map +1 -0
  111. package/ol/layers/MapboxStyleLayer.d.ts +146 -0
  112. package/ol/layers/MapboxStyleLayer.d.ts.map +1 -0
  113. package/ol/layers/MaplibreLayer.d.ts +27 -0
  114. package/ol/layers/MaplibreLayer.d.ts.map +1 -0
  115. package/ol/layers/RealtimeLayer.d.ts +119 -0
  116. package/ol/layers/RealtimeLayer.d.ts.map +1 -0
  117. package/ol/layers/RoutingLayer.d.ts +24 -0
  118. package/ol/layers/RoutingLayer.d.ts.map +1 -0
  119. package/ol/layers/VectorLayer.d.ts +23 -0
  120. package/ol/layers/VectorLayer.d.ts.map +1 -0
  121. package/ol/layers/WMSLayer.d.ts +38 -0
  122. package/ol/layers/WMSLayer.d.ts.map +1 -0
  123. package/ol/layers/{index.js → index.d.ts} +1 -0
  124. package/ol/layers/index.d.ts.map +1 -0
  125. package/ol/styles/fullTrajectoryDelayStyle.d.ts +4 -0
  126. package/ol/styles/fullTrajectoryDelayStyle.d.ts.map +1 -0
  127. package/ol/styles/fullTrajectoryStyle.d.ts +4 -0
  128. package/ol/styles/fullTrajectoryStyle.d.ts.map +1 -0
  129. package/ol/styles/{index.js → index.d.ts} +1 -0
  130. package/ol/styles/index.d.ts.map +1 -0
  131. package/package.json +14 -36
  132. package/setupTests.d.ts +2 -0
  133. package/setupTests.d.ts.map +1 -0
  134. package/types/index.d.ts +7 -6
  135. package/types/routing.d.ts +25 -25
  136. package/types/stops.d.ts +19 -19
  137. package/api/RealtimeAPI.js +0 -357
  138. package/api/RealtimeAPI.test.js +0 -67
  139. package/api/RoutingAPI.js +0 -15
  140. package/api/RoutingAPI.test.js +0 -25
  141. package/api/StopsAPI.js +0 -12
  142. package/api/StopsAPI.test.js +0 -22
  143. package/api/index.js +0 -3
  144. package/api/typedefs.js +0 -0
  145. package/common/api/HttpAPI.js +0 -32
  146. package/common/api/HttpAPI.test.js +0 -50
  147. package/common/api/WebSocketAPI.js +0 -175
  148. package/common/api/WebSocketAPI.test.js +0 -311
  149. package/common/controls/Control.js +0 -81
  150. package/common/controls/Control.test.js +0 -87
  151. package/common/layers/Layer.js +0 -140
  152. package/common/layers/Layer.test.js +0 -134
  153. package/common/mixins/CopyrightMixin.js +0 -24
  154. package/common/mixins/RealtimeLayerMixin.js +0 -436
  155. package/common/mixins/StopFinderMixin.js +0 -110
  156. package/common/mixins/UserInteractionsLayerMixin.js +0 -124
  157. package/common/mixins/UserInteractionsLayerMixin.test.js +0 -199
  158. package/common/styles/realtimeDefaultStyle.js +0 -202
  159. package/common/styles/realtimeDelayStyle.js +0 -8
  160. package/common/styles/realtimeSimpleStyle.js +0 -18
  161. package/common/typedefs.js +0 -0
  162. package/common/utils/cleanStopTime.js +0 -19
  163. package/common/utils/compareDepartures.js +0 -25
  164. package/common/utils/createCanvas.js +0 -17
  165. package/common/utils/createTrackerFilters.js +0 -56
  166. package/common/utils/createTrackerFilters.test.js +0 -79
  167. package/common/utils/getLayersAsFlatArray.js +0 -14
  168. package/common/utils/getMapboxMapCopyrights.js +0 -19
  169. package/common/utils/getMapboxMapCopyrights.test.js +0 -40
  170. package/common/utils/getRealtimeModeSuffix.js +0 -2
  171. package/common/utils/getUrlWithParams.js +0 -11
  172. package/common/utils/getVehiclePosition.js +0 -42
  173. package/common/utils/removeDuplicate.js +0 -8
  174. package/common/utils/removeDuplicate.test.js +0 -19
  175. package/common/utils/renderTrajectories.js +0 -86
  176. package/common/utils/sortByDelay.js +0 -18
  177. package/common/utils/timeUtils.js +0 -20
  178. package/common/utils/timeUtils.test.js +0 -10
  179. package/common/utils/trackerConfig.js +0 -129
  180. package/common/utils/trackerConfig.test.js +0 -23
  181. package/index.js +0 -8
  182. package/mapbox/controls/CopyrightControl.js +0 -29
  183. package/mapbox/layers/Layer.js +0 -56
  184. package/mapbox/layers/Layer.test.js +0 -182
  185. package/mapbox/layers/RealtimeLayer.js +0 -185
  186. package/mapbox/layers/RealtimeLayer.test.js +0 -10
  187. package/mapbox/utils.js +0 -32
  188. package/ol/controls/CopyrightControl.js +0 -42
  189. package/ol/controls/CopyrightControl.test.js +0 -165
  190. package/ol/controls/RoutingControl.js +0 -388
  191. package/ol/controls/RoutingControl.test.js +0 -146
  192. package/ol/controls/StopFinderControl.js +0 -10
  193. package/ol/controls/StopFinderControl.test.js +0 -48
  194. package/ol/layers/Layer.js +0 -83
  195. package/ol/layers/Layer.test.js +0 -175
  196. package/ol/layers/MapboxLayer.js +0 -204
  197. package/ol/layers/MapboxLayer.test.js +0 -160
  198. package/ol/layers/MapboxStyleLayer.js +0 -187
  199. package/ol/layers/MapboxStyleLayer.test.js +0 -226
  200. package/ol/layers/MaplibreLayer.js +0 -140
  201. package/ol/layers/RealtimeLayer.js +0 -187
  202. package/ol/layers/RealtimeLayer.test.js +0 -67
  203. package/ol/layers/RoutingLayer.js +0 -61
  204. package/ol/layers/RoutingLayer.test.js +0 -39
  205. package/ol/layers/VectorLayer.js +0 -22
  206. package/ol/layers/VectorLayer.test.js +0 -76
  207. package/ol/layers/WMSLayer.js +0 -38
  208. package/ol/layers/WMSLayer.test.js +0 -57
  209. package/ol/styles/fullTrajectoryDelayStyle.js +0 -31
  210. package/ol/styles/fullTrajectoryStyle.js +0 -42
@@ -1,140 +0,0 @@
1
- import BaseObject from "ol/Object";
2
- import { v4 as uuid } from "uuid";
3
- import getLayersAsFlatArray from "../utils/getLayersAsFlatArray";
4
- export default class Layer extends BaseObject {
5
- constructor(options = {}) {
6
- super();
7
- this.defineProperties(options);
8
- this.setProperties(options.properties);
9
- this.visible = options.visible === void 0 ? true : !!options.visible;
10
- this.group = options.group;
11
- this.copyrights = options.copyrights;
12
- this.children = options.children;
13
- this.on(`change:visible:group`, (evt) => {
14
- if (this.group === evt.target.group && this !== evt.target && this.visible) {
15
- this.visible = false;
16
- } else if (this.children) {
17
- this.children.forEach((child) => child.dispatchEvent(evt));
18
- }
19
- });
20
- }
21
- defineProperties(options) {
22
- const { name, key, properties, hitTolerance } = {
23
- ...options
24
- };
25
- const uid = uuid();
26
- Object.defineProperties(this, {
27
- name: {
28
- value: name
29
- },
30
- key: {
31
- value: key || uid
32
- },
33
- group: {
34
- get: () => this.get("group"),
35
- set: (newGroup) => {
36
- this.set("group", newGroup);
37
- }
38
- },
39
- copyrights: {
40
- get: () => this.get("copyrights"),
41
- set: (newCopyrights) => {
42
- const arrValue = newCopyrights && !Array.isArray(newCopyrights) ? [newCopyrights] : newCopyrights;
43
- this.set("copyrights", arrValue || []);
44
- }
45
- },
46
- options: {
47
- value: options
48
- },
49
- map: {
50
- writable: true
51
- },
52
- visible: {
53
- get: () => this.get("visible"),
54
- set: (newVisible) => {
55
- if (newVisible === this.visible) {
56
- return;
57
- }
58
- this.set("visible", newVisible);
59
- if (this.visible) {
60
- if (this.parent && !this.parent.visible) {
61
- this.parent.visible = true;
62
- }
63
- if (this.children && this.children.find((child) => child.group)) {
64
- const child = this.children.find((childd) => !!childd.group);
65
- child.visible = true;
66
- }
67
- if (this.parent && this.group) {
68
- let higherParent = this.parent;
69
- while (higherParent.parent) {
70
- higherParent = higherParent.parent;
71
- }
72
- higherParent.dispatchEvent({
73
- type: `change:visible:group`,
74
- target: this
75
- });
76
- }
77
- } else if (!this.visible) {
78
- if (this.parent && this.parent.visible && !this.parent.children.find((child) => child.visible)) {
79
- this.parent.visible = false;
80
- }
81
- }
82
- }
83
- },
84
- disabled: {
85
- get: () => this.get("disabled"),
86
- set: (newValue) => {
87
- this.set("disabled", newValue);
88
- }
89
- },
90
- parent: {
91
- value: null,
92
- writable: true
93
- },
94
- children: {
95
- get: () => this.get("children") || [],
96
- set: (newValue) => {
97
- (this.children || []).forEach((child) => {
98
- child.parent = null;
99
- });
100
- if (Array.isArray(newValue)) {
101
- newValue.forEach((child) => {
102
- child.parent = this;
103
- });
104
- }
105
- this.set("children", newValue || []);
106
- }
107
- },
108
- hitTolerance: {
109
- value: hitTolerance || 5,
110
- writable: true
111
- },
112
- properties: {
113
- value: { ...properties || {} }
114
- }
115
- });
116
- }
117
- attachToMap(map) {
118
- this.detachFromMap();
119
- this.map = map;
120
- if (this.children) {
121
- this.children.forEach((child) => {
122
- child.attachToMap(map);
123
- });
124
- }
125
- }
126
- detachFromMap() {
127
- this.map = null;
128
- }
129
- getFeatureInfoAtCoordinate(coordinate, options) {
130
- console.error("getFeatureInfoAtCoordinate must be implemented by inheriting layers", this.key);
131
- return Promise.resolve({
132
- layer: this,
133
- features: [],
134
- coordinate
135
- });
136
- }
137
- flat() {
138
- return getLayersAsFlatArray(this);
139
- }
140
- }
@@ -1,134 +0,0 @@
1
- import VectorLayer from "ol/layer/Vector";
2
- import VectorSource from "ol/source/Vector";
3
- import Layer from "./Layer";
4
- const olLayer = new VectorLayer({ source: new VectorSource() });
5
- describe("Layer", () => {
6
- test("should initialize.", () => {
7
- const layer = new Layer({ name: "Layer", olLayer });
8
- expect(layer).toBeInstanceOf(Layer);
9
- });
10
- test("should define default properties.", () => {
11
- const options = {
12
- name: "Layer",
13
- key: "Layerkey",
14
- olLayer
15
- };
16
- const layer = new Layer(options);
17
- expect(layer).toBeInstanceOf(Layer);
18
- expect(layer.options).toEqual(options);
19
- expect(layer.name).toEqual(options.name);
20
- expect(layer.key).toEqual("Layerkey");
21
- expect(layer.hitTolerance).toBe(5);
22
- expect(layer.copyrights).toEqual([]);
23
- expect(layer.visible).toBe(true);
24
- expect(layer.properties).toEqual({});
25
- expect(layer.map).toBe(void 0);
26
- expect(layer.group).toBe(void 0);
27
- });
28
- test("should be visible by default.", () => {
29
- const layer = new Layer();
30
- expect(layer.visible).toBe(true);
31
- });
32
- test("should be hidden using constructor.", () => {
33
- const layer = new Layer({ visible: false });
34
- expect(layer.visible).toBe(false);
35
- });
36
- test("should be hidden using setter.", () => {
37
- const layer = new Layer();
38
- layer.visible = false;
39
- expect(layer.visible).toBe(false);
40
- });
41
- test("should visibility stay unchanged", () => {
42
- const layer = new Layer();
43
- layer.visible = false;
44
- expect(layer.visible).toBe(false);
45
- });
46
- test("should return its name.", () => {
47
- const layer = new Layer({ name: "Layer" });
48
- expect(layer.name).toEqual("Layer");
49
- });
50
- test("should called detachFromMap on initialization.", () => {
51
- const layer = new Layer();
52
- const spy = jest.spyOn(layer, "detachFromMap");
53
- layer.attachToMap();
54
- expect(spy).toHaveBeenCalledTimes(1);
55
- });
56
- test("should properties correctly set and get.", () => {
57
- const layer = new Layer({
58
- name: "Layer",
59
- olLayer,
60
- properties: {
61
- abc: "foo"
62
- }
63
- });
64
- expect(layer).toBeInstanceOf(Layer);
65
- expect(layer.get("abc")).toEqual("foo");
66
- layer.set("abc", "bar");
67
- expect(layer.get("abc")).toEqual("bar");
68
- });
69
- test("should set children", () => {
70
- const layer = new Layer({
71
- children: [new Layer(), new Layer()]
72
- });
73
- expect(layer.children.length).toBe(2);
74
- expect(layer.children[0].parent).toBe(layer);
75
- expect(layer.children[1].parent).toBe(layer);
76
- });
77
- test("should initialize copyrights property.", () => {
78
- const layer = new Layer({
79
- name: "Layer",
80
- olLayer,
81
- copyrights: ["&copy: copyright", "another copyright"]
82
- });
83
- expect(layer.copyrights[0]).toEqual("&copy: copyright");
84
- });
85
- test("should set and get copyright property.", () => {
86
- const layer = new Layer({
87
- name: "Layer",
88
- olLayer
89
- });
90
- expect(layer).toBeInstanceOf(Layer);
91
- expect(layer.copyright).toEqual(void 0);
92
- layer.copyright = "© OSM Contributors";
93
- expect(layer.copyright).toEqual("© OSM Contributors");
94
- });
95
- describe("#attachToMap()", () => {
96
- test("should set map.", () => {
97
- const layer = new Layer({
98
- name: "Layer",
99
- olLayer
100
- });
101
- expect(layer.map).toBe(void 0);
102
- const obj = {};
103
- layer.attachToMap(obj);
104
- expect(layer.map).toBe(obj);
105
- });
106
- test("should call terminate.", () => {
107
- const layer = new Layer({
108
- name: "Layer",
109
- olLayer
110
- });
111
- const spy = jest.spyOn(layer, "detachFromMap");
112
- layer.attachToMap();
113
- expect(spy).toHaveBeenCalledTimes(1);
114
- });
115
- });
116
- describe("#getFeatureInfoAtCoordinate()", () => {
117
- test("return an empty fetaureInfo object and display an error message", (done) => {
118
- console.error = jest.fn();
119
- const layer = new Layer({
120
- name: "Layer",
121
- olLayer
122
- });
123
- const coord = [0, 0];
124
- layer.getFeatureInfoAtCoordinate(coord).then((featureInfo) => {
125
- expect(featureInfo.features).toEqual([]);
126
- expect(featureInfo.layer).toEqual(layer);
127
- expect(featureInfo.coordinate).toEqual(coord);
128
- expect(console.error).toHaveBeenCalledTimes(1);
129
- done();
130
- console.error.mockRestore();
131
- });
132
- });
133
- });
134
- });
@@ -1,24 +0,0 @@
1
- export class CopyrightInterface {
2
- getCopyrights() {
3
- }
4
- }
5
- const CopyrightMixin = (Base) => class extends Base {
6
- render() {
7
- if (!this.element) {
8
- return;
9
- }
10
- this.element.innerHTML = this.active ? this.getCopyrights().join(" | ") : "";
11
- }
12
- createDefaultElement() {
13
- this.element = document.createElement("div");
14
- this.element.id = "mbt-copyright";
15
- Object.assign(this.element.style, {
16
- position: "absolute",
17
- bottom: 0,
18
- right: 0,
19
- fontSize: ".8rem",
20
- padding: "0 10px"
21
- });
22
- }
23
- };
24
- export default CopyrightMixin;