mobility-toolbox-js 2.3.10 → 2.3.11

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 (471) hide show
  1. package/api/RealtimeAPI.d.ts +290 -0
  2. package/api/RealtimeAPI.d.ts.map +1 -0
  3. package/api/RealtimeAPI.js +483 -0
  4. package/api/RoutingAPI.d.ts +37 -0
  5. package/api/RoutingAPI.d.ts.map +1 -0
  6. package/api/RoutingAPI.js +35 -0
  7. package/api/StopsAPI.d.ts +38 -0
  8. package/api/StopsAPI.d.ts.map +1 -0
  9. package/api/StopsAPI.js +36 -0
  10. package/api/index.d.ts +4 -0
  11. package/api/index.d.ts.map +1 -0
  12. package/api/typedefs.d.ts +179 -0
  13. package/api/typedefs.d.ts.map +1 -0
  14. package/{src/api → api}/typedefs.js +1 -11
  15. package/common/api/HttpAPI.d.ts +31 -0
  16. package/common/api/HttpAPI.d.ts.map +1 -0
  17. package/common/api/HttpAPI.js +57 -0
  18. package/common/api/WebSocketAPI.d.ts +153 -0
  19. package/common/api/WebSocketAPI.d.ts.map +1 -0
  20. package/common/api/WebSocketAPI.js +341 -0
  21. package/common/controls/ControlCommon.d.ts +76 -0
  22. package/common/controls/ControlCommon.d.ts.map +1 -0
  23. package/common/controls/ControlCommon.js +150 -0
  24. package/common/controls/CopyrightControlCommon.d.ts +13 -0
  25. package/common/controls/CopyrightControlCommon.d.ts.map +1 -0
  26. package/common/controls/CopyrightControlCommon.js +34 -0
  27. package/common/controls/StopFinderControlCommon.d.ts +55 -0
  28. package/common/controls/StopFinderControlCommon.d.ts.map +1 -0
  29. package/common/controls/StopFinderControlCommon.js +144 -0
  30. package/common/index.d.ts +3 -0
  31. package/common/index.d.ts.map +1 -0
  32. package/common/layers/LayerCommon.d.ts +94 -0
  33. package/common/layers/LayerCommon.d.ts.map +1 -0
  34. package/common/layers/LayerCommon.js +244 -0
  35. package/common/mixins/RealtimeLayerMixin.d.ts +288 -0
  36. package/common/mixins/RealtimeLayerMixin.d.ts.map +1 -0
  37. package/common/mixins/RealtimeLayerMixin.js +779 -0
  38. package/common/mixins/UserInteractionsLayerMixin.d.ts +60 -0
  39. package/common/mixins/UserInteractionsLayerMixin.d.ts.map +1 -0
  40. package/common/mixins/UserInteractionsLayerMixin.js +241 -0
  41. package/common/styles/index.d.ts +5 -0
  42. package/common/styles/index.d.ts.map +1 -0
  43. package/common/styles/realtimeDefaultStyle.d.ts +36 -0
  44. package/common/styles/realtimeDefaultStyle.d.ts.map +1 -0
  45. package/common/styles/realtimeDefaultStyle.js +276 -0
  46. package/common/styles/realtimeDelayStyle.d.ts +12 -0
  47. package/common/styles/realtimeDelayStyle.d.ts.map +1 -0
  48. package/common/styles/realtimeDelayStyle.js +13 -0
  49. package/common/styles/realtimeHeadingStyle.d.ts +12 -0
  50. package/common/styles/realtimeHeadingStyle.d.ts.map +1 -0
  51. package/common/styles/realtimeHeadingStyle.js +87 -0
  52. package/common/styles/realtimeSimpleStyle.d.ts +4 -0
  53. package/common/styles/realtimeSimpleStyle.d.ts.map +1 -0
  54. package/common/styles/realtimeSimpleStyle.js +23 -0
  55. package/common/typedefs.d.ts +183 -0
  56. package/common/typedefs.d.ts.map +1 -0
  57. package/{src/common → common}/typedefs.js +1 -1
  58. package/common/utils/compareDepartures.d.ts +11 -0
  59. package/common/utils/compareDepartures.d.ts.map +1 -0
  60. package/common/utils/compareDepartures.js +35 -0
  61. package/common/utils/createCanvas.d.ts +11 -0
  62. package/common/utils/createCanvas.d.ts.map +1 -0
  63. package/common/utils/createCanvas.js +28 -0
  64. package/common/utils/createRealtimeFilters.d.ts +13 -0
  65. package/common/utils/createRealtimeFilters.d.ts.map +1 -0
  66. package/common/utils/createRealtimeFilters.js +74 -0
  67. package/common/utils/debounceDeparturesMessages.d.ts +13 -0
  68. package/common/utils/debounceDeparturesMessages.d.ts.map +1 -0
  69. package/common/utils/debounceDeparturesMessages.js +28 -0
  70. package/common/utils/debounceWebsocketMessages.d.ts +12 -0
  71. package/common/utils/debounceWebsocketMessages.d.ts.map +1 -0
  72. package/common/utils/debounceWebsocketMessages.js +30 -0
  73. package/common/utils/getLayersAsFlatArray.d.ts +4 -0
  74. package/common/utils/getLayersAsFlatArray.d.ts.map +1 -0
  75. package/common/utils/getLayersAsFlatArray.js +16 -0
  76. package/common/utils/getMapboxMapCopyrights.d.ts +18 -0
  77. package/common/utils/getMapboxMapCopyrights.d.ts.map +1 -0
  78. package/common/utils/getMapboxMapCopyrights.js +30 -0
  79. package/common/utils/getMapboxRender.d.ts +8 -0
  80. package/common/utils/getMapboxRender.d.ts.map +1 -0
  81. package/common/utils/getMapboxRender.js +88 -0
  82. package/common/utils/getMaplibreRender.d.ts +9 -0
  83. package/common/utils/getMaplibreRender.d.ts.map +1 -0
  84. package/common/utils/getMaplibreRender.js +40 -0
  85. package/{src/common/utils/getRealtimeModeSuffix.ts → common/utils/getRealtimeModeSuffix.d.ts} +2 -4
  86. package/common/utils/getRealtimeModeSuffix.d.ts.map +1 -0
  87. package/common/utils/getRealtimeModeSuffix.js +7 -0
  88. package/common/utils/getUrlWithParams.d.ts +9 -0
  89. package/common/utils/getUrlWithParams.d.ts.map +1 -0
  90. package/common/utils/getUrlWithParams.js +18 -0
  91. package/common/utils/getVehiclePosition.d.ts +16 -0
  92. package/common/utils/getVehiclePosition.d.ts.map +1 -0
  93. package/common/utils/getVehiclePosition.js +72 -0
  94. package/common/utils/index.d.ts +18 -0
  95. package/common/utils/index.d.ts.map +1 -0
  96. package/{src/common → common}/utils/index.js +2 -1
  97. package/common/utils/realtimeConfig.d.ts +53 -0
  98. package/common/utils/realtimeConfig.d.ts.map +1 -0
  99. package/common/utils/realtimeConfig.js +202 -0
  100. package/common/utils/removeDuplicate.d.ts +10 -0
  101. package/common/utils/removeDuplicate.d.ts.map +1 -0
  102. package/common/utils/removeDuplicate.js +15 -0
  103. package/common/utils/renderTrajectories.d.ts +17 -0
  104. package/common/utils/renderTrajectories.d.ts.map +1 -0
  105. package/common/utils/renderTrajectories.js +110 -0
  106. package/common/utils/sortAndFilterDepartures.d.ts +16 -0
  107. package/common/utils/sortAndFilterDepartures.d.ts.map +1 -0
  108. package/common/utils/sortAndFilterDepartures.js +58 -0
  109. package/common/utils/sortByDelay.d.ts +4 -0
  110. package/common/utils/sortByDelay.d.ts.map +1 -0
  111. package/common/utils/sortByDelay.js +21 -0
  112. package/common/utils/timeUtils.d.ts +24 -0
  113. package/common/utils/timeUtils.d.ts.map +1 -0
  114. package/common/utils/timeUtils.js +39 -0
  115. package/iife.d.ts +3 -0
  116. package/iife.d.ts.map +1 -0
  117. package/{src/iife.js → iife.js} +1 -3
  118. package/index.d.ts +10 -0
  119. package/index.d.ts.map +1 -0
  120. package/index.js +10 -0
  121. package/mapbox/controls/CopyrightControl.d.ts +29 -0
  122. package/mapbox/controls/CopyrightControl.d.ts.map +1 -0
  123. package/{src/mapbox/controls/CopyrightControl.ts → mapbox/controls/CopyrightControl.js} +21 -26
  124. package/mapbox/controls/index.d.ts +2 -0
  125. package/mapbox/controls/index.d.ts.map +1 -0
  126. package/mapbox/index.d.ts +6 -0
  127. package/mapbox/index.d.ts.map +1 -0
  128. package/mapbox/layers/Layer.d.ts +59 -0
  129. package/mapbox/layers/Layer.d.ts.map +1 -0
  130. package/mapbox/layers/Layer.js +101 -0
  131. package/mapbox/layers/RealtimeLayer.d.ts +180 -0
  132. package/mapbox/layers/RealtimeLayer.d.ts.map +1 -0
  133. package/mapbox/layers/RealtimeLayer.js +270 -0
  134. package/mapbox/layers/index.d.ts +3 -0
  135. package/mapbox/layers/index.d.ts.map +1 -0
  136. package/mapbox/utils/getMercatorResolution.d.ts +9 -0
  137. package/mapbox/utils/getMercatorResolution.d.ts.map +1 -0
  138. package/mapbox/utils/getMercatorResolution.js +18 -0
  139. package/mapbox/utils/getSourceCoordinates.d.ts +9 -0
  140. package/mapbox/utils/getSourceCoordinates.d.ts.map +1 -0
  141. package/mapbox/utils/getSourceCoordinates.js +27 -0
  142. package/mapbox/utils/index.d.ts +3 -0
  143. package/mapbox/utils/index.d.ts.map +1 -0
  144. package/mbt.js +64817 -0
  145. package/mbt.js.map +7 -0
  146. package/mbt.min.js +1090 -0
  147. package/mbt.min.js.map +7 -0
  148. package/ol/controls/CopyrightControl.d.ts +31 -0
  149. package/ol/controls/CopyrightControl.d.ts.map +1 -0
  150. package/ol/controls/CopyrightControl.js +68 -0
  151. package/ol/controls/RoutingControl.d.ts +193 -0
  152. package/ol/controls/RoutingControl.d.ts.map +1 -0
  153. package/ol/controls/RoutingControl.js +631 -0
  154. package/ol/controls/StopFinderControl.d.ts +30 -0
  155. package/ol/controls/StopFinderControl.d.ts.map +1 -0
  156. package/{src/ol/controls/StopFinderControl.ts → ol/controls/StopFinderControl.js} +7 -10
  157. package/ol/controls/index.d.ts +4 -0
  158. package/ol/controls/index.d.ts.map +1 -0
  159. package/ol/index.d.ts +6 -0
  160. package/ol/index.d.ts.map +1 -0
  161. package/ol/layers/Layer.d.ts +86 -0
  162. package/ol/layers/Layer.d.ts.map +1 -0
  163. package/ol/layers/Layer.js +174 -0
  164. package/ol/layers/MapGlLayer.d.ts +67 -0
  165. package/ol/layers/MapGlLayer.d.ts.map +1 -0
  166. package/ol/layers/MapGlLayer.js +218 -0
  167. package/ol/layers/MapboxLayer.d.ts +50 -0
  168. package/ol/layers/MapboxLayer.d.ts.map +1 -0
  169. package/ol/layers/MapboxLayer.js +109 -0
  170. package/ol/layers/MapboxStyleLayer.d.ts +128 -0
  171. package/ol/layers/MapboxStyleLayer.d.ts.map +1 -0
  172. package/ol/layers/MapboxStyleLayer.js +362 -0
  173. package/{src/ol/layers/MaplibreLayer.ts → ol/layers/MaplibreLayer.d.ts} +10 -21
  174. package/ol/layers/MaplibreLayer.d.ts.map +1 -0
  175. package/ol/layers/MaplibreLayer.js +34 -0
  176. package/ol/layers/RealtimeLayer.d.ts +202 -0
  177. package/ol/layers/RealtimeLayer.d.ts.map +1 -0
  178. package/ol/layers/RealtimeLayer.js +332 -0
  179. package/ol/layers/RoutingLayer.d.ts +35 -0
  180. package/ol/layers/RoutingLayer.d.ts.map +1 -0
  181. package/ol/layers/RoutingLayer.js +85 -0
  182. package/ol/layers/VectorLayer.d.ts +25 -0
  183. package/ol/layers/VectorLayer.d.ts.map +1 -0
  184. package/ol/layers/VectorLayer.js +38 -0
  185. package/ol/layers/WMSLayer.d.ts +42 -0
  186. package/ol/layers/WMSLayer.d.ts.map +1 -0
  187. package/ol/layers/WMSLayer.js +88 -0
  188. package/ol/layers/index.d.ts +9 -0
  189. package/ol/layers/index.d.ts.map +1 -0
  190. package/ol/styles/fullTrajectoryDelayStyle.d.ts +4 -0
  191. package/ol/styles/fullTrajectoryDelayStyle.d.ts.map +1 -0
  192. package/ol/styles/fullTrajectoryDelayStyle.js +33 -0
  193. package/ol/styles/fullTrajectoryStyle.d.ts +5 -0
  194. package/ol/styles/fullTrajectoryStyle.d.ts.map +1 -0
  195. package/ol/styles/fullTrajectoryStyle.js +44 -0
  196. package/ol/styles/index.d.ts +3 -0
  197. package/ol/styles/index.d.ts.map +1 -0
  198. package/package.json +1 -1
  199. package/setupTests.d.ts +2 -0
  200. package/setupTests.d.ts.map +1 -0
  201. package/{src/setupTests.js → setupTests.js} +7 -12
  202. package/.esdoc.js +0 -18
  203. package/.eslintignore +0 -1
  204. package/.eslintrc.js +0 -25
  205. package/.fixpackrc +0 -20
  206. package/.github/workflows/build.yml +0 -16
  207. package/.github/workflows/conventional-pr-title.yml +0 -16
  208. package/.github/workflows/cypress.yml +0 -101
  209. package/.github/workflows/test.yml +0 -17
  210. package/.husky/commit-msg +0 -4
  211. package/.husky/post-checkout +0 -4
  212. package/.husky/post-merge +0 -4
  213. package/.husky/post-rebase +0 -4
  214. package/.husky/pre-commit +0 -4
  215. package/.lintstagedrc.js +0 -10
  216. package/.nvmrc +0 -1
  217. package/.prettierrc.js +0 -5
  218. package/.stylelintrc.js +0 -4
  219. package/CHANGELOG.md +0 -132
  220. package/LICENSE +0 -21
  221. package/MIGRATION-V2.md +0 -248
  222. package/README.md +0 -42
  223. package/__mocks__/mapbox-gl.js +0 -81
  224. package/__mocks__/maplibre-gl.js +0 -81
  225. package/babel.config.js +0 -9
  226. package/commitlint.config.js +0 -1
  227. package/cypress/e2e/examples/api.cy.js +0 -7
  228. package/cypress/e2e/examples/examples.cy.js +0 -7
  229. package/cypress/e2e/examples/navigation.cy.js +0 -29
  230. package/cypress/fixtures/example.json +0 -5
  231. package/cypress/plugins/index.js +0 -21
  232. package/cypress/support/commands.js +0 -25
  233. package/cypress/support/e2e.js +0 -20
  234. package/cypress.config.ts +0 -15
  235. package/data/fetchRoute.json +0 -292
  236. package/data/fetchTrajectories.json +0 -18
  237. package/data/fetchTrajectoryById.json +0 -3
  238. package/data/fetchTrajectoryStations.json +0 -18
  239. package/data/stopsSearch.json +0 -15
  240. package/dependabot.yml +0 -15
  241. package/doc/.eslintrc.json +0 -1
  242. package/doc/README.md +0 -34
  243. package/doc/next.config.js +0 -16
  244. package/doc/package.json +0 -41
  245. package/doc/pages/404.js +0 -5
  246. package/doc/pages/_app.js +0 -61
  247. package/doc/pages/_document.js +0 -64
  248. package/doc/pages/doc/[...slug].js +0 -23
  249. package/doc/pages/doc.js +0 -23
  250. package/doc/pages/example/[example].js +0 -52
  251. package/doc/pages/examples.js +0 -34
  252. package/doc/pages/index.js +0 -25
  253. package/doc/public/README.md +0 -15
  254. package/doc/public/favicon.ico +0 -0
  255. package/doc/public/static/assets/Lato-Black.ttf +0 -0
  256. package/doc/public/static/assets/Lato-BlackItalic.ttf +0 -0
  257. package/doc/public/static/assets/Lato-Bold.ttf +0 -0
  258. package/doc/public/static/assets/Lato-BoldItalic.ttf +0 -0
  259. package/doc/public/static/assets/Lato-Italic.ttf +0 -0
  260. package/doc/public/static/assets/Lato-Light.ttf +0 -0
  261. package/doc/public/static/assets/Lato-LightItalic.ttf +0 -0
  262. package/doc/public/static/assets/Lato-Regular.ttf +0 -0
  263. package/doc/public/static/assets/Lato-Thin.ttf +0 -0
  264. package/doc/public/static/assets/Lato-ThinItalic.ttf +0 -0
  265. package/doc/public/static/assets/OFL.txt +0 -93
  266. package/doc/public/static/examples/assets/tralis-live-map/index.js +0 -11
  267. package/doc/public/static/examples/assets/tralis-live-map/s1kreis.svg +0 -105
  268. package/doc/public/static/examples/assets/tralis-live-map/s20kreis.svg +0 -101
  269. package/doc/public/static/examples/assets/tralis-live-map/s2kreis.svg +0 -95
  270. package/doc/public/static/examples/assets/tralis-live-map/s3kreis.svg +0 -95
  271. package/doc/public/static/examples/assets/tralis-live-map/s4kreis.svg +0 -95
  272. package/doc/public/static/examples/assets/tralis-live-map/s6kreis.svg +0 -95
  273. package/doc/public/static/examples/assets/tralis-live-map/s7kreis.svg +0 -95
  274. package/doc/public/static/examples/assets/tralis-live-map/s8kreis.svg +0 -93
  275. package/doc/public/static/examples/assets/tralis-live-map/unknown.svg +0 -107
  276. package/doc/public/static/examples/layers.html +0 -11
  277. package/doc/public/static/examples/layers.js +0 -97
  278. package/doc/public/static/examples/mb-copyright.html +0 -26
  279. package/doc/public/static/examples/mb-copyright.js +0 -37
  280. package/doc/public/static/examples/mb-tracker.html +0 -1
  281. package/doc/public/static/examples/mb-tracker.js +0 -40
  282. package/doc/public/static/examples/mb-tracker.md +0 -1
  283. package/doc/public/static/examples/mb-tralis.html +0 -1
  284. package/doc/public/static/examples/mb-tralis.js +0 -34
  285. package/doc/public/static/examples/ol-copyright.html +0 -26
  286. package/doc/public/static/examples/ol-copyright.js +0 -43
  287. package/doc/public/static/examples/ol-mapbox-layer.html +0 -1
  288. package/doc/public/static/examples/ol-mapbox-layer.js +0 -28
  289. package/doc/public/static/examples/ol-mapbox-style-layer.html +0 -12
  290. package/doc/public/static/examples/ol-mapbox-style-layer.js +0 -48
  291. package/doc/public/static/examples/ol-query.html +0 -32
  292. package/doc/public/static/examples/ol-query.js +0 -83
  293. package/doc/public/static/examples/ol-routing.html +0 -26
  294. package/doc/public/static/examples/ol-routing.js +0 -65
  295. package/doc/public/static/examples/ol-routing.md +0 -1
  296. package/doc/public/static/examples/ol-stop-finder.html +0 -15
  297. package/doc/public/static/examples/ol-stop-finder.js +0 -35
  298. package/doc/public/static/examples/ol-stop-finder.md +0 -1
  299. package/doc/public/static/examples/ol-tracker.html +0 -1
  300. package/doc/public/static/examples/ol-tracker.js +0 -41
  301. package/doc/public/static/examples/ol-tracker.md +0 -1
  302. package/doc/public/static/examples/ol-tralis.html +0 -5
  303. package/doc/public/static/examples/ol-tralis.js +0 -62
  304. package/doc/public/static/examples/tralis-live-map.html +0 -1
  305. package/doc/public/static/examples/tralis-live-map.js +0 -67
  306. package/doc/public/static/examples/tralis-live-map.md +0 -3
  307. package/doc/public/static/img/live_tracker_mb.jpg +0 -0
  308. package/doc/public/static/img/live_tracker_munich.jpg +0 -0
  309. package/doc/public/static/img/live_tracker_ol.jpg +0 -0
  310. package/doc/public/static/img/mapbox.jpg +0 -0
  311. package/doc/public/static/img/mapbox_style.jpg +0 -0
  312. package/doc/public/static/img/ol-copyright.png +0 -0
  313. package/doc/public/static/img/query_objects.jpg +0 -0
  314. package/doc/public/static/img/routing.jpg +0 -0
  315. package/doc/public/static/img/simple_map.jpg +0 -0
  316. package/doc/public/static/img/stops.jpg +0 -0
  317. package/doc/public/vercel.svg +0 -4
  318. package/doc/src/components/CodeSandboxButton.js +0 -102
  319. package/doc/src/components/Documentation.js +0 -42
  320. package/doc/src/components/Esdoc/Anchor.js +0 -57
  321. package/doc/src/components/Esdoc/ClassDoc.js +0 -272
  322. package/doc/src/components/Esdoc/DeprecatedHTML.js +0 -16
  323. package/doc/src/components/Esdoc/DetailDocs.js +0 -279
  324. package/doc/src/components/Esdoc/DetailHTML.js +0 -33
  325. package/doc/src/components/Esdoc/DirectSubclassHTML.js +0 -30
  326. package/doc/src/components/Esdoc/DocBuilderUtils.js +0 -697
  327. package/doc/src/components/Esdoc/DocLinkHTML.js +0 -63
  328. package/doc/src/components/Esdoc/DocsLinkHTML.js +0 -38
  329. package/doc/src/components/Esdoc/Esdoc.js +0 -63
  330. package/doc/src/components/Esdoc/EsdocContent.js +0 -56
  331. package/doc/src/components/Esdoc/EsdocNavigation.js +0 -13
  332. package/doc/src/components/Esdoc/EsdocSearch.js +0 -78
  333. package/doc/src/components/Esdoc/ExperimentalHTML.js +0 -17
  334. package/doc/src/components/Esdoc/ExtendsChainHTML.js +0 -32
  335. package/doc/src/components/Esdoc/FileDocLinkHTML.js +0 -62
  336. package/doc/src/components/Esdoc/IdentifiersDoc.js +0 -113
  337. package/doc/src/components/Esdoc/IndirectSubclassHTML.js +0 -30
  338. package/doc/src/components/Esdoc/InheritedSummaryDoc.js +0 -70
  339. package/doc/src/components/Esdoc/InheritedSummaryHTML.js +0 -38
  340. package/doc/src/components/Esdoc/MixinClassesHTML.js +0 -29
  341. package/doc/src/components/Esdoc/NavDoc.js +0 -112
  342. package/doc/src/components/Esdoc/OverrideMethod.js +0 -44
  343. package/doc/src/components/Esdoc/OverrideMethodDescription.js +0 -35
  344. package/doc/src/components/Esdoc/Properties.js +0 -89
  345. package/doc/src/components/Esdoc/README.md +0 -45
  346. package/doc/src/components/Esdoc/SignatureHTML.js +0 -123
  347. package/doc/src/components/Esdoc/SingleDoc.js +0 -31
  348. package/doc/src/components/Esdoc/SummaryDoc.js +0 -160
  349. package/doc/src/components/Esdoc/SummaryHTML.js +0 -96
  350. package/doc/src/components/Esdoc/TypeDocLinkHTML.js +0 -251
  351. package/doc/src/components/Esdoc/index.js +0 -7
  352. package/doc/src/components/Esdoc/taffydb.js +0 -2070
  353. package/doc/src/components/Example.js +0 -200
  354. package/doc/src/components/ExampleCard.js +0 -126
  355. package/doc/src/components/Examples.js +0 -78
  356. package/doc/src/components/Home.js +0 -121
  357. package/doc/src/components/TrackerExample.js +0 -39
  358. package/doc/src/examples.js +0 -117
  359. package/doc/styles/App.scss +0 -53
  360. package/doc/styles/identifiers.css +0 -38
  361. package/doc/styles/search.css +0 -76
  362. package/doc/styles/style.css +0 -603
  363. package/esdoc/README.md +0 -27
  364. package/esdoc/plugins/MyPlugin.js +0 -69
  365. package/esdoc/plugins/dynamic-property-plugin/Plugin.js +0 -50
  366. package/esdoc/plugins/externals-plugin/Plugin.js +0 -45
  367. package/esdoc/plugins/externals-plugin/externals.js +0 -93
  368. package/esdoc/plugins/optional-chaining-plugin/Plugin.js +0 -8
  369. package/global-setup.js +0 -3
  370. package/jest.config.js +0 -24
  371. package/pull_request_template.md +0 -17
  372. package/scripts/read-pkg-json.js +0 -22
  373. package/src/api/RealtimeAPI.test.js +0 -144
  374. package/src/api/RealtimeAPI.ts +0 -712
  375. package/src/api/RoutingAPI.test.js +0 -41
  376. package/src/api/RoutingAPI.ts +0 -47
  377. package/src/api/StopsAPI.test.js +0 -34
  378. package/src/api/StopsAPI.ts +0 -45
  379. package/src/common/api/HttpAPI.test.js +0 -68
  380. package/src/common/api/HttpAPI.ts +0 -77
  381. package/src/common/api/WebSocketAPI.test.js +0 -421
  382. package/src/common/api/WebSocketAPI.ts +0 -515
  383. package/src/common/controls/ControlCommon.test.js +0 -106
  384. package/src/common/controls/ControlCommon.ts +0 -194
  385. package/src/common/controls/CopyrightControlCommon.ts +0 -41
  386. package/src/common/controls/StopFinderControlCommon.ts +0 -192
  387. package/src/common/layers/LayerCommon.test.js +0 -158
  388. package/src/common/layers/LayerCommon.ts +0 -321
  389. package/src/common/mixins/RealtimeLayerMixin.ts +0 -1168
  390. package/src/common/mixins/UserInteractionsLayerMixin.test.js +0 -227
  391. package/src/common/mixins/UserInteractionsLayerMixin.ts +0 -352
  392. package/src/common/styles/realtimeDefaultStyle.ts +0 -436
  393. package/src/common/styles/realtimeDelayStyle.ts +0 -27
  394. package/src/common/styles/realtimeHeadingStyle.ts +0 -138
  395. package/src/common/styles/realtimeSimpleStyle.ts +0 -25
  396. package/src/common/utils/compareDepartures.ts +0 -46
  397. package/src/common/utils/createCanvas.ts +0 -33
  398. package/src/common/utils/createRealtimeFilters.test.js +0 -100
  399. package/src/common/utils/createRealtimeFilters.ts +0 -96
  400. package/src/common/utils/debounceDeparturesMessages.ts +0 -52
  401. package/src/common/utils/debounceWebsocketMessages.ts +0 -47
  402. package/src/common/utils/getLayersAsFlatArray.ts +0 -17
  403. package/src/common/utils/getMapboxMapCopyrights.test.js +0 -47
  404. package/src/common/utils/getMapboxMapCopyrights.ts +0 -52
  405. package/src/common/utils/getMapboxRender.ts +0 -104
  406. package/src/common/utils/getMaplibreRender.ts +0 -54
  407. package/src/common/utils/getUrlWithParams.ts +0 -21
  408. package/src/common/utils/getVehiclePosition.ts +0 -92
  409. package/src/common/utils/realtimeConfig.test.js +0 -57
  410. package/src/common/utils/realtimeConfig.ts +0 -228
  411. package/src/common/utils/removeDuplicate.test.js +0 -22
  412. package/src/common/utils/removeDuplicate.ts +0 -22
  413. package/src/common/utils/renderTrajectories.ts +0 -194
  414. package/src/common/utils/sortAndFilterDepartures.ts +0 -78
  415. package/src/common/utils/sortByDelay.ts +0 -29
  416. package/src/common/utils/timeUtils.test.js +0 -16
  417. package/src/common/utils/timeUtils.ts +0 -45
  418. package/src/index.js +0 -10
  419. package/src/mapbox/layers/Layer.test.js +0 -217
  420. package/src/mapbox/layers/Layer.ts +0 -144
  421. package/src/mapbox/layers/RealtimeLayer.test.js +0 -13
  422. package/src/mapbox/layers/RealtimeLayer.ts +0 -350
  423. package/src/mapbox/utils/getMercatorResolution.ts +0 -21
  424. package/src/mapbox/utils/getSourceCoordinates.ts +0 -34
  425. package/src/ol/README.md +0 -0
  426. package/src/ol/controls/CopyrightControl.test.js +0 -211
  427. package/src/ol/controls/CopyrightControl.ts +0 -82
  428. package/src/ol/controls/RoutingControl.test.js +0 -205
  429. package/src/ol/controls/RoutingControl.ts +0 -869
  430. package/src/ol/controls/StopFinderControl.test.js +0 -59
  431. package/src/ol/controls/snapshots/RoutingControlRouteGen10.json +0 -58
  432. package/src/ol/controls/snapshots/RoutingControlRouteGen100.json +0 -292
  433. package/src/ol/controls/snapshots/RoutingControlRouteGen30.json +0 -69
  434. package/src/ol/controls/snapshots/RoutingControlRouteGen5.json +0 -58
  435. package/src/ol/controls/snapshots/RoutingControlRouteOSM.json +0 -759
  436. package/src/ol/controls/snapshots/RoutingControlStation1.json +0 -60
  437. package/src/ol/controls/snapshots/RoutingControlStation2.json +0 -49
  438. package/src/ol/layers/Layer.test.js +0 -212
  439. package/src/ol/layers/Layer.ts +0 -252
  440. package/src/ol/layers/MapGlLayer.ts +0 -294
  441. package/src/ol/layers/MapboxLayer.test.js +0 -190
  442. package/src/ol/layers/MapboxLayer.ts +0 -136
  443. package/src/ol/layers/MapboxStyleLayer.test.js +0 -258
  444. package/src/ol/layers/MapboxStyleLayer.ts +0 -466
  445. package/src/ol/layers/RealtimeLayer.test.js +0 -84
  446. package/src/ol/layers/RealtimeLayer.ts +0 -465
  447. package/src/ol/layers/RoutingLayer.test.js +0 -48
  448. package/src/ol/layers/RoutingLayer.ts +0 -113
  449. package/src/ol/layers/VectorLayer.test.js +0 -87
  450. package/src/ol/layers/VectorLayer.ts +0 -48
  451. package/src/ol/layers/WMSLayer.test.js +0 -65
  452. package/src/ol/layers/WMSLayer.ts +0 -114
  453. package/src/ol/styles/fullTrajectoryDelayStyle.ts +0 -37
  454. package/src/ol/styles/fullTrajectoryStyle.ts +0 -56
  455. package/tsconfig.json +0 -23
  456. /package/{src/api → api}/index.js +0 -0
  457. /package/{src/common → common}/index.js +0 -0
  458. /package/{src/common → common}/styles/index.js +0 -0
  459. /package/{src/mapbox → mapbox}/controls/index.js +0 -0
  460. /package/{src/mapbox → mapbox}/index.js +0 -0
  461. /package/{src/mapbox → mapbox}/layers/index.js +0 -0
  462. /package/{src/mapbox → mapbox}/utils/index.js +0 -0
  463. /package/{src/ol → ol}/controls/index.js +0 -0
  464. /package/{src/ol → ol}/index.js +0 -0
  465. /package/{src/ol → ol}/layers/index.js +0 -0
  466. /package/{src/ol → ol}/styles/index.js +0 -0
  467. /package/{src/types → types}/common.d.ts +0 -0
  468. /package/{src/types → types}/index.d.ts +0 -0
  469. /package/{src/types → types}/realtime.d.ts +0 -0
  470. /package/{src/types → types}/routing.d.ts +0 -0
  471. /package/{src/types → types}/stops.d.ts +0 -0
