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,17 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,110 @@
1
+ import { compose, apply, create } from 'ol/transform';
2
+ import getVehiclePosition from './getVehiclePosition';
3
+ /**
4
+ * Draw all the trajectories available in a canvas.
5
+ * @param {HTMLCanvas|HTMLOffscreenCanvas} The canvas where to draw the trajectories.
6
+ * @param {ViewState} trajectories An array of trajectories.
7
+ * @param {Function} style A function that returns a canvas representing a vehicle of a specific trajectory.
8
+ * @param {ViewState} viewState The view state of the map.
9
+ * @param {boolean} options.hoverVehicleId The id of the vehicle to highlight.
10
+ * @param {boolean} options.selectedVehicleId The id of the vehicle to select.
11
+ * @param {boolean} options.noInterpolate If true trajectories are not interpolated but
12
+ * drawn at the last known coordinate. Use this for performance optimization
13
+ * during map navigation.
14
+ * @private
15
+ */
16
+ const renderTrajectories = (canvas, trajectories, style, viewState, options) => {
17
+ if (!canvas) {
18
+ return { renderedTrajectories: [] };
19
+ }
20
+ const { time = Date.now(), size = [], center, resolution, rotation = 0, pixelRatio = 1, } = viewState;
21
+ if (!resolution || !center) {
22
+ return { renderedTrajectories: [] };
23
+ }
24
+ const { noInterpolate = false, hoverVehicleId, selectedVehicleId, filter, getScreenPixel = (pixel, viewStat) => (viewStat.zoom || 0) < 12
25
+ ? pixel.map((coord) => Math.floor(coord))
26
+ : pixel, } = options;
27
+ const context = canvas.getContext('2d');
28
+ context === null || context === void 0 ? void 0 : context.clearRect(0, 0, canvas.width, canvas.height);
29
+ const [width, height] = size;
30
+ if (width && height && (canvas.width !== width || canvas.height !== height)) {
31
+ [canvas.width, canvas.height] = [width * pixelRatio, height * pixelRatio];
32
+ }
33
+ const coordinateToPixelTransform = compose(create(), size[0] / 2, size[1] / 2, 1 / resolution, -1 / resolution, -rotation, -center[0], -center[1]);
34
+ // Offscreen canvas has not style attribute
35
+ if (canvas.style) {
36
+ canvas.style.width = `${canvas.width / pixelRatio}px`;
37
+ canvas.style.height = `${canvas.height / pixelRatio}px`;
38
+ }
39
+ let hoverVehicleImg;
40
+ let hoverVehiclePx;
41
+ let selectedVehicleImg;
42
+ let selectedVehiclePx;
43
+ const renderedTrajectories = [];
44
+ for (let i = trajectories.length - 1; i >= 0; i -= 1) {
45
+ const trajectory = trajectories[i];
46
+ // Filter out trajectories
47
+ if (filter && !filter(trajectory)) {
48
+ // eslint-disable-next-line no-continue
49
+ continue;
50
+ }
51
+ // We simplify the trajectory object
52
+ const { train_id: id, timeOffset } = trajectory.properties;
53
+ // We set the rotation and the timeFraction of the trajectory (used by tralis).
54
+ // if rotation === null that seems there is no rotation available.
55
+ const { coord, rotation: rotationIcon } = getVehiclePosition(time - (timeOffset || 0), trajectory, noInterpolate);
56
+ // We store the current vehicle position to the trajectory.
57
+ trajectories[i].properties.coordinate = coord;
58
+ trajectories[i].properties.rotation = rotationIcon;
59
+ if (!coord) {
60
+ // eslint-disable-next-line no-continue
61
+ continue;
62
+ }
63
+ let px = apply(coordinateToPixelTransform, [...coord]);
64
+ if (!px) {
65
+ // eslint-disable-next-line no-continue
66
+ continue;
67
+ }
68
+ px = px.map((p) => p * pixelRatio);
69
+ if (px[0] < 0 ||
70
+ px[0] > canvas.width ||
71
+ px[1] < 0 ||
72
+ px[1] > canvas.height) {
73
+ // eslint-disable-next-line no-continue
74
+ continue;
75
+ }
76
+ const vehicleImg = style(trajectory, viewState, options);
77
+ if (!vehicleImg) {
78
+ // eslint-disable-next-line no-continue
79
+ continue;
80
+ }
81
+ if (hoverVehicleId !== id && selectedVehicleId !== id) {
82
+ // To optimize the performance we use integer as pixel coordinate
83
+ // to avoid an additional work by the browser on zoom level < 12.
84
+ // See https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Optimizing_canvas?retiredLocale=de#avoid_floating-point_coordinates_and_use_integers_instead
85
+ const [x, y] = getScreenPixel([px[0] - vehicleImg.width / 2, px[1] - vehicleImg.height / 2], viewState);
86
+ context === null || context === void 0 ? void 0 : context.drawImage(vehicleImg, x, y);
87
+ }
88
+ if (hoverVehicleId && hoverVehicleId === id) {
89
+ // Store the canvas to draw it at the end
90
+ hoverVehicleImg = vehicleImg;
91
+ hoverVehiclePx = px;
92
+ }
93
+ if (selectedVehicleId && selectedVehicleId === id) {
94
+ // Store the canvas to draw it at the end
95
+ selectedVehicleImg = vehicleImg;
96
+ selectedVehiclePx = px;
97
+ }
98
+ renderedTrajectories.push(trajectory);
99
+ }
100
+ if (selectedVehicleImg && selectedVehiclePx) {
101
+ context === null || context === void 0 ? void 0 : context.drawImage(selectedVehicleImg, Math.floor(selectedVehiclePx[0] - selectedVehicleImg.width / 2), Math.floor(selectedVehiclePx[1] - selectedVehicleImg.height / 2));
102
+ }
103
+ if (hoverVehicleImg && hoverVehiclePx) {
104
+ context === null || context === void 0 ? void 0 : context.drawImage(hoverVehicleImg, Math.floor(hoverVehiclePx[0] - hoverVehicleImg.width / 2), Math.floor(hoverVehiclePx[1] - hoverVehicleImg.height / 2));
105
+ }
106
+ return {
107
+ renderedTrajectories,
108
+ };
109
+ };
110
+ export default renderTrajectories;
@@ -0,0 +1,16 @@
1
+ import { RealtimeAPIDeparturesById } from '../../api/RealtimeAPI';
2
+ import type { RealtimeDepartureExtended } from '../../types';
3
+ /**
4
+ * This function sort Departures by arrival time and filter out unwanted departures:
5
+ * - when dparture time is in the past
6
+ * - when departure are duplicated
7
+ * - when departure is not in the next 30 min
8
+ *
9
+ * @param {Object} depObject The object containing departures by id.
10
+ * @param {boolean} [sortByMinArrivalTime=false] If true sort departures by arrival time.
11
+ * @return {Array<Departure>} Return departures array.
12
+ * @private
13
+ */
14
+ declare const sortAndfilterDepartures: (depObject: RealtimeAPIDeparturesById, sortByMinArrivalTime?: boolean, maxDepartureAge?: number) => RealtimeDepartureExtended[];
15
+ export default sortAndfilterDepartures;
16
+ //# sourceMappingURL=sortAndFilterDepartures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sortAndFilterDepartures.d.ts","sourceRoot":"","sources":["../../../src/common/utils/sortAndFilterDepartures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAG7D;;;;;;;;;;GAUG;AACH,QAAA,MAAM,uBAAuB,cAChB,yBAAyB,yBACd,OAAO,oBACZ,MAAM,KACtB,yBAAyB,EAwD3B,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
@@ -0,0 +1,58 @@
1
+ import compareDepartures from './compareDepartures';
2
+ /**
3
+ * This function sort Departures by arrival time and filter out unwanted departures:
4
+ * - when dparture time is in the past
5
+ * - when departure are duplicated
6
+ * - when departure is not in the next 30 min
7
+ *
8
+ * @param {Object} depObject The object containing departures by id.
9
+ * @param {boolean} [sortByMinArrivalTime=false] If true sort departures by arrival time.
10
+ * @return {Array<Departure>} Return departures array.
11
+ * @private
12
+ */
13
+ const sortAndfilterDepartures = (depObject, sortByMinArrivalTime = false, maxDepartureAge = 30) => {
14
+ const departures = Object.keys(depObject).map((k) => depObject[k]);
15
+ departures.sort((a, b) => compareDepartures(a, b, sortByMinArrivalTime));
16
+ const futureDate = new Date();
17
+ futureDate.setMinutes(futureDate.getMinutes() + maxDepartureAge);
18
+ const future = futureDate.getTime();
19
+ const pastDate = new Date();
20
+ pastDate.setMinutes(pastDate.getMinutes() - maxDepartureAge);
21
+ const past = pastDate.getTime();
22
+ const departureArray = [];
23
+ const platformsBoarding = [];
24
+ let previousDeparture = null;
25
+ for (let i = departures.length - 1; i >= 0; i -= 1) {
26
+ const departure = Object.assign({}, departures[i]);
27
+ const time = new Date(departure.time).getTime();
28
+ // Only show departures within the next 30 minutes
29
+ if (time > past && time < future) {
30
+ // If 2 trains are boarding at the same platform,
31
+ // remove the older one.
32
+ if (departure.state === 'BOARDING') {
33
+ if (!platformsBoarding.includes(departure.platform)) {
34
+ platformsBoarding.push(departure.platform);
35
+ }
36
+ else {
37
+ departure.state = 'HIDDEN';
38
+ }
39
+ }
40
+ // If two trains with the same line number and destinatin
41
+ // and a departure difference < 1 minute, hide the second one.
42
+ if (previousDeparture &&
43
+ departure.to[0] === previousDeparture.to[0] &&
44
+ Math.abs(time - previousDeparture.time) < 1000 &&
45
+ departure.line.name === previousDeparture.line.name) {
46
+ departure.state = 'HIDDEN';
47
+ }
48
+ if (/(STOP_CANCELLED|JOURNEY_CANCELLED)/.test(departure.state)) {
49
+ departure.cancelled = true;
50
+ }
51
+ previousDeparture = departure;
52
+ previousDeparture.time = time;
53
+ departureArray.unshift(departure);
54
+ }
55
+ }
56
+ return departureArray;
57
+ };
58
+ export default sortAndfilterDepartures;
@@ -0,0 +1,4 @@
1
+ /** @private */
2
+ declare const sortByDelay: (traj1: GeoJSONFeature, traj2: GeoJSONFeature) => number;
3
+ export default sortByDelay;
4
+ //# sourceMappingURL=sortByDelay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sortByDelay.d.ts","sourceRoot":"","sources":["../../../src/common/utils/sortByDelay.ts"],"names":[],"mappings":"AAEA,eAAe;AACf,QAAA,MAAM,WAAW,oDAGd,MAoBF,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,21 @@
1
+ /** @private */
2
+ const sortByDelay = (traj1, traj2) => {
3
+ const props1 = traj1.properties;
4
+ const props2 = traj2.properties;
5
+ if (props1.delay === null && props2.delay !== null) {
6
+ return 1;
7
+ }
8
+ if (props2.delay === null && props1.delay !== null) {
9
+ return -1;
10
+ }
11
+ // We put cancelled train inbetween green and yellow trains
12
+ // >=180000ms corresponds to yellow train
13
+ if (props1.cancelled && !props2.cancelled) {
14
+ return props2.delay < 180000 ? -1 : 1;
15
+ }
16
+ if (props2.cancelled && !props1.cancelled) {
17
+ return props1.delay < 180000 ? 1 : -1;
18
+ }
19
+ return props2.delay - props1.delay;
20
+ };
21
+ export default sortByDelay;
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Get a Date object as UTC date string .
3
+ * ex: 2019 09 01
4
+ * @private
5
+ */
6
+ export declare const getUTCDateString: (now?: Date) => string;
7
+ /**
8
+ * Get the UTC time string of Date object.
9
+ * ex: 09:05:01.123
10
+ * @private
11
+ */
12
+ export declare const getUTCTimeString: (date: Date) => string;
13
+ /**
14
+ * Returns a string representation of a number, with a zero if the number is lower than 10.
15
+ * @private
16
+ */
17
+ export declare const pad: (integer: number) => string;
18
+ /**
19
+ * Returns a 'hh:mm' string from a time in ms.
20
+ * @param {Number} timeInMs Time in milliseconds.
21
+ * @private
22
+ */
23
+ export declare const getHoursAndMinutes: (timeInMs: number) => string;
24
+ //# sourceMappingURL=timeUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeUtils.d.ts","sourceRoot":"","sources":["../../../src/common/utils/timeUtils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,kBAAuB,MAOnD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,SAAU,IAAI,KAAG,MAKjC,CAAC;AAEd;;;GAGG;AACH,eAAO,MAAM,GAAG,YAAa,MAAM,KAAG,MACO,CAAC;AAE9C;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,aAAc,MAAM,KAAG,MAMrD,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Get a Date object as UTC date string .
3
+ * ex: 2019 09 01
4
+ * @private
5
+ */
6
+ export const getUTCDateString = (now = new Date()) => {
7
+ let month = (now.getUTCMonth() + 1).toString();
8
+ month = month.length === 1 ? `0${month}` : month;
9
+ let day = now.getUTCDate().toString();
10
+ day = day.length === 1 ? `0${day}` : day;
11
+ return [now.getUTCFullYear(), month, day].join('');
12
+ };
13
+ /**
14
+ * Get the UTC time string of Date object.
15
+ * ex: 09:05:01.123
16
+ * @private
17
+ */
18
+ export const getUTCTimeString = (date) => [
19
+ date.getUTCHours(),
20
+ date.getUTCMinutes(),
21
+ `${date.getUTCSeconds()}.${date.getUTCMilliseconds()}`,
22
+ ].join(':');
23
+ /**
24
+ * Returns a string representation of a number, with a zero if the number is lower than 10.
25
+ * @private
26
+ */
27
+ export const pad = (integer) => integer < 10 ? `0${integer}` : `${integer}`;
28
+ /**
29
+ * Returns a 'hh:mm' string from a time in ms.
30
+ * @param {Number} timeInMs Time in milliseconds.
31
+ * @private
32
+ */
33
+ export const getHoursAndMinutes = (timeInMs) => {
34
+ if (!timeInMs || timeInMs <= 0) {
35
+ return '';
36
+ }
37
+ const date = new Date(timeInMs);
38
+ return `${pad(date.getHours())}:${pad(date.getMinutes())}`;
39
+ };
package/iife.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ export default mbt;
2
+ import mbt from './index';
3
+ //# sourceMappingURL=iife.d.ts.map
package/iife.d.ts.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iife.d.ts","sourceRoot":"","sources":["../src/iife.js"],"names":[],"mappings":";gBAAgB,SAAS"}
@@ -1,7 +1,5 @@
1
1
  import mbt from './index';
