mobility-toolbox-js 2.0.0-beta.8 → 2.0.1-beta.13

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 (304) hide show
  1. package/api/RoutingAPI.js +15 -0
  2. package/api/RoutingAPI.test.js +25 -0
  3. package/api/StopsAPI.js +12 -0
  4. package/api/StopsAPI.test.js +22 -0
  5. package/api/TralisAPI.js +359 -0
  6. package/api/TralisAPI.test.js +67 -0
  7. package/{src/api/tralis → api}/TralisAPIUtils.js +2 -32
  8. package/api/index.js +3 -0
  9. package/{index.html → api/typedefs.js} +0 -0
  10. package/common/Tracker.js +93 -0
  11. package/common/api/HttpAPI.js +30 -0
  12. package/common/api/HttpAPI.test.js +50 -0
  13. package/common/api/WebSocketAPI.js +175 -0
  14. package/{src/api/tralis/WebSocketConnector.test.js → common/api/WebSocketAPI.test.js} +100 -145
  15. package/common/controls/Control.js +81 -0
  16. package/{src/common → common}/controls/Control.test.js +32 -43
  17. package/common/index.js +4 -0
  18. package/common/layers/Layer.js +213 -0
  19. package/{src/common → common}/layers/Layer.test.js +185 -244
  20. package/common/mixins/CopyrightMixin.js +24 -0
  21. package/common/mixins/SearchMixin.js +110 -0
  22. package/common/mixins/TralisLayerMixin.js +479 -0
  23. package/common/styles/index.js +4 -0
  24. package/{src/common → common}/styles/trackerDefaultStyle.js +39 -175
  25. package/common/styles/trackerDelayStyle.js +8 -0
  26. package/{src/common → common}/styles/trackerSimpleStyle.js +4 -8
  27. package/{src/common → common}/trackerConfig.js +61 -99
  28. package/common/trackerConfig.test.js +23 -0
  29. package/{src/doc/examples/ol-mapbox-layer.md → common/typedefs.js} +0 -0
  30. package/common/utils/createTrackerFilters.js +56 -0
  31. package/common/utils/createTrackerFilters.test.js +79 -0
  32. package/{src/common → common}/utils/getMapboxMapCopyrights.js +3 -16
  33. package/common/utils/getMapboxMapCopyrights.test.js +40 -0
  34. package/{src/common → common}/utils/getMapboxStyleUrl.js +3 -13
  35. package/{src/common → common}/utils/getVehiclePosition.js +3 -33
  36. package/common/utils/index.js +5 -0
  37. package/common/utils/removeDuplicate.js +8 -0
  38. package/common/utils/removeDuplicate.test.js +19 -0
  39. package/{src/common → common}/utils/sortByDelay.js +2 -7
  40. package/common/utils/timeUtils.js +20 -0
  41. package/common/utils/timeUtils.test.js +10 -0
  42. package/index.js +8 -0
  43. package/mapbox/controls/CopyrightControl.js +29 -0
  44. package/mapbox/controls/index.js +1 -0
  45. package/mapbox/index.js +4 -0
  46. package/mapbox/layers/Layer.js +57 -0
  47. package/mapbox/layers/Layer.test.js +182 -0
  48. package/mapbox/layers/TralisLayer.js +182 -0
  49. package/{src/mapbox → mapbox}/layers/TralisLayer.test.js +12 -14
  50. package/mapbox/layers/index.js +2 -0
  51. package/{src/mapbox → mapbox}/utils.js +7 -21
  52. package/mbt.js +50444 -0
  53. package/mbt.js.map +7 -0
  54. package/mbt.min.js +1005 -0
  55. package/mbt.min.js.map +7 -0
  56. package/ol/controls/CopyrightControl.js +42 -0
  57. package/ol/controls/CopyrightControl.test.js +165 -0
  58. package/ol/controls/RoutingControl.js +387 -0
  59. package/ol/controls/RoutingControl.test.js +151 -0
  60. package/ol/controls/StopFinderControl.js +10 -0
  61. package/ol/controls/StopFinderControl.test.js +48 -0
  62. package/ol/controls/index.js +3 -0
  63. package/ol/index.js +5 -0
  64. package/ol/layers/Layer.js +88 -0
  65. package/ol/layers/Layer.test.js +174 -0
  66. package/ol/layers/MapboxLayer.js +203 -0
  67. package/{src/ol → ol}/layers/MapboxLayer.test.js +58 -84
  68. package/ol/layers/MapboxStyleLayer.js +187 -0
  69. package/{src/ol → ol}/layers/MapboxStyleLayer.test.js +97 -128
  70. package/ol/layers/MaplibreLayer.js +139 -0
  71. package/ol/layers/RoutingLayer.js +61 -0
  72. package/{src/ol → ol}/layers/RoutingLayer.test.js +15 -24
  73. package/ol/layers/TralisLayer.js +185 -0
  74. package/ol/layers/TralisLayer.test.js +79 -0
  75. package/ol/layers/VectorLayer.js +22 -0
  76. package/{src/ol → ol}/layers/VectorLayer.test.js +34 -45
  77. package/ol/layers/WMSLayer.js +38 -0
  78. package/ol/layers/WMSLayer.test.js +76 -0
  79. package/ol/layers/index.js +8 -0
  80. package/{src/ol → ol}/styles/fullTrajectoryDelayStyle.js +11 -15
  81. package/ol/styles/fullTrajectoryStyle.js +43 -0
  82. package/ol/styles/index.js +2 -0
  83. package/package.json +34 -74
  84. package/.babelrc +0 -6
  85. package/.esdoc.json +0 -17
  86. package/.eslintignore +0 -1
  87. package/.github/workflows/conventional-pr-title.yml +0 -21
  88. package/.github/workflows/cypress.yml +0 -29
  89. package/.github/workflows/nodejs.yml +0 -28
  90. package/.husky/commit-msg +0 -4
  91. package/.husky/post-checkout +0 -4
  92. package/.husky/post-merge +0 -4
  93. package/.husky/post-rebase +0 -4
  94. package/.husky/pre-commit +0 -4
  95. package/.neutrinorc.js +0 -176
  96. package/.nvmrc +0 -1
  97. package/CHANGELOG.md +0 -10
  98. package/LICENSE +0 -21
  99. package/__mocks__/mapbox-gl.js +0 -81
  100. package/__mocks__/maplibre-gl.js +0 -81
  101. package/commitlint.config.js +0 -1
  102. package/cypress/fixtures/example.json +0 -5
  103. package/cypress/integration/examples/api.spec.js +0 -7
  104. package/cypress/integration/examples/examples.spec.js +0 -7
  105. package/cypress/integration/examples/navigation.spec.js +0 -29
  106. package/cypress/plugins/index.js +0 -21
  107. package/cypress/support/commands.js +0 -25
  108. package/cypress/support/index.js +0 -20
  109. package/cypress.json +0 -4
  110. package/data/fetchRoute.json +0 -292
  111. package/data/fetchTrajectories.json +0 -18
  112. package/data/fetchTrajectoryById.json +0 -3
  113. package/data/fetchTrajectoryStations.json +0 -18
  114. package/data/stopsSearch.json +0 -15
  115. package/documentation.yml +0 -4
  116. package/esdoc/README.md +0 -27
  117. package/esdoc/plugins/MyPlugin.js +0 -69
  118. package/esdoc/plugins/dynamic-property-plugin/Plugin.js +0 -50
  119. package/esdoc/plugins/externals-plugin/Plugin.js +0 -45
  120. package/esdoc/plugins/externals-plugin/externals.js +0 -96
  121. package/global-setup.js +0 -3
  122. package/indexweb.html +0 -49
  123. package/jest.config.js +0 -5
  124. package/pull_request_template.md +0 -17
  125. package/renovate.json +0 -4
  126. package/scripts/read-pkg-json.js +0 -22
  127. package/src/api/index.js +0 -3
  128. package/src/api/routing/RoutingAPI.js +0 -44
  129. package/src/api/routing/RoutingAPI.test.js +0 -41
  130. package/src/api/stops/StopsAPI.js +0 -41
  131. package/src/api/stops/StopsAPI.test.js +0 -34
  132. package/src/api/tralis/TralisAPI.js +0 -731
  133. package/src/api/tralis/TralisAPI.test.js +0 -75
  134. package/src/api/tralis/WebSocketConnector.js +0 -338
  135. package/src/api/tralis/typedefs.js +0 -81
  136. package/src/assets/Lato-Black.ttf +0 -0
  137. package/src/assets/Lato-BlackItalic.ttf +0 -0
  138. package/src/assets/Lato-Bold.ttf +0 -0
  139. package/src/assets/Lato-BoldItalic.ttf +0 -0
  140. package/src/assets/Lato-Italic.ttf +0 -0
  141. package/src/assets/Lato-Light.ttf +0 -0
  142. package/src/assets/Lato-LightItalic.ttf +0 -0
  143. package/src/assets/Lato-Regular.ttf +0 -0
  144. package/src/assets/Lato-Thin.ttf +0 -0
  145. package/src/assets/Lato-ThinItalic.ttf +0 -0
  146. package/src/assets/OFL.txt +0 -93
  147. package/src/common/Tracker.js +0 -197
  148. package/src/common/api/api.js +0 -64
  149. package/src/common/api/api.test.js +0 -68
  150. package/src/common/controls/Control.js +0 -146
  151. package/src/common/index.js +0 -5
  152. package/src/common/layers/Layer.js +0 -404
  153. package/src/common/mixins/CopyrightMixin.js +0 -48
  154. package/src/common/mixins/SearchMixin.js +0 -176
  155. package/src/common/mixins/TralisLayerMixin.js +0 -930
  156. package/src/common/styles/index.js +0 -4
  157. package/src/common/styles/trackerDelayStyle.js +0 -17
  158. package/src/common/trackerConfig.test.js +0 -25
  159. package/src/common/typedefs.js +0 -23
  160. package/src/common/utils/createTrackerFilters.js +0 -87
  161. package/src/common/utils/createTrackerFilters.test.js +0 -95
  162. package/src/common/utils/getMapboxMapCopyrights.test.js +0 -47
  163. package/src/common/utils/index.js +0 -5
  164. package/src/common/utils/removeDuplicate.js +0 -22
  165. package/src/common/utils/removeDuplicate.test.js +0 -22
  166. package/src/common/utils/timeUtils.js +0 -44
  167. package/src/common/utils/timeUtils.test.js +0 -16
  168. package/src/doc/App.js +0 -116
  169. package/src/doc/App.scss +0 -51
  170. package/src/doc/_redirects +0 -2
  171. package/src/doc/components/CodeSandboxButton.js +0 -103
  172. package/src/doc/components/Documentation.js +0 -40
  173. package/src/doc/components/Esdoc/Anchor.js +0 -57
  174. package/src/doc/components/Esdoc/ClassDoc.js +0 -272
  175. package/src/doc/components/Esdoc/DeprecatedHTML.js +0 -16
  176. package/src/doc/components/Esdoc/DetailDocs.js +0 -281
  177. package/src/doc/components/Esdoc/DetailHTML.js +0 -33
  178. package/src/doc/components/Esdoc/DirectSubclassHTML.js +0 -30
  179. package/src/doc/components/Esdoc/DocBuilderUtils.js +0 -694
  180. package/src/doc/components/Esdoc/DocLinkHTML.js +0 -62
  181. package/src/doc/components/Esdoc/DocsLinkHTML.js +0 -38
  182. package/src/doc/components/Esdoc/Esdoc.js +0 -63
  183. package/src/doc/components/Esdoc/EsdocContent.js +0 -51
  184. package/src/doc/components/Esdoc/EsdocNavigation.js +0 -13
  185. package/src/doc/components/Esdoc/EsdocSearch.js +0 -81
  186. package/src/doc/components/Esdoc/ExperimentalHTML.js +0 -17
  187. package/src/doc/components/Esdoc/ExtendsChainHTML.js +0 -32
  188. package/src/doc/components/Esdoc/FileDocLinkHTML.js +0 -60
  189. package/src/doc/components/Esdoc/IdentifiersDoc.js +0 -113
  190. package/src/doc/components/Esdoc/IndirectSubclassHTML.js +0 -30
  191. package/src/doc/components/Esdoc/InheritedSummaryDoc.js +0 -70
  192. package/src/doc/components/Esdoc/InheritedSummaryHTML.js +0 -38
  193. package/src/doc/components/Esdoc/MixinClassesHTML.js +0 -29
  194. package/src/doc/components/Esdoc/NavDoc.js +0 -112
  195. package/src/doc/components/Esdoc/OverrideMethod.js +0 -44
  196. package/src/doc/components/Esdoc/OverrideMethodDescription.js +0 -35
  197. package/src/doc/components/Esdoc/Properties.js +0 -89
  198. package/src/doc/components/Esdoc/README.md +0 -45
  199. package/src/doc/components/Esdoc/SignatureHTML.js +0 -123
  200. package/src/doc/components/Esdoc/SingleDoc.js +0 -31
  201. package/src/doc/components/Esdoc/SummaryDoc.js +0 -160
  202. package/src/doc/components/Esdoc/SummaryHTML.js +0 -96
  203. package/src/doc/components/Esdoc/TypeDocLinkHTML.js +0 -249
  204. package/src/doc/components/Esdoc/css/identifiers.css +0 -38
  205. package/src/doc/components/Esdoc/css/search.css +0 -76
  206. package/src/doc/components/Esdoc/css/style.css +0 -603
  207. package/src/doc/components/Esdoc/index.js +0 -7
  208. package/src/doc/components/Example.js +0 -153
  209. package/src/doc/components/Examples.js +0 -183
  210. package/src/doc/components/Home.js +0 -106
  211. package/src/doc/components/TrackerExample.js +0 -38
  212. package/src/doc/examples/assets/tralis-live-map/index.js +0 -11
  213. package/src/doc/examples/assets/tralis-live-map/s1kreis.svg +0 -105
  214. package/src/doc/examples/assets/tralis-live-map/s20kreis.svg +0 -101
  215. package/src/doc/examples/assets/tralis-live-map/s2kreis.svg +0 -95
  216. package/src/doc/examples/assets/tralis-live-map/s3kreis.svg +0 -95
  217. package/src/doc/examples/assets/tralis-live-map/s4kreis.svg +0 -95
  218. package/src/doc/examples/assets/tralis-live-map/s6kreis.svg +0 -95
  219. package/src/doc/examples/assets/tralis-live-map/s7kreis.svg +0 -95
  220. package/src/doc/examples/assets/tralis-live-map/s8kreis.svg +0 -93
  221. package/src/doc/examples/assets/tralis-live-map/unknown.svg +0 -107
  222. package/src/doc/examples/mb-copyright.html +0 -26
  223. package/src/doc/examples/mb-copyright.js +0 -37
  224. package/src/doc/examples/mb-tracker.html +0 -1
  225. package/src/doc/examples/mb-tracker.js +0 -39
  226. package/src/doc/examples/mb-tracker.md +0 -1
  227. package/src/doc/examples/mb-tralis.html +0 -1
  228. package/src/doc/examples/mb-tralis.js +0 -34
  229. package/src/doc/examples/ol-copyright.html +0 -26
  230. package/src/doc/examples/ol-copyright.js +0 -43
  231. package/src/doc/examples/ol-mapbox-layer.html +0 -1
  232. package/src/doc/examples/ol-mapbox-layer.js +0 -28
  233. package/src/doc/examples/ol-mapbox-style-layer.html +0 -12
  234. package/src/doc/examples/ol-mapbox-style-layer.js +0 -44
  235. package/src/doc/examples/ol-query.html +0 -32
  236. package/src/doc/examples/ol-query.js +0 -83
  237. package/src/doc/examples/ol-routing.html +0 -26
  238. package/src/doc/examples/ol-routing.js +0 -59
  239. package/src/doc/examples/ol-routing.md +0 -1
  240. package/src/doc/examples/ol-stop-finder.html +0 -15
  241. package/src/doc/examples/ol-stop-finder.js +0 -31
  242. package/src/doc/examples/ol-stop-finder.md +0 -1
  243. package/src/doc/examples/ol-tracker.html +0 -1
  244. package/src/doc/examples/ol-tracker.js +0 -44
  245. package/src/doc/examples/ol-tracker.md +0 -1
  246. package/src/doc/examples/ol-tralis.html +0 -5
  247. package/src/doc/examples/ol-tralis.js +0 -57
  248. package/src/doc/examples/tralis-live-map.html +0 -1
  249. package/src/doc/examples/tralis-live-map.js +0 -51
  250. package/src/doc/examples/tralis-live-map.md +0 -3
  251. package/src/doc/examples.js +0 -107
  252. package/src/doc/img/examples/live_tracker_mb.jpg +0 -0
  253. package/src/doc/img/examples/live_tracker_munich.jpg +0 -0
  254. package/src/doc/img/examples/live_tracker_ol.jpg +0 -0
  255. package/src/doc/img/examples/mapbox.jpg +0 -0
  256. package/src/doc/img/examples/mapbox_style.jpg +0 -0
  257. package/src/doc/img/examples/ol-copyright.png +0 -0
  258. package/src/doc/img/examples/query_objects.jpg +0 -0
  259. package/src/doc/img/examples/routing.jpg +0 -0
  260. package/src/doc/img/examples/simple_map.jpg +0 -0
  261. package/src/doc/img/examples/stops.jpg +0 -0
  262. package/src/doc/img/favico.ico +0 -0
  263. package/src/doc/index.js +0 -21
  264. package/src/iife.js +0 -7
  265. package/src/index.js +0 -10
  266. package/src/mapbox/controls/CopyrightControl.js +0 -58
  267. package/src/mapbox/controls/index.js +0 -2
  268. package/src/mapbox/index.js +0 -4
  269. package/src/mapbox/layers/Layer.js +0 -118
  270. package/src/mapbox/layers/Layer.test.js +0 -202
  271. package/src/mapbox/layers/TralisLayer.js +0 -329
  272. package/src/mapbox/layers/index.js +0 -2
  273. package/src/ol/README.md +0 -0
  274. package/src/ol/controls/CopyrightControl.js +0 -80
  275. package/src/ol/controls/CopyrightControl.test.js +0 -211
  276. package/src/ol/controls/RoutingControl.js +0 -752
  277. package/src/ol/controls/RoutingControl.test.js +0 -216
  278. package/src/ol/controls/StopFinderControl.js +0 -38
  279. package/src/ol/controls/StopFinderControl.test.js +0 -59
  280. package/src/ol/controls/index.js +0 -3
  281. package/src/ol/controls/snapshots/RoutingControlRouteGen10.json +0 -58
  282. package/src/ol/controls/snapshots/RoutingControlRouteGen100.json +0 -292
  283. package/src/ol/controls/snapshots/RoutingControlRouteGen30.json +0 -69
  284. package/src/ol/controls/snapshots/RoutingControlRouteGen5.json +0 -58
  285. package/src/ol/controls/snapshots/RoutingControlRouteOSM.json +0 -759
  286. package/src/ol/controls/snapshots/RoutingControlStation1.json +0 -60
  287. package/src/ol/controls/snapshots/RoutingControlStation2.json +0 -49
  288. package/src/ol/index.js +0 -5
  289. package/src/ol/layers/Layer.js +0 -193
  290. package/src/ol/layers/Layer.test.js +0 -197
  291. package/src/ol/layers/MapboxLayer.js +0 -378
  292. package/src/ol/layers/MapboxStyleLayer.js +0 -417
  293. package/src/ol/layers/MaplibreLayer.js +0 -280
  294. package/src/ol/layers/RoutingLayer.js +0 -91
  295. package/src/ol/layers/TralisLayer.js +0 -359
  296. package/src/ol/layers/TralisLayer.test.js +0 -97
  297. package/src/ol/layers/VectorLayer.js +0 -43
  298. package/src/ol/layers/WMSLayer.js +0 -80
  299. package/src/ol/layers/WMSLayer.test.js +0 -84
  300. package/src/ol/layers/index.js +0 -8
  301. package/src/ol/styles/fullTrajectoryStyle.js +0 -51
  302. package/src/ol/styles/index.js +0 -2
  303. package/src/setupTests.js +0 -15
  304. package/webpack.config.js +0 -6
