mobility-toolbox-js 2.3.9-beta.1 → 2.3.10
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/.esdoc.js +18 -0
- package/.eslintignore +1 -0
- package/.eslintrc.js +25 -0
- package/.fixpackrc +20 -0
- package/.github/workflows/build.yml +16 -0
- package/.github/workflows/conventional-pr-title.yml +16 -0
- package/.github/workflows/cypress.yml +101 -0
- package/.github/workflows/test.yml +17 -0
- package/.husky/commit-msg +4 -0
- package/.husky/post-checkout +4 -0
- package/.husky/post-merge +4 -0
- package/.husky/post-rebase +4 -0
- package/.husky/pre-commit +4 -0
- package/.lintstagedrc.js +10 -0
- package/.nvmrc +1 -0
- package/.prettierrc.js +5 -0
- package/.stylelintrc.js +4 -0
- package/CHANGELOG.md +132 -0
- package/LICENSE +21 -0
- package/MIGRATION-V2.md +248 -0
- package/README.md +42 -0
- package/__mocks__/mapbox-gl.js +81 -0
- package/__mocks__/maplibre-gl.js +81 -0
- package/babel.config.js +9 -0
- package/commitlint.config.js +1 -0
- package/cypress/e2e/examples/api.cy.js +7 -0
- package/cypress/e2e/examples/examples.cy.js +7 -0
- package/cypress/e2e/examples/navigation.cy.js +29 -0
- package/cypress/fixtures/example.json +5 -0
- package/cypress/plugins/index.js +21 -0
- package/cypress/support/commands.js +25 -0
- package/cypress/support/e2e.js +20 -0
- package/cypress.config.ts +15 -0
- package/data/fetchRoute.json +292 -0
- package/data/fetchTrajectories.json +18 -0
- package/data/fetchTrajectoryById.json +3 -0
- package/data/fetchTrajectoryStations.json +18 -0
- package/data/stopsSearch.json +15 -0
- package/dependabot.yml +15 -0
- package/doc/.eslintrc.json +1 -0
- package/doc/README.md +34 -0
- package/doc/next.config.js +16 -0
- package/doc/package.json +41 -0
- package/doc/pages/404.js +5 -0
- package/doc/pages/_app.js +61 -0
- package/doc/pages/_document.js +64 -0
- package/doc/pages/doc/[...slug].js +23 -0
- package/doc/pages/doc.js +23 -0
- package/doc/pages/example/[example].js +52 -0
- package/doc/pages/examples.js +34 -0
- package/doc/pages/index.js +25 -0
- package/doc/public/README.md +15 -0
- package/doc/public/favicon.ico +0 -0
- package/doc/public/static/assets/Lato-Black.ttf +0 -0
- package/doc/public/static/assets/Lato-BlackItalic.ttf +0 -0
- package/doc/public/static/assets/Lato-Bold.ttf +0 -0
- package/doc/public/static/assets/Lato-BoldItalic.ttf +0 -0
- package/doc/public/static/assets/Lato-Italic.ttf +0 -0
- package/doc/public/static/assets/Lato-Light.ttf +0 -0
- package/doc/public/static/assets/Lato-LightItalic.ttf +0 -0
- package/doc/public/static/assets/Lato-Regular.ttf +0 -0
- package/doc/public/static/assets/Lato-Thin.ttf +0 -0
- package/doc/public/static/assets/Lato-ThinItalic.ttf +0 -0
- package/doc/public/static/assets/OFL.txt +93 -0
- package/doc/public/static/examples/assets/tralis-live-map/index.js +11 -0
- package/doc/public/static/examples/assets/tralis-live-map/s1kreis.svg +105 -0
- package/doc/public/static/examples/assets/tralis-live-map/s20kreis.svg +101 -0
- package/doc/public/static/examples/assets/tralis-live-map/s2kreis.svg +95 -0
- package/doc/public/static/examples/assets/tralis-live-map/s3kreis.svg +95 -0
- package/doc/public/static/examples/assets/tralis-live-map/s4kreis.svg +95 -0
- package/doc/public/static/examples/assets/tralis-live-map/s6kreis.svg +95 -0
- package/doc/public/static/examples/assets/tralis-live-map/s7kreis.svg +95 -0
- package/doc/public/static/examples/assets/tralis-live-map/s8kreis.svg +93 -0
- package/doc/public/static/examples/assets/tralis-live-map/unknown.svg +107 -0
- package/doc/public/static/examples/layers.html +11 -0
- package/doc/public/static/examples/layers.js +97 -0
- package/doc/public/static/examples/mb-copyright.html +26 -0
- package/doc/public/static/examples/mb-copyright.js +37 -0
- package/doc/public/static/examples/mb-tracker.html +1 -0
- package/doc/public/static/examples/mb-tracker.js +40 -0
- package/doc/public/static/examples/mb-tracker.md +1 -0
- package/doc/public/static/examples/mb-tralis.html +1 -0
- package/doc/public/static/examples/mb-tralis.js +34 -0
- package/doc/public/static/examples/ol-copyright.html +26 -0
- package/doc/public/static/examples/ol-copyright.js +43 -0
- package/doc/public/static/examples/ol-mapbox-layer.html +1 -0
- package/doc/public/static/examples/ol-mapbox-layer.js +28 -0
- package/doc/public/static/examples/ol-mapbox-style-layer.html +12 -0
- package/doc/public/static/examples/ol-mapbox-style-layer.js +48 -0
- package/doc/public/static/examples/ol-query.html +32 -0
- package/doc/public/static/examples/ol-query.js +83 -0
- package/doc/public/static/examples/ol-routing.html +26 -0
- package/doc/public/static/examples/ol-routing.js +65 -0
- package/doc/public/static/examples/ol-routing.md +1 -0
- package/doc/public/static/examples/ol-stop-finder.html +15 -0
- package/doc/public/static/examples/ol-stop-finder.js +35 -0
- package/doc/public/static/examples/ol-stop-finder.md +1 -0
- package/doc/public/static/examples/ol-tracker.html +1 -0
- package/doc/public/static/examples/ol-tracker.js +41 -0
- package/doc/public/static/examples/ol-tracker.md +1 -0
- package/doc/public/static/examples/ol-tralis.html +5 -0
- package/doc/public/static/examples/ol-tralis.js +62 -0
- package/doc/public/static/examples/tralis-live-map.html +1 -0
- package/doc/public/static/examples/tralis-live-map.js +67 -0
- package/doc/public/static/examples/tralis-live-map.md +3 -0
- package/doc/public/static/img/live_tracker_mb.jpg +0 -0
- package/doc/public/static/img/live_tracker_munich.jpg +0 -0
- package/doc/public/static/img/live_tracker_ol.jpg +0 -0
- package/doc/public/static/img/mapbox.jpg +0 -0
- package/doc/public/static/img/mapbox_style.jpg +0 -0
- package/doc/public/static/img/ol-copyright.png +0 -0
- package/doc/public/static/img/query_objects.jpg +0 -0
- package/doc/public/static/img/routing.jpg +0 -0
- package/doc/public/static/img/simple_map.jpg +0 -0
- package/doc/public/static/img/stops.jpg +0 -0
- package/doc/public/vercel.svg +4 -0
- package/doc/src/components/CodeSandboxButton.js +102 -0
- package/doc/src/components/Documentation.js +42 -0
- package/doc/src/components/Esdoc/Anchor.js +57 -0
- package/doc/src/components/Esdoc/ClassDoc.js +272 -0
- package/doc/src/components/Esdoc/DeprecatedHTML.js +16 -0
- package/doc/src/components/Esdoc/DetailDocs.js +279 -0
- package/doc/src/components/Esdoc/DetailHTML.js +33 -0
- package/doc/src/components/Esdoc/DirectSubclassHTML.js +30 -0
- package/doc/src/components/Esdoc/DocBuilderUtils.js +697 -0
- package/doc/src/components/Esdoc/DocLinkHTML.js +63 -0
- package/doc/src/components/Esdoc/DocsLinkHTML.js +38 -0
- package/doc/src/components/Esdoc/Esdoc.js +63 -0
- package/doc/src/components/Esdoc/EsdocContent.js +56 -0
- package/doc/src/components/Esdoc/EsdocNavigation.js +13 -0
- package/doc/src/components/Esdoc/EsdocSearch.js +78 -0
- package/doc/src/components/Esdoc/ExperimentalHTML.js +17 -0
- package/doc/src/components/Esdoc/ExtendsChainHTML.js +32 -0
- package/doc/src/components/Esdoc/FileDocLinkHTML.js +62 -0
- package/doc/src/components/Esdoc/IdentifiersDoc.js +113 -0
- package/doc/src/components/Esdoc/IndirectSubclassHTML.js +30 -0
- package/doc/src/components/Esdoc/InheritedSummaryDoc.js +70 -0
- package/doc/src/components/Esdoc/InheritedSummaryHTML.js +38 -0
- package/doc/src/components/Esdoc/MixinClassesHTML.js +29 -0
- package/doc/src/components/Esdoc/NavDoc.js +112 -0
- package/doc/src/components/Esdoc/OverrideMethod.js +44 -0
- package/doc/src/components/Esdoc/OverrideMethodDescription.js +35 -0
- package/doc/src/components/Esdoc/Properties.js +89 -0
- package/doc/src/components/Esdoc/README.md +45 -0
- package/doc/src/components/Esdoc/SignatureHTML.js +123 -0
- package/doc/src/components/Esdoc/SingleDoc.js +31 -0
- package/doc/src/components/Esdoc/SummaryDoc.js +160 -0
- package/doc/src/components/Esdoc/SummaryHTML.js +96 -0
- package/doc/src/components/Esdoc/TypeDocLinkHTML.js +251 -0
- package/doc/src/components/Esdoc/index.js +7 -0
- package/doc/src/components/Esdoc/taffydb.js +2070 -0
- package/doc/src/components/Example.js +200 -0
- package/doc/src/components/ExampleCard.js +126 -0
- package/doc/src/components/Examples.js +78 -0
- package/doc/src/components/Home.js +121 -0
- package/doc/src/components/TrackerExample.js +39 -0
- package/doc/src/examples.js +117 -0
- package/doc/styles/App.scss +53 -0
- package/doc/styles/identifiers.css +38 -0
- package/doc/styles/search.css +76 -0
- package/doc/styles/style.css +603 -0
- package/esdoc/README.md +27 -0
- package/esdoc/plugins/MyPlugin.js +69 -0
- package/esdoc/plugins/dynamic-property-plugin/Plugin.js +50 -0
- package/esdoc/plugins/externals-plugin/Plugin.js +45 -0
- package/esdoc/plugins/externals-plugin/externals.js +93 -0
- package/esdoc/plugins/optional-chaining-plugin/Plugin.js +8 -0
- package/global-setup.js +3 -0
- package/jest.config.js +24 -0
- package/package.json +19 -19
- package/pull_request_template.md +17 -0
- package/scripts/read-pkg-json.js +22 -0
- package/src/api/RealtimeAPI.test.js +144 -0
- package/src/api/RealtimeAPI.ts +712 -0
- package/src/api/RoutingAPI.test.js +41 -0
- package/src/api/RoutingAPI.ts +47 -0
- package/src/api/StopsAPI.test.js +34 -0
- package/src/api/StopsAPI.ts +45 -0
- package/{api → src/api}/typedefs.js +11 -1
- package/src/common/api/HttpAPI.test.js +68 -0
- package/src/common/api/HttpAPI.ts +77 -0
- package/src/common/api/WebSocketAPI.test.js +421 -0
- package/src/common/api/WebSocketAPI.ts +515 -0
- package/src/common/controls/ControlCommon.test.js +106 -0
- package/src/common/controls/ControlCommon.ts +194 -0
- package/src/common/controls/CopyrightControlCommon.ts +41 -0
- package/src/common/controls/StopFinderControlCommon.ts +192 -0
- package/src/common/layers/LayerCommon.test.js +158 -0
- package/src/common/layers/LayerCommon.ts +321 -0
- package/src/common/mixins/RealtimeLayerMixin.ts +1168 -0
- package/src/common/mixins/UserInteractionsLayerMixin.test.js +227 -0
- package/src/common/mixins/UserInteractionsLayerMixin.ts +352 -0
- package/src/common/styles/realtimeDefaultStyle.ts +436 -0
- package/src/common/styles/realtimeDelayStyle.ts +27 -0
- package/src/common/styles/realtimeHeadingStyle.ts +138 -0
- package/src/common/styles/realtimeSimpleStyle.ts +25 -0
- package/{common → src/common}/typedefs.js +1 -1
- package/src/common/utils/compareDepartures.ts +46 -0
- package/src/common/utils/createCanvas.ts +33 -0
- package/src/common/utils/createRealtimeFilters.test.js +100 -0
- package/src/common/utils/createRealtimeFilters.ts +96 -0
- package/src/common/utils/debounceDeparturesMessages.ts +52 -0
- package/src/common/utils/debounceWebsocketMessages.ts +47 -0
- package/src/common/utils/getLayersAsFlatArray.ts +17 -0
- package/src/common/utils/getMapboxMapCopyrights.test.js +47 -0
- package/src/common/utils/getMapboxMapCopyrights.ts +52 -0
- package/src/common/utils/getMapboxRender.ts +104 -0
- package/src/common/utils/getMaplibreRender.ts +54 -0
- package/{common/utils/getRealtimeModeSuffix.d.ts → src/common/utils/getRealtimeModeSuffix.ts} +4 -2
- package/src/common/utils/getUrlWithParams.ts +21 -0
- package/src/common/utils/getVehiclePosition.ts +92 -0
- package/{common → src/common}/utils/index.js +1 -2
- package/src/common/utils/realtimeConfig.test.js +57 -0
- package/src/common/utils/realtimeConfig.ts +228 -0
- package/src/common/utils/removeDuplicate.test.js +22 -0
- package/src/common/utils/removeDuplicate.ts +22 -0
- package/src/common/utils/renderTrajectories.ts +194 -0
- package/src/common/utils/sortAndFilterDepartures.ts +78 -0
- package/src/common/utils/sortByDelay.ts +29 -0
- package/src/common/utils/timeUtils.test.js +16 -0
- package/src/common/utils/timeUtils.ts +45 -0
- package/{iife.js → src/iife.js} +3 -1
- package/src/index.js +10 -0
- package/{mapbox/controls/CopyrightControl.js → src/mapbox/controls/CopyrightControl.ts} +26 -21
- package/src/mapbox/layers/Layer.test.js +217 -0
- package/src/mapbox/layers/Layer.ts +144 -0
- package/src/mapbox/layers/RealtimeLayer.test.js +13 -0
- package/src/mapbox/layers/RealtimeLayer.ts +350 -0
- package/src/mapbox/utils/getMercatorResolution.ts +21 -0
- package/src/mapbox/utils/getSourceCoordinates.ts +34 -0
- package/src/ol/README.md +0 -0
- package/src/ol/controls/CopyrightControl.test.js +211 -0
- package/src/ol/controls/CopyrightControl.ts +82 -0
- package/src/ol/controls/RoutingControl.test.js +205 -0
- package/src/ol/controls/RoutingControl.ts +869 -0
- package/src/ol/controls/StopFinderControl.test.js +59 -0
- package/{ol/controls/StopFinderControl.js → src/ol/controls/StopFinderControl.ts} +10 -7
- package/src/ol/controls/snapshots/RoutingControlRouteGen10.json +58 -0
- package/src/ol/controls/snapshots/RoutingControlRouteGen100.json +292 -0
- package/src/ol/controls/snapshots/RoutingControlRouteGen30.json +69 -0
- package/src/ol/controls/snapshots/RoutingControlRouteGen5.json +58 -0
- package/src/ol/controls/snapshots/RoutingControlRouteOSM.json +759 -0
- package/src/ol/controls/snapshots/RoutingControlStation1.json +60 -0
- package/src/ol/controls/snapshots/RoutingControlStation2.json +49 -0
- package/src/ol/layers/Layer.test.js +212 -0
- package/src/ol/layers/Layer.ts +252 -0
- package/src/ol/layers/MapGlLayer.ts +294 -0
- package/src/ol/layers/MapboxLayer.test.js +190 -0
- package/src/ol/layers/MapboxLayer.ts +136 -0
- package/src/ol/layers/MapboxStyleLayer.test.js +258 -0
- package/src/ol/layers/MapboxStyleLayer.ts +466 -0
- package/{ol/layers/MaplibreLayer.d.ts → src/ol/layers/MaplibreLayer.ts} +21 -10
- package/src/ol/layers/RealtimeLayer.test.js +84 -0
- package/src/ol/layers/RealtimeLayer.ts +465 -0
- package/src/ol/layers/RoutingLayer.test.js +48 -0
- package/src/ol/layers/RoutingLayer.ts +113 -0
- package/src/ol/layers/VectorLayer.test.js +87 -0
- package/src/ol/layers/VectorLayer.ts +48 -0
- package/src/ol/layers/WMSLayer.test.js +65 -0
- package/src/ol/layers/WMSLayer.ts +114 -0
- package/src/ol/styles/fullTrajectoryDelayStyle.ts +37 -0
- package/src/ol/styles/fullTrajectoryStyle.ts +56 -0
- package/{setupTests.js → src/setupTests.js} +12 -7
- package/tsconfig.json +23 -0
- package/api/RealtimeAPI.d.ts +0 -290
- package/api/RealtimeAPI.d.ts.map +0 -1
- package/api/RealtimeAPI.js +0 -483
- package/api/RoutingAPI.d.ts +0 -37
- package/api/RoutingAPI.d.ts.map +0 -1
- package/api/RoutingAPI.js +0 -35
- package/api/StopsAPI.d.ts +0 -38
- package/api/StopsAPI.d.ts.map +0 -1
- package/api/StopsAPI.js +0 -36
- package/api/index.d.ts +0 -4
- package/api/index.d.ts.map +0 -1
- package/api/typedefs.d.ts +0 -179
- package/api/typedefs.d.ts.map +0 -1
- package/common/api/HttpAPI.d.ts +0 -31
- package/common/api/HttpAPI.d.ts.map +0 -1
- package/common/api/HttpAPI.js +0 -57
- package/common/api/WebSocketAPI.d.ts +0 -153
- package/common/api/WebSocketAPI.d.ts.map +0 -1
- package/common/api/WebSocketAPI.js +0 -341
- package/common/controls/ControlCommon.d.ts +0 -76
- package/common/controls/ControlCommon.d.ts.map +0 -1
- package/common/controls/ControlCommon.js +0 -150
- package/common/controls/CopyrightControlCommon.d.ts +0 -13
- package/common/controls/CopyrightControlCommon.d.ts.map +0 -1
- package/common/controls/CopyrightControlCommon.js +0 -34
- package/common/controls/StopFinderControlCommon.d.ts +0 -55
- package/common/controls/StopFinderControlCommon.d.ts.map +0 -1
- package/common/controls/StopFinderControlCommon.js +0 -144
- package/common/index.d.ts +0 -3
- package/common/index.d.ts.map +0 -1
- package/common/layers/LayerCommon.d.ts +0 -94
- package/common/layers/LayerCommon.d.ts.map +0 -1
- package/common/layers/LayerCommon.js +0 -244
- package/common/mixins/RealtimeLayerMixin.d.ts +0 -288
- package/common/mixins/RealtimeLayerMixin.d.ts.map +0 -1
- package/common/mixins/RealtimeLayerMixin.js +0 -778
- package/common/mixins/UserInteractionsLayerMixin.d.ts +0 -60
- package/common/mixins/UserInteractionsLayerMixin.d.ts.map +0 -1
- package/common/mixins/UserInteractionsLayerMixin.js +0 -241
- package/common/styles/index.d.ts +0 -5
- package/common/styles/index.d.ts.map +0 -1
- package/common/styles/realtimeDefaultStyle.d.ts +0 -36
- package/common/styles/realtimeDefaultStyle.d.ts.map +0 -1
- package/common/styles/realtimeDefaultStyle.js +0 -276
- package/common/styles/realtimeDelayStyle.d.ts +0 -12
- package/common/styles/realtimeDelayStyle.d.ts.map +0 -1
- package/common/styles/realtimeDelayStyle.js +0 -13
- package/common/styles/realtimeHeadingStyle.d.ts +0 -12
- package/common/styles/realtimeHeadingStyle.d.ts.map +0 -1
- package/common/styles/realtimeHeadingStyle.js +0 -87
- package/common/styles/realtimeSimpleStyle.d.ts +0 -4
- package/common/styles/realtimeSimpleStyle.d.ts.map +0 -1
- package/common/styles/realtimeSimpleStyle.js +0 -23
- package/common/typedefs.d.ts +0 -183
- package/common/typedefs.d.ts.map +0 -1
- package/common/utils/compareDepartures.d.ts +0 -11
- package/common/utils/compareDepartures.d.ts.map +0 -1
- package/common/utils/compareDepartures.js +0 -35
- package/common/utils/createCanvas.d.ts +0 -11
- package/common/utils/createCanvas.d.ts.map +0 -1
- package/common/utils/createCanvas.js +0 -28
- package/common/utils/createRealtimeFilters.d.ts +0 -13
- package/common/utils/createRealtimeFilters.d.ts.map +0 -1
- package/common/utils/createRealtimeFilters.js +0 -74
- package/common/utils/debounceDeparturesMessages.d.ts +0 -13
- package/common/utils/debounceDeparturesMessages.d.ts.map +0 -1
- package/common/utils/debounceDeparturesMessages.js +0 -28
- package/common/utils/debounceWebsocketMessages.d.ts +0 -12
- package/common/utils/debounceWebsocketMessages.d.ts.map +0 -1
- package/common/utils/debounceWebsocketMessages.js +0 -30
- package/common/utils/getLayersAsFlatArray.d.ts +0 -4
- package/common/utils/getLayersAsFlatArray.d.ts.map +0 -1
- package/common/utils/getLayersAsFlatArray.js +0 -16
- package/common/utils/getMapboxMapCopyrights.d.ts +0 -18
- package/common/utils/getMapboxMapCopyrights.d.ts.map +0 -1
- package/common/utils/getMapboxMapCopyrights.js +0 -30
- package/common/utils/getMapboxRender.d.ts +0 -8
- package/common/utils/getMapboxRender.d.ts.map +0 -1
- package/common/utils/getMapboxRender.js +0 -88
- package/common/utils/getMaplibreRender.d.ts +0 -9
- package/common/utils/getMaplibreRender.d.ts.map +0 -1
- package/common/utils/getMaplibreRender.js +0 -40
- package/common/utils/getRealtimeModeSuffix.d.ts.map +0 -1
- package/common/utils/getRealtimeModeSuffix.js +0 -7
- package/common/utils/getUrlWithParams.d.ts +0 -9
- package/common/utils/getUrlWithParams.d.ts.map +0 -1
- package/common/utils/getUrlWithParams.js +0 -18
- package/common/utils/getVehiclePosition.d.ts +0 -16
- package/common/utils/getVehiclePosition.d.ts.map +0 -1
- package/common/utils/getVehiclePosition.js +0 -72
- package/common/utils/index.d.ts +0 -18
- package/common/utils/index.d.ts.map +0 -1
- package/common/utils/realtimeConfig.d.ts +0 -53
- package/common/utils/realtimeConfig.d.ts.map +0 -1
- package/common/utils/realtimeConfig.js +0 -202
- package/common/utils/removeDuplicate.d.ts +0 -10
- package/common/utils/removeDuplicate.d.ts.map +0 -1
- package/common/utils/removeDuplicate.js +0 -15
- package/common/utils/renderTrajectories.d.ts +0 -17
- package/common/utils/renderTrajectories.d.ts.map +0 -1
- package/common/utils/renderTrajectories.js +0 -110
- package/common/utils/sortAndFilterDepartures.d.ts +0 -16
- package/common/utils/sortAndFilterDepartures.d.ts.map +0 -1
- package/common/utils/sortAndFilterDepartures.js +0 -58
- package/common/utils/sortByDelay.d.ts +0 -4
- package/common/utils/sortByDelay.d.ts.map +0 -1
- package/common/utils/sortByDelay.js +0 -21
- package/common/utils/timeUtils.d.ts +0 -24
- package/common/utils/timeUtils.d.ts.map +0 -1
- package/common/utils/timeUtils.js +0 -39
- package/iife.d.ts +0 -3
- package/iife.d.ts.map +0 -1
- package/index.d.ts +0 -10
- package/index.d.ts.map +0 -1
- package/index.js +0 -10
- package/mapbox/controls/CopyrightControl.d.ts +0 -29
- package/mapbox/controls/CopyrightControl.d.ts.map +0 -1
- package/mapbox/controls/index.d.ts +0 -2
- package/mapbox/controls/index.d.ts.map +0 -1
- package/mapbox/index.d.ts +0 -6
- package/mapbox/index.d.ts.map +0 -1
- package/mapbox/layers/Layer.d.ts +0 -59
- package/mapbox/layers/Layer.d.ts.map +0 -1
- package/mapbox/layers/Layer.js +0 -101
- package/mapbox/layers/RealtimeLayer.d.ts +0 -180
- package/mapbox/layers/RealtimeLayer.d.ts.map +0 -1
- package/mapbox/layers/RealtimeLayer.js +0 -270
- package/mapbox/layers/index.d.ts +0 -3
- package/mapbox/layers/index.d.ts.map +0 -1
- package/mapbox/utils/getMercatorResolution.d.ts +0 -9
- package/mapbox/utils/getMercatorResolution.d.ts.map +0 -1
- package/mapbox/utils/getMercatorResolution.js +0 -18
- package/mapbox/utils/getSourceCoordinates.d.ts +0 -9
- package/mapbox/utils/getSourceCoordinates.d.ts.map +0 -1
- package/mapbox/utils/getSourceCoordinates.js +0 -27
- package/mapbox/utils/index.d.ts +0 -3
- package/mapbox/utils/index.d.ts.map +0 -1
- package/mbt.js +0 -64703
- package/mbt.js.map +0 -7
- package/mbt.min.js +0 -1090
- package/mbt.min.js.map +0 -7
- package/ol/controls/CopyrightControl.d.ts +0 -31
- package/ol/controls/CopyrightControl.d.ts.map +0 -1
- package/ol/controls/CopyrightControl.js +0 -68
- package/ol/controls/RoutingControl.d.ts +0 -193
- package/ol/controls/RoutingControl.d.ts.map +0 -1
- package/ol/controls/RoutingControl.js +0 -631
- package/ol/controls/StopFinderControl.d.ts +0 -30
- package/ol/controls/StopFinderControl.d.ts.map +0 -1
- package/ol/controls/index.d.ts +0 -4
- package/ol/controls/index.d.ts.map +0 -1
- package/ol/index.d.ts +0 -6
- package/ol/index.d.ts.map +0 -1
- package/ol/layers/Layer.d.ts +0 -86
- package/ol/layers/Layer.d.ts.map +0 -1
- package/ol/layers/Layer.js +0 -174
- package/ol/layers/MapGlLayer.d.ts +0 -67
- package/ol/layers/MapGlLayer.d.ts.map +0 -1
- package/ol/layers/MapGlLayer.js +0 -218
- package/ol/layers/MapboxLayer.d.ts +0 -50
- package/ol/layers/MapboxLayer.d.ts.map +0 -1
- package/ol/layers/MapboxLayer.js +0 -109
- package/ol/layers/MapboxStyleLayer.d.ts +0 -130
- package/ol/layers/MapboxStyleLayer.d.ts.map +0 -1
- package/ol/layers/MapboxStyleLayer.js +0 -378
- package/ol/layers/MaplibreLayer.d.ts.map +0 -1
- package/ol/layers/MaplibreLayer.js +0 -34
- package/ol/layers/RealtimeLayer.d.ts +0 -202
- package/ol/layers/RealtimeLayer.d.ts.map +0 -1
- package/ol/layers/RealtimeLayer.js +0 -336
- package/ol/layers/RoutingLayer.d.ts +0 -35
- package/ol/layers/RoutingLayer.d.ts.map +0 -1
- package/ol/layers/RoutingLayer.js +0 -85
- package/ol/layers/VectorLayer.d.ts +0 -25
- package/ol/layers/VectorLayer.d.ts.map +0 -1
- package/ol/layers/VectorLayer.js +0 -38
- package/ol/layers/WMSLayer.d.ts +0 -42
- package/ol/layers/WMSLayer.d.ts.map +0 -1
- package/ol/layers/WMSLayer.js +0 -88
- package/ol/layers/index.d.ts +0 -9
- package/ol/layers/index.d.ts.map +0 -1
- package/ol/styles/fullTrajectoryDelayStyle.d.ts +0 -4
- package/ol/styles/fullTrajectoryDelayStyle.d.ts.map +0 -1
- package/ol/styles/fullTrajectoryDelayStyle.js +0 -33
- package/ol/styles/fullTrajectoryStyle.d.ts +0 -5
- package/ol/styles/fullTrajectoryStyle.d.ts.map +0 -1
- package/ol/styles/fullTrajectoryStyle.js +0 -44
- package/ol/styles/index.d.ts +0 -3
- package/ol/styles/index.d.ts.map +0 -1
- package/setupTests.d.ts +0 -2
- package/setupTests.d.ts.map +0 -1
- /package/{api → src/api}/index.js +0 -0
- /package/{common → src/common}/index.js +0 -0
- /package/{common → src/common}/styles/index.js +0 -0
- /package/{mapbox → src/mapbox}/controls/index.js +0 -0
- /package/{mapbox → src/mapbox}/index.js +0 -0
- /package/{mapbox → src/mapbox}/layers/index.js +0 -0
- /package/{mapbox → src/mapbox}/utils/index.js +0 -0
- /package/{ol → src/ol}/controls/index.js +0 -0
- /package/{ol → src/ol}/index.js +0 -0
- /package/{ol → src/ol}/layers/index.js +0 -0
- /package/{ol → src/ol}/styles/index.js +0 -0
- /package/{types → src/types}/common.d.ts +0 -0
- /package/{types → src/types}/index.d.ts +0 -0
- /package/{types → src/types}/realtime.d.ts +0 -0
- /package/{types → src/types}/routing.d.ts +0 -0
- /package/{types → src/types}/stops.d.ts +0 -0
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import removeDuplicate from './removeDuplicate';
|
|
2
|
-
/**
|
|
3
|
-
* Return the copyright a Mapbox map.
|
|
4
|
-
* @param {mapboxgl.Map | maplibregl.Map} map A Mapbox map
|
|
5
|
-
* @private
|
|
6
|
-
*/
|
|
7
|
-
const getMapboxMapCopyrights = (map) => {
|
|
8
|
-
if (!map) {
|
|
9
|
-
return [];
|
|
10
|
-
}
|
|
11
|
-
// @ts-ignore
|
|
12
|
-
const { style } = map;
|
|
13
|
-
if (!style) {
|
|
14
|
-
return [];
|
|
15
|
-
}
|
|
16
|
-
const { sourceCaches } = style;
|
|
17
|
-
let copyrights = [];
|
|
18
|
-
Object.values(sourceCaches).forEach((sourceCache) => {
|
|
19
|
-
if (sourceCache.used) {
|
|
20
|
-
const source = sourceCache.getSource();
|
|
21
|
-
const attribution = // @ts-ignore
|
|
22
|
-
source.attribution || (source.options && source.options.attribution);
|
|
23
|
-
if (attribution) {
|
|
24
|
-
copyrights = copyrights.concat(attribution.replace(/©/g, '©').split(/(<a.*?<\/a>)/));
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
return removeDuplicate(copyrights);
|
|
29
|
-
};
|
|
30
|
-
export default getMapboxMapCopyrights;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { RenderFunction } from 'ol/layer/Layer';
|
|
2
|
-
import type { MapboxLayer } from '../../ol';
|
|
3
|
-
/**
|
|
4
|
-
* Return the render function fo the olLayer of a MaplibreLayer
|
|
5
|
-
* @private
|
|
6
|
-
*/
|
|
7
|
-
export default function getMapboxRender(mapoxLayer: MapboxLayer): RenderFunction;
|
|
8
|
-
//# sourceMappingURL=getMapboxRender.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getMapboxRender.d.ts","sourceRoot":"","sources":["../../../src/common/utils/getMapboxRender.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGhD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,UAAU,EAAE,WAAW,GACtB,cAAc,CA4FhB"}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { toLonLat } from 'ol/proj';
|
|
2
|
-
/**
|
|
3
|
-
* Return the render function fo the olLayer of a MaplibreLayer
|
|
4
|
-
* @private
|
|
5
|
-
*/
|
|
6
|
-
export default function getMapboxRender(mapoxLayer) {
|
|
7
|
-
// We cretae emptyDiv only in render finction to work with serverside rendering
|
|
8
|
-
let emptyDiv;
|
|
9
|
-
return (frameState) => {
|
|
10
|
-
const { map, mbMap, renderState, olLayer } = mapoxLayer;
|
|
11
|
-
if (!map || !mbMap) {
|
|
12
|
-
if (!emptyDiv) {
|
|
13
|
-
emptyDiv = document.createElement('div');
|
|
14
|
-
}
|
|
15
|
-
return emptyDiv;
|
|
16
|
-
}
|
|
17
|
-
let changed = false;
|
|
18
|
-
const canvas = mbMap.getCanvas();
|
|
19
|
-
const { viewState } = frameState;
|
|
20
|
-
const visible = olLayer === null || olLayer === void 0 ? void 0 : olLayer.getVisible();
|
|
21
|
-
if (renderState && (renderState === null || renderState === void 0 ? void 0 : renderState.visible) !== visible) {
|
|
22
|
-
canvas.style.display = visible ? 'block' : 'none';
|
|
23
|
-
renderState.visible = visible;
|
|
24
|
-
// Needed since mapbox-gl 1.9.0.
|
|
25
|
-
// Without you don't see others ol layers on top.
|
|
26
|
-
canvas.style.position = 'absolute';
|
|
27
|
-
}
|
|
28
|
-
const opacity = olLayer === null || olLayer === void 0 ? void 0 : olLayer.getOpacity();
|
|
29
|
-
if (canvas && renderState && renderState.opacity !== opacity) {
|
|
30
|
-
// @ts-ignore
|
|
31
|
-
canvas.style.opacity = opacity;
|
|
32
|
-
renderState.opacity = opacity;
|
|
33
|
-
}
|
|
34
|
-
// adjust view parameters in mapbox
|
|
35
|
-
const { rotation } = viewState;
|
|
36
|
-
if (renderState && renderState.rotation !== rotation) {
|
|
37
|
-
mbMap.rotateTo((-(rotation || 0) * 180) / Math.PI, {
|
|
38
|
-
animate: false,
|
|
39
|
-
});
|
|
40
|
-
changed = true;
|
|
41
|
-
renderState.rotation = rotation;
|
|
42
|
-
}
|
|
43
|
-
if (renderState &&
|
|
44
|
-
renderState.center &&
|
|
45
|
-
(renderState.zoom !== viewState.zoom ||
|
|
46
|
-
renderState.center[0] !== viewState.center[0] ||
|
|
47
|
-
renderState.center[1] !== viewState.center[1])) {
|
|
48
|
-
mbMap.jumpTo({
|
|
49
|
-
center: toLonLat(viewState.center),
|
|
50
|
-
zoom: viewState.zoom - 1,
|
|
51
|
-
});
|
|
52
|
-
changed = true;
|
|
53
|
-
renderState.zoom = viewState.zoom;
|
|
54
|
-
renderState.center = viewState.center;
|
|
55
|
-
}
|
|
56
|
-
const size = map.getSize() || [0, 0];
|
|
57
|
-
if (renderState &&
|
|
58
|
-
renderState.size &&
|
|
59
|
-
(renderState.size[0] !== size[0] || renderState.size[1] !== size[1])) {
|
|
60
|
-
changed = true;
|
|
61
|
-
renderState.size = size;
|
|
62
|
-
}
|
|
63
|
-
// cancel the scheduled update & trigger synchronous redraw
|
|
64
|
-
// see https://github.com/mapbox/mapbox-gl-js/issues/7893#issue-408992184
|
|
65
|
-
// NOTE: THIS MIGHT BREAK WHEN UPDATING MAPBOX
|
|
66
|
-
// @ts-ignore
|
|
67
|
-
if (mbMap && mbMap.style && mbMap.isStyleLoaded() && changed) {
|
|
68
|
-
try {
|
|
69
|
-
// @ts-ignore
|
|
70
|
-
if (mbMap._frame) {
|
|
71
|
-
// @ts-ignore
|
|
72
|
-
mbMap._frame.cancel();
|
|
73
|
-
// @ts-ignore
|
|
74
|
-
mbMap._frame = null;
|
|
75
|
-
}
|
|
76
|
-
// @ts-ignore
|
|
77
|
-
mbMap._render();
|
|
78
|
-
}
|
|
79
|
-
catch (err) {
|
|
80
|
-
// ignore render errors because it's probably related to
|
|
81
|
-
// a render during an update of the style.
|
|
82
|
-
// eslint-disable-next-line no-console
|
|
83
|
-
console.warn(err);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
return mbMap.getContainer();
|
|
87
|
-
};
|
|
88
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { RenderFunction } from 'ol/layer/Layer';
|
|
2
|
-
import type { MaplibreLayer } from '../../ol';
|
|
3
|
-
/**
|
|
4
|
-
* Return the render function fo the olLayer of a MaplibreLayer
|
|
5
|
-
* @private
|
|
6
|
-
*
|
|
7
|
-
*/
|
|
8
|
-
export default function getMaplibreRender(maplibreLayer: MaplibreLayer): RenderFunction;
|
|
9
|
-
//# sourceMappingURL=getMaplibreRender.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getMaplibreRender.d.ts","sourceRoot":"","sources":["../../../src/common/utils/getMaplibreRender.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C;;;;GAIG;AAEH,MAAM,CAAC,OAAO,UAAU,iBAAiB,CACvC,aAAa,EAAE,aAAa,GAC3B,cAAc,CAuChB"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { toLonLat } from 'ol/proj';
|
|
2
|
-
import { toDegrees } from 'ol/math';
|
|
3
|
-
/**
|
|
4
|
-
* Return the render function fo the olLayer of a MaplibreLayer
|
|
5
|
-
* @private
|
|
6
|
-
*
|
|
7
|
-
*/
|
|
8
|
-
export default function getMaplibreRender(maplibreLayer) {
|
|
9
|
-
let emptyDiv;
|
|
10
|
-
return (frameState) => {
|
|
11
|
-
const { map, mbMap, olLayer } = maplibreLayer;
|
|
12
|
-
if (!map || !mbMap) {
|
|
13
|
-
if (!emptyDiv) {
|
|
14
|
-
emptyDiv = document.createElement('div');
|
|
15
|
-
}
|
|
16
|
-
return emptyDiv;
|
|
17
|
-
}
|
|
18
|
-
const canvas = mbMap.getCanvas();
|
|
19
|
-
const { viewState } = frameState;
|
|
20
|
-
const opacity = (olLayer === null || olLayer === void 0 ? void 0 : olLayer.getOpacity()) || 1;
|
|
21
|
-
canvas.style.opacity = `${opacity}`;
|
|
22
|
-
// adjust view parameters in mapbox
|
|
23
|
-
mbMap.jumpTo({
|
|
24
|
-
center: toLonLat(viewState.center),
|
|
25
|
-
zoom: viewState.zoom - 1,
|
|
26
|
-
bearing: toDegrees(-viewState.rotation),
|
|
27
|
-
});
|
|
28
|
-
if (!canvas.isConnected) {
|
|
29
|
-
// The canvas is not connected to the DOM, request a map rendering at the next animation frame
|
|
30
|
-
// to set the canvas size.
|
|
31
|
-
map.render();
|
|
32
|
-
}
|
|
33
|
-
else if (canvas.width !== frameState.size[0] ||
|
|
34
|
-
canvas.height !== frameState.size[1]) {
|
|
35
|
-
mbMap.resize();
|
|
36
|
-
}
|
|
37
|
-
mbMap.redraw();
|
|
38
|
-
return mbMap.getContainer();
|
|
39
|
-
};
|
|
40
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getRealtimeModeSuffix.d.ts","sourceRoot":"","sources":["../../../src/common/utils/getRealtimeModeSuffix.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D;;;;GAIG;AACH,QAAA,MAAM,aAAa,SAAU,YAAY,SAAS,iBAAiB,KAAG,MACxB,CAAC;AAE/C,eAAe,aAAa,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Get the websocket channel suffix, depending on the current mode.
|
|
3
|
-
* @param {String} mode Mode 'topographic' ou 'schematic'.
|
|
4
|
-
* @private
|
|
5
|
-
*/
|
|
6
|
-
const getModeSuffix = (mode, modes) => mode === modes.SCHEMATIC ? '_schematic' : '';
|
|
7
|
-
export default getModeSuffix;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Return the styleUrl with apiKey parameters set.
|
|
3
|
-
* @param {string} url a url.
|
|
4
|
-
* @param {Object<String,String>} params a list of key/value pair to add to the url.
|
|
5
|
-
* @private
|
|
6
|
-
*/
|
|
7
|
-
declare const getUrlWithParams: (url: string, params: Object) => URL;
|
|
8
|
-
export default getUrlWithParams;
|
|
9
|
-
//# sourceMappingURL=getUrlWithParams.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getUrlWithParams.d.ts","sourceRoot":"","sources":["../../../src/common/utils/getUrlWithParams.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,QAAA,MAAM,gBAAgB,QAAS,MAAM,UAAU,MAAM,KAAG,GAYvD,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Return the styleUrl with apiKey parameters set.
|
|
3
|
-
* @param {string} url a url.
|
|
4
|
-
* @param {Object<String,String>} params a list of key/value pair to add to the url.
|
|
5
|
-
* @private
|
|
6
|
-
*/
|
|
7
|
-
const getUrlWithParams = (url, params) => {
|
|
8
|
-
// Clean requets parameters, removing undefined and null values.
|
|
9
|
-
const newUrl = new URL(url);
|
|
10
|
-
const searchParams = params || {};
|
|
11
|
-
Object.entries(searchParams).forEach(([key, value]) => {
|
|
12
|
-
if (value !== undefined && value !== null) {
|
|
13
|
-
newUrl.searchParams.set(key, value);
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
return newUrl;
|
|
17
|
-
};
|
|
18
|
-
export default getUrlWithParams;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Coordinate } from 'ol/coordinate';
|
|
2
|
-
export type VehiclePosition = {
|
|
3
|
-
coord: Coordinate;
|
|
4
|
-
rotation: number;
|
|
5
|
-
};
|
|
6
|
-
/**
|
|
7
|
-
* Interpolate or not the vehicle position from a trajectory at a specific date.
|
|
8
|
-
*
|
|
9
|
-
* @param {number} now Current date to interpolate a position with. In ms.
|
|
10
|
-
* @param {RealtimeTrajectory} trajectory The trajectory to interpolate.
|
|
11
|
-
* @param {boolean} noInterpolate If true, the vehicle position is not interpolated on each render but only once.
|
|
12
|
-
* @returns {VehiclePosition}
|
|
13
|
-
*/
|
|
14
|
-
declare const getVehiclePosition: (now: number, trajectory: GeoJSONFeature, noInterpolate: boolean) => VehiclePosition;
|
|
15
|
-
export default getVehiclePosition;
|
|
16
|
-
//# sourceMappingURL=getVehiclePosition.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getVehiclePosition.d.ts","sourceRoot":"","sources":["../../../src/common/utils/getVehiclePosition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAI3C,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;;;;;GAOG;AACH,QAAA,MAAM,kBAAkB,QACjB,MAAM,6CAEI,OAAO,KACrB,eAoEF,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { LineString } from 'ol/geom';
|
|
2
|
-
/**
|
|
3
|
-
* Interpolate or not the vehicle position from a trajectory at a specific date.
|
|
4
|
-
*
|
|
5
|
-
* @param {number} now Current date to interpolate a position with. In ms.
|
|
6
|
-
* @param {RealtimeTrajectory} trajectory The trajectory to interpolate.
|
|
7
|
-
* @param {boolean} noInterpolate If true, the vehicle position is not interpolated on each render but only once.
|
|
8
|
-
* @returns {VehiclePosition}
|
|
9
|
-
*/
|
|
10
|
-
const getVehiclePosition = (now, trajectory, noInterpolate) => {
|
|
11
|
-
const { time_intervals: timeIntervals, olGeometry, coordinate, } = trajectory.properties;
|
|
12
|
-
const { coordinates } = trajectory.geometry;
|
|
13
|
-
let { type } = trajectory.geometry;
|
|
14
|
-
let geometry = olGeometry;
|
|
15
|
-
let coord;
|
|
16
|
-
let rotation;
|
|
17
|
-
if (olGeometry) {
|
|
18
|
-
type = geometry.getType();
|
|
19
|
-
}
|
|
20
|
-
if (noInterpolate && coordinate) {
|
|
21
|
-
coord = coordinate;
|
|
22
|
-
}
|
|
23
|
-
else if (type === 'Point') {
|
|
24
|
-
coord = coordinates;
|
|
25
|
-
}
|
|
26
|
-
else if (type === 'LineString') {
|
|
27
|
-
if (!geometry) {
|
|
28
|
-
geometry = new LineString(coordinates);
|
|
29
|
-
}
|
|
30
|
-
const intervals = timeIntervals || [[]];
|
|
31
|
-
const firstInterval = intervals[0];
|
|
32
|
-
const lastInterval = intervals[intervals.length - 1];
|
|
33
|
-
// Between the last time interval of a trajectory event and the beginning
|
|
34
|
-
// of the new trajectory event, there is few seconds, can be 6 to 30
|
|
35
|
-
// seconds (that's why the vehicle jumps sometimes).
|
|
36
|
-
// So we make the choice here to display the last (or the first) position
|
|
37
|
-
// of an trajectory event instead of removing them, if the current date is
|
|
38
|
-
// outside the time intervals we display the vehicle at the last (or first) position known.
|
|
39
|
-
if (now < firstInterval[0]) {
|
|
40
|
-
// Display first position known.
|
|
41
|
-
[, , rotation] = firstInterval;
|
|
42
|
-
coord = geometry.getFirstCoordinate();
|
|
43
|
-
}
|
|
44
|
-
else if (now > lastInterval[0]) {
|
|
45
|
-
// Display last position known.
|
|
46
|
-
[, , rotation] = lastInterval;
|
|
47
|
-
coord = geometry.getLastCoordinate();
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
// Interpolate position using time intervals.
|
|
51
|
-
for (let j = 0; j < intervals.length - 1; j += 1) {
|
|
52
|
-
// Rotation only available in realtime layer.
|
|
53
|
-
const [start, startFrac] = intervals[j];
|
|
54
|
-
const [end, endFrac] = intervals[j + 1];
|
|
55
|
-
if (start <= now && now <= end) {
|
|
56
|
-
// interpolate position inside the time interval.
|
|
57
|
-
const timeFrac = Math.min((now - start) / (end - start), 1);
|
|
58
|
-
const geomFrac = timeFrac * (endFrac - startFrac) + startFrac;
|
|
59
|
-
coord = geometry.getCoordinateAt(geomFrac);
|
|
60
|
-
[, , rotation] = intervals[j];
|
|
61
|
-
break;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
// eslint-disable-next-line no-console
|
|
68
|
-
console.error('This geometry type is not supported. Only Point or LineString are. Current geometry: ', geometry);
|
|
69
|
-
}
|
|
70
|
-
return { coord, rotation };
|
|
71
|
-
};
|
|
72
|
-
export default getVehiclePosition;
|
package/common/utils/index.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export { default as getUrlWithParams } from "./getUrlWithParams";
|
|
2
|
-
export { default as getMapboxMapCopyrights } from "./getMapboxMapCopyrights";
|
|
3
|
-
export { default as removeDuplicate } from "./removeDuplicate";
|
|
4
|
-
export { default as createRealtimeFilters } from "./createRealtimeFilters";
|
|
5
|
-
export { default as getLayersAsFlatArray } from "./getLayersAsFlatArray";
|
|
6
|
-
export * from "./timeUtils";
|
|
7
|
-
export { default as sortByDelay } from "./sortByDelay";
|
|
8
|
-
export { default as renderTrajectories } from "./renderTrajectories";
|
|
9
|
-
export { default as getMaplibreRender } from "./getMaplibreRender";
|
|
10
|
-
export { default as getMapboxRender } from "./getMapboxRender";
|
|
11
|
-
export { default as debounceDeparturesMessages } from "./debounceDeparturesMessages";
|
|
12
|
-
export { default as debounceWebsocketMessages } from "./debounceWebsocketMessages";
|
|
13
|
-
export { default as sortAndFilterDepartures } from "./sortAndFilterDepartures";
|
|
14
|
-
export { default as compareDepartures } from "./compareDepartures";
|
|
15
|
-
export { default as createCanvas } from "./createCanvas";
|
|
16
|
-
export { default as getVehiclePosition } from "./getVehiclePosition";
|
|
17
|
-
export * as realtimeConfig from "./realtimeConfig";
|
|
18
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/common/utils/index.js"],"names":[],"mappings":""}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { AnyCanvasContext, RealtimeMot } from '../../types';
|
|
2
|
-
export declare const MOTS_ONLY_RAIL: RealtimeMot[];
|
|
3
|
-
export declare const MOTS_WITH_CABLE: RealtimeMot[];
|
|
4
|
-
export declare const MOTS_WITHOUT_CABLE: RealtimeMot[];
|
|
5
|
-
export declare const MOTS_ALL: RealtimeMot[];
|
|
6
|
-
/**
|
|
7
|
-
* Trajserv value: 'Tram', 'Subway / Metro / S-Bahn', 'Train', 'Bus', 'Ferry', 'Cable Car', 'Gondola', 'Funicular', 'Long distance bus', 'Rail',
|
|
8
|
-
* New endpoint use Rail instead of Train.
|
|
9
|
-
* New tracker values: null, "tram", "subway", "rail", "bus", "ferry", "cablecar", "gondola", "funicular", "coach".
|
|
10
|
-
*
|
|
11
|
-
* @private
|
|
12
|
-
*/
|
|
13
|
-
export declare const types: RegExp[];
|
|
14
|
-
/**
|
|
15
|
-
* @private
|
|
16
|
-
*/
|
|
17
|
-
export declare const bgColors: string[];
|
|
18
|
-
/**
|
|
19
|
-
* @private
|
|
20
|
-
*/
|
|
21
|
-
export declare const textColors: string[];
|
|
22
|
-
/**
|
|
23
|
-
* @private
|
|
24
|
-
*/
|
|
25
|
-
export declare const getTypeIndex: (type: RealtimeMot) => number;
|
|
26
|
-
/**
|
|
27
|
-
* @private
|
|
28
|
-
*/
|
|
29
|
-
export declare const getRadius: (type: RealtimeMot, zoom: number) => number;
|
|
30
|
-
/**
|
|
31
|
-
* @private
|
|
32
|
-
*/
|
|
33
|
-
export declare const getBgColor: (type: RealtimeMot) => string;
|
|
34
|
-
/**
|
|
35
|
-
* @private
|
|
36
|
-
*/
|
|
37
|
-
export declare const getTextColor: (type: RealtimeMot) => string;
|
|
38
|
-
/**
|
|
39
|
-
* @private
|
|
40
|
-
*/
|
|
41
|
-
export declare const getTextSize: (ctx: AnyCanvasContext, markerSize: number, text: string, fontSize: number, getTextFont: (fontSize: number, text?: string) => string) => number;
|
|
42
|
-
/**
|
|
43
|
-
* @private
|
|
44
|
-
* @param {number} delayInMs Delay in milliseconds.
|
|
45
|
-
* @param {boolean} cancelled true if the journey is cancelled.
|
|
46
|
-
* @param {boolean} isDelayText true if the color is used for delay text of the symbol.
|
|
47
|
-
*/
|
|
48
|
-
export declare const getDelayColor: (delayInMs: number | null, cancelled?: boolean, isDelayText?: boolean) => string;
|
|
49
|
-
/**
|
|
50
|
-
* @private
|
|
51
|
-
*/
|
|
52
|
-
export declare const getDelayText: (delayInMs: number, cancelled: boolean) => string;
|
|
53
|
-
//# sourceMappingURL=realtimeConfig.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"realtimeConfig.d.ts","sourceRoot":"","sources":["../../../src/common/utils/realtimeConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAgB5D,eAAO,MAAM,cAAc,EAAE,WAAW,EAAa,CAAC;AACtD,eAAO,MAAM,eAAe,EAAE,WAAW,EAKxC,CAAC;AACF,eAAO,MAAM,kBAAkB,EAAE,WAAW,EAK3C,CAAC;AACF,eAAO,MAAM,QAAQ,EAAE,WAAW,EAUjC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,EAAE,MAAM,EAWzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,MAAM,EAW5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,EAW9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,SAAU,WAAW,KAAG,MAKhD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,SAAU,WAAW,QAAQ,MAAM,KAAG,MAO3D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,SAAU,WAAW,KAAG,MAO9C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,SAAU,WAAW,KAAG,MAOhD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,QACjB,gBAAgB,cACT,MAAM,QACZ,MAAM,YACF,MAAM,0BACQ,MAAM,SAAS,MAAM,KAAK,MAAM,KACvD,MAkBF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,cACb,MAAM,GAAG,IAAI,cACZ,OAAO,gBACL,OAAO,KACpB,MAoBF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,cAAe,MAAM,aAAa,OAAO,KAAG,MAwBpE,CAAC"}
|
|
@@ -1,202 +0,0 @@
|
|
|
1
|
-
/** @private */
|
|
2
|
-
const radiusMapping = [
|
|
3
|
-
[0, 0, 0, 0, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7],
|
|
4
|
-
[0, 0, 0, 0, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7],
|
|
5
|
-
[0, 0, 0, 0, 0, 2, 2, 3, 7, 7, 7, 12, 15, 15, 15, 15, 15],
|
|
6
|
-
[0, 0, 0, 0, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7],
|
|
7
|
-
[0, 0, 0, 0, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7],
|
|
8
|
-
[0, 0, 0, 0, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7],
|
|
9
|
-
[0, 0, 0, 0, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7],
|
|
10
|
-
[0, 0, 0, 0, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7],
|
|
11
|
-
[0, 0, 0, 0, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7],
|
|
12
|
-
[0, 0, 0, 0, 0, 2, 2, 3, 7, 7, 7, 12, 15, 15, 15, 15, 15],
|
|
13
|
-
];
|
|
14
|
-
export const MOTS_ONLY_RAIL = ['rail'];
|
|
15
|
-
export const MOTS_WITH_CABLE = [
|
|
16
|
-
'cablecar',
|
|
17
|
-
'gondola',
|
|
18
|
-
'funicular',
|
|
19
|
-
'coach',
|
|
20
|
-
];
|
|
21
|
-
export const MOTS_WITHOUT_CABLE = [
|
|
22
|
-
'tram',
|
|
23
|
-
'subway',
|
|
24
|
-
'rail',
|
|
25
|
-
'bus',
|
|
26
|
-
];
|
|
27
|
-
export const MOTS_ALL = [
|
|
28
|
-
'tram',
|
|
29
|
-
'subway',
|
|
30
|
-
'rail',
|
|
31
|
-
'bus',
|
|
32
|
-
'ferry',
|
|
33
|
-
'cablecar',
|
|
34
|
-
'gondola',
|
|
35
|
-
'funicular',
|
|
36
|
-
'coach',
|
|
37
|
-
];
|
|
38
|
-
/**
|
|
39
|
-
* Trajserv value: 'Tram', 'Subway / Metro / S-Bahn', 'Train', 'Bus', 'Ferry', 'Cable Car', 'Gondola', 'Funicular', 'Long distance bus', 'Rail',
|
|
40
|
-
* New endpoint use Rail instead of Train.
|
|
41
|
-
* New tracker values: null, "tram", "subway", "rail", "bus", "ferry", "cablecar", "gondola", "funicular", "coach".
|
|
42
|
-
*
|
|
43
|
-
* @private
|
|
44
|
-
*/
|
|
45
|
-
export const types = [
|
|
46
|
-
/^Tram/i,
|
|
47
|
-
/^Subway( \/ Metro \/ S-Bahn)?/i,
|
|
48
|
-
/^Train/i,
|
|
49
|
-
/^Bus/i,
|
|
50
|
-
/^Ferry/i,
|
|
51
|
-
/^Cable ?Car/i,
|
|
52
|
-
/^Gondola/i,
|
|
53
|
-
/^Funicular/i,
|
|
54
|
-
/^(Long distance bus|coach)/i,
|
|
55
|
-
/^Rail/i, // New endpoint use Rail instead of Train.
|
|
56
|
-
];
|
|
57
|
-
/**
|
|
58
|
-
* @private
|
|
59
|
-
*/
|
|
60
|
-
export const bgColors = [
|
|
61
|
-
'#ffb400',
|
|
62
|
-
'#ff5400',
|
|
63
|
-
'#ff8080',
|
|
64
|
-
'#ea0000',
|
|
65
|
-
'#3000ff',
|
|
66
|
-
'#ffb400',
|
|
67
|
-
'#41a27b',
|
|
68
|
-
'#00d237',
|
|
69
|
-
'#b5b5b5',
|
|
70
|
-
'#ff8080',
|
|
71
|
-
];
|
|
72
|
-
/**
|
|
73
|
-
* @private
|
|
74
|
-
*/
|
|
75
|
-
export const textColors = [
|
|
76
|
-
'#000000',
|
|
77
|
-
'#ffffff',
|
|
78
|
-
'#000000',
|
|
79
|
-
'#ffffff',
|
|
80
|
-
'#ffffff',
|
|
81
|
-
'#000000',
|
|
82
|
-
'#ffffff',
|
|
83
|
-
'#000000',
|
|
84
|
-
'#000000',
|
|
85
|
-
'#000000',
|
|
86
|
-
];
|
|
87
|
-
/**
|
|
88
|
-
* @private
|
|
89
|
-
*/
|
|
90
|
-
export const getTypeIndex = (type) => {
|
|
91
|
-
if (typeof type === 'string') {
|
|
92
|
-
return types.findIndex((t) => t.test(type));
|
|
93
|
-
}
|
|
94
|
-
return type;
|
|
95
|
-
};
|
|
96
|
-
/**
|
|
97
|
-
* @private
|
|
98
|
-
*/
|
|
99
|
-
export const getRadius = (type, zoom) => {
|
|
100
|
-
try {
|
|
101
|
-
const typeIdx = getTypeIndex(type || 0);
|
|
102
|
-
return radiusMapping[typeIdx][zoom];
|
|
103
|
-
}
|
|
104
|
-
catch (e) {
|
|
105
|
-
return 1;
|
|
106
|
-
}
|
|
107
|
-
};
|
|
108
|
-
/**
|
|
109
|
-
* @private
|
|
110
|
-
*/
|
|
111
|
-
export const getBgColor = (type) => {
|
|
112
|
-
try {
|
|
113
|
-
const typeIdx = getTypeIndex(type);
|
|
114
|
-
return bgColors[typeIdx];
|
|
115
|
-
}
|
|
116
|
-
catch (e) {
|
|
117
|
-
return '#ffffff';
|
|
118
|
-
}
|
|
119
|
-
};
|
|
120
|
-
/**
|
|
121
|
-
* @private
|
|
122
|
-
*/
|
|
123
|
-
export const getTextColor = (type) => {
|
|
124
|
-
try {
|
|
125
|
-
const typeIdx = getTypeIndex(type);
|
|
126
|
-
return textColors[typeIdx];
|
|
127
|
-
}
|
|
128
|
-
catch (e) {
|
|
129
|
-
return '#ffffff';
|
|
130
|
-
}
|
|
131
|
-
};
|
|
132
|
-
/**
|
|
133
|
-
* @private
|
|
134
|
-
*/
|
|
135
|
-
export const getTextSize = (ctx, markerSize, text, fontSize, getTextFont) => {
|
|
136
|
-
if (!ctx) {
|
|
137
|
-
return 0;
|
|
138
|
-
}
|
|
139
|
-
ctx.font = getTextFont(fontSize, text);
|
|
140
|
-
let newText = ctx.measureText(text);
|
|
141
|
-
const maxiter = 25;
|
|
142
|
-
let i = 0;
|
|
143
|
-
while (newText.width > markerSize - 6 && i < maxiter) {
|
|
144
|
-
// eslint-disable-next-line no-param-reassign
|
|
145
|
-
fontSize -= 0.5;
|
|
146
|
-
ctx.font = getTextFont(fontSize, text);
|
|
147
|
-
newText = ctx.measureText(text);
|
|
148
|
-
i += 1;
|
|
149
|
-
}
|
|
150
|
-
return fontSize;
|
|
151
|
-
};
|
|
152
|
-
/**
|
|
153
|
-
* @private
|
|
154
|
-
* @param {number} delayInMs Delay in milliseconds.
|
|
155
|
-
* @param {boolean} cancelled true if the journey is cancelled.
|
|
156
|
-
* @param {boolean} isDelayText true if the color is used for delay text of the symbol.
|
|
157
|
-
*/
|
|
158
|
-
export const getDelayColor = (delayInMs, cancelled, isDelayText) => {
|
|
159
|
-
if (cancelled) {
|
|
160
|
-
return isDelayText ? '#ff0000' : '#a0a0a0'; // red or gray
|
|
161
|
-
}
|
|
162
|
-
if (delayInMs === null) {
|
|
163
|
-
return '#a0a0a0'; // grey { r: 160, g: 160, b: 160, s: '160,160,160' };
|
|
164
|
-
}
|
|
165
|
-
if (delayInMs >= 3600000) {
|
|
166
|
-
return '#ed004c'; // pink { r: 237, g: 0, b: 76, s: '237,0,76' };
|
|
167
|
-
}
|
|
168
|
-
if (delayInMs >= 500000) {
|
|
169
|
-
return '#e80000'; // red { r: 232, g: 0, b: 0, s: '232,0,0' };
|
|
170
|
-
}
|
|
171
|
-
if (delayInMs >= 300000) {
|
|
172
|
-
return '#ff4a00'; // orange { r: 255, g: 74, b: 0, s: '255,74,0' };
|
|
173
|
-
}
|
|
174
|
-
if (delayInMs >= 180000) {
|
|
175
|
-
return '#f7bf00'; // yellow { r: 247, g: 191, b: 0, s: '247,191,0' };
|
|
176
|
-
}
|
|
177
|
-
return '#00a00c'; // green { r: 0, g: 160, b: 12, s: '0,160,12' };
|
|
178
|
-
};
|
|
179
|
-
/**
|
|
180
|
-
* @private
|
|
181
|
-
*/
|
|
182
|
-
export const getDelayText = (delayInMs, cancelled) => {
|
|
183
|
-
if (cancelled) {
|
|
184
|
-
return String.fromCodePoint(0x00d7);
|
|
185
|
-
}
|
|
186
|
-
if (delayInMs >= 3600000) {
|
|
187
|
-
const rounded = Math.round(delayInMs / 3600000);
|
|
188
|
-
return `+${rounded}h`;
|
|
189
|
-
}
|
|
190
|
-
if (delayInMs >= 60000) {
|
|
191
|
-
const rounded = Math.round(delayInMs / 60000);
|
|
192
|
-
return `+${rounded}m`;
|
|
193
|
-
}
|
|
194
|
-
if (delayInMs >= 1000) {
|
|
195
|
-
const rounded = Math.round(delayInMs / 1000);
|
|
196
|
-
return `+${rounded}s`;
|
|
197
|
-
}
|
|
198
|
-
if (delayInMs > 0) {
|
|
199
|
-
return `+${delayInMs}ms`;
|
|
200
|
-
}
|
|
201
|
-
return '';
|
|
202
|
-
};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This function remove duplicates lower case string value of an array.
|
|
3
|
-
* It removes also null, undefined or non string values.
|
|
4
|
-
*
|
|
5
|
-
* @param {array} array Array of values.
|
|
6
|
-
* @private
|
|
7
|
-
*/
|
|
8
|
-
declare const removeDuplicate: (array: any[]) => any[];
|
|
9
|
-
export default removeDuplicate;
|
|
10
|
-
//# sourceMappingURL=removeDuplicate.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"removeDuplicate.d.ts","sourceRoot":"","sources":["../../../src/common/utils/removeDuplicate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,QAAA,MAAM,eAAe,UAAW,GAAG,EAAE,UAYpC,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This function remove duplicates lower case string value of an array.
|
|
3
|
-
* It removes also null, undefined or non string values.
|
|
4
|
-
*
|
|
5
|
-
* @param {array} array Array of values.
|
|
6
|
-
* @private
|
|
7
|
-
*/
|
|
8
|
-
const removeDuplicate = (array) => {
|
|
9
|
-
const arrWithoutEmptyValues = array.filter((val) => val !== undefined && val !== null && val.trim && val.trim());
|
|
10
|
-
const lowerCasesValues = arrWithoutEmptyValues.map((str) => str.toLowerCase());
|
|
11
|
-
const uniqueLowerCaseValues = [...new Set(lowerCasesValues)];
|
|
12
|
-
const uniqueValues = uniqueLowerCaseValues.map((uniqueStr) => arrWithoutEmptyValues.find((str) => str.toLowerCase() === uniqueStr));
|
|
13
|
-
return uniqueValues;
|
|
14
|
-
};
|
|
15
|
-
export default removeDuplicate;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { AnyCanvas, RealtimeRenderState, RealtimeStyleFunction, RealtimeStyleOptions, RealtimeTrajectories, ViewState } from '../../types';
|
|
2
|
-
/**
|
|
3
|
-
* Draw all the trajectories available in a canvas.
|
|
4
|
-
* @param {HTMLCanvas|HTMLOffscreenCanvas} The canvas where to draw the trajectories.
|
|
5
|
-
* @param {ViewState} trajectories An array of trajectories.
|
|
6
|
-
* @param {Function} style A function that returns a canvas representing a vehicle of a specific trajectory.
|
|
7
|
-
* @param {ViewState} viewState The view state of the map.
|
|
8
|
-
* @param {boolean} options.hoverVehicleId The id of the vehicle to highlight.
|
|
9
|
-
* @param {boolean} options.selectedVehicleId The id of the vehicle to select.
|
|
10
|
-
* @param {boolean} options.noInterpolate If true trajectories are not interpolated but
|
|
11
|
-
* drawn at the last known coordinate. Use this for performance optimization
|
|
12
|
-
* during map navigation.
|
|
13
|
-
* @private
|
|
14
|
-
*/
|
|
15
|
-
declare const renderTrajectories: (canvas: AnyCanvas, trajectories: RealtimeTrajectories, style: RealtimeStyleFunction, viewState: ViewState, options: RealtimeStyleOptions) => RealtimeRenderState;
|
|
16
|
-
export default renderTrajectories;
|
|
17
|
-
//# sourceMappingURL=renderTrajectories.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"renderTrajectories.d.ts","sourceRoot":"","sources":["../../../src/common/utils/renderTrajectories.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,SAAS,EACV,MAAM,aAAa,CAAC;AAGrB;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,kBAAkB,WACd,SAAS,gBACH,oBAAoB,SAC3B,qBAAqB,aACjB,SAAS,WACX,oBAAoB,KAC5B,mBA+JF,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|