mobility-toolbox-js 3.0.0-beta.16 → 3.0.0-beta.18

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/HttpAPI.js CHANGED
@@ -36,7 +36,6 @@ class HttpAPI {
36
36
  // Clean requets parameters, removing undefined and null values.
37
37
  const searchParams = params || {};
38
38
  const url = getUrlWithParams(`${this.url}${path || ''}`, Object.assign({ key: this.apiKey }, searchParams));
39
- fetch;
40
39
  const response = yield fetch(url.toString(), config);
41
40
  const data = yield response.json();
42
41
  if (data.error) {
@@ -3,7 +3,7 @@ import { EventsKey } from 'ol/events';
3
3
  import { Coordinate } from 'ol/coordinate';
4
4
  import { Options } from 'ol/layer/Layer';
5
5
  import { RealtimeAPI } from '../../api';
6
- import { AnyCanvas, AnyLayerClass, AnyMap, AnyRealtimeLayer, LayerGetFeatureInfoOptions, RealtimeGeneralizationLevel, RealtimeMode, RealtimeMot, RealtimeRenderState, RealtimeStyleFunction, RealtimeStyleOptions, RealtimeTenant, RealtimeTrainId, ViewState, AnyLayer, LayerGetFeatureInfoResponse, RealtimeTrajectory } from '../../types';
6
+ import { AnyCanvas, AnyMap, AnyRealtimeLayer, LayerGetFeatureInfoOptions, RealtimeGeneralizationLevel, RealtimeMode, RealtimeMot, RealtimeRenderState, RealtimeStyleFunction, RealtimeStyleOptions, RealtimeTenant, RealtimeTrainId, ViewState, AnyLayer, LayerGetFeatureInfoResponse, RealtimeTrajectory, AnyLayerable } from '../../types';
7
7
  import { WebSocketAPIMessageEventData } from '../../api/WebSocketAPI';
8
8
  import { FilterFunction, SortFunction } from '../typedefs';
9
9
  export type RealtimeLayerMixinOptions = Options & {
@@ -85,45 +85,46 @@ export declare class RealtimeLayerInterface {
85
85
  * @return {Class} A class that implements {RealtimeLayerInterface} class and extends Base;
86
86
  * @private
87
87
  */
88
- declare function RealtimeLayerMixin<T extends AnyLayerClass>(Base: T): {
88
+ declare function RealtimeLayerMixin<T extends AnyLayerable>(Base: T): {
89
89
  new (options: RealtimeLayerMixinOptions): {
90
90
  [x: string]: any;
91
+ [x: symbol]: any;
91
92
  debug: boolean;
92
93
  trajectories?: {
93
- [key: string]: RealtimeTrajectory;
94
- } | undefined;
95
- canvas?: AnyCanvas | undefined;
94
+ [key: RealtimeTrainId]: RealtimeTrajectory;
95
+ };
96
+ canvas?: AnyCanvas;
96
97
  mode: RealtimeMode;
97
98
  api: RealtimeAPI;
98
99
  tenant: RealtimeTenant;
99
100
  bboxParameters?: {
100
- [index: string]: string | number | boolean | string[] | number[] | boolean[];
101
- } | undefined;
102
- time?: Date | undefined;
103
- live?: boolean | undefined;
104
- speed?: number | undefined;
105
- filter?: Function | undefined;
106
- sort?: Function | undefined;
107
- style?: RealtimeStyleFunction | undefined;
108
- styleOptions?: RealtimeStyleOptions | undefined;
109
- pixelRatio?: number | undefined;
101
+ [index: string]: string | number | boolean | string[] | boolean[] | number[];
102
+ };
103
+ time?: Date;
104
+ live?: boolean;
105
+ speed?: number;
106
+ filter?: FilterFunction;
107
+ sort?: SortFunction;
108
+ style?: RealtimeStyleFunction;
109
+ styleOptions?: RealtimeStyleOptions;
110
+ pixelRatio?: number;
110
111
  minZoomInterpolation: number;
111
112
  isUpdateBboxOnMoveEnd: boolean;
112
- hoverVehicleId?: string | undefined;
113
- selectedVehicleId?: string | undefined;
114
- renderState?: RealtimeRenderState | undefined;
115
- useRequestAnimationFrame?: boolean | undefined;
116
- useDebounce?: boolean | undefined;
117
- useThrottle?: boolean | undefined;
118
- mots?: RealtimeMot[] | undefined;
113
+ hoverVehicleId?: RealtimeTrainId;
114
+ selectedVehicleId?: RealtimeTrainId;
115
+ renderState?: RealtimeRenderState;
116
+ useRequestAnimationFrame?: boolean;
117
+ useDebounce?: boolean;
118
+ useThrottle?: boolean;
119
+ mots?: RealtimeMot[];
119
120
  motsByZoom: RealtimeMot[][];
120
- generalizationLevel?: RealtimeGeneralizationLevel | undefined;
121
+ generalizationLevel?: RealtimeGeneralizationLevel;
121
122
  generalizationLevelByZoom: RealtimeGeneralizationLevel[];
122
123
  renderTimeIntervalByZoom: number[];
123
124
  format: GeoJSON;
124
- requestId?: number | undefined;
125
- updateTimeInterval?: number | undefined;
126
- updateTimeDelay?: number | undefined;
125
+ requestId?: number;
126
+ updateTimeInterval?: number;
127
+ updateTimeDelay?: number;
127
128
  visibilityRef: EventsKey;
128
129
  selectedVehicle: RealtimeTrajectory;
129
130
  getMotsByZoom: (zoom: number) => RealtimeMot[];
@@ -131,8 +132,8 @@ declare function RealtimeLayerMixin<T extends AnyLayerClass>(Base: T): {
131
132
  getRenderTimeIntervalByZoom: (zoom: number) => number;
132
133
  throttleRenderTrajectories: (viewState: ViewState, noInterpolate?: boolean) => void;
133
134
  debounceRenderTrajectories: (viewState: ViewState, noInterpolate?: boolean) => void;
134
- onStart?: ((realtimeLayer: AnyLayer) => void) | undefined;
135
- onStop?: ((realtimeLayer: AnyLayer) => void) | undefined;
135
+ onStart?: (realtimeLayer: AnyLayer) => void;
136
+ onStop?: (realtimeLayer: AnyLayer) => void;
136
137
  /**
137
138
  * Define layer's properties.
138
139
  *
@@ -473,9 +473,9 @@ function RealtimeLayerMixin(Base) {
473
473
  zoomFloor,
474
474
  ];
475
475
  /* @private */
476
- const generalizationLevel = this.getGeneralizationLevelByZoom(zoomFloor);
476
+ this.generalizationLevel = this.getGeneralizationLevelByZoom(zoomFloor);
477
477
  if (this.generalizationLevel) {
478
- bbox.push(`gen=${generalizationLevel}`);
478
+ bbox.push(`gen=${this.generalizationLevel}`);
479
479
  }
480
480
  /* @private */
481
481
  this.mots = this.getMotsByZoom(zoomFloor);
@@ -14,11 +14,11 @@ export type ViewState = {
14
14
  /**
15
15
  * An Extent in mercator coordinates.
16
16
  */
17
- extent: any;
17
+ extent: number[4];
18
18
  /**
19
19
  * A size ([width, height]).
20
20
  */
21
- size: any;
21
+ size: number[2];
22
22
  /**
23
23
  * A rotation in radians.
24
24
  */
@@ -48,7 +48,7 @@ export type FeatureInfo = {
48
48
  /**
49
49
  * The coordinate where to find the featue.
50
50
  */
51
- coordinate: any;
51
+ coordinate: number[2];
52
52
  };
53
53
  export type MaplibreLayerOptions = {
54
54
  /**
@@ -136,7 +136,7 @@ export type VehiclePosition = {
136
136
  /**
137
137
  * Coordinate of the vehicle position in Mercator .
138
138
  */
139
- coord: any;
139
+ coord: number[2];
140
140
  /**
141
141
  * An angle in radians representing the direction (from the true north) towards which the vehicle is facing.
142
142
  */
@@ -2,62 +2,59 @@ import { RealtimeLayerMixinOptions } from '../../common/mixins/RealtimeLayerMixi
2
2
  import Layer, { LayerOptions } from './Layer';
3
3
  import type { AnyMapGlMap, ViewState } from '../../types';
4
4
  import type { RealtimeTrajectory } from '../../api/typedefs';
5
+ import { FilterFunction, SortFunction } from '../../common/typedefs';
5
6
  export type RealtimeLayerOptions = LayerOptions & RealtimeLayerMixinOptions;
6
7
  declare const RealtimeLayer_base: {
7
8
  new (options: RealtimeLayerMixinOptions): {
8
9
  [x: string]: any;
10
+ [x: symbol]: any;
9
11
  debug: boolean;
10
12
  trajectories?: {
11
13
  [key: string]: import("../../types").RealtimeTrajectory;
12
14
  } | undefined;
13
- canvas?: import("../../types").AnyCanvas | undefined;
15
+ canvas?: import("../../types").AnyCanvas;
14
16
  mode: import("../../types").RealtimeMode;
15
17
  api: import("..").RealtimeAPI;
16
- tenant: string;
18
+ tenant: import("../../types").RealtimeTenant;
17
19
  bboxParameters?: {
18
20
  [index: string]: string | number | boolean | string[] | number[] | boolean[];
19
21
  } | undefined;
20
- time?: Date | undefined;
21
- live?: boolean | undefined;
22
- speed?: number | undefined;
23
- filter?: Function | undefined;
24
- sort?: Function | undefined;
25
- style?: import("../../types").RealtimeStyleFunction | undefined;
26
- styleOptions?: import("../../types").RealtimeStyleOptions | undefined;
27
- pixelRatio?: number | undefined;
22
+ time?: Date;
23
+ live?: boolean;
24
+ speed?: number;
25
+ filter?: FilterFunction;
26
+ sort?: SortFunction;
27
+ style?: import("../../types").RealtimeStyleFunction;
28
+ styleOptions?: import("../../types").RealtimeStyleOptions;
29
+ pixelRatio?: number;
28
30
  minZoomInterpolation: number;
29
31
  isUpdateBboxOnMoveEnd: boolean;
30
- hoverVehicleId?: string | undefined;
31
- selectedVehicleId?: string | undefined;
32
- renderState?: import("../../types").RealtimeRenderState | undefined;
33
- useRequestAnimationFrame?: boolean | undefined;
34
- useDebounce?: boolean | undefined;
35
- useThrottle?: boolean | undefined;
36
- mots?: import("../../types").RealtimeMot[] | undefined;
32
+ hoverVehicleId?: import("../../types").RealtimeTrainId;
33
+ selectedVehicleId?: import("../../types").RealtimeTrainId;
34
+ renderState?: import("../../types").RealtimeRenderState;
35
+ useRequestAnimationFrame?: boolean;
36
+ useDebounce?: boolean;
37
+ useThrottle?: boolean;
38
+ mots?: import("../../types").RealtimeMot[];
37
39
  motsByZoom: import("../../types").RealtimeMot[][];
38
- generalizationLevel?: import("../../types").RealtimeGeneralizationLevel | undefined;
40
+ generalizationLevel?: import("../../types").RealtimeGeneralizationLevel;
39
41
  generalizationLevelByZoom: import("../../types").RealtimeGeneralizationLevel[];
40
42
  renderTimeIntervalByZoom: number[];
41
- format: import("ol/format").GeoJSON<typeof import("ol").Feature>;
42
- requestId?: number | undefined;
43
- updateTimeInterval?: number | undefined;
44
- updateTimeDelay?: number | undefined;
43
+ format: import("ol/format").GeoJSON;
44
+ requestId?: number;
45
+ updateTimeInterval?: number;
46
+ updateTimeDelay?: number;
45
47
  visibilityRef: import("ol/events").EventsKey;
46
- /**
47
- * Render the trajectories using current map's size, resolution and rotation.
48
- * @param {boolean} noInterpolate if true, renders the vehicles without interpolating theirs positions.
49
- * @private
50
- */
51
48
  selectedVehicle: import("../../types").RealtimeTrajectory;
52
49
  getMotsByZoom: (zoom: number) => import("../../types").RealtimeMot[];
53
50
  getGeneralizationLevelByZoom: (zoom: number) => import("../../types").RealtimeGeneralizationLevel;
54
51
  getRenderTimeIntervalByZoom: (zoom: number) => number;
55
- throttleRenderTrajectories: (viewState: ViewState, noInterpolate?: boolean | undefined) => void;
56
- debounceRenderTrajectories: (viewState: ViewState, noInterpolate?: boolean | undefined) => void;
57
- onStart?: ((realtimeLayer: any) => void) | undefined;
58
- onStop?: ((realtimeLayer: any) => void) | undefined;
52
+ throttleRenderTrajectories: (viewState: ViewState, noInterpolate?: boolean) => void;
53
+ debounceRenderTrajectories: (viewState: ViewState, noInterpolate?: boolean) => void;
54
+ onStart?: ((realtimeLayer: import("../../types").AnyLayer) => void) | undefined;
55
+ onStop?: ((realtimeLayer: import("../../types").AnyLayer) => void) | undefined;
59
56
  defineProperties(options: RealtimeLayerMixinOptions): void;
60
- attachToMap(map: any): void;
57
+ attachToMap(map: import("../../types").AnyMap): void;
61
58
  detachFromMap(): void;
62
59
  start(): void;
63
60
  startUpdateTime(): void;
@@ -67,22 +64,22 @@ declare const RealtimeLayer_base: {
67
64
  renderTrajectories(viewState: ViewState | undefined, noInterpolate: boolean | undefined): void;
68
65
  setBbox(extent: [number, number, number, number], zoom: number): void;
69
66
  getRefreshTimeInMs(zoom?: number | undefined): number;
70
- getVehicle(filterFc: Function): import("../../types").RealtimeTrajectory[];
67
+ getVehicle(filterFc: FilterFunction): import("../../types").RealtimeTrajectory[];
71
68
  getFeatureInfoAtCoordinate(coordinate: import("ol/coordinate").Coordinate, options: import("../../types").LayerGetFeatureInfoOptions): Promise<import("../../types").LayerGetFeatureInfoResponse>;
72
- getTrajectoryInfos(id: string): Promise<{
69
+ getTrajectoryInfos(id: import("../../types").RealtimeTrainId): Promise<{
73
70
  stopSequence: import("../../api/WebSocketAPI").WebSocketAPIMessageEventData<import("../../types").RealtimeFullTrajectory> | import("../../api/WebSocketAPI").WebSocketAPIMessageEventData<import("../../types").RealtimeStopSequence[]>;
74
71
  fullTrajectory: import("../../api/WebSocketAPI").WebSocketAPIMessageEventData<import("../../types").RealtimeFullTrajectory> | import("../../api/WebSocketAPI").WebSocketAPIMessageEventData<import("../../types").RealtimeStopSequence[]>;
75
72
  }>;
76
73
  purgeOutOfDateTrajectories(): void;
77
74
  purgeTrajectory(trajectory: import("../../types").RealtimeTrajectory, extent: [number, number, number, number], zoom: number): boolean;
78
75
  addTrajectory(trajectory: import("../../types").RealtimeTrajectory): void;
79
- removeTrajectory(trajectoryOrId: string | import("../../types").RealtimeTrajectory): void;
76
+ removeTrajectory(trajectoryOrId: import("../../types").RealtimeTrajectory | import("../../types").RealtimeTrainId): void;
80
77
  onZoomEnd(): void;
81
78
  onDocumentVisibilityChange(): void;
82
79
  onTrajectoryMessage(data: import("../../api/WebSocketAPI").WebSocketAPIMessageEventData<import("../../types").RealtimeTrajectory>): void;
83
- onDeleteTrajectoryMessage(data: import("../../api/WebSocketAPI").WebSocketAPIMessageEventData<string>): void;
84
- highlightVehicle(id: string): void;
85
- selectVehicle(id: string): void;
80
+ onDeleteTrajectoryMessage(data: import("../../api/WebSocketAPI").WebSocketAPIMessageEventData<import("../../types").RealtimeTrainId>): void;
81
+ highlightVehicle(id: import("../../types").RealtimeTrainId): void;
82
+ selectVehicle(id: import("../../types").RealtimeTrainId): void;
86
83
  };
87
84
  } & typeof Layer;
88
85
  /**