redux-connected-devtools 0.0.15 → 1.0.2

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 (370) hide show
  1. package/.env +2 -0
  2. package/.prettierrc.js +10 -0
  3. package/.vscode/settings.json +12 -0
  4. package/.vscode/tasks.json +33 -0
  5. package/LICENSE +21 -0
  6. package/README.md +5 -0
  7. package/index.html +58 -0
  8. package/jest.config.js +8 -0
  9. package/package.json +47 -66
  10. package/public/devtools.html +8 -0
  11. package/public/icon.png +0 -0
  12. package/public/manifest.json +29 -0
  13. package/public/options.html +12 -0
  14. package/public/panel.html +39 -0
  15. package/public/popup.html +12 -0
  16. package/src/__tests__/sum.ts +9 -0
  17. package/src/background.ts +49 -0
  18. package/src/components/DevInspector/DevInspector.scss +2 -0
  19. package/src/components/DevInspector/DevInspector.style.tsx +8 -0
  20. package/src/components/DevInspector/DevInspector.tsx +34 -0
  21. package/src/components/DevList/DevList.scss +2 -0
  22. package/src/components/DevList/DevList.style.tsx +34 -0
  23. package/src/components/DevList/DevList.tsx +62 -0
  24. package/src/components/DevMenu/DevMenu.scss +2 -0
  25. package/src/components/DevMenu/DevMenu.style.tsx +53 -0
  26. package/src/components/DevMenu/DevMenu.tsx +76 -0
  27. package/src/components/DevPanel/DevPanel.scss +2 -0
  28. package/src/components/DevPanel/DevPanel.style.tsx +16 -0
  29. package/src/components/DevPanel/DevPanel.tsx +51 -0
  30. package/src/components/JourneyRow/JourneyRow.scss +2 -0
  31. package/src/components/JourneyRow/JourneyRow.style.tsx +46 -0
  32. package/src/components/JourneyRow/JourneyRow.tsx +58 -0
  33. package/src/components/JsonViewer/JsonViewer.scss +2 -0
  34. package/src/components/JsonViewer/JsonViewer.style.tsx +31 -0
  35. package/src/components/JsonViewer/JsonViewer.tsx +24 -0
  36. package/src/components/Lifecycle/Lifecycle.scss +2 -0
  37. package/src/components/Lifecycle/Lifecycle.style.tsx +6 -0
  38. package/src/components/Lifecycle/Lifecycle.tsx +31 -0
  39. package/src/components/LogsViewer/LogsViewer.scss +2 -0
  40. package/src/components/LogsViewer/LogsViewer.style.tsx +5 -0
  41. package/src/components/LogsViewer/LogsViewer.tsx +14 -0
  42. package/src/components/RequestDetails/RequestDetails.scss +2 -0
  43. package/src/components/RequestDetails/RequestDetails.style.tsx +20 -0
  44. package/src/components/RequestDetails/RequestDetails.tsx +60 -0
  45. package/src/components/RequestJourney/RequestJourney.scss +2 -0
  46. package/src/components/RequestJourney/RequestJourney.style.tsx +6 -0
  47. package/src/components/RequestJourney/RequestJourney.tsx +33 -0
  48. package/src/components/RequestRow/RequestRow.scss +2 -0
  49. package/src/components/RequestRow/RequestRow.style.tsx +31 -0
  50. package/src/components/RequestRow/RequestRow.tsx +37 -0
  51. package/src/components/Time/Time.scss +2 -0
  52. package/src/components/Time/Time.style.tsx +17 -0
  53. package/src/components/Time/Time.tsx +25 -0
  54. package/src/containers/DevMenuContainer.tsx +28 -0
  55. package/src/containers/DevPanelContainer.tsx +10 -0
  56. package/src/containers/EndpointConfigsContainer.tsx +12 -0
  57. package/src/containers/EndpointStatusContainer.tsx +12 -0
  58. package/src/containers/GlobalSettingsContainer.tsx +12 -0
  59. package/src/containers/GlobalStatsContainer.tsx +12 -0
  60. package/src/containers/LifecycleApiErrorContainer.tsx +11 -0
  61. package/src/containers/LifecycleGeneralErrorContainer.tsx +11 -0
  62. package/src/containers/LifecycleInQueueContainer.tsx +11 -0
  63. package/src/containers/LifecyclePendingApiContainer.tsx +11 -0
  64. package/src/containers/LifecyclePostActionContainer.tsx +11 -0
  65. package/src/containers/LifecycleReceivedContainer.tsx +11 -0
  66. package/src/content_script.ts +19 -0
  67. package/src/data/devComponents.tsx +25 -0
  68. package/src/data/devRoutes.ts +83 -0
  69. package/src/devtools.tsx +29 -0
  70. package/src/index.ts +1 -0
  71. package/src/injected_script.ts +9 -0
  72. package/src/options.tsx +77 -0
  73. package/src/panel.tsx +30 -0
  74. package/src/popup.tsx +63 -0
  75. package/src/store/initialState.ts +42 -0
  76. package/src/store/selectors.ts +205 -0
  77. package/src/sum.ts +3 -0
  78. package/src/types.ts +1 -0
  79. package/src/utils/date.ts +3 -0
  80. package/tsconfig.json +24 -0
  81. package/vite.config.ts +45 -0
  82. package/webpack/webpack.common.js +46 -0
  83. package/webpack/webpack.dev.js +7 -0
  84. package/webpack/webpack.prod.js +6 -0
  85. package/esm/components/Config/Config.d.ts +0 -6
  86. package/esm/components/Config/Config.js +0 -15
  87. package/esm/components/DevTools/DevTools.d.ts +0 -4
  88. package/esm/components/DevTools/DevTools.js +0 -19
  89. package/esm/components/DevToolsLocal/DevToolsLocal.d.ts +0 -4
  90. package/esm/components/DevToolsLocal/DevToolsLocal.js +0 -12
  91. package/esm/components/Dispatcher/Dispatcher.d.ts +0 -8
  92. package/esm/components/Dispatcher/Dispatcher.js +0 -61
  93. package/esm/components/GlobalSettings/GlobalSettings.d.ts +0 -6
  94. package/esm/components/GlobalSettings/GlobalSettings.js +0 -16
  95. package/esm/components/Group/Group.d.ts +0 -9
  96. package/esm/components/Group/Group.js +0 -14
  97. package/esm/components/Json/Json.d.ts +0 -7
  98. package/esm/components/Json/Json.js +0 -9
  99. package/esm/components/Logs/Logs.d.ts +0 -6
  100. package/esm/components/Logs/Logs.js +0 -49
  101. package/esm/components/Monitor/Monitor.d.ts +0 -6
  102. package/esm/components/Monitor/Monitor.js +0 -54
  103. package/esm/components/OverlayManager/OverlayManager.d.ts +0 -6
  104. package/esm/components/OverlayManager/OverlayManager.js +0 -17
  105. package/esm/components/Panel/Panel.d.ts +0 -14
  106. package/esm/components/Panel/Panel.js +0 -46
  107. package/esm/components/Preview/Preview.d.ts +0 -18
  108. package/esm/components/Preview/Preview.js +0 -58
  109. package/esm/components/Redux/Redux.d.ts +0 -6
  110. package/esm/components/Redux/Redux.js +0 -72
  111. package/esm/components/ReduxSettings/ReduxSettings.d.ts +0 -9
  112. package/esm/components/ReduxSettings/ReduxSettings.js +0 -60
  113. package/esm/components/Requests/Requests.d.ts +0 -6
  114. package/esm/components/Requests/Requests.js +0 -61
  115. package/esm/components/Status/Status.d.ts +0 -6
  116. package/esm/components/Status/Status.js +0 -16
  117. package/esm/components/TaskManager/TaskManager.d.ts +0 -9
  118. package/esm/components/TaskManager/TaskManager.js +0 -22
  119. package/esm/components/Timeline/Timeline.d.ts +0 -6
  120. package/esm/components/Timeline/Timeline.js +0 -13
  121. package/esm/components/TimelineEvent/TimelineEvent.d.ts +0 -7
  122. package/esm/components/TimelineEvent/TimelineEvent.js +0 -13
  123. package/esm/components/TimelineHeader/TimelineHeader.d.ts +0 -4
  124. package/esm/components/TimelineHeader/TimelineHeader.js +0 -5
  125. package/esm/components/TimelineRow/TimelineRow.d.ts +0 -7
  126. package/esm/components/TimelineRow/TimelineRow.js +0 -13
  127. package/esm/components/TimelineRowHeader/TimelineRowHeader.d.ts +0 -7
  128. package/esm/components/TimelineRowHeader/TimelineRowHeader.js +0 -10
  129. package/esm/components/Toggle/Toggle.d.ts +0 -8
  130. package/esm/components/Toggle/Toggle.js +0 -8
  131. package/esm/components/VirtualList/VirtualList.d.ts +0 -19
  132. package/esm/components/VirtualList/VirtualList.js +0 -30
  133. package/esm/components/Visual/Visual.d.ts +0 -6
  134. package/esm/components/Visual/Visual.js +0 -38
  135. package/esm/components/prefix.d.ts +0 -2
  136. package/esm/components/prefix.js +0 -2
  137. package/esm/data/boxSizes.d.ts +0 -2
  138. package/esm/data/boxSizes.js +0 -10
  139. package/esm/data/dispatcherActions.d.ts +0 -5
  140. package/esm/data/dispatcherActions.js +0 -35
  141. package/esm/data/layoutDefault.d.ts +0 -2
  142. package/esm/data/layoutDefault.js +0 -46
  143. package/esm/data/panels.d.ts +0 -2
  144. package/esm/data/panels.js +0 -14
  145. package/esm/data/panelsArrangements.d.ts +0 -19
  146. package/esm/data/panelsArrangements.js +0 -19
  147. package/esm/data/panelsLocal.d.ts +0 -2
  148. package/esm/data/panelsLocal.js +0 -7
  149. package/esm/data/reduxFilterOptions.d.ts +0 -20
  150. package/esm/data/reduxFilterOptions.js +0 -223
  151. package/esm/data/widgets.d.ts +0 -2
  152. package/esm/data/widgets.js +0 -154
  153. package/esm/data/widgetsLocal.d.ts +0 -2
  154. package/esm/data/widgetsLocal.js +0 -19
  155. package/esm/hooks/index.d.ts +0 -7
  156. package/esm/hooks/index.js +0 -7
  157. package/esm/hooks/misc/hookState.d.ts +0 -8
  158. package/esm/hooks/misc/hookState.js +0 -6
  159. package/esm/hooks/misc/util.d.ts +0 -5
  160. package/esm/hooks/misc/util.js +0 -21
  161. package/esm/hooks/useBoolean.d.ts +0 -3
  162. package/esm/hooks/useBoolean.js +0 -3
  163. package/esm/hooks/useClickAway.d.ts +0 -3
  164. package/esm/hooks/useClickAway.js +0 -27
  165. package/esm/hooks/useEvent.d.ts +0 -13
  166. package/esm/hooks/useEvent.js +0 -35
  167. package/esm/hooks/useKey.d.ts +0 -12
  168. package/esm/hooks/useKey.js +0 -29
  169. package/esm/hooks/useList.d.ts +0 -57
  170. package/esm/hooks/useList.js +0 -74
  171. package/esm/hooks/useLocalstorage.d.ts +0 -10
  172. package/esm/hooks/useLocalstorage.js +0 -75
  173. package/esm/hooks/usePanels.d.ts +0 -10
  174. package/esm/hooks/usePanels.js +0 -45
  175. package/esm/hooks/useSetState.d.ts +0 -2
  176. package/esm/hooks/useSetState.js +0 -10
  177. package/esm/hooks/useToggle.d.ts +0 -2
  178. package/esm/hooks/useToggle.js +0 -6
  179. package/esm/hooks/useUpdate.d.ts +0 -1
  180. package/esm/hooks/useUpdate.js +0 -6
  181. package/esm/index.d.ts +0 -4
  182. package/esm/index.js +0 -4
  183. package/esm/selectors/selectors.d.ts +0 -21
  184. package/esm/selectors/selectors.js +0 -20
  185. package/esm/theme/devtoolsTheme.d.ts +0 -2
  186. package/esm/theme/devtoolsTheme.js +0 -95
  187. package/esm/types.d.ts +0 -21
  188. package/esm/types.js +0 -1
  189. package/esm/utils/filter.d.ts +0 -3
  190. package/esm/utils/filter.js +0 -25
  191. package/esm/utils/localStorage.d.ts +0 -2
  192. package/esm/utils/localStorage.js +0 -21
  193. package/esm/utils/sockets.d.ts +0 -7
  194. package/esm/utils/sockets.js +0 -27
  195. package/lib/components/Colors copy.css +0 -3
  196. package/lib/components/Colors copy.css.map +0 -1
  197. package/lib/components/Colors.css +0 -3
  198. package/lib/components/Colors.css.map +0 -1
  199. package/lib/components/ColorsDark.css +0 -3
  200. package/lib/components/ColorsDark.css.map +0 -1
  201. package/lib/components/Config/Config.css +0 -15
  202. package/lib/components/Config/Config.css.map +0 -1
  203. package/lib/components/Config/Config.d.ts +0 -6
  204. package/lib/components/Config/Config.js +0 -20
  205. package/lib/components/DevTools/DevTools.css +0 -11
  206. package/lib/components/DevTools/DevTools.css.map +0 -1
  207. package/lib/components/DevTools/DevTools.d.ts +0 -4
  208. package/lib/components/DevTools/DevTools.js +0 -24
  209. package/lib/components/DevToolsLocal/DevToolsLocal.css +0 -11
  210. package/lib/components/DevToolsLocal/DevToolsLocal.css.map +0 -1
  211. package/lib/components/DevToolsLocal/DevToolsLocal.d.ts +0 -4
  212. package/lib/components/DevToolsLocal/DevToolsLocal.js +0 -17
  213. package/lib/components/Dispatcher/Dispatcher.css +0 -15
  214. package/lib/components/Dispatcher/Dispatcher.css.map +0 -1
  215. package/lib/components/Dispatcher/Dispatcher.d.ts +0 -8
  216. package/lib/components/Dispatcher/Dispatcher.js +0 -65
  217. package/lib/components/GlobalSettings/GlobalSettings.css +0 -3
  218. package/lib/components/GlobalSettings/GlobalSettings.css.map +0 -1
  219. package/lib/components/GlobalSettings/GlobalSettings.d.ts +0 -6
  220. package/lib/components/GlobalSettings/GlobalSettings.js +0 -21
  221. package/lib/components/Group/Group.css +0 -41
  222. package/lib/components/Group/Group.css.map +0 -1
  223. package/lib/components/Group/Group.d.ts +0 -9
  224. package/lib/components/Group/Group.js +0 -19
  225. package/lib/components/Json/Json.css +0 -5
  226. package/lib/components/Json/Json.css.map +0 -1
  227. package/lib/components/Json/Json.d.ts +0 -7
  228. package/lib/components/Json/Json.js +0 -14
  229. package/lib/components/Logs/Logs.css +0 -5
  230. package/lib/components/Logs/Logs.css.map +0 -1
  231. package/lib/components/Logs/Logs.d.ts +0 -6
  232. package/lib/components/Logs/Logs.js +0 -54
  233. package/lib/components/Monitor/Monitor.css +0 -5
  234. package/lib/components/Monitor/Monitor.css.map +0 -1
  235. package/lib/components/Monitor/Monitor.d.ts +0 -6
  236. package/lib/components/Monitor/Monitor.js +0 -59
  237. package/lib/components/OverlayManager/OverlayManager.css +0 -72
  238. package/lib/components/OverlayManager/OverlayManager.css.map +0 -1
  239. package/lib/components/OverlayManager/OverlayManager.d.ts +0 -6
  240. package/lib/components/OverlayManager/OverlayManager.js +0 -22
  241. package/lib/components/Panel/Panel.css +0 -35
  242. package/lib/components/Panel/Panel.css.map +0 -1
  243. package/lib/components/Panel/Panel.d.ts +0 -14
  244. package/lib/components/Panel/Panel.js +0 -51
  245. package/lib/components/Prefix copy.css +0 -3
  246. package/lib/components/Prefix copy.css.map +0 -1
  247. package/lib/components/Prefix.css +0 -3
  248. package/lib/components/Prefix.css.map +0 -1
  249. package/lib/components/Preview/Preview.css +0 -29
  250. package/lib/components/Preview/Preview.css.map +0 -1
  251. package/lib/components/Preview/Preview.d.ts +0 -18
  252. package/lib/components/Preview/Preview.js +0 -64
  253. package/lib/components/Reading.css +0 -107
  254. package/lib/components/Reading.css.map +0 -1
  255. package/lib/components/Redux/Redux.css +0 -86
  256. package/lib/components/Redux/Redux.css.map +0 -1
  257. package/lib/components/Redux/Redux.d.ts +0 -6
  258. package/lib/components/Redux/Redux.js +0 -77
  259. package/lib/components/ReduxSettings/ReduxSettings.css +0 -10
  260. package/lib/components/ReduxSettings/ReduxSettings.css.map +0 -1
  261. package/lib/components/ReduxSettings/ReduxSettings.d.ts +0 -9
  262. package/lib/components/ReduxSettings/ReduxSettings.js +0 -64
  263. package/lib/components/Requests/Requests.css +0 -8
  264. package/lib/components/Requests/Requests.css.map +0 -1
  265. package/lib/components/Requests/Requests.d.ts +0 -6
  266. package/lib/components/Requests/Requests.js +0 -66
  267. package/lib/components/Status/Status.css +0 -15
  268. package/lib/components/Status/Status.css.map +0 -1
  269. package/lib/components/Status/Status.d.ts +0 -6
  270. package/lib/components/Status/Status.js +0 -21
  271. package/lib/components/TaskManager/TaskManager.css +0 -9
  272. package/lib/components/TaskManager/TaskManager.css.map +0 -1
  273. package/lib/components/TaskManager/TaskManager.d.ts +0 -9
  274. package/lib/components/TaskManager/TaskManager.js +0 -28
  275. package/lib/components/Timeline/Timeline.css +0 -5
  276. package/lib/components/Timeline/Timeline.css.map +0 -1
  277. package/lib/components/Timeline/Timeline.d.ts +0 -6
  278. package/lib/components/Timeline/Timeline.js +0 -18
  279. package/lib/components/TimelineEvent/TimelineEvent.css +0 -20
  280. package/lib/components/TimelineEvent/TimelineEvent.css.map +0 -1
  281. package/lib/components/TimelineEvent/TimelineEvent.d.ts +0 -7
  282. package/lib/components/TimelineEvent/TimelineEvent.js +0 -18
  283. package/lib/components/TimelineHeader/TimelineHeader.css +0 -6
  284. package/lib/components/TimelineHeader/TimelineHeader.css.map +0 -1
  285. package/lib/components/TimelineHeader/TimelineHeader.d.ts +0 -4
  286. package/lib/components/TimelineHeader/TimelineHeader.js +0 -10
  287. package/lib/components/TimelineRow/TimelineRow.css +0 -14
  288. package/lib/components/TimelineRow/TimelineRow.css.map +0 -1
  289. package/lib/components/TimelineRow/TimelineRow.d.ts +0 -7
  290. package/lib/components/TimelineRow/TimelineRow.js +0 -18
  291. package/lib/components/TimelineRowHeader/TimelineRowHeader.css +0 -45
  292. package/lib/components/TimelineRowHeader/TimelineRowHeader.css.map +0 -1
  293. package/lib/components/TimelineRowHeader/TimelineRowHeader.d.ts +0 -7
  294. package/lib/components/TimelineRowHeader/TimelineRowHeader.js +0 -15
  295. package/lib/components/Toggle/Toggle.css +0 -3
  296. package/lib/components/Toggle/Toggle.css.map +0 -1
  297. package/lib/components/Toggle/Toggle.d.ts +0 -8
  298. package/lib/components/Toggle/Toggle.js +0 -13
  299. package/lib/components/Variables.css +0 -3
  300. package/lib/components/Variables.css.map +0 -1
  301. package/lib/components/VirtualList/VirtualList.css +0 -13
  302. package/lib/components/VirtualList/VirtualList.css.map +0 -1
  303. package/lib/components/VirtualList/VirtualList.d.ts +0 -19
  304. package/lib/components/VirtualList/VirtualList.js +0 -35
  305. package/lib/components/Visual/Visual.css +0 -57
  306. package/lib/components/Visual/Visual.css.map +0 -1
  307. package/lib/components/Visual/Visual.d.ts +0 -6
  308. package/lib/components/Visual/Visual.js +0 -43
  309. package/lib/components/prefix.d.ts +0 -2
  310. package/lib/components/prefix.js +0 -5
  311. package/lib/data/boxSizes.d.ts +0 -2
  312. package/lib/data/boxSizes.js +0 -13
  313. package/lib/data/dispatcherActions.d.ts +0 -5
  314. package/lib/data/dispatcherActions.js +0 -38
  315. package/lib/data/layoutDefault.d.ts +0 -2
  316. package/lib/data/layoutDefault.js +0 -49
  317. package/lib/data/panels.d.ts +0 -2
  318. package/lib/data/panels.js +0 -17
  319. package/lib/data/panelsArrangements.d.ts +0 -19
  320. package/lib/data/panelsArrangements.js +0 -22
  321. package/lib/data/panelsLocal.d.ts +0 -2
  322. package/lib/data/panelsLocal.js +0 -10
  323. package/lib/data/reduxFilterOptions.d.ts +0 -20
  324. package/lib/data/reduxFilterOptions.js +0 -227
  325. package/lib/data/widgets.d.ts +0 -2
  326. package/lib/data/widgets.js +0 -157
  327. package/lib/data/widgetsLocal.d.ts +0 -2
  328. package/lib/data/widgetsLocal.js +0 -22
  329. package/lib/hooks/index.d.ts +0 -7
  330. package/lib/hooks/index.js +0 -17
  331. package/lib/hooks/misc/hookState.d.ts +0 -8
  332. package/lib/hooks/misc/hookState.js +0 -10
  333. package/lib/hooks/misc/util.d.ts +0 -5
  334. package/lib/hooks/misc/util.js +0 -27
  335. package/lib/hooks/useBoolean.d.ts +0 -3
  336. package/lib/hooks/useBoolean.js +0 -7
  337. package/lib/hooks/useClickAway.d.ts +0 -3
  338. package/lib/hooks/useClickAway.js +0 -31
  339. package/lib/hooks/useEvent.d.ts +0 -13
  340. package/lib/hooks/useEvent.js +0 -37
  341. package/lib/hooks/useKey.d.ts +0 -12
  342. package/lib/hooks/useKey.js +0 -34
  343. package/lib/hooks/useList.d.ts +0 -57
  344. package/lib/hooks/useList.js +0 -79
  345. package/lib/hooks/useLocalstorage.d.ts +0 -10
  346. package/lib/hooks/useLocalstorage.js +0 -79
  347. package/lib/hooks/usePanels.d.ts +0 -10
  348. package/lib/hooks/usePanels.js +0 -49
  349. package/lib/hooks/useSetState.d.ts +0 -2
  350. package/lib/hooks/useSetState.js +0 -14
  351. package/lib/hooks/useToggle.d.ts +0 -2
  352. package/lib/hooks/useToggle.js +0 -10
  353. package/lib/hooks/useUpdate.d.ts +0 -1
  354. package/lib/hooks/useUpdate.js +0 -9
  355. package/lib/index.css +0 -605
  356. package/lib/index.css.map +0 -1
  357. package/lib/index.d.ts +0 -4
  358. package/lib/index.js +0 -11
  359. package/lib/selectors/selectors.d.ts +0 -21
  360. package/lib/selectors/selectors.js +0 -24
  361. package/lib/theme/devtoolsTheme.d.ts +0 -2
  362. package/lib/theme/devtoolsTheme.js +0 -97
  363. package/lib/types.d.ts +0 -21
  364. package/lib/types.js +0 -2
  365. package/lib/utils/filter.d.ts +0 -3
  366. package/lib/utils/filter.js +0 -29
  367. package/lib/utils/localStorage.d.ts +0 -2
  368. package/lib/utils/localStorage.js +0 -26
  369. package/lib/utils/sockets.d.ts +0 -7
  370. package/lib/utils/sockets.js +0 -34
