@pie-lib/graphing-solution-set 4.1.0-beta.7 → 5.0.0-next.35

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 (332) hide show
  1. package/dist/_virtual/_rolldown/runtime.js +20 -0
  2. package/dist/autosize-input.d.ts +10 -0
  3. package/dist/autosize-input.js +66 -0
  4. package/dist/axis/arrow.d.ts +13 -0
  5. package/dist/axis/arrow.js +34 -0
  6. package/dist/axis/axes.d.ts +132 -0
  7. package/dist/axis/axes.js +214 -0
  8. package/dist/axis/index.d.ts +10 -0
  9. package/dist/bg.d.ts +51 -0
  10. package/dist/bg.js +44 -0
  11. package/dist/container/actions.d.ts +15 -0
  12. package/dist/container/actions.js +7 -0
  13. package/dist/container/index.d.ts +58 -0
  14. package/dist/container/index.js +48 -0
  15. package/dist/container/marks.d.ts +10 -0
  16. package/dist/container/marks.js +11 -0
  17. package/dist/container/middleware.d.ts +10 -0
  18. package/dist/container/middleware.js +4 -0
  19. package/dist/container/reducer.d.ts +14 -0
  20. package/dist/container/reducer.js +7 -0
  21. package/dist/coordinates-label.d.ts +50 -0
  22. package/dist/coordinates-label.js +46 -0
  23. package/dist/graph-with-controls.d.ts +85 -0
  24. package/dist/graph-with-controls.js +155 -0
  25. package/dist/graph.d.ts +119 -0
  26. package/dist/graph.js +221 -0
  27. package/dist/grid-setup.d.ts +27 -0
  28. package/dist/grid-setup.js +307 -0
  29. package/dist/grid.d.ts +43 -0
  30. package/dist/grid.js +59 -0
  31. package/dist/index.d.ts +14 -0
  32. package/dist/index.js +6 -0
  33. package/dist/labels.d.ts +73 -0
  34. package/dist/labels.js +134 -0
  35. package/dist/mark-label.d.ts +50 -0
  36. package/dist/mark-label.js +84 -0
  37. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/axis/Axis.js +67 -0
  38. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/axis/AxisRenderer.js +66 -0
  39. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/axis/Ticks.js +39 -0
  40. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/constants/orientation.js +9 -0
  41. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/utils/createPoint.js +14 -0
  42. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/utils/getAxisRangePaddingConfig.js +13 -0
  43. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/utils/getLabelTransform.js +16 -0
  44. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/utils/getTickFormatter.js +8 -0
  45. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/utils/getTickPosition.js +14 -0
  46. package/dist/node_modules/.bun/@visx_grid@4.0.0_d84c32d47042070f/node_modules/@visx/grid/esm/grids/Grid.js +43 -0
  47. package/dist/node_modules/.bun/@visx_grid@4.0.0_d84c32d47042070f/node_modules/@visx/grid/esm/grids/GridColumns.js +46 -0
  48. package/dist/node_modules/.bun/@visx_grid@4.0.0_d84c32d47042070f/node_modules/@visx/grid/esm/grids/GridRows.js +46 -0
  49. package/dist/node_modules/.bun/@visx_grid@4.0.0_d84c32d47042070f/node_modules/@visx/grid/esm/utils/getScaleBandwidth.js +6 -0
  50. package/dist/node_modules/.bun/@visx_group@4.0.0_d84c32d47042070f/node_modules/@visx/group/esm/Group.js +17 -0
  51. package/dist/node_modules/.bun/@visx_point@4.0.0/node_modules/@visx/point/esm/Point.js +20 -0
  52. package/dist/node_modules/.bun/@visx_scale@4.0.0/node_modules/@visx/scale/esm/utils/coerceNumber.js +10 -0
  53. package/dist/node_modules/.bun/@visx_scale@4.0.0/node_modules/@visx/scale/esm/utils/getTicks.js +7 -0
  54. package/dist/node_modules/.bun/@visx_scale@4.0.0/node_modules/@visx/scale/esm/utils/toString.js +6 -0
  55. package/dist/node_modules/.bun/@visx_shape@4.0.0_d84c32d47042070f/node_modules/@visx/shape/esm/shapes/Line.js +27 -0
  56. package/dist/node_modules/.bun/@visx_text@4.0.0_d84c32d47042070f/node_modules/@visx/text/esm/Text.js +27 -0
  57. package/dist/node_modules/.bun/@visx_text@4.0.0_d84c32d47042070f/node_modules/@visx/text/esm/hooks/useText.js +68 -0
  58. package/dist/node_modules/.bun/@visx_text@4.0.0_d84c32d47042070f/node_modules/@visx/text/esm/util/getStringWidth.js +19 -0
  59. package/dist/node_modules/.bun/@visx_text@4.0.0_d84c32d47042070f/node_modules/@visx/text/esm/util/memoize.js +13 -0
  60. package/dist/node_modules/.bun/balanced-match@0.4.2/node_modules/balanced-match/index.js +32 -0
  61. package/dist/node_modules/.bun/balanced-match@1.0.2/node_modules/balanced-match/index.js +33 -0
  62. package/dist/node_modules/.bun/classnames@2.5.1/node_modules/classnames/index.js +32 -0
  63. package/dist/node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js +16 -0
  64. package/dist/node_modules/.bun/invariant@2.2.4/node_modules/invariant/browser.js +28 -0
  65. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/formula_evaluator.js +37 -0
  66. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/lexer.js +509 -0
  67. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/math_function.js +108 -0
  68. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/postfix.js +31 -0
  69. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/postfix_evaluator.js +45 -0
  70. package/dist/node_modules/.bun/reduce-css-calc@1.3.0/node_modules/reduce-css-calc/index.js +49 -0
  71. package/dist/node_modules/.bun/reduce-function-call@1.0.3/node_modules/reduce-function-call/index.js +34 -0
  72. package/dist/node_modules/.bun/redux-undo@1.1.0/node_modules/redux-undo/dist/redux-undo.js +185 -0
  73. package/dist/node_modules/.bun/redux@5.0.1/node_modules/redux/dist/redux.js +198 -0
  74. package/dist/toggle-bar.d.ts +40 -0
  75. package/dist/tool-menu.d.ts +21 -0
  76. package/dist/tool-menu.js +188 -0
  77. package/dist/tools/index.d.ts +17 -0
  78. package/dist/tools/index.js +12 -0
  79. package/dist/tools/line/component.d.ts +113 -0
  80. package/dist/tools/line/component.js +58 -0
  81. package/dist/tools/line/index.d.ts +13 -0
  82. package/dist/tools/line/index.js +6 -0
  83. package/dist/tools/polygon/component.d.ts +117 -0
  84. package/dist/tools/polygon/component.js +194 -0
  85. package/dist/tools/polygon/index.d.ts +19 -0
  86. package/dist/tools/polygon/index.js +55 -0
  87. package/dist/tools/polygon/line.d.ts +125 -0
  88. package/dist/tools/polygon/polygon.d.ts +122 -0
  89. package/dist/tools/polygon/polygon.js +62 -0
  90. package/dist/tools/shared/arrow-head.d.ts +43 -0
  91. package/dist/tools/shared/arrow-head.js +37 -0
  92. package/dist/tools/shared/line/index.d.ts +240 -0
  93. package/dist/tools/shared/line/index.js +320 -0
  94. package/dist/tools/shared/line/line-path.d.ts +57 -0
  95. package/dist/tools/shared/line/with-root-edge.d.ts +143 -0
  96. package/dist/tools/shared/point/arrow-point.d.ts +57 -0
  97. package/dist/tools/shared/point/arrow-point.js +47 -0
  98. package/dist/tools/shared/point/arrow.d.ts +46 -0
  99. package/dist/tools/shared/point/arrow.js +36 -0
  100. package/dist/tools/shared/point/base-point.d.ts +50 -0
  101. package/dist/tools/shared/point/base-point.js +88 -0
  102. package/dist/tools/shared/point/index.d.ts +217 -0
  103. package/dist/tools/shared/point/index.js +51 -0
  104. package/dist/tools/shared/styles.d.ts +24 -0
  105. package/dist/tools/shared/styles.js +17 -0
  106. package/dist/tools/shared/types.d.ts +15 -0
  107. package/dist/tools/shared/types.js +10 -0
  108. package/dist/undo-redo.d.ts +20 -0
  109. package/dist/undo-redo.js +33 -0
  110. package/dist/use-debounce.d.ts +9 -0
  111. package/dist/use-debounce.js +13 -0
  112. package/dist/utils.d.ts +58 -0
  113. package/dist/utils.js +72 -0
  114. package/package.json +52 -42
  115. package/CHANGELOG.json +0 -1
  116. package/CHANGELOG.md +0 -449
  117. package/lib/__tests__/bg.test.js +0 -282
  118. package/lib/__tests__/bg.test.js.map +0 -1
  119. package/lib/__tests__/coordinates-label.test.js +0 -276
  120. package/lib/__tests__/coordinates-label.test.js.map +0 -1
  121. package/lib/__tests__/graph-with-controls.test.js +0 -256
  122. package/lib/__tests__/graph-with-controls.test.js.map +0 -1
  123. package/lib/__tests__/graph.test.js +0 -113
  124. package/lib/__tests__/graph.test.js.map +0 -1
  125. package/lib/__tests__/grid-setup.test.js +0 -729
  126. package/lib/__tests__/grid-setup.test.js.map +0 -1
  127. package/lib/__tests__/grid.test.js +0 -29
  128. package/lib/__tests__/grid.test.js.map +0 -1
  129. package/lib/__tests__/labels.test.js +0 -45
  130. package/lib/__tests__/labels.test.js.map +0 -1
  131. package/lib/__tests__/mark-label.test.js +0 -133
  132. package/lib/__tests__/mark-label.test.js.map +0 -1
  133. package/lib/__tests__/toggle-bar.test.js +0 -146
  134. package/lib/__tests__/toggle-bar.test.js.map +0 -1
  135. package/lib/__tests__/tool-menu.test.js +0 -540
  136. package/lib/__tests__/tool-menu.test.js.map +0 -1
  137. package/lib/__tests__/undo-redo.test.js +0 -31
  138. package/lib/__tests__/undo-redo.test.js.map +0 -1
  139. package/lib/__tests__/use-debounce.test.js +0 -24
  140. package/lib/__tests__/use-debounce.test.js.map +0 -1
  141. package/lib/__tests__/utils.js +0 -70
  142. package/lib/__tests__/utils.js.map +0 -1
  143. package/lib/__tests__/utils.test.js +0 -123
  144. package/lib/__tests__/utils.test.js.map +0 -1
  145. package/lib/axis/__tests__/arrow.test.js +0 -60
  146. package/lib/axis/__tests__/arrow.test.js.map +0 -1
  147. package/lib/axis/__tests__/axes.test.js +0 -160
  148. package/lib/axis/__tests__/axes.test.js.map +0 -1
  149. package/lib/axis/arrow.js +0 -79
  150. package/lib/axis/arrow.js.map +0 -1
  151. package/lib/axis/axes.js +0 -327
  152. package/lib/axis/axes.js.map +0 -1
  153. package/lib/axis/index.js +0 -21
  154. package/lib/axis/index.js.map +0 -1
  155. package/lib/bg.js +0 -114
  156. package/lib/bg.js.map +0 -1
  157. package/lib/container/__tests__/actions.test.js +0 -108
  158. package/lib/container/__tests__/actions.test.js.map +0 -1
  159. package/lib/container/__tests__/index.test.js +0 -346
  160. package/lib/container/__tests__/index.test.js.map +0 -1
  161. package/lib/container/__tests__/marks.test.js +0 -259
  162. package/lib/container/__tests__/marks.test.js.map +0 -1
  163. package/lib/container/__tests__/middleware.test.js +0 -244
  164. package/lib/container/__tests__/middleware.test.js.map +0 -1
  165. package/lib/container/__tests__/reducer.test.js +0 -450
  166. package/lib/container/__tests__/reducer.test.js.map +0 -1
  167. package/lib/container/actions.js +0 -18
  168. package/lib/container/actions.js.map +0 -1
  169. package/lib/container/index.js +0 -129
  170. package/lib/container/index.js.map +0 -1
  171. package/lib/container/marks.js +0 -22
  172. package/lib/container/marks.js.map +0 -1
  173. package/lib/container/middleware.js +0 -19
  174. package/lib/container/middleware.js.map +0 -1
  175. package/lib/container/reducer.js +0 -18
  176. package/lib/container/reducer.js.map +0 -1
  177. package/lib/coordinates-label.js +0 -77
  178. package/lib/coordinates-label.js.map +0 -1
  179. package/lib/graph-with-controls.js +0 -297
  180. package/lib/graph-with-controls.js.map +0 -1
  181. package/lib/graph.js +0 -353
  182. package/lib/graph.js.map +0 -1
  183. package/lib/grid-setup.js +0 -414
  184. package/lib/grid-setup.js.map +0 -1
  185. package/lib/grid.js +0 -131
  186. package/lib/grid.js.map +0 -1
  187. package/lib/index.js +0 -40
  188. package/lib/index.js.map +0 -1
  189. package/lib/labels.js +0 -199
  190. package/lib/labels.js.map +0 -1
  191. package/lib/mark-label.js +0 -159
  192. package/lib/mark-label.js.map +0 -1
  193. package/lib/toggle-bar.js +0 -248
  194. package/lib/toggle-bar.js.map +0 -1
  195. package/lib/tool-menu.js +0 -218
  196. package/lib/tool-menu.js.map +0 -1
  197. package/lib/tools/index.js +0 -24
  198. package/lib/tools/index.js.map +0 -1
  199. package/lib/tools/line/__tests__/component.test.js +0 -45
  200. package/lib/tools/line/__tests__/component.test.js.map +0 -1
  201. package/lib/tools/line/component.js +0 -92
  202. package/lib/tools/line/component.js.map +0 -1
  203. package/lib/tools/line/index.js +0 -11
  204. package/lib/tools/line/index.js.map +0 -1
  205. package/lib/tools/polygon/__tests__/component.test.js +0 -501
  206. package/lib/tools/polygon/__tests__/component.test.js.map +0 -1
  207. package/lib/tools/polygon/__tests__/index.test.js +0 -92
  208. package/lib/tools/polygon/__tests__/index.test.js.map +0 -1
  209. package/lib/tools/polygon/__tests__/line.test.js +0 -30
  210. package/lib/tools/polygon/__tests__/line.test.js.map +0 -1
  211. package/lib/tools/polygon/__tests__/polygon.test.js +0 -61
  212. package/lib/tools/polygon/__tests__/polygon.test.js.map +0 -1
  213. package/lib/tools/polygon/component.js +0 -358
  214. package/lib/tools/polygon/component.js.map +0 -1
  215. package/lib/tools/polygon/index.js +0 -89
  216. package/lib/tools/polygon/index.js.map +0 -1
  217. package/lib/tools/polygon/line.js +0 -114
  218. package/lib/tools/polygon/line.js.map +0 -1
  219. package/lib/tools/polygon/polygon.js +0 -128
  220. package/lib/tools/polygon/polygon.js.map +0 -1
  221. package/lib/tools/shared/__tests__/arrow-head.test.js +0 -45
  222. package/lib/tools/shared/__tests__/arrow-head.test.js.map +0 -1
  223. package/lib/tools/shared/arrow-head.js +0 -62
  224. package/lib/tools/shared/arrow-head.js.map +0 -1
  225. package/lib/tools/shared/line/__tests__/index.test.js +0 -725
  226. package/lib/tools/shared/line/__tests__/index.test.js.map +0 -1
  227. package/lib/tools/shared/line/__tests__/line-path.test.js +0 -64
  228. package/lib/tools/shared/line/__tests__/line-path.test.js.map +0 -1
  229. package/lib/tools/shared/line/__tests__/with-root-edge.test.js +0 -618
  230. package/lib/tools/shared/line/__tests__/with-root-edge.test.js.map +0 -1
  231. package/lib/tools/shared/line/index.js +0 -539
  232. package/lib/tools/shared/line/index.js.map +0 -1
  233. package/lib/tools/shared/line/line-path.js +0 -121
  234. package/lib/tools/shared/line/line-path.js.map +0 -1
  235. package/lib/tools/shared/line/with-root-edge.js +0 -121
  236. package/lib/tools/shared/line/with-root-edge.js.map +0 -1
  237. package/lib/tools/shared/point/__tests__/arrow-point.test.js +0 -127
  238. package/lib/tools/shared/point/__tests__/arrow-point.test.js.map +0 -1
  239. package/lib/tools/shared/point/__tests__/arrow.test.js +0 -619
  240. package/lib/tools/shared/point/__tests__/arrow.test.js.map +0 -1
  241. package/lib/tools/shared/point/__tests__/base-point.test.js +0 -122
  242. package/lib/tools/shared/point/__tests__/base-point.test.js.map +0 -1
  243. package/lib/tools/shared/point/arrow-point.js +0 -86
  244. package/lib/tools/shared/point/arrow-point.js.map +0 -1
  245. package/lib/tools/shared/point/arrow.js +0 -70
  246. package/lib/tools/shared/point/arrow.js.map +0 -1
  247. package/lib/tools/shared/point/base-point.js +0 -137
  248. package/lib/tools/shared/point/base-point.js.map +0 -1
  249. package/lib/tools/shared/point/index.js +0 -80
  250. package/lib/tools/shared/point/index.js.map +0 -1
  251. package/lib/tools/shared/styles.js +0 -26
  252. package/lib/tools/shared/styles.js.map +0 -1
  253. package/lib/tools/shared/types.js +0 -15
  254. package/lib/tools/shared/types.js.map +0 -1
  255. package/lib/undo-redo.js +0 -67
  256. package/lib/undo-redo.js.map +0 -1
  257. package/lib/use-debounce.js +0 -25
  258. package/lib/use-debounce.js.map +0 -1
  259. package/lib/utils.js +0 -235
  260. package/lib/utils.js.map +0 -1
  261. package/src/__tests__/bg.test.jsx +0 -250
  262. package/src/__tests__/coordinates-label.test.jsx +0 -243
  263. package/src/__tests__/graph-with-controls.test.jsx +0 -184
  264. package/src/__tests__/graph.test.jsx +0 -93
  265. package/src/__tests__/grid-setup.test.jsx +0 -645
  266. package/src/__tests__/grid.test.jsx +0 -23
  267. package/src/__tests__/labels.test.jsx +0 -41
  268. package/src/__tests__/mark-label.test.jsx +0 -66
  269. package/src/__tests__/toggle-bar.test.jsx +0 -106
  270. package/src/__tests__/tool-menu.test.jsx +0 -453
  271. package/src/__tests__/undo-redo.test.jsx +0 -26
  272. package/src/__tests__/use-debounce.test.js +0 -21
  273. package/src/__tests__/utils.js +0 -41
  274. package/src/__tests__/utils.test.js +0 -105
  275. package/src/axis/__tests__/arrow.test.jsx +0 -43
  276. package/src/axis/__tests__/axes.test.jsx +0 -182
  277. package/src/axis/arrow.jsx +0 -57
  278. package/src/axis/axes.jsx +0 -284
  279. package/src/axis/index.js +0 -3
  280. package/src/bg.jsx +0 -96
  281. package/src/container/__tests__/actions.test.js +0 -105
  282. package/src/container/__tests__/index.test.jsx +0 -227
  283. package/src/container/__tests__/marks.test.js +0 -172
  284. package/src/container/__tests__/middleware.test.js +0 -235
  285. package/src/container/__tests__/reducer.test.js +0 -324
  286. package/src/container/actions.js +0 -8
  287. package/src/container/index.jsx +0 -93
  288. package/src/container/marks.js +0 -14
  289. package/src/container/middleware.js +0 -7
  290. package/src/container/reducer.js +0 -5
  291. package/src/coordinates-label.jsx +0 -62
  292. package/src/graph-with-controls.jsx +0 -242
  293. package/src/graph.jsx +0 -333
  294. package/src/grid-setup.jsx +0 -432
  295. package/src/grid.jsx +0 -133
  296. package/src/index.js +0 -7
  297. package/src/labels.jsx +0 -173
  298. package/src/mark-label.jsx +0 -125
  299. package/src/toggle-bar.jsx +0 -221
  300. package/src/tool-menu.jsx +0 -235
  301. package/src/tools/index.js +0 -8
  302. package/src/tools/line/__tests__/component.test.jsx +0 -37
  303. package/src/tools/line/component.jsx +0 -77
  304. package/src/tools/line/index.js +0 -4
  305. package/src/tools/polygon/__tests__/component.test.jsx +0 -487
  306. package/src/tools/polygon/__tests__/index.test.js +0 -65
  307. package/src/tools/polygon/__tests__/line.test.jsx +0 -23
  308. package/src/tools/polygon/__tests__/polygon.test.jsx +0 -44
  309. package/src/tools/polygon/component.jsx +0 -324
  310. package/src/tools/polygon/index.js +0 -52
  311. package/src/tools/polygon/line.jsx +0 -80
  312. package/src/tools/polygon/polygon.jsx +0 -93
  313. package/src/tools/shared/__tests__/arrow-head.test.jsx +0 -33
  314. package/src/tools/shared/arrow-head.jsx +0 -46
  315. package/src/tools/shared/line/__tests__/index.test.jsx +0 -553
  316. package/src/tools/shared/line/__tests__/line-path.test.jsx +0 -56
  317. package/src/tools/shared/line/__tests__/with-root-edge.test.jsx +0 -488
  318. package/src/tools/shared/line/index.jsx +0 -471
  319. package/src/tools/shared/line/line-path.jsx +0 -85
  320. package/src/tools/shared/line/with-root-edge.jsx +0 -97
  321. package/src/tools/shared/point/__tests__/arrow-point.test.jsx +0 -91
  322. package/src/tools/shared/point/__tests__/arrow.test.jsx +0 -469
  323. package/src/tools/shared/point/__tests__/base-point.test.jsx +0 -87
  324. package/src/tools/shared/point/arrow-point.jsx +0 -60
  325. package/src/tools/shared/point/arrow.jsx +0 -40
  326. package/src/tools/shared/point/base-point.jsx +0 -113
  327. package/src/tools/shared/point/index.jsx +0 -58
  328. package/src/tools/shared/styles.js +0 -20
  329. package/src/tools/shared/types.js +0 -8
  330. package/src/undo-redo.jsx +0 -37
  331. package/src/use-debounce.js +0 -13
  332. package/src/utils.js +0 -230