@@ -1,96 +0,0 @@
1
- /* eslint-disable react/prop-types */
2
- /* eslint-disable react/no-array-index-key */
3
- /* eslint-disable no-underscore-dangle */
4
- import React, { useMemo } from 'react';
5
- import { _findAccessDocs, _find } from './DocBuilderUtils';
6
- import SummaryDoc from './SummaryDoc';
7
-
8
- const accessValues = ['public', 'protected', 'private'];
9
-
10
- /**
11
- * build inherited method/member summary.
12
- * https://github.com/esdoc/esdoc-plugins/blob/2de5022baa569785a189056a99acd1d7ca8284b7/esdoc-publish-html-plugin/src/Builder/ClassDocBuilder.js#L220
13
- * @param {DocObject} doc - target class doc.
14
- * @returns {string} html of inherited method/member from ancestor classes.
15
- * @private
16
- */
17
- function SummaryHTML({ doc, kind, title, isStatic = true, inherited = false }) {
18
- const accessDocs = useMemo(() => {
19
- const classDocs = _findAccessDocs(doc, kind, isStatic);
20
-
21
- if (doc && ['class', 'interface'].indexOf(doc.kind) !== -1) {
22
- const longnames = [
23
- ...(doc._custom_extends_chains || []),
24
- // ...doc.implements || [],
25
- // ...doc._custom_indirect_implements || [],
26
- ];
27
-
28
- longnames
29
- .map((longname) => _find({ longname })[0])
30
- .forEach((classDoc) => {
31
- // Add inherited methods or members.
32
- if (classDoc && inherited) {
33
- const docVals = _find({
34
- memberof: classDoc.longname,
35
- kind: [kind],
36
- static: isStatic,
37
- }).filter(
38
- // We display only public classes
39
- (v) => v.access === 'public' && !v.builtinExternal,
40
- );
41
-
42
- if (docVals.length) {
43
- docVals.forEach((docV) => {
44
- const idx = accessValues.indexOf(docV.access);
45
- if (
46
- idx !== -1 &&
47
- !classDocs[idx][1].find((el) => el.name === docV.name)
48
- ) {
49
- classDocs[idx][1].push(docV);
50
- }
51
- });
52
- }
53
- }
54
- });
55
- }
56
-
57
- // Order alphabetically (by name) the members/methods.
58
- return classDocs.map((cD) => {
59
- /* eslint-disable no-param-reassign */
60
- cD[1] = cD[1].sort((a, b) => {
61
- if (a.name < b.name) {
62
- return -1;
63
- }
64
- if (a.name > b.name) {
65
- return 1;
66
- }
67
- return 0;
68
- });
69
- return cD;
70
- });
71
- }, [doc, kind, isStatic, inherited]);
72
-
73
- return (
74
- <>
75
- {accessDocs.map((accessDoc, idx) => {
76
- const docs = accessDoc[1];
77
- if (!docs.length) return null;
78
-
79
- let prefix = '';
80
- if (docs[0].static) prefix = 'Static ';
81
- const _title = `${prefix}${
82
- accessDoc[0] === 'Public' ? '' : `${accessDoc[0]} `
83
- }${title}`;
84
- return (
85
- <SummaryDoc
86
- key={idx}
87
- docs={docs}
88
- title={_title}
89
- memberof={doc && doc.memberof}
90
- />
91
- );
92
- })}
93
- </>
94
- );
95
- }
96
- export default SummaryHTML;
@@ -1,249 +0,0 @@
1
- /* eslint-disable prefer-destructuring */
2
- /* eslint-disable no-shadow */
3
- /* eslint-disable no-restricted-syntax */
4
- /* eslint-disable no-param-reassign */
5
- /* eslint-disable react/prop-types */
6
- /* eslint-disable react/no-array-index-key */
7
- import React from 'react';
8
- import DocLinkHTML from './DocLinkHTML';
9
-
10
- /**
11
- * build html link of type.
12
- * https://github.com/esdoc/esdoc-plugins/blob/2de5022baa569785a189056a99acd1d7ca8284b7/esdoc-publish-html-plugin/src/Builder/DocBuilder.js#L621
13
- * @param {string} typeName - type name(e.g. ``number[]``, ``Map<number, string>``)
14
- * @returns {string} html of link.
15
- * @private
16
- * @todo re-implement with parser combinator.
17
- */
18
- function TypeDocLinkHTML({ typeName }) {
19
- // e.g. number[]
20
- let matched = typeName.match(/^(.*?)\[\]$/);
21
- if (matched) {
22
- typeName = matched[1];
23
- return (
24
- <span>
25
- <DocLinkHTML longname={typeName} text={typeName} />
26
- <span>[]</span>
27
- </span>
28
- );
29
- }
30
-
31
- // e.g. function(a: number, b: string): boolean
32
- matched = typeName.match(/function *\((.*?)\)(.*)/);
33
- if (matched) {
34
- const functionLink = <DocLinkHTML longname="function" />;
35
- if (!matched[1] && !matched[2])
36
- return (
37
- <span>
38
- {functionLink}
39
- <span>()</span>
40
- </span>
41
- );
42
-
43
- let innerTypes = [];
44
- if (matched[1]) {
45
- // bad hack: Map.<string, boolean> => Map.<string\Z boolean>
46
- // bad hack: {a: string, b: boolean} => {a\Y string\Z b\Y boolean}
47
- const inner = matched[1]
48
- .replace(/<.*?>/g, (a) => a.replace(/,/g, '\\Z'))
49
- .replace(/{.*?}/g, (a) => a.replace(/,/g, '\\Z').replace(/:/g, '\\Y'));
50
- innerTypes = inner.split(',').map((v) => {
51
- const tmp = v.split(':').map((v) => v.trim());
52
- if (tmp.length !== 2)
53
- throw new SyntaxError(
54
- `Invalid function type annotation: \`${matched[0]}\``,
55
- );
56
-
57
- const paramName = tmp[0];
58
- const typeName = tmp[1].replace(/\\Z/g, ',').replace(/\\Y/g, ':');
59
- return (
60
- <>
61
- {paramName}: <TypeDocLinkHTML typeName={typeName} />
62
- </>
63
- );
64
- });
65
- }
66
-
67
- let returnType = '';
68
- if (matched[2]) {
69
- const type = matched[2].split(':')[1];
70
-
71
- if (type)
72
- returnType = (
73
- <>
74
- : <TypeDocLinkHTML typeName={type.trim()} />
75
- </>
76
- );
77
- }
78
-
79
- return (
80
- <span>
81
- {functionLink}
82
- <span>
83
- (
84
- {innerTypes.map((comp, idx) => {
85
- return (
86
- <React.Fragment key={idx}>
87
- {comp}
88
- {idx !== innerTypes.length - 1 ? ', ' : ''}
89
- </React.Fragment>
90
- );
91
- })}
92
- )
93
- </span>
94
- {returnType}
95
- </span>
96
- );
97
- }
98
-
99
- // e.g. {a: number, b: string}
100
- matched = typeName.match(/^\{(.*?)\}$/);
101
- if (matched) {
102
- if (!matched[1]) return '{}';
103
-
104
- // bad hack: Map.<string, boolean> => Map.<string\Z boolean>
105
- // bad hack: {a: string, b: boolean} => {a\Y string\Z b\Y boolean}
106
- const inner = matched[1]
107
- .replace(/<.*?>/g, (a) => a.replace(/,/g, '\\Z'))
108
- .replace(/{.*?}/g, (a) => a.replace(/,/g, '\\Z').replace(/:/g, '\\Y'));
109
-
110
- let broken = false;
111
-
112
- const innerTypes = inner.split(',').map((v) => {
113
- const tmp = v.split(':').map((v) => v.trim());
114
-
115
- // edge case: if object key includes comma, this parsing is broken.
116
- // e.g. {"a,b": 10}
117
- // https://github.com/esdoc/esdoc-plugins/pull/49
118
- if (!tmp[0] || !tmp[1]) {
119
- broken = true;
120
- return null;
121
- }
122
-
123
- const paramName = tmp[0];
124
- let typeName = tmp[1].replace(/\\Z/g, ',').replace(/\\Y/g, ':');
125
- if (typeName.includes('|')) {
126
- typeName = typeName.replace(/^\(/, '').replace(/\)$/, '');
127
- const typeNames = typeName.split('|').map((v) => v.trim());
128
- const html = [];
129
- for (const unionType of typeNames) {
130
- html.push(<TypeDocLinkHTML typeName={unionType} />);
131
- }
132
- return (
133
- <>
134
- {paramName}:{' '}
135
- {html.map((comp, idx) => {
136
- return (
137
- <React.Fragment key={idx}>
138
- {comp}
139
- {idx !== html.length - 1 ? '|' : ''}
140
- </React.Fragment>
141
- );
142
- })}
143
- </>
144
- );
145
- }
146
- return (
147
- <>
148
- {paramName}: <TypeDocLinkHTML typeName={typeName} />
149
- </>
150
- );
151
- });
152
-
153
- if (broken) return `*`;
154
-
155
- return (
156
- <>
157
- {`{`}
158
- {innerTypes.map((comp, idx) => {
159
- return (
160
- <React.Fragment key={idx}>
161
- {comp}
162
- {idx !== innerTypes.length - 1 ? ', ' : ''}
163
- </React.Fragment>
164
- );
165
- })}
166
- {`}`}
167
- </>
168
- );
169
- }
170
-
171
- // e.g. Map<number, string>
172
- matched = typeName.match(/^(.*?)\.?<(.*?)>$/);
173
- if (matched) {
174
- const mainType = matched[1];
175
- // bad hack: Map.<string, boolean> => Map.<string\Z boolean>
176
- // bad hack: {a: string, b: boolean} => {a\Y string\Z b\Y boolean}
177
- const inner = matched[2]
178
- .replace(/<.*?>/g, (a) => a.replace(/,/g, '\\Z'))
179
- .replace(/{.*?}/g, (a) => a.replace(/,/g, '\\Z').replace(/:/g, '\\Y'));
180
- const innerTypes = inner.split(',').map((v) => {
181
- return v.split('|').map((vv, idx) => {
182
- vv = vv.trim().replace(/\\Z/g, ',').replace(/\\Y/g, ':');
183
- return (
184
- <React.Fragment key={idx}>
185
- <TypeDocLinkHTML typeName={vv} />
186
- {idx !== v.split('|').length - 1 ? '|' : ''}
187
- </React.Fragment>
188
- );
189
- });
190
- });
191
-
192
- const html = (
193
- <>
194
- <DocLinkHTML longname={mainType} text={mainType} />
195
- {`<`}
196
- {innerTypes.map((comp, idx) => {
197
- return (
198
- <React.Fragment key={idx}>
199
- {comp}
200
- {idx !== innerTypes.length - 1 ? ', ' : ''}
201
- </React.Fragment>
202
- );
203
- })}
204
- {`>`}
205
- </>
206
- );
207
- return html;
208
- }
209
-
210
- if (typeName.indexOf('...') === 0) {
211
- typeName = typeName.replace('...', '');
212
- if (typeName.includes('|')) {
213
- const typeNames = typeName.replace('(', '').replace(')', '').split('|');
214
- const typeLinks = typeNames.map((v) => <DocLinkHTML longname={v} />);
215
- return (
216
- <>
217
- ...(
218
- {typeLinks.map((comp, idx) => {
219
- return (
220
- <React.Fragment key={idx}>
221
- {comp}
222
- {idx !== typeLinks.length - 1 ? '|' : ''}
223
- </React.Fragment>
224
- );
225
- })}
226
- )
227
- </>
228
- );
229
- }
230
- return (
231
- <>
232
- ...
233
- <DocLinkHTML longname={typeName} />
234
- </>
235
- );
236
- }
237
- if (typeName.indexOf('?') === 0) {
238
- typeName = typeName.replace('?', '');
239
- return (
240
- <>
241
- ?
242
- <DocLinkHTML longname={typeName} />
243
- </>
244
- );
245
- }
246
- return <DocLinkHTML longname={typeName} />;
247
- }
248
-
249
- export default React.memo(TypeDocLinkHTML);
@@ -1,38 +0,0 @@
1
- /* stylelint-disable */
2
- /* .identifiers-wrap {
3
- display: flex;
4
- align-items: flex-start;
5
- } */
6
-
7
- .identifier-dir-tree {
8
- background: #fff;
9
- border: solid 1px #ddd;
10
- border-radius: 0.25em;
11
- top: 52px;
12
- position: -webkit-sticky;
13
- position: sticky;
14
- max-height: calc(100vh - 155px);
15
- overflow-y: scroll;
16
- min-width: 200px;
17
- margin-left: 1em;
18
- }
19
-
20
- .identifier-dir-tree-header {
21
- padding: 0.5em;
22
- background-color: #fafafa;
23
- border-bottom: solid 1px #ddd;
24
- }
25
-
26
- .identifier-dir-tree-content {
27
- padding: 0 0.5em 0;
28
- }
29
-
30
- .identifier-dir-tree-content > div {
31
- padding-top: 0.25em;
32
- padding-bottom: 0.25em;
33
- }
34
-
35
- .identifier-dir-tree-content a {
36
- color: inherit;
37
- }
38
-
@@ -1,76 +0,0 @@
1
- /* stylelint-disable */
2
- /* search box */
3
- .search-box {
4
- /* position: absolute;
5
- top: 10px;
6
- right: 50px; */
7
- position: relative;
8
- margin: 10px;
9
- line-height: normal;
10
- font-size: 12px;
11
-
12
- /* Geops */
13
- background: white;
14
- margin: 20px 5px 10px !important;
15
- }
16
-
17
- .search-box img {
18
- width: 20px;
19
- vertical-align: top;
20
- }
21
-
22
- .esdoc .search-result {
23
- position: absolute;
24
- height: 600px;
25
- width: 100%;
26
- padding: 0;
27
- margin-top: 5px;
28
- margin-left: 24px;
29
- background: white;
30
- box-shadow: 1px 1px 4px rgb(0,0,0);
31
- white-space: nowrap;
32
- overflow-y: scroll;
33
-
34
- /* Geops */
35
- max-height: 300px;
36
- min-width: 200px;
37
- max-width: 500px;
38
- width: auto;
39
- margin-left: 0px;
40
- height: auto;
41
-
42
- }
43
-
44
- .esdoc .search-result-import-path {
45
- color: #aaa;
46
- font-size: 12px;
47
- }
48
-
49
- .esdoc .search-result li {
50
- list-style: none;
51
- padding: 2px 4px;
52
- }
53
-
54
- .search-result li a {
55
- display: block;
56
- }
57
-
58
- .search-result li.selected {
59
- background: #ddd;
60
- }
61
-
62
- .search-result li.search-separator {
63
- background: rgb(37, 138, 175);
64
- color: white;
65
- }
66
-
67
- .search-box.active .search-input {
68
- visibility: visible;
69
- transition: width 0.2s ease-out;
70
- /* Geops width: 300px; */
71
- }
72
-
73
- .search-box.active .search-input-edge {
74
- display: inline-block;
75
- }
76
-