mobility-toolbox-js 3.0.0-beta.2 → 3.0.0-beta.20

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 (125) hide show
  1. package/api/HttpAPI.d.ts +20 -0
  2. package/api/HttpAPI.js +0 -11
  3. package/api/RealtimeAPI.d.ts +404 -0
  4. package/api/RealtimeAPI.js +344 -276
  5. package/api/RoutingAPI.d.ts +47 -0
  6. package/api/RoutingAPI.js +17 -7
  7. package/api/StopsAPI.d.ts +44 -0
  8. package/api/StopsAPI.js +16 -10
  9. package/api/WebSocketAPI.d.ts +147 -0
  10. package/api/WebSocketAPI.js +164 -164
  11. package/api/index.d.ts +3 -0
  12. package/api/index.js +1 -1
  13. package/api/typedefs.d.ts +76 -0
  14. package/api/typedefs.js +27 -42
  15. package/common/controls/StopFinderControlCommon.d.ts +53 -0
  16. package/common/controls/StopFinderControlCommon.js +31 -31
  17. package/common/index.d.ts +2 -0
  18. package/common/index.js +1 -1
  19. package/common/mixins/RealtimeLayerMixin.d.ts +267 -0
  20. package/common/mixins/RealtimeLayerMixin.js +401 -393
  21. package/common/styles/index.d.ts +4 -0
  22. package/common/styles/realtimeDefaultStyle.d.ts +36 -0
  23. package/common/styles/realtimeDefaultStyle.js +6 -6
  24. package/common/styles/realtimeDelayStyle.d.ts +12 -0
  25. package/common/styles/realtimeHeadingStyle.d.ts +12 -0
  26. package/common/styles/realtimeHeadingStyle.js +5 -5
  27. package/common/styles/realtimeSimpleStyle.d.ts +4 -0
  28. package/common/typedefs.d.ts +219 -0
  29. package/common/typedefs.js +7 -1
  30. package/common/utils/compareDepartures.d.ts +10 -0
  31. package/common/utils/compareDepartures.js +2 -2
  32. package/common/utils/constants.d.ts +5 -0
  33. package/common/utils/createCanvas.d.ts +10 -0
  34. package/common/utils/createDefaultCopyrightElt.d.ts +5 -0
  35. package/common/utils/createDefaultStopFinderElt.d.ts +5 -0
  36. package/common/utils/createRealtimeFilters.d.ts +12 -0
  37. package/common/utils/debounceDeparturesMessages.d.ts +12 -0
  38. package/common/utils/debounceWebsocketMessages.d.ts +11 -0
  39. package/common/utils/getLayersAsFlatArray.d.ts +3 -0
  40. package/common/utils/getLayersAsFlatArray.js +5 -1
  41. package/common/utils/getMapGlCopyrights.d.ts +17 -0
  42. package/common/utils/getMapGlCopyrights.js +3 -3
  43. package/common/utils/getRealtimeModeSuffix.d.ts +10 -0
  44. package/common/utils/getRealtimeModeSuffix.js +1 -0
  45. package/common/utils/getUrlWithParams.d.ts +8 -0
  46. package/common/utils/getVehiclePosition.d.ts +17 -0
  47. package/common/utils/getVehiclePosition.js +9 -3
  48. package/common/utils/index.d.ts +16 -0
  49. package/common/utils/realtimeConfig.d.ts +64 -0
  50. package/common/utils/removeDuplicate.d.ts +9 -0
  51. package/common/utils/renderTrajectories.d.ts +16 -0
  52. package/common/utils/renderTrajectories.js +6 -6
  53. package/common/utils/sortAndFilterDepartures.d.ts +15 -0
  54. package/common/utils/sortAndFilterDepartures.js +1 -1
  55. package/common/utils/sortByDelay.d.ts +3 -0
  56. package/common/utils/sortByDelay.js +5 -1
  57. package/common/utils/timeUtils.d.ts +23 -0
  58. package/common/utils/toMercatorExtent.d.ts +5 -0
  59. package/iife.d.ts +2 -0
  60. package/index.d.ts +9 -0
  61. package/maplibre/controls/CopyrightControl.d.ts +35 -0
  62. package/maplibre/controls/index.d.ts +1 -0
  63. package/maplibre/index.d.ts +5 -0
  64. package/maplibre/layers/Layer.d.ts +28 -0
  65. package/maplibre/layers/Layer.js +1 -1
  66. package/maplibre/layers/RealtimeLayer.d.ts +181 -0
  67. package/maplibre/layers/RealtimeLayer.js +29 -5
  68. package/maplibre/layers/index.d.ts +2 -0
  69. package/maplibre/utils/getMercatorResolution.d.ts +7 -0
  70. package/maplibre/utils/getSourceCoordinates.d.ts +7 -0
  71. package/maplibre/utils/getSourceCoordinates.js +5 -5
  72. package/maplibre/utils/index.d.ts +2 -0
  73. package/mbt.js +22160 -14512
  74. package/mbt.js.map +4 -4
  75. package/mbt.min.js +61 -58
  76. package/mbt.min.js.map +4 -4
  77. package/ol/controls/CopyrightControl.d.ts +31 -0
  78. package/ol/controls/CopyrightControl.js +18 -8
  79. package/ol/controls/RoutingControl.d.ts +202 -0
  80. package/ol/controls/RoutingControl.js +220 -219
  81. package/ol/controls/StopFinderControl.d.ts +37 -0
  82. package/ol/controls/StopFinderControl.js +4 -1
  83. package/ol/controls/index.d.ts +3 -0
  84. package/ol/index.d.ts +7 -0
  85. package/ol/index.js +1 -0
  86. package/ol/layers/Layer.d.ts +101 -0
  87. package/ol/layers/Layer.js +17 -0
  88. package/ol/layers/MaplibreLayer.d.ts +160 -0
  89. package/ol/layers/MaplibreLayer.js +88 -24
  90. package/ol/layers/MaplibreStyleLayer.d.ts +242 -0
  91. package/ol/layers/MaplibreStyleLayer.js +291 -265
  92. package/ol/layers/RealtimeLayer.d.ts +283 -0
  93. package/ol/layers/RealtimeLayer.js +143 -128
  94. package/ol/layers/VectorLayer.d.ts +18 -0
  95. package/ol/layers/VectorLayer.js +31 -0
  96. package/ol/layers/index.d.ts +5 -0
  97. package/ol/layers/index.js +3 -0
  98. package/ol/mixins/MobilityLayerMixin.d.ts +98 -0
  99. package/ol/mixins/MobilityLayerMixin.js +1 -4
  100. package/ol/mixins/PropertiesLayerMixin.d.ts +135 -0
  101. package/ol/mixins/PropertiesLayerMixin.js +108 -140
  102. package/ol/mixins/index.d.ts +1 -0
  103. package/ol/mixins/index.js +2 -0
  104. package/ol/renderers/MaplibreLayerRenderer.d.ts +0 -0
  105. package/ol/renderers/MaplibreLayerRenderer.js +142 -114
  106. package/ol/renderers/MaplibreStyleLayerRenderer.d.ts +20 -0
  107. package/ol/renderers/MaplibreStyleLayerRenderer.js +20 -23
  108. package/ol/renderers/RealtimeLayerRenderer.d.ts +22 -0
  109. package/ol/renderers/RealtimeLayerRenderer.js +58 -53
  110. package/ol/styles/fullTrajectoryDelayStyle.d.ts +6 -0
  111. package/ol/styles/fullTrajectoryStyle.d.ts +5 -0
  112. package/ol/styles/index.d.ts +3 -0
  113. package/ol/styles/routingStyle.d.ts +4 -0
  114. package/ol/utils/getFeatureInfoAtCoordinate.d.ts +8 -0
  115. package/ol/utils/getFeatureInfoAtCoordinate.js +12 -18
  116. package/ol/utils/index.d.ts +1 -0
  117. package/package.json +31 -31
  118. package/setupTests.d.ts +1 -0
  119. package/setupTests.js +3 -4
  120. package/types/common.d.ts +55 -48
  121. package/types/index.d.ts +1 -1
  122. package/types/realtime.d.ts +91 -93
  123. package/types/routing.d.ts +60 -60
  124. package/types/stops.d.ts +62 -62
  125. package/ol/layers/MapGlLayer.js +0 -142