@@ -0,0 +1,30 @@
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(/&copy;/g, '©').split(/(<a.*?<\/a>)/));
25
+ }
26
+ }
27
+ });
28
+ return removeDuplicate(copyrights);
29
+ };
30
+ export default getMapboxMapCopyrights;
@@ -0,0 +1,8 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,88 @@
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
+ }
@@ -0,0 +1,9 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,40 @@
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,12 +1,10 @@
1
1
  import type { RealtimeMode } from '../../types';
2
2
  import type { RealtimeModesType } from '../../api/RealtimeAPI';
3
-
4
3
  /**
5
4
  * Get the websocket channel suffix, depending on the current mode.
6
5
  * @param {String} mode Mode 'topographic' ou 'schematic'.
7
6
  * @private
8
7
  */
9
- const getModeSuffix = (mode: RealtimeMode, modes: RealtimeModesType): string =>
10
- mode === modes.SCHEMATIC ? '_schematic' : '';
11
-
8
+ declare const getModeSuffix: (mode: RealtimeMode, modes: RealtimeModesType) => string;
12
9
  export default getModeSuffix;
10
+ //# sourceMappingURL=getRealtimeModeSuffix.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,7 @@
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;
@@ -0,0 +1,9 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,18 @@
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;
@@ -0,0 +1,16 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,72 @@
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;
@@ -0,0 +1,18 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/common/utils/index.js"],"names":[],"mappings":""}
@@ -14,4 +14,5 @@ export { default as sortAndFilterDepartures } from './sortAndFilterDepartures';
14
14
  export { default as compareDepartures } from './compareDepartures';
15
15
  export { default as createCanvas } from './createCanvas';
16
16
  export { default as getVehiclePosition } from './getVehiclePosition';
17
- export * as realtimeConfig from './realtimeConfig';
17
+ import * as realtimeConfig_1 from './realtimeConfig';
18
+ export { realtimeConfig_1 as realtimeConfig };
@@ -0,0 +1,53 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,202 @@
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
+ };
@@ -0,0 +1,10 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,15 @@
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;