2
-
3
2
  if (typeof window !== 'undefined') {
4
- window.mbt = mbt;
3
+ window.mbt = mbt;
5
4
  }
6
-
7
5
  export default mbt;
package/index.d.ts ADDED
@@ -0,0 +1,10 @@
1
+ export * as ol from "./ol";
2
+ export * as mapbox from "./mapbox";
3
+ declare namespace _default {
4
+ export { ol };
5
+ export { mapbox };
6
+ }
7
+ export default _default;
8
+ import * as ol from './ol';
9
+ import * as mapbox from './mapbox';
10
+ //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":";;;;;;;oBAAoB,MAAM;wBACF,UAAU"}
package/index.js ADDED
@@ -0,0 +1,10 @@
1
+ import * as ol from './ol';
2
+ import * as mapbox from './mapbox';
3
+ import * as ol_1 from './ol';
4
+ export { ol_1 as ol };
5
+ import * as mapbox_1 from './mapbox';
6
+ export { mapbox_1 as mapbox };
7
+ export default {
8
+ ol,
9
+ mapbox,
10
+ };
@@ -0,0 +1,29 @@
1
+ import CopyrightControlCommon from '../../common/controls/CopyrightControlCommon';
2
+ /**
3
+ * Display layer's copyrights.
4
+ *
5
+ * @example
6
+ * import { Map } from 'mapbox-gl';
7
+ * import { CopyrightControl } from 'mobility-toolbox-js/mapbox';
8
+ *
9
+ * const map = new Map({
10
+ * container: 'map',
11
+ * style: `https://maps.geops.io/styles/travic_v2/style.json?key=${window.apiKey}`,
12
+ * });
13
+ *
14
+ * const control = new CopyrightControl();
15
+ * control.attachToMap(map);
16
+ *
17
+ *
18
+ * @see <a href="/example/mb-copyright">Mapbox copyright example</a>
19
+ *
20
+ * @extends {CopyrightControlCommon}
21
+ */
22
+ declare class CopyrightControl extends CopyrightControlCommon {
23
+ constructor(options: any);
24
+ activate(): void;
25
+ deactivate(): void;
26
+ getCopyrights(): any[];
27
+ }
28
+ export default CopyrightControl;
29
+ //# sourceMappingURL=CopyrightControl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CopyrightControl.d.ts","sourceRoot":"","sources":["../../../src/mapbox/controls/CopyrightControl.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,MAAM,8CAA8C,CAAC;AAGlF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,cAAM,gBAAiB,SAAQ,sBAAsB;gBACvC,OAAO,EAAE,GAAG;IAKxB,QAAQ;IASR,UAAU;IASV,aAAa;CAGd;AAED,eAAe,gBAAgB,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import CopyrightControlCommon from '../../common/controls/CopyrightControlCommon';
2
2
  import { getMapboxMapCopyrights } from '../../common/utils';