@@ -0,0 +1,242 @@
1
+ import { FeatureState } from 'maplibre-gl';
2
+ import { Feature, Map } from 'ol';
3
+ import { Coordinate } from 'ol/coordinate';
4
+ import { Layer } from 'ol/layer';
5
+ import { ObjectEvent } from 'ol/Object';
6
+ import { Source } from 'ol/source';
7
+ import { FilterFunction } from '../../common/typedefs';
8
+ import { LayerGetFeatureInfoResponse } from '../../types';
9
+ import MaplibreStyleLayerRenderer from '../renderers/MaplibreStyleLayerRenderer';
10
+ import MaplibreLayer, { MaplibreLayerOptions } from './MaplibreLayer';
11
+ export type MaplibreStyleLayerOptions = {
12
+ beforeId?: string;
13
+ layers?: maplibregl.AddLayerObject[];
14
+ layersFilter?: FilterFunction;
15
+ maplibreLayer?: MaplibreLayer;
16
+ queryRenderedLayersFilter?: FilterFunction;
17
+ } & MaplibreLayerOptions;
18
+ declare const MaplibreStyleLayer_base: {
19
+ new (...args: any[]): {
20
+ olEventsKeys: import("ol/events").EventsKey[];
21
+ options?: import("../mixins/PropertiesLayerMixin").PropertiesLayerMixinOptions;
22
+ attachToMap(map: Map): void;
23
+ detachFromMap(): void;
24
+ flat(): any[];
25
+ onChildrenChange(oldValue: Layer[]): void;
26
+ setMapInternal: ((map: Map) => void) & ((map: import("ol/Map" /**
27
+ * Set if features are hovered or not.
28
+ * @param {Array<ol/Feature~Feature>} features
29
+ * @param {boolean} state Is the feature hovered
30
+ * @private
31
+ */).default | null) => void);
32
+ children: Layer<Source, import("ol/renderer/Layer").default<any>>[];
33
+ get copyrights(): string;
34
+ set copyrights(newCopyrights: string | string[]);
35
+ disabled: boolean;
36
+ readonly group: string;
37
+ readonly hitTolerance: number;
38
+ readonly key: string;
39
+ readonly map: Map;
40
+ readonly name: string;
41
+ olLayer: Layer;
42
+ parent: Layer<Source, import("ol/renderer/Layer").default<any>>;
43
+ visible: boolean;
44
+ on: import("ol/layer/Layer").LayerOnSignature<import("ol/events").EventsKey>;
45
+ once: import("ol/layer/Layer").LayerOnSignature<import("ol/events").EventsKey>;
46
+ un: import("ol/layer/Layer").LayerOnSignature<void>;
47
+ render: (frameState: import("ol/Map").FrameState | null, target: HTMLElement) => HTMLElement | null;
48
+ getSource: () => Source | null;
49
+ getRenderSource: () => Source | null;
50
+ getFeatures: (pixel: import("ol/pixel").Pixel) => Promise<Array<import("ol/Feature").FeatureLike>>;
51
+ getData: (pixel: import("ol/pixel").Pixel) => Uint8ClampedArray | Uint8Array | Float32Array | DataView | null;
52
+ isVisible: (view?: import("ol").View | import("ol/View").ViewStateLayerStateExtent | undefined) => boolean;
53
+ getAttributions: (view?: import("ol").View | import("ol/View").ViewStateLayerStateExtent | undefined) => Array<string>;
54
+ unrender: () => void;
55
+ getDeclutter: () => string;
56
+ renderDeclutter: (frameState: import("ol/Map").FrameState, layerState: import("ol/layer/Layer").State) => void;
57
+ renderDeferred: (frameState: import("ol/Map").FrameState) => void;
58
+ getMapInternal: () => import("ol/Map").default | null;
59
+ setMap: (map: import("ol/Map").default | null) => void;
60
+ setSource: (source: Source | null) => void;
61
+ getRenderer: () => import("ol/renderer/Layer").default<any> | null;
62
+ hasRenderer: () => boolean;
63
+ getBackground: () => import("ol/layer/Base").BackgroundColor | false;
64
+ getClassName: () => string;
65
+ getLayerState: (managed?: boolean | undefined) => import("ol/layer/Layer").State;
66
+ getLayersArray: (array?: import("ol/layer/Layer").default<import("ol/source/Source").default, import("ol/renderer/Layer").default<any>>[] | undefined) => Array<import("ol/layer/Layer").default>;
67
+ getLayerStatesArray: (states?: import("ol/layer/Layer").State[] | undefined) => Array<import("ol/layer/Layer").State>;
68
+ getExtent: () => import("ol/extent").Extent | undefined;
69
+ getMaxResolution: () => number;
70
+ getMinResolution: () => number;
71
+ getMinZoom: () => number;
72
+ getMaxZoom: () => number;
73
+ getOpacity: () => number;
74
+ getSourceState: () => import("ol/source/Source").State;
75
+ getVisible: () => boolean;
76
+ getZIndex: () => number | undefined;
77
+ setBackground: (background?: import("ol/layer/Base").BackgroundColor | undefined) => void;
78
+ setExtent: (extent: import("ol/extent").Extent | undefined) => void;
79
+ setMaxResolution: (maxResolution: number) => void;
80
+ setMinResolution: (minResolution: number) => void;
81
+ setMaxZoom: (maxZoom: number) => void;
82
+ setMinZoom: (minZoom: number) => void;
83
+ setOpacity: (opacity: number) => void;
84
+ setVisible: (visible: boolean) => void;
85
+ setZIndex: (zindex: number) => void;
86
+ get: (key: string) => any;
87
+ getKeys: () => Array<string>;
88
+ getProperties: () => {
89
+ [x: string]: any;
90
+ };
91
+ getPropertiesInternal: () => {
92
+ [x: string]: any;
93
+ } | null;
94
+ hasProperties: () => boolean;
95
+ notify: (key: string, oldValue: any) => void;
96
+ addChangeListener: (key: string, listener: import("ol/events").Listener) => void;
97
+ removeChangeListener: (key: string, listener: import("ol/events").Listener) => void;
98
+ set: (key: string, value: any, silent?: boolean | undefined) => void;
99
+ setProperties: (values: {
100
+ [x: string]: any;
101
+ }, silent?: boolean | undefined) => void;
102
+ unset: (key: string, silent?: boolean | undefined) => void;
103
+ changed: () => void;
104
+ getRevision: () => number;
105
+ addEventListener: (type: string, listener: import("ol/events").Listener) => void;
106
+ dispatchEvent: (event: import("ol/events/Event").default | string) => boolean | undefined;
107
+ getListeners: (type: string) => Array<import("ol/events").Listener> | undefined;
108
+ hasListener: (type?: string | undefined) => boolean;
109
+ removeEventListener: (type: string, listener: import("ol/events").Listener) => void;
110
+ dispose: () => void;
111
+ };
112
+ } & typeof Layer;
113
+ /**
114
+ * Layer for visualizing a specific set of layer from a MapboxLayer.
115
+ *
116
+ * @example
117
+ * import { MapboxLayer, MapboxStyleLayer } from 'mobility-toolbox-js/ol';
118
+ *
119
+ * const maplibreLayer = new MapboxLayer({
120
+ * url: 'https://maps.geops.io/styles/travic_v2/style.json?key=[yourApiKey]',
121
+ * });
122
+ *
123
+ * const layer = new MapboxStyleLayer({
124
+ * maplibreLayer: maplibreLayer,
125
+ * styleLayersFilter: () => {},
126
+ * });
127
+ *
128
+ * @classproperty {ol/Map~Map} map - The map where the layer is displayed.
129
+ * @extends {ol/layer/Layer~Layer}
130
+ */
131
+ declare class MaplibreStyleLayer extends MaplibreStyleLayer_base {
132
+ highlightedFeatures: Feature[];
133
+ selectedFeatures: Feature[];
134
+ /**
135
+ * Constructor.
136
+ *
137
+ * @param {Object} options
138
+ * @param {MapboxLayer} [options.maplibreLayer] The MaplibreLayer to use.
139
+ * @param {maplibregl.SourceSpecification[]} [options.sources] The source to add to the style on load.
140
+ * @param {maplibregl.AddLayerObject[]} [options.layers] The layers to add to the style on load.
141
+ * @param {FilterFunction} [options.layersFilter] Filter function to decide which style layer to apply visiblity on. If not provided, the 'layers' property is used.
142
+ * @param {FilterFunction} [options.queryRenderedLayersFilter] Filter function to decide which style layer are available for query.
143
+ */
144
+ constructor(options?: MaplibreStyleLayerOptions);
145
+ /** @private */
146
+ addLayers(): void;
147
+ /** @private */
148
+ addSources(): void;
149
+ applyLayoutVisibility(evt?: ObjectEvent): void;
150
+ /**
151
+ * Initialize the layer.
152
+ * @param {ol/Map~Map} map the Maplibre map.
153
+ * @override
154
+ */
155
+ attachToMap(map: Map): void;
156
+ /**
157
+ * Create a copy of the MapboxStyleLayer.
158
+ * @param {Object} newOptions Options to override.
159
+ * @return {MapboxStyleLayer} A MapboxStyleLayer.
160
+ */
161
+ clone(newOptions: MaplibreStyleLayerOptions): MaplibreStyleLayer;
162
+ createRenderer(): MaplibreStyleLayerRenderer;
163
+ /**
164
+ * Terminate the layer.
165
+ * @override
166
+ */
167
+ detachFromMap(): void;
168
+ /**
169
+ * Request feature information for a given coordinate.
170
+ * @param {ol/coordinate~Coordinate} coordinate Coordinate to request the information at.
171
+ * @return {Promise<FeatureInfo>} Promise with features, layer and coordinate.
172
+ */
173
+ getFeatureInfoAtCoordinate(coordinate: Coordinate): Promise<LayerGetFeatureInfoResponse>;
174
+ /**
175
+ * Highlight a list of features.
176
+ * @param {Array<ol/Feature~Feature>} [features=[]] Features to highlight.
177
+ * @private
178
+ */
179
+ highlight(features?: Feature[]): void;
180
+ /**
181
+ * On Maplibre map load callback function. Add style layers and dynaimc filters.
182
+ * @private
183
+ */
184
+ onLoad(): void;
185
+ /** @private */
186
+ removeLayers(): void;
187
+ /** @private */
188
+ removeSources(): void;
189
+ /**
190
+ * Select a list of features.
191
+ * @param {Array<ol/Feature~Feature>} [features=[]] Features to select.
192
+ * @private
193
+ */
194
+ select(features?: Feature[]): void;
195
+ /**
196
+ * Set the feature state of the features.
197
+ * @param {Array<ol/Feature~Feature>} features
198
+ * @param {{[key:string]:boolean}} state The feature state
199
+ * @public
200
+ */
201
+ setFeatureState(features: Feature[], state: FeatureState): void;
202
+ /**
203
+ * Set if features are hovered or not.
204
+ * @param {Array<ol/Feature~Feature>} features
205
+ * @param {boolean} state Is the feature hovered
206
+ * @private
207
+ */
208
+ setHoverState(features: Feature[], state: boolean): void;
209
+ get beforeId(): string;
210
+ set beforeId(newValue: string[]);
211
+ get layers(): maplibregl.AddLayerObject[];
212
+ set layers(newValue: maplibregl.AddLayerObject[]);
213
+ get layersFilter(): (layer: maplibregl.LayerSpecification) => boolean;
214
+ set layersFilter(newValue: (layer: maplibregl.LayerSpecification) => boolean);
215
+ get mapboxLayer(): MaplibreLayer | undefined;
216
+ get maplibreLayer(): MaplibreLayer;
217
+ set maplibreLayer(newValue: MaplibreLayer);
218
+ get queryRenderedLayersFilter(): (layer: maplibregl.LayerSpecification) => boolean;
219
+ set queryRenderedLayersFilter(newValue: (layer: maplibregl.LayerSpecification) => boolean);
220
+ get sources(): Record<string, maplibregl.SourceSpecification>;
221
+ set sources(newValue: Record<string, maplibregl.SourceSpecification>);
222
+ /**
223
+ * @deprecated
224
+ */
225
+ get styleLayer(): maplibregl.AddLayerObject;
226
+ /**
227
+ * @deprecated
228
+ */
229
+ set styleLayer(newValue: maplibregl.AddLayerObject);
230
+ /**
231
+ * Apply visibility to style layers that fits the styleLayersFilter function.
232
+ */
233
+ /**
234
+ * @deprecated
235
+ */
236
+ get styleLayers(): maplibregl.AddLayerObject[];
237
+ /**
238
+ * @deprecated
239
+ */
240
+ set styleLayers(newValue: maplibregl.AddLayerObject[]);
241
+ }
242
+ export default MaplibreStyleLayer;