mobility-toolbox-js 2.0.0-beta.6 → 2.0.0-beta.62

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 (487) hide show
  1. package/README.md +29 -8
  2. package/api/RealtimeAPI.d.ts +279 -0
  3. package/api/RealtimeAPI.d.ts.map +1 -0
  4. package/api/RealtimeAPI.js +462 -0
  5. package/api/RoutingAPI.d.ts +37 -0
  6. package/api/RoutingAPI.d.ts.map +1 -0
  7. package/api/RoutingAPI.js +35 -0
  8. package/api/StopsAPI.d.ts +38 -0
  9. package/api/StopsAPI.d.ts.map +1 -0
  10. package/api/StopsAPI.js +36 -0
  11. package/api/index.d.ts +4 -0
  12. package/api/index.d.ts.map +1 -0
  13. package/api/index.js +3 -0
  14. package/api/typedefs.d.ts +179 -0
  15. package/api/typedefs.d.ts.map +1 -0
  16. package/{src/api/tralis → api}/typedefs.js +4 -10
  17. package/common/api/HttpAPI.d.ts +31 -0
  18. package/common/api/HttpAPI.d.ts.map +1 -0
  19. package/common/api/HttpAPI.js +57 -0
  20. package/common/api/WebSocketAPI.d.ts +153 -0
  21. package/common/api/WebSocketAPI.d.ts.map +1 -0
  22. package/common/api/WebSocketAPI.js +328 -0
  23. package/common/controls/ControlCommon.d.ts +76 -0
  24. package/common/controls/ControlCommon.d.ts.map +1 -0
  25. package/common/controls/ControlCommon.js +150 -0
  26. package/common/controls/CopyrightControlCommon.d.ts +13 -0
  27. package/common/controls/CopyrightControlCommon.d.ts.map +1 -0
  28. package/common/controls/CopyrightControlCommon.js +34 -0
  29. package/common/controls/StopFinderControlCommon.d.ts +55 -0
  30. package/common/controls/StopFinderControlCommon.d.ts.map +1 -0
  31. package/common/controls/StopFinderControlCommon.js +144 -0
  32. package/common/index.d.ts +3 -0
  33. package/common/index.d.ts.map +1 -0
  34. package/common/index.js +2 -0
  35. package/common/layers/LayerCommon.d.ts +94 -0
  36. package/common/layers/LayerCommon.d.ts.map +1 -0
  37. package/common/layers/LayerCommon.js +244 -0
  38. package/common/mixins/RealtimeLayerMixin.d.ts +289 -0
  39. package/common/mixins/RealtimeLayerMixin.d.ts.map +1 -0
  40. package/common/mixins/RealtimeLayerMixin.js +746 -0
  41. package/common/mixins/UserInteractionsLayerMixin.d.ts +60 -0
  42. package/common/mixins/UserInteractionsLayerMixin.d.ts.map +1 -0
  43. package/common/mixins/UserInteractionsLayerMixin.js +241 -0
  44. package/common/styles/index.d.ts +5 -0
  45. package/common/styles/index.d.ts.map +1 -0
  46. package/common/styles/index.js +4 -0
  47. package/common/styles/realtimeDefaultStyle.d.ts +36 -0
  48. package/common/styles/realtimeDefaultStyle.d.ts.map +1 -0
  49. package/common/styles/realtimeDefaultStyle.js +261 -0
  50. package/{src/common/styles/trackerDelayStyle.js → common/styles/realtimeDelayStyle.d.ts} +4 -9
  51. package/common/styles/realtimeDelayStyle.d.ts.map +1 -0
  52. package/common/styles/realtimeDelayStyle.js +13 -0
  53. package/common/styles/realtimeSimpleStyle.d.ts +4 -0
  54. package/common/styles/realtimeSimpleStyle.d.ts.map +1 -0
  55. package/common/styles/realtimeSimpleStyle.js +24 -0
  56. package/common/typedefs.d.ts +111 -0
  57. package/common/typedefs.d.ts.map +1 -0
  58. package/common/typedefs.js +52 -0
  59. package/common/utils/compareDepartures.d.ts +11 -0
  60. package/common/utils/compareDepartures.d.ts.map +1 -0
  61. package/common/utils/compareDepartures.js +35 -0
  62. package/common/utils/createCanvas.d.ts +10 -0
  63. package/common/utils/createCanvas.d.ts.map +1 -0
  64. package/common/utils/createCanvas.js +27 -0
  65. package/common/utils/createRealtimeFilters.d.ts +13 -0
  66. package/common/utils/createRealtimeFilters.d.ts.map +1 -0
  67. package/common/utils/createRealtimeFilters.js +74 -0
  68. package/common/utils/debounceDeparturesMessages.d.ts +12 -0
  69. package/common/utils/debounceDeparturesMessages.d.ts.map +1 -0
  70. package/common/utils/debounceDeparturesMessages.js +24 -0
  71. package/common/utils/debounceWebsocketMessages.d.ts +11 -0
  72. package/common/utils/debounceWebsocketMessages.d.ts.map +1 -0
  73. package/common/utils/debounceWebsocketMessages.js +29 -0
  74. package/common/utils/getLayersAsFlatArray.d.ts +3 -0
  75. package/common/utils/getLayersAsFlatArray.d.ts.map +1 -0
  76. package/common/utils/getLayersAsFlatArray.js +15 -0
  77. package/common/utils/getMapboxMapCopyrights.d.ts +18 -0
  78. package/common/utils/getMapboxMapCopyrights.d.ts.map +1 -0
  79. package/common/utils/getMapboxMapCopyrights.js +30 -0
  80. package/common/utils/getMapboxRender.d.ts +7 -0
  81. package/common/utils/getMapboxRender.d.ts.map +1 -0
  82. package/common/utils/getMapboxRender.js +87 -0
  83. package/common/utils/getMaplibreRender.d.ts +7 -0
  84. package/common/utils/getMaplibreRender.d.ts.map +1 -0
  85. package/common/utils/getMaplibreRender.js +38 -0
  86. package/common/utils/getRealtimeModeSuffix.d.ts +10 -0
  87. package/common/utils/getRealtimeModeSuffix.d.ts.map +1 -0
  88. package/common/utils/getRealtimeModeSuffix.js +7 -0
  89. package/common/utils/getUrlWithParams.d.ts +9 -0
  90. package/common/utils/getUrlWithParams.d.ts.map +1 -0
  91. package/common/utils/getUrlWithParams.js +18 -0
  92. package/common/utils/getVehiclePosition.d.ts +16 -0
  93. package/common/utils/getVehiclePosition.d.ts.map +1 -0
  94. package/common/utils/getVehiclePosition.js +63 -0
  95. package/common/utils/index.d.ts +16 -0
  96. package/common/utils/index.d.ts.map +1 -0
  97. package/common/utils/index.js +16 -0
  98. package/common/utils/realtimeConfig.d.ts +49 -0
  99. package/common/utils/realtimeConfig.d.ts.map +1 -0
  100. package/common/utils/realtimeConfig.js +173 -0
  101. package/common/utils/removeDuplicate.d.ts +10 -0
  102. package/common/utils/removeDuplicate.d.ts.map +1 -0
  103. package/common/utils/removeDuplicate.js +15 -0
  104. package/common/utils/renderTrajectories.d.ts +17 -0
  105. package/common/utils/renderTrajectories.d.ts.map +1 -0
  106. package/common/utils/renderTrajectories.js +121 -0
  107. package/common/utils/sortAndFilterDepartures.d.ts +16 -0
  108. package/common/utils/sortAndFilterDepartures.d.ts.map +1 -0
  109. package/common/utils/sortAndFilterDepartures.js +58 -0
  110. package/common/utils/sortByDelay.d.ts +3 -0
  111. package/common/utils/sortByDelay.d.ts.map +1 -0
  112. package/common/utils/sortByDelay.js +20 -0
  113. package/common/utils/timeUtils.d.ts +24 -0
  114. package/common/utils/timeUtils.d.ts.map +1 -0
  115. package/{src/common → common}/utils/timeUtils.js +13 -18
  116. package/iife.d.ts +3 -0
  117. package/iife.d.ts.map +1 -0
  118. package/{src/iife.js → iife.js} +2 -4
  119. package/index.d.ts +10 -0
  120. package/index.d.ts.map +1 -0
  121. package/index.js +10 -0
  122. package/mapbox/controls/CopyrightControl.d.ts +29 -0
  123. package/mapbox/controls/CopyrightControl.d.ts.map +1 -0
  124. package/mapbox/controls/CopyrightControl.js +48 -0
  125. package/mapbox/controls/index.d.ts +2 -0
  126. package/mapbox/controls/index.d.ts.map +1 -0
  127. package/mapbox/controls/index.js +2 -0
  128. package/mapbox/index.d.ts +6 -0
  129. package/mapbox/index.d.ts.map +1 -0
  130. package/mapbox/index.js +5 -0
  131. package/mapbox/layers/Layer.d.ts +59 -0
  132. package/mapbox/layers/Layer.d.ts.map +1 -0
  133. package/mapbox/layers/Layer.js +101 -0
  134. package/mapbox/layers/RealtimeLayer.d.ts +180 -0
  135. package/mapbox/layers/RealtimeLayer.d.ts.map +1 -0
  136. package/mapbox/layers/RealtimeLayer.js +276 -0
  137. package/mapbox/layers/index.d.ts +3 -0
  138. package/mapbox/layers/index.d.ts.map +1 -0
  139. package/mapbox/layers/index.js +2 -0
  140. package/mapbox/utils/getMercatorResolution.d.ts +9 -0
  141. package/mapbox/utils/getMercatorResolution.d.ts.map +1 -0
  142. package/mapbox/utils/getMercatorResolution.js +18 -0
  143. package/mapbox/utils/getSourceCoordinates.d.ts +9 -0
  144. package/mapbox/utils/getSourceCoordinates.d.ts.map +1 -0
  145. package/mapbox/utils/getSourceCoordinates.js +27 -0
  146. package/mapbox/utils/index.d.ts +3 -0
  147. package/mapbox/utils/index.d.ts.map +1 -0
  148. package/mapbox/utils/index.js +2 -0
  149. package/mbt.js +50787 -0
  150. package/mbt.js.map +7 -0
  151. package/mbt.min.js +1083 -0
  152. package/mbt.min.js.map +7 -0
  153. package/ol/controls/CopyrightControl.d.ts +31 -0
  154. package/ol/controls/CopyrightControl.d.ts.map +1 -0
  155. package/ol/controls/CopyrightControl.js +68 -0
  156. package/ol/controls/RoutingControl.d.ts +193 -0
  157. package/ol/controls/RoutingControl.d.ts.map +1 -0
  158. package/ol/controls/RoutingControl.js +632 -0
  159. package/ol/controls/StopFinderControl.d.ts +30 -0
  160. package/ol/controls/StopFinderControl.d.ts.map +1 -0
  161. package/{src/ol → ol}/controls/StopFinderControl.js +10 -16
  162. package/ol/controls/index.d.ts +4 -0
  163. package/ol/controls/index.d.ts.map +1 -0
  164. package/ol/controls/index.js +3 -0
  165. package/ol/index.d.ts +6 -0
  166. package/ol/index.d.ts.map +1 -0
  167. package/ol/index.js +5 -0
  168. package/ol/layers/Layer.d.ts +86 -0
  169. package/ol/layers/Layer.d.ts.map +1 -0
  170. package/ol/layers/Layer.js +159 -0
  171. package/ol/layers/MapGlLayer.d.ts +67 -0
  172. package/ol/layers/MapGlLayer.d.ts.map +1 -0
  173. package/ol/layers/MapGlLayer.js +218 -0
  174. package/ol/layers/MapboxLayer.d.ts +50 -0
  175. package/ol/layers/MapboxLayer.d.ts.map +1 -0
  176. package/ol/layers/MapboxLayer.js +109 -0
  177. package/ol/layers/MapboxStyleLayer.d.ts +129 -0
  178. package/ol/layers/MapboxStyleLayer.d.ts.map +1 -0
  179. package/ol/layers/MapboxStyleLayer.js +374 -0
  180. package/ol/layers/MaplibreLayer.d.ts +28 -0
  181. package/ol/layers/MaplibreLayer.d.ts.map +1 -0
  182. package/ol/layers/MaplibreLayer.js +34 -0
  183. package/ol/layers/RealtimeLayer.d.ts +201 -0
  184. package/ol/layers/RealtimeLayer.d.ts.map +1 -0
  185. package/ol/layers/RealtimeLayer.js +310 -0
  186. package/ol/layers/RoutingLayer.d.ts +34 -0
  187. package/ol/layers/RoutingLayer.d.ts.map +1 -0
  188. package/ol/layers/RoutingLayer.js +85 -0
  189. package/ol/layers/VectorLayer.d.ts +25 -0
  190. package/ol/layers/VectorLayer.d.ts.map +1 -0
  191. package/ol/layers/VectorLayer.js +38 -0
  192. package/ol/layers/WMSLayer.d.ts +42 -0
  193. package/ol/layers/WMSLayer.d.ts.map +1 -0
  194. package/ol/layers/WMSLayer.js +88 -0
  195. package/ol/layers/index.d.ts +9 -0
  196. package/ol/layers/index.d.ts.map +1 -0
  197. package/ol/layers/index.js +8 -0
  198. package/ol/styles/fullTrajectoryDelayStyle.d.ts +4 -0
  199. package/ol/styles/fullTrajectoryDelayStyle.d.ts.map +1 -0
  200. package/ol/styles/fullTrajectoryDelayStyle.js +33 -0
  201. package/ol/styles/fullTrajectoryStyle.d.ts +5 -0
  202. package/ol/styles/fullTrajectoryStyle.d.ts.map +1 -0
  203. package/ol/styles/fullTrajectoryStyle.js +44 -0
  204. package/ol/styles/index.d.ts +3 -0
  205. package/ol/styles/index.d.ts.map +1 -0
  206. package/{src/ol → ol}/styles/index.js +0 -0
  207. package/package.json +71 -126
  208. package/setupTests.d.ts +2 -0
  209. package/setupTests.d.ts.map +1 -0
  210. package/{src/setupTests.js → setupTests.js} +0 -2
  211. package/types/common.d.ts +120 -0
  212. package/types/index.d.ts +11 -0
  213. package/types/realtime.d.ts +315 -0
  214. package/types/routing.d.ts +206 -0
  215. package/types/stops.d.ts +143 -0
  216. package/.babelrc +0 -6
  217. package/.esdoc.json +0 -17
  218. package/.eslintignore +0 -1
  219. package/.github/workflows/conventional-pr-title.yml +0 -21
  220. package/.github/workflows/cypress.yml +0 -29
  221. package/.github/workflows/nodejs.yml +0 -28
  222. package/.husky/commit-msg +0 -4
  223. package/.husky/post-checkout +0 -4
  224. package/.husky/post-merge +0 -4
  225. package/.husky/post-rebase +0 -4
  226. package/.husky/pre-commit +0 -4
  227. package/.neutrinorc.js +0 -176
  228. package/.nvmrc +0 -1
  229. package/CHANGELOG.md +0 -10
  230. package/LICENSE +0 -21
  231. package/Layer.js +0 -2
  232. package/Layer.js.map +0 -7
  233. package/__mocks__/mapbox-gl.js +0 -81
  234. package/__mocks__/maplibre-gl.js +0 -81
  235. package/commitlint.config.js +0 -1
  236. package/cypress/fixtures/example.json +0 -5
  237. package/cypress/integration/examples/api.spec.js +0 -7
  238. package/cypress/integration/examples/examples.spec.js +0 -7
  239. package/cypress/integration/examples/navigation.spec.js +0 -29
  240. package/cypress/plugins/index.js +0 -21
  241. package/cypress/support/commands.js +0 -25
  242. package/cypress/support/index.js +0 -20
  243. package/cypress.json +0 -4
  244. package/data/fetchRoute.json +0 -292
  245. package/data/fetchTrajectories.json +0 -18
  246. package/data/fetchTrajectoryById.json +0 -3
  247. package/data/fetchTrajectoryStations.json +0 -18
  248. package/data/stopsSearch.json +0 -15
  249. package/documentation.yml +0 -4
  250. package/esdoc/README.md +0 -27
  251. package/esdoc/plugins/MyPlugin.js +0 -69
  252. package/esdoc/plugins/dynamic-property-plugin/Plugin.js +0 -50
  253. package/esdoc/plugins/externals-plugin/Plugin.js +0 -45
  254. package/esdoc/plugins/externals-plugin/externals.js +0 -96
  255. package/global-setup.js +0 -3
  256. package/index.html +0 -0
  257. package/indexweb.html +0 -49
  258. package/jest.config.js +0 -5
  259. package/pull_request_template.md +0 -17
  260. package/renovate.json +0 -4
  261. package/scripts/read-pkg-json.js +0 -22
  262. package/src/api/index.js +0 -3
  263. package/src/api/routing/RoutingAPI.js +0 -44
  264. package/src/api/routing/RoutingAPI.test.js +0 -41
  265. package/src/api/stops/StopsAPI.js +0 -41
  266. package/src/api/stops/StopsAPI.test.js +0 -34
  267. package/src/api/tralis/TralisAPI.js +0 -731
  268. package/src/api/tralis/TralisAPI.test.js +0 -75
  269. package/src/api/tralis/TralisAPIUtils.js +0 -73
  270. package/src/api/tralis/WebSocketConnector.js +0 -338
  271. package/src/api/tralis/WebSocketConnector.test.js +0 -356
  272. package/src/assets/Lato-Black.ttf +0 -0
  273. package/src/assets/Lato-BlackItalic.ttf +0 -0
  274. package/src/assets/Lato-Bold.ttf +0 -0
  275. package/src/assets/Lato-BoldItalic.ttf +0 -0
  276. package/src/assets/Lato-Italic.ttf +0 -0
  277. package/src/assets/Lato-Light.ttf +0 -0
  278. package/src/assets/Lato-LightItalic.ttf +0 -0
  279. package/src/assets/Lato-Regular.ttf +0 -0
  280. package/src/assets/Lato-Thin.ttf +0 -0
  281. package/src/assets/Lato-ThinItalic.ttf +0 -0
  282. package/src/assets/OFL.txt +0 -93
  283. package/src/common/Tracker.js +0 -197
  284. package/src/common/api/api.js +0 -64
  285. package/src/common/api/api.test.js +0 -68
  286. package/src/common/controls/Control.js +0 -146
  287. package/src/common/controls/Control.test.js +0 -98
  288. package/src/common/layers/Layer.js +0 -404
  289. package/src/common/layers/Layer.test.js +0 -585
  290. package/src/common/mixins/CopyrightMixin.js +0 -48
  291. package/src/common/mixins/SearchMixin.js +0 -176
  292. package/src/common/mixins/TralisLayerMixin.js +0 -930
  293. package/src/common/styles/index.js +0 -4
  294. package/src/common/styles/trackerDefaultStyle.js +0 -333
  295. package/src/common/styles/trackerSimpleStyle.js +0 -22
  296. package/src/common/trackerConfig.js +0 -190
  297. package/src/common/trackerConfig.test.js +0 -25
  298. package/src/common/typedefs.js +0 -23
  299. package/src/common/utils/createTrackerFilters.js +0 -87
  300. package/src/common/utils/createTrackerFilters.test.js +0 -95
  301. package/src/common/utils/getMapboxMapCopyrights.js +0 -32
  302. package/src/common/utils/getMapboxMapCopyrights.test.js +0 -47
  303. package/src/common/utils/getMapboxStyleUrl.js +0 -32
  304. package/src/common/utils/getVehiclePosition.js +0 -72
  305. package/src/common/utils/index.js +0 -6
  306. package/src/common/utils/removeDuplicate.js +0 -22
  307. package/src/common/utils/removeDuplicate.test.js +0 -22
  308. package/src/common/utils/sortByDelay.js +0 -23
  309. package/src/common/utils/timeUtils.test.js +0 -16
  310. package/src/doc/App.js +0 -116
  311. package/src/doc/App.scss +0 -51
  312. package/src/doc/_redirects +0 -2
  313. package/src/doc/components/CodeSandboxButton.js +0 -103
  314. package/src/doc/components/Documentation.js +0 -40
  315. package/src/doc/components/Esdoc/Anchor.js +0 -57
  316. package/src/doc/components/Esdoc/ClassDoc.js +0 -272
  317. package/src/doc/components/Esdoc/DeprecatedHTML.js +0 -16
  318. package/src/doc/components/Esdoc/DetailDocs.js +0 -281
  319. package/src/doc/components/Esdoc/DetailHTML.js +0 -33
  320. package/src/doc/components/Esdoc/DirectSubclassHTML.js +0 -30
  321. package/src/doc/components/Esdoc/DocBuilderUtils.js +0 -694
  322. package/src/doc/components/Esdoc/DocLinkHTML.js +0 -62
  323. package/src/doc/components/Esdoc/DocsLinkHTML.js +0 -38
  324. package/src/doc/components/Esdoc/Esdoc.js +0 -63
  325. package/src/doc/components/Esdoc/EsdocContent.js +0 -51
  326. package/src/doc/components/Esdoc/EsdocNavigation.js +0 -13
  327. package/src/doc/components/Esdoc/EsdocSearch.js +0 -81
  328. package/src/doc/components/Esdoc/ExperimentalHTML.js +0 -17
  329. package/src/doc/components/Esdoc/ExtendsChainHTML.js +0 -32
  330. package/src/doc/components/Esdoc/FileDocLinkHTML.js +0 -60
  331. package/src/doc/components/Esdoc/IdentifiersDoc.js +0 -113
  332. package/src/doc/components/Esdoc/IndirectSubclassHTML.js +0 -30
  333. package/src/doc/components/Esdoc/InheritedSummaryDoc.js +0 -70
  334. package/src/doc/components/Esdoc/InheritedSummaryHTML.js +0 -38
  335. package/src/doc/components/Esdoc/MixinClassesHTML.js +0 -29
  336. package/src/doc/components/Esdoc/NavDoc.js +0 -112
  337. package/src/doc/components/Esdoc/OverrideMethod.js +0 -44
  338. package/src/doc/components/Esdoc/OverrideMethodDescription.js +0 -35
  339. package/src/doc/components/Esdoc/Properties.js +0 -89
  340. package/src/doc/components/Esdoc/README.md +0 -45
  341. package/src/doc/components/Esdoc/SignatureHTML.js +0 -123
  342. package/src/doc/components/Esdoc/SingleDoc.js +0 -31
  343. package/src/doc/components/Esdoc/SummaryDoc.js +0 -160
  344. package/src/doc/components/Esdoc/SummaryHTML.js +0 -96
  345. package/src/doc/components/Esdoc/TypeDocLinkHTML.js +0 -249
  346. package/src/doc/components/Esdoc/css/identifiers.css +0 -38
  347. package/src/doc/components/Esdoc/css/search.css +0 -76
  348. package/src/doc/components/Esdoc/css/style.css +0 -603
  349. package/src/doc/components/Esdoc/index.js +0 -7
  350. package/src/doc/components/Example.js +0 -153
  351. package/src/doc/components/Examples.js +0 -183
  352. package/src/doc/components/Home.js +0 -106
  353. package/src/doc/components/TrackerExample.js +0 -38
  354. package/src/doc/components/esm.min.js +0 -2
  355. package/src/doc/components/examples/assets/tralis-live-map/index.js +0 -11
  356. package/src/doc/components/examples/assets/tralis-live-map/s1kreis.svg +0 -105
  357. package/src/doc/components/examples/assets/tralis-live-map/s20kreis.svg +0 -101
  358. package/src/doc/components/examples/assets/tralis-live-map/s2kreis.svg +0 -95
  359. package/src/doc/components/examples/assets/tralis-live-map/s3kreis.svg +0 -95
  360. package/src/doc/components/examples/assets/tralis-live-map/s4kreis.svg +0 -95
  361. package/src/doc/components/examples/assets/tralis-live-map/s6kreis.svg +0 -95
  362. package/src/doc/components/examples/assets/tralis-live-map/s7kreis.svg +0 -95
  363. package/src/doc/components/examples/assets/tralis-live-map/s8kreis.svg +0 -93
  364. package/src/doc/components/examples/assets/tralis-live-map/unknown.svg +0 -107
  365. package/src/doc/components/examples/mb-copyright.html +0 -26
  366. package/src/doc/components/examples/mb-copyright.js +0 -37
  367. package/src/doc/components/examples/mb-tracker.html +0 -1
  368. package/src/doc/components/examples/mb-tracker.js +0 -39
  369. package/src/doc/components/examples/mb-tracker.md +0 -1
  370. package/src/doc/components/examples/mb-tralis.html +0 -1
  371. package/src/doc/components/examples/mb-tralis.js +0 -34
  372. package/src/doc/components/examples/ol-copyright.html +0 -26
  373. package/src/doc/components/examples/ol-copyright.js +0 -43
  374. package/src/doc/components/examples/ol-mapbox-layer.html +0 -1
  375. package/src/doc/components/examples/ol-mapbox-layer.js +0 -28
  376. package/src/doc/components/examples/ol-mapbox-layer.md +0 -0
  377. package/src/doc/components/examples/ol-mapbox-style-layer.html +0 -12
  378. package/src/doc/components/examples/ol-mapbox-style-layer.js +0 -44
  379. package/src/doc/components/examples/ol-query.html +0 -32
  380. package/src/doc/components/examples/ol-query.js +0 -83
  381. package/src/doc/components/examples/ol-routing.html +0 -26
  382. package/src/doc/components/examples/ol-routing.js +0 -59
  383. package/src/doc/components/examples/ol-routing.md +0 -1
  384. package/src/doc/components/examples/ol-stop-finder.html +0 -15
  385. package/src/doc/components/examples/ol-stop-finder.js +0 -31
  386. package/src/doc/components/examples/ol-stop-finder.md +0 -1
  387. package/src/doc/components/examples/ol-tracker.html +0 -1
  388. package/src/doc/components/examples/ol-tracker.js +0 -44
  389. package/src/doc/components/examples/ol-tracker.md +0 -1
  390. package/src/doc/components/examples/ol-tralis.html +0 -5
  391. package/src/doc/components/examples/ol-tralis.js +0 -57
  392. package/src/doc/components/examples/tralis-live-map.html +0 -1
  393. package/src/doc/components/examples/tralis-live-map.js +0 -51
  394. package/src/doc/components/examples/tralis-live-map.md +0 -3
  395. package/src/doc/examples/assets/tralis-live-map/index.js +0 -11
  396. package/src/doc/examples/assets/tralis-live-map/s1kreis.svg +0 -105
  397. package/src/doc/examples/assets/tralis-live-map/s20kreis.svg +0 -101
  398. package/src/doc/examples/assets/tralis-live-map/s2kreis.svg +0 -95
  399. package/src/doc/examples/assets/tralis-live-map/s3kreis.svg +0 -95
  400. package/src/doc/examples/assets/tralis-live-map/s4kreis.svg +0 -95
  401. package/src/doc/examples/assets/tralis-live-map/s6kreis.svg +0 -95
  402. package/src/doc/examples/assets/tralis-live-map/s7kreis.svg +0 -95
  403. package/src/doc/examples/assets/tralis-live-map/s8kreis.svg +0 -93
  404. package/src/doc/examples/assets/tralis-live-map/unknown.svg +0 -107
  405. package/src/doc/examples/mb-copyright.html +0 -26
  406. package/src/doc/examples/mb-copyright.js +0 -37
  407. package/src/doc/examples/mb-tracker.html +0 -1
  408. package/src/doc/examples/mb-tracker.js +0 -39
  409. package/src/doc/examples/mb-tracker.md +0 -1
  410. package/src/doc/examples/mb-tralis.html +0 -1
  411. package/src/doc/examples/mb-tralis.js +0 -34
  412. package/src/doc/examples/ol-copyright.html +0 -26
  413. package/src/doc/examples/ol-copyright.js +0 -43
  414. package/src/doc/examples/ol-mapbox-layer.html +0 -1
  415. package/src/doc/examples/ol-mapbox-layer.js +0 -28
  416. package/src/doc/examples/ol-mapbox-layer.md +0 -0
  417. package/src/doc/examples/ol-mapbox-style-layer.html +0 -12
  418. package/src/doc/examples/ol-mapbox-style-layer.js +0 -44
  419. package/src/doc/examples/ol-query.html +0 -32
  420. package/src/doc/examples/ol-query.js +0 -83
  421. package/src/doc/examples/ol-routing.html +0 -26
  422. package/src/doc/examples/ol-routing.js +0 -59
  423. package/src/doc/examples/ol-routing.md +0 -1
  424. package/src/doc/examples/ol-stop-finder.html +0 -15
  425. package/src/doc/examples/ol-stop-finder.js +0 -31
  426. package/src/doc/examples/ol-stop-finder.md +0 -1
  427. package/src/doc/examples/ol-tracker.html +0 -1
  428. package/src/doc/examples/ol-tracker.js +0 -44
  429. package/src/doc/examples/ol-tracker.md +0 -1
  430. package/src/doc/examples/ol-tralis.html +0 -5
  431. package/src/doc/examples/ol-tralis.js +0 -57
  432. package/src/doc/examples/tralis-live-map.html +0 -1
  433. package/src/doc/examples/tralis-live-map.js +0 -51
  434. package/src/doc/examples/tralis-live-map.md +0 -3
  435. package/src/doc/examples.js +0 -107
  436. package/src/doc/img/examples/live_tracker_mb.jpg +0 -0
  437. package/src/doc/img/examples/live_tracker_munich.jpg +0 -0
  438. package/src/doc/img/examples/live_tracker_ol.jpg +0 -0
  439. package/src/doc/img/examples/mapbox.jpg +0 -0
  440. package/src/doc/img/examples/mapbox_style.jpg +0 -0
  441. package/src/doc/img/examples/ol-copyright.png +0 -0
  442. package/src/doc/img/examples/query_objects.jpg +0 -0
  443. package/src/doc/img/examples/routing.jpg +0 -0
  444. package/src/doc/img/examples/simple_map.jpg +0 -0
  445. package/src/doc/img/examples/stops.jpg +0 -0
  446. package/src/doc/img/favico.ico +0 -0
  447. package/src/doc/index.js +0 -21
  448. package/src/index.js +0 -25
  449. package/src/mapbox/controls/CopyrightControl.js +0 -58
  450. package/src/mapbox/index.js +0 -3
  451. package/src/mapbox/layers/Layer.js +0 -118
  452. package/src/mapbox/layers/Layer.test.js +0 -202
  453. package/src/mapbox/layers/TralisLayer.js +0 -329
  454. package/src/mapbox/layers/TralisLayer.test.js +0 -40
  455. package/src/mapbox/utils.js +0 -46
  456. package/src/ol/README.md +0 -0
  457. package/src/ol/controls/CopyrightControl.js +0 -80
  458. package/src/ol/controls/CopyrightControl.test.js +0 -211
  459. package/src/ol/controls/RoutingControl.js +0 -752
  460. package/src/ol/controls/RoutingControl.test.js +0 -216
  461. package/src/ol/controls/StopFinderControl.test.js +0 -59
  462. package/src/ol/controls/snapshots/RoutingControlRouteGen10.json +0 -58
  463. package/src/ol/controls/snapshots/RoutingControlRouteGen100.json +0 -292
  464. package/src/ol/controls/snapshots/RoutingControlRouteGen30.json +0 -69
  465. package/src/ol/controls/snapshots/RoutingControlRouteGen5.json +0 -58
  466. package/src/ol/controls/snapshots/RoutingControlRouteOSM.json +0 -759
  467. package/src/ol/controls/snapshots/RoutingControlStation1.json +0 -60
  468. package/src/ol/controls/snapshots/RoutingControlStation2.json +0 -49
  469. package/src/ol/index.js +0 -13
  470. package/src/ol/layers/Layer.js +0 -193
  471. package/src/ol/layers/Layer.test.js +0 -197
  472. package/src/ol/layers/MapboxLayer.js +0 -378
  473. package/src/ol/layers/MapboxLayer.test.js +0 -186
  474. package/src/ol/layers/MapboxStyleLayer.js +0 -417
  475. package/src/ol/layers/MapboxStyleLayer.test.js +0 -262
  476. package/src/ol/layers/MaplibreLayer.js +0 -280
  477. package/src/ol/layers/RoutingLayer.js +0 -91
  478. package/src/ol/layers/RoutingLayer.test.js +0 -49
  479. package/src/ol/layers/TralisLayer.js +0 -359
  480. package/src/ol/layers/TralisLayer.test.js +0 -97
  481. package/src/ol/layers/VectorLayer.js +0 -43
  482. package/src/ol/layers/VectorLayer.test.js +0 -98
  483. package/src/ol/layers/WMSLayer.js +0 -80
  484. package/src/ol/layers/WMSLayer.test.js +0 -84
  485. package/src/ol/styles/fullTrajectoryDelayStyle.js +0 -35
  486. package/src/ol/styles/fullTrajectoryStyle.js +0 -51
  487. package/webpack.config.js +0 -6