3
-
4
3
  /**
5
4
  * Display layer's copyrights.
6
5
  *
@@ -22,32 +21,28 @@ import { getMapboxMapCopyrights } from '../../common/utils';
22
21
  * @extends {CopyrightControlCommon}
23
22
  */
24
23
  class CopyrightControl extends CopyrightControlCommon {
25
- constructor(options: any) {
26
- super(options);
27
- this.render = this.render.bind(this);
28
- }
29
-
30
- activate() {
31
- super.activate();
32
- if (this.map) {
33
- this.map.on('sourcedata', this.render);
34
- this.map.on('styledata', this.render);
35
- this.map.on('idle', this.render);
24
+ constructor(options) {
25
+ super(options);
26
+ this.render = this.render.bind(this);
36
27
  }
37
- }
38
-
39
- deactivate() {
40
- if (this.map) {
41
- this.map.off('sourcedata', this.render);
42
- this.map.off('styledata', this.render);
43
- this.map.off('idle', this.render);
28
+ activate() {
29
+ super.activate();
30
+ if (this.map) {
31
+ this.map.on('sourcedata', this.render);
32
+ this.map.on('styledata', this.render);
33
+ this.map.on('idle', this.render);
34
+ }
35
+ }
36
+ deactivate() {
37
+ if (this.map) {
38
+ this.map.off('sourcedata', this.render);
39
+ this.map.off('styledata', this.render);
40
+ this.map.off('idle', this.render);
41
+ }
42
+ super.deactivate();
43
+ }
44
+ getCopyrights() {
45
+ return getMapboxMapCopyrights(this.map);
44
46
  }
45
- super.deactivate();
46
- }
47
-
48
- getCopyrights() {
49
- return getMapboxMapCopyrights(this.map);
50
- }
51
47
  }
52
-
53
48
  export default CopyrightControl;
@@ -0,0 +1,2 @@
1
+ export { default as CopyrightControl } from "./CopyrightControl";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mapbox/controls/index.js"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export * from "../api";
2
+ export * from "../common";
3
+ export * from "./controls";
4
+ export * from "./layers";
5
+ export * from "./utils";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mapbox/index.js"],"names":[],"mappings":""}
@@ -0,0 +1,59 @@
1
+ import { EventsKey } from 'ol/events';
2
+ import LayerCommon, { LayerCommonOptions } from '../../common/layers/LayerCommon';
3
+ import { AnyMapboxMap, UserInteractionCallback } from '../../types';
4
+ declare const Layer_base: typeof LayerCommon;
5
+ /**
6
+ * A class representing a layer to display on an OpenLayers map.
7
+ *
8
+ * @example
9
+ * import { Layer } from 'mobility-toolbox-js/ol';
10
+ *
11
+ * const layer = new Layer({
12
+ * olLayer: ...,
13
+ * });
14
+ *
15
+ * @see <a href="/example/ol-map">Map example</a>
16
+ *
17
+ * @classproperty {ol/Map~Map} map - The map where the layer is displayed.
18
+ * @extends {Layer}
19
+ */
20
+ declare class Layer extends Layer_base {
21
+ options: LayerCommonOptions;
22
+ onChangeVisibleKey?: EventsKey;
23
+ userInteractions?: boolean;
24
+ userClickInteractions?: boolean;
25
+ userHoverInteractions?: boolean;
26
+ userClickCallbacks?: UserInteractionCallback[];
27
+ userHoverCallbacks?: UserInteractionCallback[];
28
+ onUserClickCallback: () => void;
29
+ onUserMoveCallback: () => void;
30
+ /**
31
+ * Initialize the layer and listen to user events.
32
+ * @param {mapboxgl.Map|maplibregl.Map} map
33
+ */
34
+ attachToMap(map: AnyMapboxMap): void;
35
+ detachFromMap(): void;
36
+ activateUserInteractions(): void;
37
+ deactivateUserInteractions(): void;
38
+ /**
39
+ * Toggle listeners needed when a layer is avisible or not.
40
+ * @private
41
+ */
42
+ toggleVisibleListeners(): void;
43
+ /**
44
+ * Returns the current extent in mercator coordinates.
45
+ */
46
+ getMercatorExtent(): import("ol/extent").Extent;
47
+ /**
48
+ * Returns the equivalent zoom in Openlayers.
49
+ */
50
+ getOlZoom(): any;
51
+ /**
52
+ * Create a copy of the Layer.
53
+ * @param {Object} newOptions Options to override
54
+ * @return {Layer} A Layer
55
+ */
56
+ clone(newOptions: LayerCommonOptions): Layer;
57
+ }
58
+ export default Layer;
59
+ //# sourceMappingURL=Layer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Layer.d.ts","sourceRoot":"","sources":["../../../src/mapbox/layers/Layer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGtC,OAAO,WAAW,EAAE,EAClB,kBAAkB,EACnB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;;AAEpE;;;;;;;;;;;;;;GAcG;AACH,cAAM,KAAM,SAAQ,UAAkC;IACpD,OAAO,EAAG,kBAAkB,CAAC;IAE7B,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAI/B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC,kBAAkB,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAE/C,kBAAkB,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAE/C,mBAAmB,EAAG,MAAM,IAAI,CAAC;IAEjC,kBAAkB,EAAG,MAAM,IAAI,CAAC;IAEhC;;;OAGG;IACH,WAAW,CAAC,GAAG,EAAE,YAAY;IAiB7B,aAAa;IASb,wBAAwB;IAqBxB,0BAA0B;IAO1B;;;OAGG;IACH,sBAAsB;IAQtB;;OAEG;IACH,iBAAiB;IASjB;;OAEG;IACH,SAAS;IAIT;;;;OAIG;IACH,KAAK,CAAC,UAAU,EAAE,kBAAkB;CAGrC;AACD,eAAe,KAAK,CAAC"}
@@ -0,0 +1,101 @@
1
+ import { unByKey } from 'ol/Observable';
2
+ import { transformExtent } from 'ol/proj';
3
+ import LayerCommon from '../../common/layers/LayerCommon';
4
+ import userInteractionsMixin from '../../common/mixins/UserInteractionsLayerMixin';
5
+ /**
6
+ * A class representing a layer to display on an OpenLayers map.
7
+ *
8
+ * @example
9
+ * import { Layer } from 'mobility-toolbox-js/ol';
10
+ *
11
+ * const layer = new Layer({
12
+ * olLayer: ...,
13
+ * });
14
+ *
15
+ * @see <a href="/example/ol-map">Map example</a>
16
+ *
17
+ * @classproperty {ol/Map~Map} map - The map where the layer is displayed.
18
+ * @extends {Layer}
19
+ */
20
+ class Layer extends userInteractionsMixin(LayerCommon) {
21
+ /**
22
+ * Initialize the layer and listen to user events.
23
+ * @param {mapboxgl.Map|maplibregl.Map} map
24
+ */
25
+ attachToMap(map) {
26
+ super.attachToMap(map);
27
+ if (!this.map) {
28
+ return;
29
+ }
30
+ if (this.userInteractions) {
31
+ this.toggleVisibleListeners();
32
+ this.onChangeVisibleKey = this.on(
33
+ // @ts-ignore
34
+ 'change:visible', this.toggleVisibleListeners);
35
+ }
36
+ }
37
+ detachFromMap() {
38
+ if (this.map) {
39
+ this.deactivateUserInteractions();
40
+ // @ts-ignore
41
+ unByKey(this.onChangeVisibleKey);
42
+ }
43
+ super.detachFromMap();
44
+ }
45
+ activateUserInteractions() {
46
+ var _a, _b;
47
+ this.deactivateUserInteractions();
48
+ if (this.map &&
49
+ this.userInteractions &&
50
+ this.userClickInteractions &&
51
+ ((_a = this.userClickCallbacks) === null || _a === void 0 ? void 0 : _a.length)) {
52
+ this.map.on('click', this.onUserClickCallback);
53
+ }
54
+ if (this.map &&
55
+ this.userInteractions &&
56
+ this.userHoverInteractions &&
57
+ ((_b = this.userHoverCallbacks) === null || _b === void 0 ? void 0 : _b.length)) {
58
+ this.map.on('mousemove', this.onUserMoveCallback);
59
+ }
60
+ }
61
+ deactivateUserInteractions() {
62
+ if (this.map) {
63
+ this.map.off('mousemove', this.onUserMoveCallback);
64
+ this.map.off('click', this.onUserClickCallback);
65
+ }
66
+ }
67
+ /**
68
+ * Toggle listeners needed when a layer is avisible or not.
69
+ * @private
70
+ */
71
+ toggleVisibleListeners() {
72
+ if (this.visible) {
73
+ this.activateUserInteractions();
74
+ }
75
+ else {
76
+ this.deactivateUserInteractions();
77
+ }
78
+ }
79
+ /**
80
+ * Returns the current extent in mercator coordinates.
81
+ */
82
+ getMercatorExtent() {
83
+ const bounds = this.map.getBounds().toArray();
84
+ return transformExtent([...bounds[0], ...bounds[1]], 'EPSG:4326', 'EPSG:3857');
85
+ }
86
+ /**
87
+ * Returns the equivalent zoom in Openlayers.
88
+ */
89
+ getOlZoom() {
90
+ return this.map.getZoom() + 1;
91
+ }
92
+ /**
93
+ * Create a copy of the Layer.
94
+ * @param {Object} newOptions Options to override
95
+ * @return {Layer} A Layer
96
+ */
97
+ clone(newOptions) {
98
+ return new Layer(Object.assign(Object.assign({}, this.options), newOptions));
99
+ }
100
+ }
101
+ export default Layer;