mobility-toolbox-js 3.0.0-beta.7 → 3.0.0-beta.9

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 (88) hide show
  1. package/api/HttpAPI.d.ts +31 -0
  2. package/api/RealtimeAPI.d.ts +359 -0
  3. package/api/RealtimeAPI.js +96 -89
  4. package/api/RoutingAPI.d.ts +37 -0
  5. package/api/StopsAPI.d.ts +38 -0
  6. package/api/WebSocketAPI.d.ts +153 -0
  7. package/api/index.d.ts +3 -0
  8. package/api/typedefs.d.ts +178 -0
  9. package/common/controls/StopFinderControlCommon.d.ts +53 -0
  10. package/common/index.d.ts +2 -0
  11. package/common/mixins/RealtimeLayerMixin.d.ts +273 -0
  12. package/common/styles/index.d.ts +4 -0
  13. package/common/styles/realtimeDefaultStyle.d.ts +36 -0
  14. package/common/styles/realtimeDelayStyle.d.ts +12 -0
  15. package/common/styles/realtimeHeadingStyle.d.ts +12 -0
  16. package/common/styles/realtimeSimpleStyle.d.ts +4 -0
  17. package/common/typedefs.d.ts +212 -0
  18. package/common/utils/compareDepartures.d.ts +10 -0
  19. package/common/utils/constants.d.ts +5 -0
  20. package/common/utils/createCanvas.d.ts +10 -0
  21. package/common/utils/createDefaultCopyrightElt.d.ts +5 -0
  22. package/common/utils/createDefaultStopFinderElt.d.ts +5 -0
  23. package/common/utils/createRealtimeFilters.d.ts +12 -0
  24. package/common/utils/debounceDeparturesMessages.d.ts +12 -0
  25. package/common/utils/debounceWebsocketMessages.d.ts +11 -0
  26. package/common/utils/getLayersAsFlatArray.d.ts +3 -0
  27. package/common/utils/getLayersAsFlatArray.js +5 -1
  28. package/common/utils/getMapGlCopyrights.d.ts +17 -0
  29. package/common/utils/getRealtimeModeSuffix.d.ts +9 -0
  30. package/common/utils/getUrlWithParams.d.ts +8 -0
  31. package/common/utils/getVehiclePosition.d.ts +16 -0
  32. package/common/utils/index.d.ts +16 -0
  33. package/common/utils/realtimeConfig.d.ts +64 -0
  34. package/common/utils/removeDuplicate.d.ts +9 -0
  35. package/common/utils/renderTrajectories.d.ts +16 -0
  36. package/common/utils/sortAndFilterDepartures.d.ts +15 -0
  37. package/common/utils/sortByDelay.d.ts +3 -0
  38. package/common/utils/timeUtils.d.ts +23 -0
  39. package/common/utils/toMercatorExtent.d.ts +5 -0
  40. package/iife.d.ts +2 -0
  41. package/index.d.ts +9 -0
  42. package/maplibre/controls/CopyrightControl.d.ts +35 -0
  43. package/maplibre/controls/index.d.ts +1 -0
  44. package/maplibre/index.d.ts +5 -0
  45. package/maplibre/layers/Layer.d.ts +28 -0
  46. package/maplibre/layers/RealtimeLayer.d.ts +160 -0
  47. package/maplibre/layers/RealtimeLayer.js +2 -2
  48. package/maplibre/layers/index.d.ts +2 -0
  49. package/maplibre/utils/getMercatorResolution.d.ts +7 -0
  50. package/maplibre/utils/getSourceCoordinates.d.ts +7 -0
  51. package/maplibre/utils/index.d.ts +2 -0
  52. package/mbt.js +137 -114
  53. package/mbt.js.map +3 -3
  54. package/mbt.min.js +13 -13
  55. package/mbt.min.js.map +3 -3
  56. package/ol/controls/CopyrightControl.d.ts +31 -0
  57. package/ol/controls/CopyrightControl.js +18 -8
  58. package/ol/controls/RoutingControl.d.ts +209 -0
  59. package/ol/controls/RoutingControl.js +3 -0
  60. package/ol/controls/StopFinderControl.d.ts +37 -0
  61. package/ol/controls/StopFinderControl.js +3 -0
  62. package/ol/controls/index.d.ts +3 -0
  63. package/ol/index.d.ts +6 -0
  64. package/ol/layers/MapGlLayer.d.ts +144 -0
  65. package/ol/layers/MapGlLayer.js +3 -1
  66. package/ol/layers/MaplibreLayer.d.ts +63 -0
  67. package/ol/layers/MaplibreStyleLayer.d.ts +235 -0
  68. package/ol/layers/MaplibreStyleLayer.js +1 -1
  69. package/ol/layers/RealtimeLayer.d.ts +285 -0
  70. package/ol/layers/RealtimeLayer.js +13 -7
  71. package/ol/layers/index.d.ts +3 -0
  72. package/ol/mixins/MobilityLayerMixin.d.ts +98 -0
  73. package/ol/mixins/MobilityLayerMixin.js +1 -4
  74. package/ol/mixins/PropertiesLayerMixin.d.ts +127 -0
  75. package/ol/mixins/PropertiesLayerMixin.js +5 -4
  76. package/ol/renderers/MaplibreLayerRenderer.d.ts +20 -0
  77. package/ol/renderers/MaplibreStyleLayerRenderer.d.ts +20 -0
  78. package/ol/renderers/RealtimeLayerRenderer.d.ts +22 -0
  79. package/ol/renderers/RealtimeLayerRenderer.js +9 -9
  80. package/ol/styles/fullTrajectoryDelayStyle.d.ts +6 -0
  81. package/ol/styles/fullTrajectoryStyle.d.ts +5 -0
  82. package/ol/styles/index.d.ts +3 -0
  83. package/ol/styles/routingStyle.d.ts +4 -0
  84. package/ol/utils/getFeatureInfoAtCoordinate.d.ts +8 -0
  85. package/ol/utils/getFeatureInfoAtCoordinate.js +1 -1
  86. package/ol/utils/index.d.ts +1 -0
  87. package/package.json +1 -1
  88. package/setupTests.d.ts +1 -0