@@ -1 +0,0 @@
1
- {"version":3,"file":"marks.test.js","names":["_marks","_interopRequireDefault","require","describe","it","state","marks","undefined","type","expect","toEqual","Array","isArray","toBe","initialState","newMarks","id","action","length","x","y","from","to","center","radius","toThrow","label","correctness","value","editable","interactive","toBeDefined","data","originalState","concat","not"],"sources":["../../../src/container/__tests__/marks.test.js"],"sourcesContent":["import marks from '../marks';\n\ndescribe('marks reducer', () => {\n describe('initial state', () => {\n it('returns empty array as initial state', () => {\n const state = marks(undefined, { type: 'INIT' });\n expect(state).toEqual([]);\n });\n\n it('handles no state parameter', () => {\n const state = marks(undefined, { type: 'UNKNOWN_ACTION' });\n expect(Array.isArray(state)).toBe(true);\n });\n });\n\n describe('CHANGE_MARKS action', () => {\n it('updates state with new marks', () => {\n const initialState = [];\n const newMarks = [{ id: 1, type: 'point' }];\n const action = { type: 'CHANGE_MARKS', marks: newMarks };\n\n const state = marks(initialState, action);\n expect(state).toEqual(newMarks);\n });\n\n it('replaces existing marks', () => {\n const initialState = [{ id: 1, type: 'point' }];\n const newMarks = [{ id: 2, type: 'line' }];\n const action = { type: 'CHANGE_MARKS', marks: newMarks };\n\n const state = marks(initialState, action);\n expect(state).toEqual(newMarks);\n expect(state.length).toBe(1);\n expect(state[0].id).toBe(2);\n });\n\n it('handles empty marks array', () => {\n const initialState = [{ id: 1, type: 'point' }];\n const action = { type: 'CHANGE_MARKS', marks: [] };\n\n const state = marks(initialState, action);\n expect(state).toEqual([]);\n });\n\n it('handles multiple marks', () => {\n const initialState = [];\n const newMarks = [\n { id: 1, type: 'point', x: 1, y: 2 },\n { id: 2, type: 'line', from: { x: 0, y: 0 }, to: { x: 5, y: 5 } },\n { id: 3, type: 'circle', center: { x: 3, y: 3 }, radius: 2 },\n ];\n const action = { type: 'CHANGE_MARKS', marks: newMarks };\n\n const state = marks(initialState, action);\n expect(state).toEqual(newMarks);\n expect(state.length).toBe(3);\n });\n\n it('throws error when marks is not an array', () => {\n const initialState = [];\n const action = { type: 'CHANGE_MARKS', marks: 'not an array' };\n\n expect(() => marks(initialState, action)).toThrow('marks must be an array');\n });\n\n it('throws error when marks is null', () => {\n const initialState = [];\n const action = { type: 'CHANGE_MARKS', marks: null };\n\n expect(() => marks(initialState, action)).toThrow('marks must be an array');\n });\n\n it('throws error when marks is undefined', () => {\n const initialState = [];\n const action = { type: 'CHANGE_MARKS', marks: undefined };\n\n expect(() => marks(initialState, action)).toThrow('marks must be an array');\n });\n\n it('throws error when marks is an object', () => {\n const initialState = [];\n const action = { type: 'CHANGE_MARKS', marks: { id: 1 } };\n\n expect(() => marks(initialState, action)).toThrow('marks must be an array');\n });\n\n it('throws error when marks is a number', () => {\n const initialState = [];\n const action = { type: 'CHANGE_MARKS', marks: 123 };\n\n expect(() => marks(initialState, action)).toThrow('marks must be an array');\n });\n\n it('preserves mark properties', () => {\n const initialState = [];\n const newMarks = [\n {\n id: 1,\n type: 'point',\n x: 10,\n y: 20,\n label: 'A',\n correctness: { value: 'correct' },\n editable: true,\n interactive: true,\n },\n ];\n const action = { type: 'CHANGE_MARKS', marks: newMarks };\n\n const state = marks(initialState, action);\n expect(state[0]).toEqual(newMarks[0]);\n expect(state[0].correctness).toBeDefined();\n expect(state[0].editable).toBe(true);\n });\n });\n\n describe('unknown actions', () => {\n it('returns current state for unknown action', () => {\n const initialState = [{ id: 1, type: 'point' }];\n const action = { type: 'UNKNOWN_ACTION' };\n\n const state = marks(initialState, action);\n expect(state).toBe(initialState);\n });\n\n it('returns current state for ADD_MARK action', () => {\n const initialState = [{ id: 1, type: 'point' }];\n const action = { type: 'ADD_MARK' };\n\n const state = marks(initialState, action);\n expect(state).toBe(initialState);\n });\n\n it('does not modify state for unknown actions', () => {\n const initialState = [{ id: 1, type: 'point' }];\n const action = { type: 'SOME_OTHER_ACTION', data: 'test' };\n\n const state = marks(initialState, action);\n expect(state).toEqual(initialState);\n });\n });\n\n describe('immutability', () => {\n it('does not mutate original state', () => {\n const initialState = [{ id: 1, type: 'point' }];\n const originalState = [...initialState];\n const newMarks = [{ id: 2, type: 'line' }];\n const action = { type: 'CHANGE_MARKS', marks: newMarks };\n\n marks(initialState, action);\n expect(initialState).toEqual(originalState);\n });\n\n it('returns new array reference for CHANGE_MARKS', () => {\n const initialState = [{ id: 1, type: 'point' }];\n const newMarks = [{ id: 1, type: 'point' }];\n const action = { type: 'CHANGE_MARKS', marks: newMarks };\n\n const state = marks(initialState, action);\n expect(state).not.toBe(initialState);\n expect(state).toBe(newMarks);\n });\n\n it('returns same reference for unknown actions', () => {\n const initialState = [{ id: 1, type: 'point' }];\n const action = { type: 'UNKNOWN_ACTION' };\n\n const state = marks(initialState, action);\n expect(state).toBe(initialState);\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1,244 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
5
- var _middleware = require("../middleware");
6
- describe('lastActionMiddleware', function () {
7
- describe('middleware functionality', function () {
8
- it('creates middleware function', function () {
9
- var middleware = (0, _middleware.lastActionMiddleware)();
10
- expect((0, _typeof2["default"])(middleware)).toBe('function');
11
- });
12
- it('middleware returns a function', function () {
13
- var middleware = (0, _middleware.lastActionMiddleware)();
14
- var next = jest.fn();
15
- var result = middleware(next);
16
- expect((0, _typeof2["default"])(result)).toBe('function');
17
- });
18
- it('calls next with action', function () {
19
- var middleware = (0, _middleware.lastActionMiddleware)();
20
- var next = jest.fn();
21
- var dispatch = middleware(next);
22
- var action = {
23
- type: 'TEST_ACTION'
24
- };
25
- dispatch(action);
26
- expect(next).toHaveBeenCalledWith(action);
27
- });
28
- it('returns result from next', function () {
29
- var middleware = (0, _middleware.lastActionMiddleware)();
30
- var expectedResult = {
31
- status: 'success'
32
- };
33
- var next = jest.fn(function () {
34
- return expectedResult;
35
- });
36
- var dispatch = middleware(next);
37
- var action = {
38
- type: 'TEST_ACTION'
39
- };
40
- var result = dispatch(action);
41
- expect(result).toBe(expectedResult);
42
- });
43
- it('stores action before calling next', function () {
44
- var middleware = (0, _middleware.lastActionMiddleware)();
45
- var next = jest.fn(function () {
46
- var lastAction = (0, _middleware.getLastAction)();
47
- expect(lastAction).toBeDefined();
48
- expect(lastAction.type).toBe('TEST_ACTION');
49
- });
50
- var dispatch = middleware(next);
51
- var action = {
52
- type: 'TEST_ACTION'
53
- };
54
- dispatch(action);
55
- expect(next).toHaveBeenCalled();
56
- });
57
- });
58
- describe('getLastAction', function () {
59
- it('returns null initially', function () {
60
- var lastAction = (0, _middleware.getLastAction)();
61
- expect(lastAction).toBeDefined();
62
- });
63
- it('returns last dispatched action', function () {
64
- var middleware = (0, _middleware.lastActionMiddleware)();
65
- var next = jest.fn();
66
- var dispatch = middleware(next);
67
- var action = {
68
- type: 'MY_ACTION',
69
- payload: 'test'
70
- };
71
- dispatch(action);
72
- var lastAction = (0, _middleware.getLastAction)();
73
- expect(lastAction).toEqual(action);
74
- expect(lastAction.type).toBe('MY_ACTION');
75
- expect(lastAction.payload).toBe('test');
76
- });
77
- it('updates when new action is dispatched', function () {
78
- var middleware = (0, _middleware.lastActionMiddleware)();
79
- var next = jest.fn();
80
- var dispatch = middleware(next);
81
- var action1 = {
82
- type: 'ACTION_1'
83
- };
84
- dispatch(action1);
85
- expect((0, _middleware.getLastAction)()).toEqual(action1);
86
- var action2 = {
87
- type: 'ACTION_2'
88
- };
89
- dispatch(action2);
90
- expect((0, _middleware.getLastAction)()).toEqual(action2);
91
- });
92
- it('stores action with payload', function () {
93
- var middleware = (0, _middleware.lastActionMiddleware)();
94
- var next = jest.fn();
95
- var dispatch = middleware(next);
96
- var action = {
97
- type: 'CHANGE_MARKS',
98
- marks: [{
99
- id: 1,
100
- type: 'point'
101
- }]
102
- };
103
- dispatch(action);
104
- var lastAction = (0, _middleware.getLastAction)();
105
- expect(lastAction.marks).toEqual(action.marks);
106
- expect(lastAction.marks.length).toBe(1);
107
- });
108
- it('stores action with complex payload', function () {
109
- var middleware = (0, _middleware.lastActionMiddleware)();
110
- var next = jest.fn();
111
- var dispatch = middleware(next);
112
- var action = {
113
- type: 'COMPLEX_ACTION',
114
- data: {
115
- nested: {
116
- value: 123,
117
- array: [1, 2, 3]
118
- }
119
- }
120
- };
121
- dispatch(action);
122
- var lastAction = (0, _middleware.getLastAction)();
123
- expect(lastAction.data.nested.value).toBe(123);
124
- expect(lastAction.data.nested.array).toEqual([1, 2, 3]);
125
- });
126
- });
127
- describe('action storage', function () {
128
- it('overwrites previous action', function () {
129
- var middleware = (0, _middleware.lastActionMiddleware)();
130
- var next = jest.fn();
131
- var dispatch = middleware(next);
132
- dispatch({
133
- type: 'FIRST'
134
- });
135
- dispatch({
136
- type: 'SECOND'
137
- });
138
- dispatch({
139
- type: 'THIRD'
140
- });
141
- var lastAction = (0, _middleware.getLastAction)();
142
- expect(lastAction.type).toBe('THIRD');
143
- });
144
- it('stores reference to action object', function () {
145
- var middleware = (0, _middleware.lastActionMiddleware)();
146
- var next = jest.fn();
147
- var dispatch = middleware(next);
148
- var action = {
149
- type: 'TEST',
150
- data: {
151
- value: 1
152
- }
153
- };
154
- dispatch(action);
155
- var lastAction = (0, _middleware.getLastAction)();
156
-
157
- // Modify original action
158
- action.data.value = 2;
159
-
160
- // Last action should reflect the change (same reference)
161
- expect(lastAction.data.value).toBe(2);
162
- });
163
- });
164
- describe('integration scenarios', function () {
165
- it('works with multiple middleware calls', function () {
166
- var middleware = (0, _middleware.lastActionMiddleware)();
167
- var next1 = jest.fn();
168
- var next2 = jest.fn();
169
- var dispatch1 = middleware(next1);
170
- var dispatch2 = middleware(next2);
171
- dispatch1({
172
- type: 'ACTION_1'
173
- });
174
- expect((0, _middleware.getLastAction)().type).toBe('ACTION_1');
175
- dispatch2({
176
- type: 'ACTION_2'
177
- });
178
- expect((0, _middleware.getLastAction)().type).toBe('ACTION_2');
179
- });
180
- it('preserves action types', function () {
181
- var middleware = (0, _middleware.lastActionMiddleware)();
182
- var next = jest.fn();
183
- var dispatch = middleware(next);
184
- var actionTypes = ['ADD_MARK', 'CHANGE_MARKS', 'DELETE_MARK', 'UPDATE_MARK'];
185
- actionTypes.forEach(function (type) {
186
- dispatch({
187
- type: type
188
- });
189
- expect((0, _middleware.getLastAction)().type).toBe(type);
190
- });
191
- });
192
- it('handles actions without type', function () {
193
- var middleware = (0, _middleware.lastActionMiddleware)();
194
- var next = jest.fn();
195
- var dispatch = middleware(next);
196
- var action = {
197
- payload: 'data'
198
- };
199
- dispatch(action);
200
- var lastAction = (0, _middleware.getLastAction)();
201
- expect(lastAction).toEqual(action);
202
- expect(lastAction.type).toBeUndefined();
203
- });
204
- it('handles empty action object', function () {
205
- var middleware = (0, _middleware.lastActionMiddleware)();
206
- var next = jest.fn();
207
- var dispatch = middleware(next);
208
- var action = {};
209
- dispatch(action);
210
- var lastAction = (0, _middleware.getLastAction)();
211
- expect(lastAction).toEqual(action);
212
- });
213
- });
214
- describe('error handling', function () {
215
- it('stores action even if next throws error', function () {
216
- var middleware = (0, _middleware.lastActionMiddleware)();
217
- var next = jest.fn(function () {
218
- throw new Error('Next error');
219
- });
220
- var dispatch = middleware(next);
221
- var action = {
222
- type: 'ERROR_ACTION'
223
- };
224
- expect(function () {
225
- return dispatch(action);
226
- }).toThrow('Next error');
227
- expect((0, _middleware.getLastAction)()).toEqual(action);
228
- });
229
- it('propagates errors from next', function () {
230
- var middleware = (0, _middleware.lastActionMiddleware)();
231
- var errorMessage = 'Test error';
232
- var next = jest.fn(function () {
233
- throw new Error(errorMessage);
234
- });
235
- var dispatch = middleware(next);
236
- expect(function () {
237
- return dispatch({
238
- type: 'TEST'
239
- });
240
- }).toThrow(errorMessage);
241
- });
242
- });
243
- });
244
- //# sourceMappingURL=middleware.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"middleware.test.js","names":["_middleware","require","describe","it","middleware","lastActionMiddleware","expect","_typeof2","toBe","next","jest","fn","result","dispatch","action","type","toHaveBeenCalledWith","expectedResult","status","lastAction","getLastAction","toBeDefined","toHaveBeenCalled","payload","toEqual","action1","action2","marks","id","length","data","nested","value","array","next1","next2","dispatch1","dispatch2","actionTypes","forEach","toBeUndefined","Error","toThrow","errorMessage"],"sources":["../../../src/container/__tests__/middleware.test.js"],"sourcesContent":["import { getLastAction, lastActionMiddleware } from '../middleware';\n\ndescribe('lastActionMiddleware', () => {\n describe('middleware functionality', () => {\n it('creates middleware function', () => {\n const middleware = lastActionMiddleware();\n expect(typeof middleware).toBe('function');\n });\n\n it('middleware returns a function', () => {\n const middleware = lastActionMiddleware();\n const next = jest.fn();\n const result = middleware(next);\n expect(typeof result).toBe('function');\n });\n\n it('calls next with action', () => {\n const middleware = lastActionMiddleware();\n const next = jest.fn();\n const dispatch = middleware(next);\n const action = { type: 'TEST_ACTION' };\n\n dispatch(action);\n expect(next).toHaveBeenCalledWith(action);\n });\n\n it('returns result from next', () => {\n const middleware = lastActionMiddleware();\n const expectedResult = { status: 'success' };\n const next = jest.fn(() => expectedResult);\n const dispatch = middleware(next);\n const action = { type: 'TEST_ACTION' };\n\n const result = dispatch(action);\n expect(result).toBe(expectedResult);\n });\n\n it('stores action before calling next', () => {\n const middleware = lastActionMiddleware();\n const next = jest.fn(() => {\n const lastAction = getLastAction();\n expect(lastAction).toBeDefined();\n expect(lastAction.type).toBe('TEST_ACTION');\n });\n const dispatch = middleware(next);\n const action = { type: 'TEST_ACTION' };\n\n dispatch(action);\n expect(next).toHaveBeenCalled();\n });\n });\n\n describe('getLastAction', () => {\n it('returns null initially', () => {\n const lastAction = getLastAction();\n expect(lastAction).toBeDefined();\n });\n\n it('returns last dispatched action', () => {\n const middleware = lastActionMiddleware();\n const next = jest.fn();\n const dispatch = middleware(next);\n const action = { type: 'MY_ACTION', payload: 'test' };\n\n dispatch(action);\n const lastAction = getLastAction();\n\n expect(lastAction).toEqual(action);\n expect(lastAction.type).toBe('MY_ACTION');\n expect(lastAction.payload).toBe('test');\n });\n\n it('updates when new action is dispatched', () => {\n const middleware = lastActionMiddleware();\n const next = jest.fn();\n const dispatch = middleware(next);\n\n const action1 = { type: 'ACTION_1' };\n dispatch(action1);\n expect(getLastAction()).toEqual(action1);\n\n const action2 = { type: 'ACTION_2' };\n dispatch(action2);\n expect(getLastAction()).toEqual(action2);\n });\n\n it('stores action with payload', () => {\n const middleware = lastActionMiddleware();\n const next = jest.fn();\n const dispatch = middleware(next);\n const action = {\n type: 'CHANGE_MARKS',\n marks: [{ id: 1, type: 'point' }],\n };\n\n dispatch(action);\n const lastAction = getLastAction();\n\n expect(lastAction.marks).toEqual(action.marks);\n expect(lastAction.marks.length).toBe(1);\n });\n\n it('stores action with complex payload', () => {\n const middleware = lastActionMiddleware();\n const next = jest.fn();\n const dispatch = middleware(next);\n const action = {\n type: 'COMPLEX_ACTION',\n data: {\n nested: {\n value: 123,\n array: [1, 2, 3],\n },\n },\n };\n\n dispatch(action);\n const lastAction = getLastAction();\n\n expect(lastAction.data.nested.value).toBe(123);\n expect(lastAction.data.nested.array).toEqual([1, 2, 3]);\n });\n });\n\n describe('action storage', () => {\n it('overwrites previous action', () => {\n const middleware = lastActionMiddleware();\n const next = jest.fn();\n const dispatch = middleware(next);\n\n dispatch({ type: 'FIRST' });\n dispatch({ type: 'SECOND' });\n dispatch({ type: 'THIRD' });\n\n const lastAction = getLastAction();\n expect(lastAction.type).toBe('THIRD');\n });\n\n it('stores reference to action object', () => {\n const middleware = lastActionMiddleware();\n const next = jest.fn();\n const dispatch = middleware(next);\n const action = { type: 'TEST', data: { value: 1 } };\n\n dispatch(action);\n const lastAction = getLastAction();\n\n // Modify original action\n action.data.value = 2;\n\n // Last action should reflect the change (same reference)\n expect(lastAction.data.value).toBe(2);\n });\n });\n\n describe('integration scenarios', () => {\n it('works with multiple middleware calls', () => {\n const middleware = lastActionMiddleware();\n const next1 = jest.fn();\n const next2 = jest.fn();\n\n const dispatch1 = middleware(next1);\n const dispatch2 = middleware(next2);\n\n dispatch1({ type: 'ACTION_1' });\n expect(getLastAction().type).toBe('ACTION_1');\n\n dispatch2({ type: 'ACTION_2' });\n expect(getLastAction().type).toBe('ACTION_2');\n });\n\n it('preserves action types', () => {\n const middleware = lastActionMiddleware();\n const next = jest.fn();\n const dispatch = middleware(next);\n\n const actionTypes = ['ADD_MARK', 'CHANGE_MARKS', 'DELETE_MARK', 'UPDATE_MARK'];\n\n actionTypes.forEach((type) => {\n dispatch({ type });\n expect(getLastAction().type).toBe(type);\n });\n });\n\n it('handles actions without type', () => {\n const middleware = lastActionMiddleware();\n const next = jest.fn();\n const dispatch = middleware(next);\n const action = { payload: 'data' };\n\n dispatch(action);\n const lastAction = getLastAction();\n\n expect(lastAction).toEqual(action);\n expect(lastAction.type).toBeUndefined();\n });\n\n it('handles empty action object', () => {\n const middleware = lastActionMiddleware();\n const next = jest.fn();\n const dispatch = middleware(next);\n const action = {};\n\n dispatch(action);\n const lastAction = getLastAction();\n\n expect(lastAction).toEqual(action);\n });\n });\n\n describe('error handling', () => {\n it('stores action even if next throws error', () => {\n const middleware = lastActionMiddleware();\n const next = jest.fn(() => {\n throw new Error('Next error');\n });\n const dispatch = middleware(next);\n const action = { type: 'ERROR_ACTION' };\n\n expect(() => dispatch(action)).toThrow('Next error');\n expect(getLastAction()).toEqual(action);\n });\n\n it('propagates errors from next', () => {\n const middleware = lastActionMiddleware();\n const errorMessage = 'Test error';\n const next = jest.fn(() => {\n throw new Error(errorMessage);\n });\n const dispatch = middleware(next);\n\n expect(() => dispatch({ type: 'TEST' })).toThrow(errorMessage);\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}