@@ -1,694 +0,0 @@
1
- /* eslint-disable no-restricted-syntax */
2
- /* eslint-disable no-underscore-dangle */
3
- import React from 'react';
4
- import { taffy } from 'taffydb';
5
- import docss from './index.json';
6
-
7
- /**
8
- * Load the config into a in memory db.
9
- * https://github.com/esdoc/esdoc-plugins/blob/2de5022baa569785a189056a99acd1d7ca8284b7/esdoc-publish-html-plugin/src/Plugin.js#L33
10
- */
11
- export const _data = taffy(docss);
12
-
13
- /**
14
- * Index used for the search.
15
- */
16
- let searchIndex;
17
-
18
- /**
19
- * find doc objects that is ordered.
20
- * https://github.com/esdoc/esdoc-plugins/blob/2de5022baa569785a189056a99acd1d7ca8284b7/esdoc-publish-html-plugin/src/Builder/DocBuilder.js#L117
21
- * @param {string} order - doc objects order(``column asec`` or ``column desc``).
22
- * @param {...Object} cond - condition objects
23
- * @returns {DocObject[]} found doc objects.
24
- * @private
25
- */
26
- export const _orderedFind = (order, ...cond) => {
27
- const data = _data(...cond);
28
-
29
- if (order) {
30
- return data.order(`${order}, name asec`).map((v) => v);
31
- }
32
- return data.order('name asec').map((v) => v);
33
- };
34
-
35
- /**
36
- * find doc object.
37
- * https://github.com/esdoc/esdoc-plugins/blob/2de5022baa569785a189056a99acd1d7ca8284b7/esdoc-publish-html-plugin/src/Builder/DocBuilder.js#L36
38
- * @param {...Object} cond - find condition.
39
- * @returns {DocObject[]} found doc objects.
40
- * @private
41
- */
42
- export const _find = (...cond) => {
43
- return _orderedFind(null, ...cond);
44
- };
45
-
46
- /**
47
- * find all identifiers with kind grouping.
48
- * https://github.com/esdoc/esdoc-plugins/blob/2de5022baa569785a189056a99acd1d7ca8284b7/esdoc-publish-html-plugin/src/Builder/DocBuilder.js#L46
49
- * @returns {{class: DocObject[], interface: DocObject[], function: DocObject[], variable: DocObject[], typedef: DocObject[], external: DocObject[]}} found doc objects.
50
- * @private
51
- */
52
- export const _findAllIdentifiersKindGrouping = () => {
53
- const result = {
54
- class: _find([{ kind: 'class', interface: false }]),
55
- interface: _find([{ kind: 'class', interface: true }]),
56
- function: _find([{ kind: 'function' }]),
57
- variable: _find([{ kind: 'variable' }]),
58
- typedef: _find([{ kind: 'typedef' }]),
59
- external: _find([{ kind: 'external' }]).filter((v) => !v.builtinExternal),
60
- };
61
- return result;
62
- };
63
-
64
- /**
65
- * fuzzy find doc object by name.
66
- * https://github.com/esdoc/esdoc-plugins/blob/2de5022baa569785a189056a99acd1d7ca8284b7/esdoc-publish-html-plugin/src/Builder/DocBuilder.js#L63
67
- * - equal with longname
68
- * - equal with name
69
- * - include in longname
70
- * - include in ancestor
71
- *
72
- * @param {string} name - target identifier name.
73
- * @param {string} [kind] - target kind.
74
- * @returns {DocObject[]} found doc objects.
75
- * @private
76
- */
77
- export const _findByName = (name, kind = null) => {
78
- let docs;
79
-
80
- if (kind) {
81
- docs = _orderedFind(null, { longname: name, kind });
82
- } else {
83
- docs = _orderedFind(null, { longname: name });
84
- }
85
- if (docs.length) return docs;
86
-
87
- if (kind) {
88
- docs = _orderedFind(null, { name, kind });
89
- } else {
90
- docs = _orderedFind(null, { name });
91
- }
92
- if (docs.length) return docs;
93
-
94
- const regexp = new RegExp(`[~]${name.replace('*', '\\*')}$`); // if name is `*`, need to escape.
95
- if (kind) {
96
- docs = _orderedFind(null, { longname: { regex: regexp }, kind });
97
- } else {
98
- docs = _orderedFind(null, { longname: { regex: regexp } });
99
- }
100
- if (docs.length) return docs;
101
-
102
- // inherited method?
103
- const matched = name.match(/(.*)[.#](.*)$/); // instance method(Foo#bar) or static method(Foo.baz)
104
- if (matched) {
105
- const parent = matched[1];
106
- const childName = matched[2];
107
- const parentDoc = _findByName(parent, 'class')[0];
108
- if (parentDoc && parentDoc._custom_extends_chains) {
109
- for (const superLongname of parentDoc._custom_extends_chains) {
110
- docs = _find({ memberof: superLongname, name: childName });
111
- if (docs.length) return docs;
112
- }
113
- }
114
- }
115
-
116
- return [];
117
- };
118
-
119
- /**
120
- * get file name of output html page.
121
- * https://github.com/esdoc/esdoc-plugins/blob/2de5022baa569785a189056a99acd1d7ca8284b7/esdoc-publish-html-plugin/src/Builder/DocBuilder.js#L555
122
- * @param {DocObject} doc - target doc object.
123
- * @returns {string} file name.
124
- * @private
125
- */
126
- const _getOutputFileName = (doc) => {
127
- switch (doc.kind) {
128
- case 'variable':
129
- return 'variable/index.html';
130
- case 'function':
131
- return 'function/index.html';
132
- case 'member': // fall
133
- case 'method': // fall
134
- case 'constructor': // fall
135
- case 'set': // fall
136
- case 'get': {
137
- // fal
138
- const parentDoc = _find({ longname: doc.memberof })[0];
139
- return _getOutputFileName(parentDoc);
140
- }
141
- case 'external':
142
- return 'external/index.html';
143
- case 'typedef':
144
- return 'typedef/index.html';
145
- case 'class':
146
- return `class/${doc.longname}.html`;
147
- case 'file':
148
- return `file/${doc.name}.html`;
149
- case 'testFile':
150
- return `test-file/${doc.name}.html`;
151
- case 'test':
152
- return 'test.html';
153
- default:
154
- throw new Error('DocBuilder: can not resolve file name.');
155
- }
156
- };
157
-
158
- /**
159
- * gat url of output html page.
160
- * https://github.com/esdoc/esdoc-plugins/blob/2de5022baa569785a189056a99acd1d7ca8284b7/esdoc-publish-html-plugin/src/Builder/DocBuilder.js#L533
161
- * @param {DocObject} doc - target doc object.
162
- * @returns {string} url of output html. it is relative path from output root dir.
163
- * @private
164
- */
165
- export const _getURL = (doc) => {
166
- let inner = false;
167
- if (
168
- [
169
- 'variable',
170
- 'function',
171
- 'member',
172
- 'typedef',
173
- 'method',
174
- 'constructor',
175
- 'get',
176
- 'set',
177
- ].includes(doc.kind)
178
- ) {
179
- inner = true;
180
- }
181
-
182
- if (inner) {
183
- const scope = doc.static ? 'static' : 'instance';
184
- const fileName = _getOutputFileName(doc);
185
- return `${fileName}#${scope}-${doc.kind}-${doc.name}`;
186
- }
187
- const fileName = _getOutputFileName(doc);
188
- return fileName;
189
- };
190
-
191
- /**
192
- * resolve class extends chain.
193
- * https://github.com/esdoc/esdoc-plugins/blob/2de5022baa569785a189056a99acd1d7ca8284b7/esdoc-publish-html-plugin/src/Builder/DocResolver.js#L146
194
- * add following special property.
195
- * - ``_custom_extends_chain``: ancestor class chain.
196
- * - ``_custom_direct_subclasses``: class list that direct extends target doc.
197
- * - ``_custom_indirect_subclasses``: class list that indirect extends target doc.
198
- * - ``_custom_indirect_implements``: class list that target doc indirect implements.
199
- * - ``_custom_direct_implemented``: class list that direct implements target doc.
200
- * - ``_custom_indirect_implemented``: class list that indirect implements target doc.
201
- *
202
- * @private
203
- */
204
- export const _resolveExtendsChain = (docs) => {
205
- if (_data.__RESOLVED_EXTENDS_CHAIN__) return;
206
-
207
- const extendsChain = (doc) => {
208
- if (!doc.extends) return;
209
-
210
- const selfDoc = doc;
211
-
212
- // traverse super class.
213
- const chains = [];
214
-
215
- /* eslint-disable */
216
- while (1) {
217
- if (!doc.extends) break;
218
-
219
- let superClassDoc = _findByName(doc.extends[0])[0];
220
-
221
- if (superClassDoc) {
222
- // this is circular extends
223
- if (superClassDoc.longname === selfDoc.longname) {
224
- break;
225
- }
226
-
227
- chains.push(superClassDoc.longname);
228
- doc = superClassDoc;
229
- } else {
230
- chains.push(doc.extends[0]);
231
- break;
232
- }
233
- }
234
-
235
- if (chains.length) {
236
- // direct subclass
237
- let superClassDoc = _findByName(chains[0])[0];
238
- if (superClassDoc) {
239
- if (!superClassDoc._custom_direct_subclasses)
240
- superClassDoc._custom_direct_subclasses = [];
241
- superClassDoc._custom_direct_subclasses.push(selfDoc.longname);
242
- }
243
-
244
- // indirect subclass
245
- for (let superClassLongname of chains.slice(1)) {
246
- superClassDoc = _findByName(superClassLongname)[0];
247
- if (superClassDoc) {
248
- if (!superClassDoc._custom_indirect_subclasses)
249
- superClassDoc._custom_indirect_subclasses = [];
250
- superClassDoc._custom_indirect_subclasses.push(selfDoc.longname);
251
- }
252
- }
253
-
254
- // indirect implements and mixes
255
- for (let superClassLongname of chains) {
256
- superClassDoc = _findByName(superClassLongname)[0];
257
- if (!superClassDoc) continue;
258
-
259
- // indirect implements
260
- if (superClassDoc.implements) {
261
- if (!selfDoc._custom_indirect_implements)
262
- selfDoc._custom_indirect_implements = [];
263
- selfDoc._custom_indirect_implements.push(...superClassDoc.implements);
264
- }
265
-
266
- // indirect mixes
267
- //if (superClassDoc.mixes) {
268
- // if (!selfDoc._custom_indirect_mixes) selfDoc._custom_indirect_mixes = [];
269
- // selfDoc._custom_indirect_mixes.push(...superClassDoc.mixes);
270
- //}
271
- }
272
-
273
- // extends chains
274
- selfDoc._custom_extends_chains = chains.reverse();
275
- }
276
- };
277
-
278
- let implemented = (doc) => {
279
- let selfDoc = doc;
280
-
281
- // direct implemented (like direct subclass)
282
- for (let superClassLongname of selfDoc.implements || []) {
283
- let superClassDoc = _findByName(superClassLongname)[0];
284
- if (!superClassDoc) continue;
285
- if (!superClassDoc._custom_direct_implemented)
286
- superClassDoc._custom_direct_implemented = [];
287
- superClassDoc._custom_direct_implemented.push(selfDoc.longname);
288
- }
289
-
290
- // indirect implemented (like indirect subclass)
291
- for (let superClassLongname of selfDoc._custom_indirect_implements || []) {
292
- let superClassDoc = _findByName(superClassLongname)[0];
293
- if (!superClassDoc) continue;
294
- if (!superClassDoc._custom_indirect_implemented)
295
- superClassDoc._custom_indirect_implemented = [];
296
- superClassDoc._custom_indirect_implemented.push(selfDoc.longname);
297
- }
298
- };
299
-
300
- //var mixed = (doc) =>{
301
- // var selfDoc = doc;
302
- //
303
- // // direct mixed (like direct subclass)
304
- // for (var superClassLongname of selfDoc.mixes || []) {
305
- // var superClassDoc = _find({longname: superClassLongname})[0];
306
- // if (!superClassDoc) continue;
307
- // if(!superClassDoc._custom_direct_mixed) superClassDoc._custom_direct_mixed = [];
308
- // superClassDoc._custom_direct_mixed.push(selfDoc.longname);
309
- // }
310
- //
311
- // // indirect mixed (like indirect subclass)
312
- // for (var superClassLongname of selfDoc._custom_indirect_mixes || []) {
313
- // var superClassDoc = _find({longname: superClassLongname})[0];
314
- // if (!superClassDoc) continue;
315
- // if(!superClassDoc._custom_indirect_mixed) superClassDoc._custom_indirect_mixed = [];
316
- // superClassDoc._custom_indirect_mixed.push(selfDoc.longname);
317
- // }
318
- //};
319
-
320
- let classDocs = _find({ kind: 'class' });
321
- for (let doc of classDocs) {
322
- extendsChain(doc);
323
- implemented(doc);
324
- //mixed(doc);
325
- }
326
- return docs;
327
-
328
- _data.__RESOLVED_EXTENDS_CHAIN__ = true;
329
- };
330
-
331
- /**
332
- * resolve ignore property.
333
- * https://github.com/esdoc/esdoc-plugins/blob/2de5022baa569785a189056a99acd1d7ca8284b7/esdoc-publish-html-plugin/src/Builder/DocResolver.js#L43
334
- * remove docs that has ignore property.
335
- * @private
336
- */
337
- export const _resolveIgnore = (docs) => {
338
- if (_data.__RESOLVED_IGNORE__) return;
339
-
340
- const ignoreDocs = _find({ ignore: true });
341
- for (const doc of ignoreDocs) {
342
- const longname = doc.longname.replace(/[$]/g, '\\$');
343
- const regex = new RegExp(`^${longname}[.~#]`);
344
- _data({ longname: { regex: regex } }).remove();
345
- }
346
- _data({ ignore: true }).remove();
347
-
348
- _data.__RESOLVED_IGNORE__ = true;
349
- return docs;
350
- };
351
-
352
- /**
353
- * resolve @link as html link.
354
- * https://github.com/esdoc/esdoc-plugins/blob/2de5022baa569785a189056a99acd1d7ca8284b7/esdoc-publish-html-plugin/src/Builder/DocResolver.js#L89
355
- * @private
356
- * @todo resolve all ``description`` property.
357
- */
358
- export const _resolveLink = (docs) => {
359
- if (_data.__RESOLVED_LINK__) return;
360
-
361
- const link = (str) => {
362
- if (!str) return str;
363
- return str.replace(/\{@link ([\w#_\-.:~\/$]+)}/g, (str, longname) => {
364
- // Code from DocLinkHTML.js
365
- // transform {@link } in markdown.
366
- const doc = _findByName(longname)[0];
367
- if (!doc) {
368
- return str;
369
- }
370
- const url = _getURL(doc, false);
371
- if (url) {
372
- return `[${longname}](/api/${url.replace(/\./g, '%20')})`;
373
- }
374
- });
375
- };
376
-
377
- _data().each((v) => {
378
- v.description = link(v.description);
379
-
380
- if (v.params) {
381
- for (const param of v.params) {
382
- param.description = link(param.description);
383
- }
384
- }
385
-
386
- if (v.properties) {
387
- for (const property of v.properties) {
388
- property.description = link(property.description);
389
- }
390
- }
391
-
392
- if (v.return) {
393
- v.return.description = link(v.return.description);
394
- }
395
-
396
- if (v.throws) {
397
- for (const _throw of v.throws) {
398
- _throw.description = link(_throw.description);
399
- }
400
- }
401
-
402
- if (v.listens) {
403
- for (const _listen of v.listens) {
404
- _listen.description = link(_listen.description);
405
- }
406
- }
407
-
408
- if (v.emits) {
409
- for (const _emit of v.emits) {
410
- _emit.description = link(_emit.description);
411
- }
412
- }
413
-
414
- if (v.see) {
415
- for (let i = 0; i < v.see.length; i++) {
416
- if (v.see[i].indexOf('{@link') === 0) {
417
- v.see[i] = link(v.see[i]);
418
- } else if (v.see[i].indexOf('<a href') === 0) {
419
- // ignore
420
- } else {
421
- v.see[i] = `<a href="${v.see[i]}">${v.see[i]}</a>`;
422
- }
423
- }
424
- }
425
- });
426
-
427
- _data.__RESOLVED_LINK__ = true;
428
- return docs;
429
- };
430
-
431
- /**
432
- * resolve necessary identifier.
433
- * https://github.com/esdoc/esdoc-plugins/blob/2de5022baa569785a189056a99acd1d7ca8284b7/esdoc-publish-html-plugin/src/Builder/DocResolver.js#L277
434
- *
435
- * ```javascript
436
- * class Foo {}
437
- *
438
- * export default Bar extends Foo {}
439
- * ```
440
- *
441
- * ``Foo`` is not exported, but ``Bar`` extends ``Foo``.
442
- * ``Foo`` is necessary.
443
- * So, ``Foo`` must be exported by force.
444
- *
445
- * @private
446
- */
447
- export const _resolveNecessary = (docs) => {
448
- _data({ export: false }).update(function () {
449
- let doc = this;
450
- let childNames = [];
451
- if (doc._custom_direct_subclasses)
452
- childNames.push(...doc._custom_direct_subclasses);
453
- if (doc._custom_indirect_subclasses)
454
- childNames.push(...doc._custom_indirect_subclasses);
455
- if (doc._custom_direct_implemented)
456
- childNames.push(...doc._custom_direct_implemented);
457
- if (doc._custom_indirect_implemented)
458
- childNames.push(...doc._custom_indirect_implemented);
459
-
460
- for (let childName of childNames) {
461
- let childDoc = _find({ longname: childName })[0];
462
- if (!childDoc) continue;
463
- if (!childDoc.ignore && childDoc.export) {
464
- doc.ignore = false;
465
- return doc;
466
- }
467
- }
468
- });
469
- return docs;
470
- };
471
-
472
- /**
473
- * find doc object for each access.
474
- * https://github.com/esdoc/esdoc-plugins/blob/2de5022baa569785a189056a99acd1d7ca8284b7/esdoc-publish-html-plugin/src/Builder/DocBuilder.js#L226
475
- * @param {DocObject} doc - parent doc object.
476
- * @param {string} kind - kind property condition.
477
- * @param {boolean} isStatic - static property condition
478
- * @returns {Array[]} found doc objects.
479
- * @property {Array[]} 0 - ['Public', DocObject[]]
480
- * @property {Array[]} 1 - ['Protected', DocObject[]]
481
- * @property {Array[]} 2 - ['Private', DocObject[]]
482
- * @private
483
- */
484
- export const _findAccessDocs = (doc, kind, isStatic = true) => {
485
- const cond = { kind: kind, static: isStatic };
486
-
487
- if (doc) cond.memberof = doc.longname;
488
-
489
- /* eslint-disable default-case */
490
- switch (kind) {
491
- case 'class':
492
- cond.interface = false;
493
- break;
494
- case 'interface':
495
- cond.kind = 'class';
496
- cond.interface = true;
497
- break;
498
- case 'member':
499
- cond.kind = ['member', 'get', 'set'];
500
- break;
501
- }
502
-
503
- const publicDocs = _find(cond, { access: 'public' }).filter(
504
- (v) => !v.builtinExternal,
505
- );
506
- const protectedDocs = _find(cond, { access: 'protected' }).filter(
507
- (v) => !v.builtinExternal,
508
- );
509
- const privateDocs = _find(cond, { access: 'private' }).filter(
510
- (v) => !v.builtinExternal,
511
- );
512
- const accessDocs = [
513
- ['Public', publicDocs],
514
- // We don't want to display private and protected functions
515
- // to keep the doc simple as possible. Feel free to uncomment
516
- // the following line if you want them.
517
- // ['Protected', protectedDocs],
518
- // ['Private', privateDocs],
519
- ];
520
-
521
- return accessDocs;
522
- };
523
-
524
- /**
525
- * shorten description.
526
- * e.g. ``this is JavaScript. this is Java.`` => ``this is JavaScript.``.
527
- * https://github.com/esdoc/esdoc-plugins/blob/2de5022baa569785a189056a99acd1d7ca8284b7/esdoc-publish-html-plugin/src/Builder/util.js#L4
528
- *
529
- * @param {DocObject} doc - target doc object.
530
- * @param {boolean} [asMarkdown=false] - is true, test as markdown and convert to html.
531
- * @returns {string} shorten description.
532
- * @todo shorten before process markdown.
533
- */
534
- export function shorten(doc, asMarkdown = false) {
535
- if (!doc) return '';
536
-
537
- if (doc.summary) return doc.summary;
538
-
539
- const desc = doc.descriptionRaw;
540
- if (!desc) return '';
541
-
542
- let len = desc.length;
543
- let inSQuote = false;
544
- let inWQuote = false;
545
- let inCode = false;
546
- for (let i = 0; i < desc.length; i++) {
547
- const char1 = desc.charAt(i);
548
- const char2 = desc.charAt(i + 1);
549
- const char4 = desc.substr(i, 6);
550
- const char5 = desc.substr(i, 7);
551
- if (char1 === "'") inSQuote = !inSQuote;
552
- else if (char1 === '"') inWQuote = !inWQuote;
553
- else if (char4 === '<code>') inCode = true;
554
- else if (char5 === '</code>') inCode = false;
555
-
556
- if (inSQuote || inCode || inWQuote) continue;
557
-
558
- if (char1 === '.') {
559
- if (char2 === ' ' || char2 === '\n' || char2 === '<') {
560
- len = i + 1;
561
- break;
562
- }
563
- } else if (char1 === '\n' && char2 === '\n') {
564
- len = i + 1;
565
- break;
566
- }
567
- }
568
-
569
- let result = desc.substr(0, len);
570
- // Use Markdown component instead
571
- // if (asMarkdown) {
572
- // result = markdown(result);
573
- // }
574
-
575
- return result;
576
- }
577
-
578
- /**
579
- * parse ``@example`` value.
580
- * ``@example`` value can have ``<caption>`` tag.
581
- * https://github.com/esdoc/esdoc-plugins/blob/2de5022baa569785a189056a99acd1d7ca8284b7/esdoc-publish-html-plugin/src/Builder/util.js#L127
582
- *
583
- * @param {string} example - target example value.
584
- * @returns {{body: string, caption: string}} parsed example value.
585
- */
586
- export function parseExample(example) {
587
- let body = example;
588
- let caption = '';
589
-
590
- /* eslint-disable no-control-regex */
591
- const regexp = new RegExp('^<caption>(.*?)</caption>\n');
592
- const matched = example.match(regexp);
593
- if (matched) {
594
- body = example.replace(regexp, '');
595
- caption = matched[1].trim();
596
- }
597
-
598
- return { body, caption };
599
- }
600
-
601
- /**
602
- * escape URL hash.
603
- * https://github.com/esdoc/esdoc-plugins/blob/2de5022baa569785a189056a99acd1d7ca8284b7/esdoc-publish-html-plugin/src/Builder/util.js#L149
604
- * @param {string} hash - URL hash for HTML a tag and id tag
605
- * @returns {string} escaped URL hash
606
- */
607
- export const escapeURLHash = (hash) => {
608
- return hash
609
- .toLowerCase()
610
- .replace(/[~!@#$%^&*()_+=\[\]\\{}|;':"<>?,.\/ ]/g, '-');
611
- };
612
-
613
- /**
614
- * Create search index of identifier builder class.
615
- * https://github.com/esdoc/esdoc-plugins/blob/2de5022baa569785a189056a99acd1d7ca8284b7/esdoc-publish-html-plugin/src/Builder/SearchIndexBuilder.js#L7
616
- */
617
- export const _getSearchIndex = () => {
618
- if (searchIndex) {
619
- return searchIndex;
620
- }
621
-
622
- searchIndex = [];
623
- const docs = _find({});
624
-
625
- for (const doc of docs) {
626
- if (doc.kind === 'index') continue;
627
- if (doc.kind.indexOf('manual') === 0) continue;
628
-
629
- let indexText;
630
- let url;
631
- let displayText;
632
-
633
- if (doc.importPath) {
634
- displayText = (
635
- <>
636
- <span>{doc.name}</span>{' '}
637
- <span class="search-result-import-path">{doc.importPath}</span>
638
- </>
639
- );
640
- indexText = `${doc.importPath}~${doc.name}`.toLowerCase();
641
- url = _getURL(doc);
642
- } else if (doc.kind === 'test') {
643
- displayText = doc.testFullDescription;
644
- indexText = [
645
- ...(doc.testTargets || []),
646
- ...(doc._custom_test_targets || []),
647
- ]
648
- .join(' ')
649
- .toLowerCase();
650
- const filePath = doc.longname.split('~')[0];
651
- const fileDoc = _find({ kind: 'testFile', name: filePath })[0];
652
- url = `${_getURL(fileDoc)}#lineNumber${doc.lineNumber}`;
653
- } else if (doc.kind === 'external') {
654
- displayText = doc.longname;
655
- indexText = displayText.toLowerCase();
656
- url = doc.externalLink;
657
- } else if (doc.kind === 'file' || doc.kind === 'testFile') {
658
- displayText = doc.name;
659
- indexText = displayText.toLowerCase();
660
- url = _getURL(doc);
661
- } else if (doc.kind === 'packageJSON') {
662
- continue;
663
- } else {
664
- displayText = doc.longname;
665
- indexText = displayText.toLowerCase();
666
- url = _getURL(doc);
667
- }
668
-
669
- let kind = doc.kind;
670
- /* eslint-disable default-case */
671
- switch (kind) {
672
- case 'constructor':
673
- kind = 'method';
674
- break;
675
- case 'get':
676
- case 'set':
677
- kind = 'member';
678
- break;
679
- }
680
-
681
- searchIndex.push([indexText, url, displayText, kind]);
682
- }
683
-
684
- searchIndex.sort((a, b) => {
685
- if (a[2] === b[2]) {
686
- return 0;
687
- } else if (a[2] < b[2]) {
688
- return -1;
689
- } else {
690
- return 1;
691
- }
692
- });
693
- return searchIndex;
694
- };