@@ -0,0 +1,98 @@
1
+ import { Layer } from 'ol/layer';
2
+ import { PropertiesLayerMixinOptions } from './PropertiesLayerMixin';
3
+ export type MobilityLayerOptions = PropertiesLayerMixinOptions & {
4
+ [x: string]: any;
5
+ };
6
+ type GConstructor<T = {}> = new (...args: any[]) => T;
7
+ export type Layerable = GConstructor<Omit<Layer, keyof string>>;
8
+ declare function MobilityLayerMixin<TBase extends Layerable>(Base: TBase): {
9
+ new (...args: any[]): {
10
+ options?: PropertiesLayerMixinOptions | undefined;
11
+ olListenersKeys: import("ol/events").EventsKey[];
12
+ children: Layer<import("ol/source/Source").default, import("ol/renderer/Layer").default<any>>[];
13
+ get copyrights(): string;
14
+ set copyrights(newCopyrights: string | string[]);
15
+ disabled: boolean;
16
+ readonly group: string;
17
+ readonly hitTolerance: boolean;
18
+ readonly key: string;
19
+ readonly map: import("ol/Map").default;
20
+ readonly name: string;
21
+ olLayer: Layer<import("ol/source/Source").default, import("ol/renderer/Layer").default<any>>;
22
+ parent: Layer<import("ol/source/Source").default, import("ol/renderer/Layer").default<any>>;
23
+ visible: boolean;
24
+ setMapInternal: ((map: import("ol/Map").default) => void) & ((map: import("ol/Map").default | null) => void);
25
+ onChildrenChange(oldValue: Layer<import("ol/source/Source").default, import("ol/renderer/Layer").default<any>>[]): void;
26
+ attachToMap(map: import("ol/Map").default): void;
27
+ detachFromMap(): void;
28
+ flat(): any[];
29
+ addEventListener: (type: string, listener: import("ol/events").Listener) => void;
30
+ removeEventListener: (type: string, listener: import("ol/events").Listener) => void;
31
+ on: import("ol/layer/Layer").LayerOnSignature<import("ol/events").EventsKey>;
32
+ render: (frameState: import("ol/Map").FrameState | null, target: HTMLElement) => HTMLElement | null;
33
+ once: import("ol/layer/Layer").LayerOnSignature<import("ol/events").EventsKey>;
34
+ un: import("ol/layer/Layer").LayerOnSignature<void>;
35
+ getSource: () => import("ol/source/Source").default | null;
36
+ getRenderSource: () => import("ol/source/Source").default | null;
37
+ getFeatures: (pixel: import("ol/pixel").Pixel) => Promise<import("ol/Feature").FeatureLike[]>;
38
+ getData: (pixel: import("ol/pixel").Pixel) => Float32Array | Uint8ClampedArray | Uint8Array | DataView | null;
39
+ isVisible: (view?: import("ol/View").default | import("ol/View").ViewStateLayerStateExtent | undefined) => boolean;
40
+ getAttributions: (view?: import("ol/View").default | import("ol/View").ViewStateLayerStateExtent | undefined) => string[];
41
+ unrender: () => void;
42
+ getDeclutter: () => string;
43
+ renderDeclutter: (frameState: import("ol/Map").FrameState, layerState: import("ol/layer/Layer").State) => void;
44
+ renderDeferred: (frameState: import("ol/Map").FrameState) => void;
45
+ getMapInternal: () => import("ol/Map").default | null;
46
+ setMap: (map: import("ol/Map").default | null) => void;
47
+ setSource: (source: import("ol/source/Source").default | null) => void;
48
+ getRenderer: () => import("ol/renderer/Layer").default<any> | null;
49
+ hasRenderer: () => boolean;
50
+ getBackground: () => false | import("ol/layer/Base").BackgroundColor;
51
+ getClassName: () => string;
52
+ getLayerState: (managed?: boolean | undefined) => import("ol/layer/Layer").State;
53
+ getLayersArray: (array?: Layer<import("ol/source/Source").default, import("ol/renderer/Layer").default<any>>[] | undefined) => Layer<import("ol/source/Source").default, import("ol/renderer/Layer").default<any>>[];
54
+ getLayerStatesArray: (states?: import("ol/layer/Layer").State[] | undefined) => import("ol/layer/Layer").State[];
55
+ getExtent: () => import("ol/extent").Extent | undefined;
56
+ getMaxResolution: () => number;
57
+ getMinResolution: () => number;
58
+ getMinZoom: () => number;
59
+ getMaxZoom: () => number;
60
+ getOpacity: () => number;
61
+ getSourceState: () => import("ol/source/Source").State;
62
+ getVisible: () => boolean;
63
+ getZIndex: () => number | undefined;
64
+ setBackground: (background?: import("ol/layer/Base").BackgroundColor | undefined) => void;
65
+ setExtent: (extent: import("ol/extent").Extent | undefined) => void;
66
+ setMaxResolution: (maxResolution: number) => void;
67
+ setMinResolution: (minResolution: number) => void;
68
+ setMaxZoom: (maxZoom: number) => void;
69
+ setMinZoom: (minZoom: number) => void;
70
+ setOpacity: (opacity: number) => void;
71
+ setVisible: (visible: boolean) => void;
72
+ setZIndex: (zindex: number) => void;
73
+ get: (key: string) => any;
74
+ getKeys: () => string[];
75
+ getProperties: () => {
76
+ [x: string]: any;
77
+ };
78
+ getPropertiesInternal: () => {
79
+ [x: string]: any;
80
+ } | null;
81
+ hasProperties: () => boolean;
82
+ notify: (key: string, oldValue: any) => void;
83
+ addChangeListener: (key: string, listener: import("ol/events").Listener) => void;
84
+ removeChangeListener: (key: string, listener: import("ol/events").Listener) => void;
85
+ set: (key: string, value: any, silent?: boolean | undefined) => void;
86
+ setProperties: (values: {
87
+ [x: string]: any;
88
+ }, silent?: boolean | undefined) => void;
89
+ unset: (key: string, silent?: boolean | undefined) => void;
90
+ changed: () => void;
91
+ getRevision: () => number;
92
+ dispatchEvent: (event: string | import("ol/events/Event").default) => boolean | undefined;
93
+ getListeners: (type: string) => import("ol/events").Listener[] | undefined;
94
+ hasListener: (type?: string | undefined) => boolean;
95
+ dispose: () => void;
96
+ };
97
+ } & TBase;
98
+ export default MobilityLayerMixin;
@@ -1,9 +1,6 @@
1
1
  import PropertiesLayerMixin from './PropertiesLayerMixin';