@@ -0,0 +1,205 @@
1
+ import { createSelector } from 'reselect';
2
+ import { connectedSelectors, LifecycleStatus } from 'redux-connected';
3
+
4
+ export const $requests = createSelector(
5
+ connectedSelectors.$requests,
6
+ (requests) => {
7
+ return requests
8
+ .map((request) => {
9
+ const { items } = request;
10
+
11
+ const lastPoint = items[items.length - 1];
12
+
13
+ const journeyWithDelta = items.map((point, index) => {
14
+ const nextPoint = items[index + 1] || point;
15
+ const delta = nextPoint.timestamp - point.timestamp;
16
+
17
+ return {
18
+ ...point,
19
+ delta,
20
+ };
21
+ });
22
+
23
+ return {
24
+ ...request,
25
+ items: journeyWithDelta,
26
+ lastPointTimestamp: lastPoint.timestamp,
27
+ lastPointStatus: lastPoint.status,
28
+ };
29
+ })
30
+ .sort((a: any, b: any) => {
31
+ if (a.lastPointTimestamp === b.lastPointTimestamp) {
32
+ return 0;
33
+ }
34
+
35
+ return a.lastPointTimestamp > b.lastPointTimestamp ? -1 : 1;
36
+ });
37
+ }
38
+ );
39
+
40
+ // 1
41
+ export const $requestsReceived = createSelector($requests, (requests) => {
42
+ return requests.filter((request) => {
43
+ const { items } = request;
44
+ const lastPoint = items[items.length - 1];
45
+ return lastPoint && lastPoint.status === LifecycleStatus.RECEIVED;
46
+ });
47
+ });
48
+
49
+ export const $requestsReceivedPast = createSelector($requests, (requests) => {
50
+ return requests.filter((request) => {
51
+ const { items } = request;
52
+
53
+ return items.find((point) => point.status === LifecycleStatus.RECEIVED);
54
+ });
55
+ });
56
+
57
+ // 2
58
+ export const $requestsInQueue = createSelector($requests, (requests) => {
59
+ return requests.filter((request) => {
60
+ const { items } = request;
61
+ const lastPoint = items[items.length - 1];
62
+ return lastPoint && lastPoint.status === LifecycleStatus.IN_QUEUE;
63
+ });
64
+ });
65
+
66
+ export const $requestsInQueuePast = createSelector($requests, (requests) => {
67
+ return requests.filter((request) => {
68
+ const { items } = request;
69
+ return items.find((point) => point.status === LifecycleStatus.IN_QUEUE);
70
+ });
71
+ });
72
+
73
+ // 3
74
+ export const $requestsGeneralError = createSelector($requests, (requests) => {
75
+ return requests.filter((request) => {
76
+ const { items } = request;
77
+ const lastPoint = items[items.length - 1];
78
+ return lastPoint && lastPoint.status === LifecycleStatus.GENERAL_ERROR;
79
+ });
80
+ });
81
+
82
+ export const $requestsGeneralErrorPast = createSelector(
83
+ $requests,
84
+ (requests) => {
85
+ return requests.filter((request) => {
86
+ const { items } = request;
87
+
88
+ return items.find(
89
+ (point) => point.status === LifecycleStatus.GENERAL_ERROR
90
+ );
91
+ });
92
+ }
93
+ );
94
+
95
+ // 4
96
+ export const $requestsPendingApi = createSelector($requests, (requests) => {
97
+ return requests.filter((request) => {
98
+ const { items } = request;
99
+ const lastPoint = items[items.length - 1];
100
+ return (
101
+ lastPoint &&
102
+ lastPoint.status === LifecycleStatus.PENDING_API_RESPONSE
103
+ );
104
+ });
105
+ });
106
+
107
+ export const $requestsPendingApiPast = createSelector($requests, (requests) => {
108
+ return requests.filter((request) => {
109
+ const { items } = request;
110
+
111
+ return items.find(
112
+ (point) => point.status === LifecycleStatus.PENDING_API_RESPONSE
113
+ );
114
+ });
115
+ });
116
+
117
+ // 5
118
+ export const $requestsApiError = createSelector($requests, (requests) => {
119
+ return requests.filter((request) => {
120
+ const { items } = request;
121
+ const lastPoint = items[items.length - 1];
122
+ return lastPoint && lastPoint.status === LifecycleStatus.API_ERROR;
123
+ });
124
+ });
125
+
126
+ export const $requestsApiErrorPast = createSelector($requests, (requests) => {
127
+ return requests.filter((request) => {
128
+ const { items } = request;
129
+
130
+ return items.find(
131
+ (point) => point.status === LifecycleStatus.API_ERROR
132
+ );
133
+ });
134
+ });
135
+
136
+ // 6
137
+ export const $requestsPostAction = createSelector($requests, (requests) => {
138
+ return requests.filter((request) => {
139
+ const { items } = request;
140
+ const lastPoint = items[items.length - 1];
141
+ return lastPoint && lastPoint.status === LifecycleStatus.POST_ACTION;
142
+ });
143
+ });
144
+
145
+ export const $requestsPostActionPast = createSelector($requests, (requests) => {
146
+ return requests.filter((request) => {
147
+ const { items } = request;
148
+
149
+ return items.find(
150
+ (point) => point.status === LifecycleStatus.POST_ACTION
151
+ );
152
+ });
153
+ });
154
+
155
+ export const $menuBadges = createSelector(
156
+ $requestsReceived,
157
+ $requestsInQueue,
158
+ $requestsGeneralError,
159
+ $requestsPendingApi,
160
+ $requestsApiError,
161
+ $requestsPostAction,
162
+ (
163
+ requestsReceived,
164
+ requestsInQueue,
165
+ requestsGeneralError,
166
+ requestsPendingApi,
167
+ requestsApiError,
168
+ requestsPostAction
169
+ ) => {
170
+ return {
171
+ lifecycleReceived: requestsReceived.length,
172
+ lifecycleInQueue: requestsInQueue.length,
173
+ lifecycleGeneralError: requestsGeneralError.length,
174
+ lifecyclePendingApi: requestsPendingApi.length,
175
+ lifecycleApiError: requestsApiError.length,
176
+ lifecyclePostAction: requestsPostAction.length,
177
+ };
178
+ }
179
+ );
180
+
181
+ export const $menuBadgesTotal = createSelector(
182
+ $requestsReceivedPast,
183
+ $requestsInQueuePast,
184
+ $requestsGeneralErrorPast,
185
+ $requestsPendingApiPast,
186
+ $requestsApiErrorPast,
187
+ $requestsPostActionPast,
188
+ (
189
+ requestsReceived,
190
+ requestsInQueue,
191
+ requestsGeneralError,
192
+ requestsPendingApi,
193
+ requestsApiError,
194
+ requestsPostAction
195
+ ) => {
196
+ return {
197
+ lifecycleReceived: requestsReceived.length,
198
+ lifecycleInQueue: requestsInQueue.length,
199
+ lifecycleGeneralError: requestsGeneralError.length,
200
+ lifecyclePendingApi: requestsPendingApi.length,
201
+ lifecycleApiError: requestsApiError.length,
202
+ lifecyclePostAction: requestsPostAction.length,
203
+ };
204
+ }
205
+ );
package/src/sum.ts ADDED
@@ -0,0 +1,3 @@
1
+ export function sum(x: number, y: number) {
2
+ return x + y;
3
+ }
package/src/types.ts ADDED
@@ -0,0 +1 @@
1
+ export type Json = Record<string, any>;
@@ -0,0 +1,3 @@
1
+ export const timestamp = () => new Date().getTime();
2
+
3
+ export const startOfTime = timestamp();
package/tsconfig.json ADDED
@@ -0,0 +1,24 @@
1
+ {
2
+ "compilerOptions": {
3
+ "strict": true,
4
+ "module": "commonjs",
5
+ "target": "es6",
6
+ "esModuleInterop": true,
7
+ "sourceMap": false,
8
+ "rootDir": "src",
9
+ "outDir": "dist/js",
10
+ "noEmitOnError": true,
11
+ "jsx": "react",
12
+ "typeRoots": [ "node_modules/@types" ],
13
+ "baseUrl": "../",
14
+ "paths": {
15
+ "redux-connected": [
16
+ "redux-connected"
17
+ ],
18
+ }
19
+ },
20
+ "exclude": [
21
+ "node_modules",
22
+ "vite.config.ts",
23
+ ]
24
+ }
package/vite.config.ts ADDED
@@ -0,0 +1,45 @@
1
+ import { defineConfig } from 'vite';
2
+ import react from '@vitejs/plugin-react';
3
+ import tsconfigPaths from 'vite-tsconfig-paths';
4
+ const svgLoader = require('vite-plugin-react-svg');
5
+ const path = require('path');
6
+ require('dotenv-flow').config();
7
+
8
+ const cwd = path.resolve(process.cwd(), '../../');
9
+ const host = (process.env.VITE_SERVER_DOMAIN||'').replace(/https?:\/\//, '');
10
+
11
+ // https://vitejs.dev/config/
12
+ export default defineConfig({
13
+ plugins: [
14
+ tsconfigPaths({
15
+ loose: true,
16
+ }),
17
+ react(),
18
+ svgLoader(),
19
+ ],
20
+ define: {
21
+ 'process.env.MONO': process.env.MONO,
22
+ },
23
+ resolve: {
24
+ alias: {
25
+ '@payem/forms': `${cwd}/packages/web-forms/src`,
26
+ '@payem/tables': `${cwd}/packages/web-tables/src`,
27
+ '@payem/details': `${cwd}/packages/web-details/src`,
28
+ '@payem/devtools': `${cwd}/packages/web-devtools/src`,
29
+ '@payem/router': `${cwd}/packages/web-router/src`,
30
+ '@payem/ui': `${cwd}/packages/web-ui/src`,
31
+ '@payem/base-ui': `${cwd}/packages/web-base-ui/src`,
32
+ '@payem/testing-base': `${cwd}/packages/web-testing-base/src`,
33
+ '@payem/hooks': `${cwd}/packages/hooks/src`,
34
+ '@payem/root-types': `${cwd}/packages/root-types/src`,
35
+ '@payem/themes': `${cwd}/packages/web-themes/src`,
36
+ '@minimal/widgets': `${cwd}/packages/minimal`,
37
+ '@payem/platformer': `${cwd}/packages/platformer`,
38
+ '@payem/app-home': `${cwd}/apps/home`,
39
+ },
40
+ },
41
+ server: {
42
+ host,
43
+ port: 3001,
44
+ },
45
+ });
@@ -0,0 +1,46 @@
1
+ const webpack = require('webpack');
2
+ const path = require('path');
3
+ const CopyPlugin = require('copy-webpack-plugin');
4
+ const srcDir = path.join(__dirname, '..', 'src');
5
+
6
+ module.exports = {
7
+ entry: {
8
+ popup: path.join(srcDir, 'popup.tsx'),
9
+ options: path.join(srcDir, 'options.tsx'),
10
+ devtools: path.join(srcDir, 'devtools.tsx'),
11
+ panel: path.join(srcDir, 'panel.tsx'),
12
+ background: path.join(srcDir, 'background.ts'),
13
+ content_script: path.join(srcDir, 'content_script.ts'),
14
+ injected_script: path.join(srcDir, 'injected_script.ts'),
15
+ },
16
+ output: {
17
+ path: path.join(__dirname, '../dist/js'),
18
+ filename: '[name].js',
19
+ },
20
+ optimization: {
21
+ splitChunks: {
22
+ name: 'vendor',
23
+ chunks(chunk) {
24
+ return chunk.name !== 'background';
25
+ },
26
+ },
27
+ },
28
+ module: {
29
+ rules: [
30
+ {
31
+ test: /\.tsx?$/,
32
+ use: 'ts-loader',
33
+ exclude: /node_modules/,
34
+ },
35
+ ],
36
+ },
37
+ resolve: {
38
+ extensions: ['.ts', '.tsx', '.js'],
39
+ },
40
+ plugins: [
41
+ new CopyPlugin({
42
+ patterns: [{ from: '.', to: '../', context: 'public' }],
43
+ options: {},
44
+ }),
45
+ ],
46
+ };
@@ -0,0 +1,7 @@
1
+ const { merge } = require('webpack-merge');
2
+ const common = require('./webpack.common.js');
3
+
4
+ module.exports = merge(common, {
5
+ devtool: 'inline-source-map',
6
+ mode: 'development'
7
+ });
@@ -0,0 +1,6 @@
1
+ const { merge } = require('webpack-merge');
2
+ const common = require('./webpack.common.js');
3
+
4
+ module.exports = merge(common, {
5
+ mode: 'production',
6
+ });
@@ -1,6 +0,0 @@
1
- /// <reference types="react" />
2
- interface ConfigProps {
3
- isWide: boolean;
4
- }
5
- export declare function Config(props: ConfigProps): JSX.Element;
6
- export default Config;
@@ -1,15 +0,0 @@
1
- import * as React from 'react';
2
- import classnames from 'classnames';
3
- import Json from '../Json/Json';
4
- import * as selectors from '../../selectors/selectors';
5
- import { useSelector } from 'react-redux';
6
- export function Config(props) {
7
- var isWide = props.isWide;
8
- var configs = useSelector(selectors.$endpointsConfig);
9
- var className = classnames('__devtools__Config-container', {
10
- wide: isWide,
11
- });
12
- return (React.createElement("div", { className: className },
13
- React.createElement(Json, { value: configs })));
14
- }
15
- export default Config;
@@ -1,4 +0,0 @@
1
- /// <reference types="react" />
2
- declare type DevToolsProps = {};
3
- export declare function DevTools(_props: DevToolsProps): JSX.Element;
4
- export default DevTools;
@@ -1,19 +0,0 @@
1
- import * as React from 'react';
2
- import { Grid } from 'igrid';
3
- import { panels } from '../../data/panels';
4
- import { widgets } from '../../data/widgets';
5
- import cssPrefix from '../prefix';
6
- import classnames from 'classnames';
7
- import * as sockets from '../../utils/sockets';
8
- import { useMount } from 'react-use';
9
- export function DevTools(_props) {
10
- var className = classnames(cssPrefix + "DevTools-container", {});
11
- useMount(function () {
12
- sockets.on('devtools', function (data) {
13
- console.log('data ->', data);
14
- });
15
- });
16
- return (React.createElement("div", { className: className },
17
- React.createElement(Grid, { defaultPanels: panels, widgets: widgets })));
18
- }
19
- export default DevTools;
@@ -1,4 +0,0 @@
1
- /// <reference types="react" />
2
- declare type DevToolsLocalProps = {};
3
- export declare function DevToolsLocal(_props: DevToolsLocalProps): JSX.Element;
4
- export default DevToolsLocal;
@@ -1,12 +0,0 @@
1
- import * as React from 'react';
2
- import { Grid } from 'igrid';
3
- import { panels } from '../../data/panelsLocal';
4
- import { widgets } from '../../data/widgetsLocal';
5
- import cssPrefix from '../prefix';
6
- import classnames from 'classnames';
7
- export function DevToolsLocal(_props) {
8
- var className = classnames(cssPrefix + "DevToolsLocal-container", {});
9
- return (React.createElement("div", { className: className },
10
- React.createElement(Grid, { defaultPanels: panels, widgets: widgets })));
11
- }
12
- export default DevToolsLocal;
@@ -1,8 +0,0 @@
1
- /// <reference types="react" />
2
- declare type DispatcherProps = {
3
- storeState: any;
4
- isWide?: boolean;
5
- onClose?: () => void;
6
- };
7
- export declare function Dispatcher(props: DispatcherProps): JSX.Element;
8
- export default Dispatcher;
@@ -1,61 +0,0 @@
1
- import { __awaiter, __generator } from "tslib";
2
- import * as React from 'react';
3
- import Group from '../Group/Group';
4
- import classnames from 'classnames';
5
- import { generateActionsForStore, analyzeStructure, } from 'redux-store-generator';
6
- import * as dispatcherActions from '../../data/dispatcherActions';
7
- import { useSetState } from 'react-use';
8
- import Panel from '../Panel/Panel';
9
- import { useDispatch } from 'react-redux';
10
- import cssPrefix from '../prefix';
11
- export function Dispatcher(props) {
12
- var dispatch = useDispatch();
13
- var _a = useSetState({}), requests = _a[0], setRequests = _a[1];
14
- var _b = props.isWide, isWide = _b === void 0 ? false : _b, storeState = props.storeState;
15
- var actions = generateActionsForStore(storeState);
16
- var nodeTypes = analyzeStructure(storeState);
17
- function dispatchAction(nodeName, verbType, actionParams) {
18
- return __awaiter(this, void 0, void 0, function () {
19
- var node, actionCreator, action;
20
- var _a, _b;
21
- return __generator(this, function (_c) {
22
- switch (_c.label) {
23
- case 0:
24
- node = actions[nodeName];
25
- actionCreator = node[verbType];
26
- action = actionCreator.apply(null, actionParams);
27
- setRequests((_a = {},
28
- _a[nodeName + "_" + verbType] = true,
29
- _a));
30
- return [4 /*yield*/, dispatch(action)];
31
- case 1:
32
- _c.sent();
33
- setRequests((_b = {},
34
- _b[nodeName + "_" + verbType] = false,
35
- _b));
36
- return [2 /*return*/];
37
- }
38
- });
39
- });
40
- }
41
- function renderAction(nodeName, verbType, actionParams) {
42
- var disabled = requests[nodeName + "_" + verbType];
43
- return (React.createElement("button", { onClick: function () { return dispatchAction(nodeName, verbType, actionParams); }, key: verbType, disabled: disabled }, verbType));
44
- }
45
- function renderActions(nodeName) {
46
- var nodeType = nodeTypes[nodeName];
47
- var actions = dispatcherActions[nodeType];
48
- var buttons = Object.keys(actions).map(function (verbType) {
49
- var actionParams = actions[verbType];
50
- return renderAction(nodeName, verbType, actionParams);
51
- });
52
- return buttons;
53
- }
54
- var className = classnames(cssPrefix + "Dispatcher-container", {
55
- wide: isWide,
56
- });
57
- return (React.createElement(Panel, { id: "dispatcher", zIndex: 999, onClose: props.onClose },
58
- React.createElement("div", { className: className }, Object.keys(nodeTypes).map(function (nodeName) { return (React.createElement(Group, { key: nodeName, title: nodeName, isWide: isWide, fluid: true },
59
- React.createElement(React.Fragment, null, renderActions(nodeName)))); }))));
60
- }
61
- export default Dispatcher;
@@ -1,6 +0,0 @@
1
- /// <reference types="react" />
2
- declare type GlobalSettingsProps = {
3
- isWide: boolean;
4
- };
5
- export declare function GlobalSettings(props: GlobalSettingsProps): JSX.Element;
6
- export default GlobalSettings;
@@ -1,16 +0,0 @@
1
- import * as React from 'react';
2
- import classnames from 'classnames';
3
- import Json from '../Json/Json';
4
- import * as selectors from '../../selectors/selectors';
5
- import { useSelector } from 'react-redux';
6
- import cssPrefix from '../prefix';
7
- export function GlobalSettings(props) {
8
- var isWide = props.isWide;
9
- var settingsAndStats = useSelector(selectors.$settingsAndStats);
10
- var className = classnames(cssPrefix + "GlobalSettings-container", {
11
- wide: isWide,
12
- });
13
- return (React.createElement("div", { className: className },
14
- React.createElement(Json, { value: settingsAndStats })));
15
- }
16
- export default GlobalSettings;
@@ -1,9 +0,0 @@
1
- /// <reference types="react" />
2
- declare type GroupProps = {
3
- title: string;
4
- isWide?: boolean;
5
- fluid?: boolean;
6
- children: JSX.Element;
7
- };
8
- export declare function Group(props: GroupProps): JSX.Element;
9
- export default Group;
@@ -1,14 +0,0 @@
1
- import * as React from 'react';
2
- import classnames from 'classnames';
3
- import cssPrefix from '../prefix';
4
- export function Group(props) {
5
- var title = props.title, isWide = props.isWide, fluid = props.fluid;
6
- var className = classnames(cssPrefix + "Group-container", {
7
- wide: isWide,
8
- fluid: fluid,
9
- });
10
- return (React.createElement("div", { className: className },
11
- React.createElement("div", { className: "title" }, title),
12
- React.createElement("div", { className: "items" }, props.children)));
13
- }
14
- export default Group;
@@ -1,7 +0,0 @@
1
- /// <reference types="react" />
2
- declare type JsonProps = {
3
- value: any;
4
- collapsed?: boolean;
5
- };
6
- export declare function Json(props: JsonProps): JSX.Element;
7
- export default Json;
@@ -1,9 +0,0 @@
1
- import * as React from 'react';
2
- import ReactJson from 'react-json-view';
3
- import cssPrefix from '../prefix';
4
- export function Json(props) {
5
- var value = props.value, collapsed = props.collapsed;
6
- return (React.createElement("div", { className: cssPrefix + "Json-container" },
7
- React.createElement(ReactJson, { src: value, collapsed: collapsed, enableClipboard: false, displayObjectSize: false, displayDataTypes: false, theme: 'monokai' })));
8
- }
9
- export default Json;
@@ -1,6 +0,0 @@
1
- /// <reference types="react" />
2
- declare type LogsProps = {
3
- isWide: boolean;
4
- };
5
- export declare function Logs(props: LogsProps): JSX.Element;
6
- export default Logs;
@@ -1,49 +0,0 @@
1
- import * as React from 'react';
2
- import { useMonitor, clearMeta } from 'redux-connected';
3
- import VirtualList from '../VirtualList/VirtualList';
4
- import classnames from 'classnames';
5
- import { useDispatch } from 'react-redux';
6
- import { preview } from '../Preview/Preview';
7
- import cssPrefix from '../prefix';
8
- var now = new Date().getTime();
9
- export function Logs(props) {
10
- var dispatch = useDispatch();
11
- var readings = useMonitor({}, function (action) { return action.type === 'LOG'; })[0];
12
- function onClick(reading) {
13
- var action = reading.action;
14
- var log = action.payload;
15
- dispatch(preview(log, 'log'));
16
- }
17
- var isWide = props.isWide;
18
- var className = classnames(cssPrefix + "Logs-container", cssPrefix + "Rows-container", {
19
- wide: isWide,
20
- });
21
- var height = isWide ? 735 : 395;
22
- return (React.createElement("div", { className: className },
23
- React.createElement(VirtualList, { className: className, items: readings, height: height, onClick: onClick }, LowRow)));
24
- }
25
- var LowRow = function (props) {
26
- var index = props.index;
27
- var listItem = props.data[index];
28
- var reading = listItem.item;
29
- var action = reading.action;
30
- var payload = action.payload;
31
- var _a = payload || {}, meta = _a.meta, message = _a.message;
32
- var shortId = meta.shortId, createdTS = meta.createdTS, sequence = meta.sequence;
33
- var className = classnames(cssPrefix + "Reading-container", {});
34
- var delta = ((createdTS - now) / 1000).toFixed(2);
35
- var data = clearMeta(payload || {});
36
- delete data['message'];
37
- return (React.createElement("div", { className: className, style: props.style, onClick: listItem.onClick },
38
- React.createElement("div", { className: "col" },
39
- React.createElement("div", { className: "row" },
40
- React.createElement("div", { className: "sequence" }, sequence),
41
- React.createElement("div", { className: "message" }, message)),
42
- React.createElement("div", { className: "description" }, JSON.stringify(data))),
43
- React.createElement("div", { className: "col" },
44
- React.createElement("div", { className: "timestamp" },
45
- "+",
46
- delta),
47
- React.createElement("div", { className: "id" }, shortId))));
48
- };
49
- export default Logs;
@@ -1,6 +0,0 @@
1
- /// <reference types="react" />
2
- declare type MonitorProps = {
3
- isWide: boolean;
4
- };
5
- export declare function Monitor(props: MonitorProps): JSX.Element;
6
- export default Monitor;