2
2
  function MobilityLayerMixin(Base) {
3
- return class extends PropertiesLayerMixin(Base) {
4
- constructor(options = {}) {
5
- super(options);
6
- }
3
+ return class MobilityLayer extends PropertiesLayerMixin(Base) {
7
4
  };
8
5
  }
9
6
  export default MobilityLayerMixin;
@@ -0,0 +1,127 @@
1
+ import { Layer } from 'ol/layer';
2
+ import { EventsKey } from 'ol/events';
3
+ import { Map } from 'ol';
4
+ import type { Options } from 'ol/layer/Layer';
5
+ import type { Layerable } from './MobilityLayerMixin';
6
+ export type PropertiesLayerMixinOptions = Options & {
7
+ key?: string;
8
+ name?: string;
9
+ group?: string;
10
+ copyrights?: string[];
11
+ children?: any[];
12
+ visible?: boolean;
13
+ disabled?: boolean;
14
+ hitTolerance?: number;
15
+ properties?: {
16
+ [x: string]: any;
17
+ };
18
+ map?: Map;
19
+ } & {
20
+ [x: string]: any;
21
+ };
22
+ /**
23
+ * This mixin adds some properties to access ol custom properties easily.
24
+ */
25
+ declare function PropertiesLayerMixin<TBase extends Layerable>(Base: TBase): {
26
+ new (...args: any[]): {
27
+ options?: PropertiesLayerMixinOptions | undefined;
28
+ olListenersKeys: EventsKey[];
29
+ children: Layer<import("ol/source/Source").default, import("ol/renderer/Layer").default<any>>[];
30
+ get copyrights(): string;
31
+ set copyrights(newCopyrights: string | string[]);
32
+ disabled: boolean;
33
+ readonly group: string;
34
+ readonly hitTolerance: boolean;
35
+ readonly key: string;
36
+ readonly map: Map;
37
+ readonly name: string;
38
+ olLayer: Layer<import("ol/source/Source").default, import("ol/renderer/Layer").default<any>>;
39
+ parent: Layer<import("ol/source/Source").default, import("ol/renderer/Layer").default<any>>;
40
+ visible: boolean;
41
+ setMapInternal(map: Map): void;
42
+ /** @private */
43
+ onChildrenChange(oldValue: Layer[]): void;
44
+ /**
45
+ * Initialize the layer with the map passed in parameters.
46
+ *
47
+ * @param {ol/Map~Map} map A map.
48
+ */
49
+ attachToMap(map: Map): void;
50
+ /**
51
+ * Terminate what was initialized in init function. Remove layer, events...
52
+ */
53
+ detachFromMap(): void;
54
+ /**
55
+ * Return the an array containing all the descendants of the layer in a flat array. Including the current layer.
56
+ */
57
+ flat(): any[];
58
+ addEventListener: (type: string, listener: import("ol/events").Listener) => void;
59
+ removeEventListener: (type: string, listener: import("ol/events").Listener) => void;
60
+ on: import("ol/layer/Layer").LayerOnSignature<EventsKey>;
61
+ render: (frameState: import("ol/Map").FrameState | null, target: HTMLElement) => HTMLElement | null;
62
+ once: import("ol/layer/Layer").LayerOnSignature<EventsKey>;
63
+ un: import("ol/layer/Layer").LayerOnSignature<void>;
64
+ getSource: () => import("ol/source/Source").default | null;
65
+ getRenderSource: () => import("ol/source/Source").default | null;
66
+ getFeatures: (pixel: import("ol/pixel").Pixel) => Promise<import("ol/Feature").FeatureLike[]>;
67
+ getData: (pixel: import("ol/pixel").Pixel) => Float32Array | Uint8ClampedArray | Uint8Array | DataView | null;
68
+ isVisible: (view?: import("ol/View").default | import("ol/View").ViewStateLayerStateExtent | undefined) => boolean;
69
+ getAttributions: (view?: import("ol/View").default | import("ol/View").ViewStateLayerStateExtent | undefined) => string[];
70
+ unrender: () => void;
71
+ getDeclutter: () => string;
72
+ renderDeclutter: (frameState: import("ol/Map").FrameState, layerState: import("ol/layer/Layer").State) => void;
73
+ renderDeferred: (frameState: import("ol/Map").FrameState) => void;
74
+ getMapInternal: () => Map | null;
75
+ setMap: (map: Map | null) => void;
76
+ setSource: (source: import("ol/source/Source").default | null) => void;
77
+ getRenderer: () => import("ol/renderer/Layer").default<any> | null;
78
+ hasRenderer: () => boolean;
79
+ getBackground: () => false | import("ol/layer/Base").BackgroundColor;
80
+ getClassName: () => string;
81
+ getLayerState: (managed?: boolean | undefined) => import("ol/layer/Layer").State;
82
+ getLayersArray: (array?: Layer<import("ol/source/Source").default, import("ol/renderer/Layer").default<any>>[] | undefined) => Layer<import("ol/source/Source").default, import("ol/renderer/Layer").default<any>>[];
83
+ getLayerStatesArray: (states?: import("ol/layer/Layer").State[] | undefined) => import("ol/layer/Layer").State[];
84
+ getExtent: () => import("ol/extent").Extent | undefined;
85
+ getMaxResolution: () => number;
86
+ getMinResolution: () => number;
87
+ getMinZoom: () => number;
88
+ getMaxZoom: () => number;
89
+ getOpacity: () => number;
90
+ getSourceState: () => import("ol/source/Source").State;
91
+ getVisible: () => boolean;
92
+ getZIndex: () => number | undefined;
93
+ setBackground: (background?: import("ol/layer/Base").BackgroundColor | undefined) => void;
94
+ setExtent: (extent: import("ol/extent").Extent | undefined) => void;
95
+ setMaxResolution: (maxResolution: number) => void;
96
+ setMinResolution: (minResolution: number) => void;
97
+ setMaxZoom: (maxZoom: number) => void;
98
+ setMinZoom: (minZoom: number) => void;
99
+ setOpacity: (opacity: number) => void;
100
+ setVisible: (visible: boolean) => void;
101
+ setZIndex: (zindex: number) => void;
102
+ get: (key: string) => any;
103
+ getKeys: () => string[];
104
+ getProperties: () => {
105
+ [x: string]: any;
106
+ };
107
+ getPropertiesInternal: () => {
108
+ [x: string]: any;
109
+ } | null;
110
+ hasProperties: () => boolean;
111
+ notify: (key: string, oldValue: any) => void;
112
+ addChangeListener: (key: string, listener: import("ol/events").Listener) => void;
113
+ removeChangeListener: (key: string, listener: import("ol/events").Listener) => void;
114
+ set: (key: string, value: any, silent?: boolean | undefined) => void;
115
+ setProperties: (values: {
116
+ [x: string]: any;
117
+ }, silent?: boolean | undefined) => void;
118
+ unset: (key: string, silent?: boolean | undefined) => void;
119
+ changed: () => void;
120
+ getRevision: () => number;
121
+ dispatchEvent: (event: string | import("ol/events/Event").default) => boolean | undefined;
122
+ getListeners: (type: string) => import("ol/events").Listener[] | undefined;
123
+ hasListener: (type?: string | undefined) => boolean;
124
+ dispose: () => void;
125
+ };
126
+ } & TBase;
127
+ export default PropertiesLayerMixin;
@@ -1,11 +1,10 @@
1
1
  import { getUid } from 'ol';
2
2
  import getLayersAsFlatArray from '../../common/utils/getLayersAsFlatArray';
3
3
  /**
4
- * This mixin adds some properties to access some ol properties easily ansd also
5
- * the management of a hierarchy of layers using children, parent and group property.
4
+ * This mixin adds some properties to access ol custom properties easily.
6
5
  */
7
6
  function PropertiesLayerMixin(Base) {
8
- return class extends Base {
7
+ return class PropertiesLayer extends Base {
9
8
  get children() {
10
9
  return this.get('children') || [];
11
10
  }
@@ -70,8 +69,9 @@ function PropertiesLayerMixin(Base) {
70
69
  set visible(newValue) {
71
70
  this.setVisible(newValue);
72
71
  }
73
- constructor(options) {
72
+ constructor(...args) {
74
73
  var _a;
74
+ const options = args[0];
75
75
  super(options);
76
76
  this.options = {};
77
77
  this.olListenersKeys = [];
@@ -90,6 +90,7 @@ function PropertiesLayerMixin(Base) {
90
90
  this.options = options;
91
91
  this.children = options.children || []; // Trigger the on children change event
92
92
  }
93
+ // @ts-expect-error - this is a mixin
93
94
  setMapInternal(map) {
94
95
  super.setMapInternal(map);
95
96
  if (map) {
@@ -0,0 +1,20 @@
1
+ import { FrameState } from 'ol/Map';
2
+ import LayerRenderer from 'ol/renderer/Layer';
3
+ import { Coordinate } from 'ol/coordinate';
4
+ import { FeatureCallback } from 'ol/renderer/vector';
5
+ import { Feature } from 'ol';
6
+ import { Geometry } from 'ol/geom';
7
+ import { Pixel } from 'ol/pixel';
8
+ import type MaplibreLayer from '../layers/MaplibreLayer';
9
+ /**
10
+ * This class is a renderer for Maplibre Layer to be able to use the native ol
11
+ * functionnalities like map.getFeaturesAtPixel or map.hasFeatureAtPixel.
12
+ * @private
13
+ */
14
+ export default class MaplibreLayerRenderer extends LayerRenderer<MaplibreLayer> {
15
+ getFeaturesAtCoordinate(coordinate: Coordinate | undefined, hitTolerance?: number): Feature<Geometry>[];
16
+ prepareFrame(): boolean;
17
+ renderFrame(frameState: FrameState): HTMLElement | null;
18
+ getFeatures(pixel: Pixel): Promise<Feature<Geometry>[]>;
19
+ forEachFeatureAtCoordinate<Feature>(coordinate: Coordinate, frameState: FrameState, hitTolerance: number, callback: FeatureCallback<Feature>): Feature | undefined;
20
+ }
@@ -0,0 +1,20 @@
1
+ import { FrameState } from 'ol/Map';
2
+ import LayerRenderer from 'ol/renderer/Layer';
3
+ import { Coordinate } from 'ol/coordinate';
4
+ import { FeatureCallback } from 'ol/renderer/vector';
5
+ import { Feature } from 'ol';
6
+ import { Geometry } from 'ol/geom';
7
+ import { Pixel } from 'ol/pixel';
8
+ import type { MaplibreStyleLayer } from '../layers';
9
+ /**
10
+ * This class is a renderer for Maplibre Layer to be able to use the native ol
11
+ * functionnalities like map.getFeaturesAtPixel or map.hasFeatureAtPixel.
12
+ * @private
13
+ */
14
+ export default class MaplibreStyleLayerRenderer extends LayerRenderer<MaplibreStyleLayer> {
15
+ getFeaturesAtCoordinate(coordinate: Coordinate | undefined, hitTolerance?: number): Feature<Geometry>[];
16
+ prepareFrame(): boolean;
17
+ renderFrame(): null;
18
+ getFeatures(pixel: Pixel): Promise<Feature<Geometry>[]>;
19
+ forEachFeatureAtCoordinate<Feature>(coordinate: Coordinate, frameState: FrameState, hitTolerance: number, callback: FeatureCallback<Feature>): Feature | undefined;
20
+ }
@@ -0,0 +1,22 @@
1
+ import { FrameState } from 'ol/Map';
2
+ import { Coordinate } from 'ol/coordinate';
3
+ import { FeatureCallback } from 'ol/renderer/vector';
4
+ import { Feature } from 'ol';
5
+ import { Geometry } from 'ol/geom';
6
+ import { Pixel } from 'ol/pixel';
7
+ import CanvasLayerRenderer from 'ol/renderer/canvas/Layer';
8
+ import type RealtimeLayer from '../layers/RealtimeLayer';
9
+ /**
10
+ * This class is a renderer for Maplibre Layer to be able to use the native ol
11
+ * functionnalities like map.getFeaturesAtPixel or map.hasFeatureAtPixel.
12
+ * @private
13
+ */
14
+ export default class RealtimeLayerRenderer extends CanvasLayerRenderer<RealtimeLayer> {
15
+ private canvas;
16
+ prepareFrame(): boolean;
17
+ renderFrame(frameState: FrameState): HTMLElement;
18
+ getData(pixel: Pixel): Uint8ClampedArray | null;
19
+ getFeatures(pixel: Pixel): Promise<Feature<Geometry>[]>;
20
+ forEachFeatureAtCoordinate<Feature>(coordinate: Coordinate, frameState: FrameState, hitTolerance: number, callback: FeatureCallback<Feature>): Feature | undefined;
21
+ getFeaturesAtCoordinate(coordinate: Coordinate | undefined, hitTolerance?: number): Feature<Geometry>[];
22
+ }
@@ -16,7 +16,6 @@ export default class RealtimeLayerRenderer extends CanvasLayerRenderer {
16
16
  return true;
17
17
  }
18
18
  renderFrame(frameState) {
19
- var _a;
20
19
  const { canvas, renderedViewState } = this.getLayer();
21
20
  if (!this.container) {
22
21
  this.container = document.createElement('div');
@@ -24,7 +23,7 @@ export default class RealtimeLayerRenderer extends CanvasLayerRenderer {
24
23
  this.container.style.position = 'absolute';
25
24
  this.container.style.width = '100%';
26
25
  this.container.style.height = '100%';
27
- if (canvas) {
26
+ if (canvas instanceof HTMLCanvasElement) {
28
27
  canvas.style.position = 'absolute';
29
28
  canvas.style.top = '0';
30
29
  canvas.style.left = '0';
@@ -41,12 +40,12 @@ export default class RealtimeLayerRenderer extends CanvasLayerRenderer {
41
40
  context === null || context === void 0 ? void 0 : context.clearRect(0, 0, canvas === null || canvas === void 0 ? void 0 : canvas.width, canvas === null || canvas === void 0 ? void 0 : canvas.height);
42
41
  }
43
42
  else {
44
- const pixelCenterRendered = (_a = this.getLayer()
45
- .getMapInternal()) === null || _a === void 0 ? void 0 : _a.getPixelFromCoordinate(renderedCenter);
46
- const pixelCenter = this.getLayer()
47
- .getMapInternal()
48
- .getPixelFromCoordinate(center);
49
- this.container.style.transform = composeCssTransform(pixelCenterRendered[0] - pixelCenter[0], pixelCenterRendered[1] - pixelCenter[1], renderedResolution / resolution, renderedResolution / resolution, rotation - renderedRotation, 0, 0);
43
+ const map = this.getLayer().getMapInternal();
44
+ const pixelCenterRendered = map === null || map === void 0 ? void 0 : map.getPixelFromCoordinate(renderedCenter);
45
+ const pixelCenter = map === null || map === void 0 ? void 0 : map.getPixelFromCoordinate(center);
46
+ if (pixelCenterRendered && pixelCenter) {
47
+ this.container.style.transform = composeCssTransform(pixelCenterRendered[0] - pixelCenter[0], pixelCenterRendered[1] - pixelCenter[1], renderedResolution / resolution, renderedResolution / resolution, rotation - renderedRotation, 0, 0);
48
+ }
50
49
  }
51
50
  }
52
51
  return this.container;
@@ -83,12 +82,13 @@ export default class RealtimeLayerRenderer extends CanvasLayerRenderer {
83
82
  return features === null || features === void 0 ? void 0 : features[0];
84
83
  }
85
84
  getFeaturesAtCoordinate(coordinate, hitTolerance = 5) {
85
+ var _a;
86
86
  if (!coordinate) {
87
87
  return [];
88
88
  }
89
89
  const layer = this.getLayer();
90
90
  const map = layer.getMapInternal();
91
- const resolution = map.getView().getResolution();
91
+ const resolution = ((_a = map === null || map === void 0 ? void 0 : map.getView()) === null || _a === void 0 ? void 0 : _a.getResolution()) || 1;
92
92
  const nb = 10;
93
93
  const ext = buffer([...coordinate, ...coordinate], hitTolerance * resolution);
94
94
  let features = [];
@@ -0,0 +1,6 @@
1
+ import { Style } from 'ol/style';
2
+ /**
3
+ * @private
4
+ */
5
+ declare const fullTrajectoryDelaystyle: () => Style[];
6
+ export default fullTrajectoryDelaystyle;
@@ -0,0 +1,5 @@
1
+ import type { FeatureLike } from 'ol/Feature';
2
+ import { Style } from 'ol/style';
3
+ /** @private */
4
+ declare const fullTrajectorystyle: (feature: FeatureLike, resolution: number, options: any) => Style[];
5
+ export default fullTrajectorystyle;
@@ -0,0 +1,3 @@
1
+ export { default as fullTrajectoryStyle } from "./fullTrajectoryStyle";
2
+ export { default as fullTrajectoryDelayStyle } from "./fullTrajectoryDelayStyle";
3
+ export { default as routingStyle } from "./routingStyle";
@@ -0,0 +1,4 @@
1
+ import { StyleFunction } from 'ol/style/Style';
2
+ /** @private */
3
+ declare const routingStyle: StyleFunction;
4
+ export default routingStyle;
@@ -0,0 +1,8 @@
1
+ import type { Coordinate } from 'ol/coordinate';
2
+ import type { Layer } from 'ol/layer';
3
+ import { LayerGetFeatureInfoResponse } from '../../types';
4
+ /**
5
+ * @private
6
+ */
7
+ declare const getFeatureInfoAtCoordinate: (coordinate: Coordinate, layers: Layer[], hitTolerance?: number) => Promise<LayerGetFeatureInfoResponse[]>;
8
+ export default getFeatureInfoAtCoordinate;
@@ -63,7 +63,7 @@ const getFeatureInfoAtCoordinate = (coordinate, layers, hitTolerance = 5) => __a
63
63
  const source = layer === null || layer === void 0 ? void 0 : layer.getSource();
64
64
  // @ts-ignore
65
65
  if (source === null || source === void 0 ? void 0 : source.getFeatureInfoUrl) {
66
- const id = getUid(this);
66
+ const id = getUid(layer);
67
67
  // Abort and recreates one controller per layer
68
68
  (_c = abortControllers[id]) === null || _c === void 0 ? void 0 : _c.abort();
69
69
  abortControllers[id] = new AbortController();
@@ -0,0 +1 @@
1
+ export { default as getFeatureInfoAtCoordinate } from "./getFeatureInfoAtCoordinate";
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "mobility-toolbox-js",
3
3
  "license": "MIT",
4
4
  "description": "Toolbox for JavaScript applications in the domains of mobility and logistics.",
5
- "version": "3.0.0-beta.7",
5
+ "version": "3.0.0-beta.9",
6
6
  "homepage": "https://mobility-toolbox-js.geops.io/",
7
7
  "module": "index.js",
8
8
  "exports": {
@@ -0,0 +1 @@
1
+ export {};