@synnaxlabs/pluto 0.45.1 → 0.46.1

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 (634) hide show
  1. package/dist/{Toggle-DY4PmA0_.cjs → Toggle-D7uuc8BY.cjs} +1 -1
  2. package/dist/{Toggle-CzRMXK-K.js → Toggle-Djy3iEFS.js} +2 -2
  3. package/dist/{Video-CgaO8bTm.cjs → Video-BgaQjOlJ.cjs} +1 -1
  4. package/dist/{Video-B4UWip-3.js → Video-Com7iIjJ.js} +2 -2
  5. package/dist/button.cjs +1 -1
  6. package/dist/button.js +1 -1
  7. package/dist/color.cjs +1 -1
  8. package/dist/color.js +1 -1
  9. package/dist/css-DA2F4zE4.cjs +8 -0
  10. package/dist/{css-BUXMI9PB.js → css-qKD7ZG81.js} +1450 -1285
  11. package/dist/css.cjs +1 -1
  12. package/dist/css.js +2 -2
  13. package/dist/dialog.cjs +1 -1
  14. package/dist/dialog.js +1 -1
  15. package/dist/ether.cjs +1 -1
  16. package/dist/ether.js +72 -69
  17. package/dist/{external-S6GiiOBy.cjs → external-BH7AW9vg.cjs} +1 -1
  18. package/dist/{external-Du8Z1FRh.js → external-BXAiwKcS.js} +62 -62
  19. package/dist/external-B_BNwXoG.js +89 -0
  20. package/dist/external-BaO1j7U1.cjs +1 -0
  21. package/dist/external-BatQDwpn.cjs +1 -0
  22. package/dist/external-Bfddv9ir.cjs +1 -0
  23. package/dist/external-Bp0LGk7L.cjs +1 -0
  24. package/dist/{external-CJrxLSWV.js → external-BqSq3_g3.js} +2 -2
  25. package/dist/{external-CBLyUVI_.js → external-BwAIT4Et.js} +12 -12
  26. package/dist/external-BwzXukg6.js +42 -0
  27. package/dist/{external-BY99QanC.js → external-C0szVQZ4.js} +10 -10
  28. package/dist/{external-ByxpHVEA.js → external-CG-WeHt1.js} +26 -26
  29. package/dist/external-CM-K5NTq.js +14 -0
  30. package/dist/external-CaehDJtX.cjs +1 -0
  31. package/dist/external-CfY-kR5_.js +23 -0
  32. package/dist/{external-C-0pnmB4.js → external-CtIn5ns5.js} +25 -25
  33. package/dist/{external-D_PgcvDj.js → external-CwtqVaYf.js} +69 -69
  34. package/dist/external-DLIuO7_6.cjs +1 -0
  35. package/dist/external-DPsERPGZ.js +87 -0
  36. package/dist/external-DZ9ZLLOd.cjs +1 -0
  37. package/dist/external-JI_JLXE9.cjs +46 -0
  38. package/dist/external-R1DnhHJ8.cjs +1 -0
  39. package/dist/{external-DzuRmcYi.js → external-fThC1Pt0.js} +137 -122
  40. package/dist/external-iLU86byd.cjs +1 -0
  41. package/dist/external-ok-onqCX.cjs +1 -0
  42. package/dist/external-qAqWNZPd.cjs +1 -0
  43. package/dist/flex.cjs +1 -1
  44. package/dist/flex.js +1 -1
  45. package/dist/fontString-BpD7ezh8.cjs +1 -0
  46. package/dist/{fontString-B3WuZ-o6.js → fontString-CpT1noV1.js} +2 -2
  47. package/dist/header.cjs +1 -1
  48. package/dist/header.js +1 -1
  49. package/dist/index.cjs +35 -7
  50. package/dist/index.js +32720 -21375
  51. package/dist/input.cjs +1 -1
  52. package/dist/input.js +1 -1
  53. package/dist/jsx-runtime-Dszzpdy0.cjs +22 -0
  54. package/dist/{jsx-runtime-C5mzlN2N.js → jsx-runtime-OVHDjVDe.js} +14 -14
  55. package/dist/list.cjs +1 -1
  56. package/dist/list.js +1 -1
  57. package/dist/main-20msMsI6.cjs +92 -0
  58. package/dist/{main-mGfIFfsW.js → main-DCwBsS0F.js} +17684 -17076
  59. package/dist/menu.cjs +1 -1
  60. package/dist/menu.js +1 -1
  61. package/dist/pluto.css +1 -1
  62. package/dist/provider-B-VPfAGa.js +4673 -0
  63. package/dist/provider-D295Uocj.cjs +52 -0
  64. package/dist/provider-DVqod4rl.cjs +83 -0
  65. package/dist/provider-qIzR8Puy.js +18803 -0
  66. package/dist/src/arc/Arc.d.ts +6 -0
  67. package/dist/src/arc/Arc.d.ts.map +1 -0
  68. package/dist/src/arc/external.d.ts +4 -0
  69. package/dist/src/arc/external.d.ts.map +1 -0
  70. package/dist/src/arc/handle/Core.d.ts +8 -0
  71. package/dist/src/arc/handle/Core.d.ts.map +1 -0
  72. package/dist/src/arc/handle/Sink.d.ts +5 -0
  73. package/dist/src/arc/handle/Sink.d.ts.map +1 -0
  74. package/dist/src/arc/handle/Source.d.ts +5 -0
  75. package/dist/src/arc/handle/Source.d.ts.map +1 -0
  76. package/dist/src/arc/handle/external.d.ts +3 -0
  77. package/dist/src/arc/handle/external.d.ts.map +1 -0
  78. package/dist/src/arc/handle/index.d.ts +2 -0
  79. package/dist/src/arc/handle/index.d.ts.map +1 -0
  80. package/dist/src/arc/index.d.ts +2 -0
  81. package/dist/src/arc/index.d.ts.map +1 -0
  82. package/dist/src/arc/queries.d.ts +89 -0
  83. package/dist/src/arc/queries.d.ts.map +1 -0
  84. package/dist/src/arc/stage/Base.d.ts +32 -0
  85. package/dist/src/arc/stage/Base.d.ts.map +1 -0
  86. package/dist/src/arc/stage/constant/Constant.d.ts +9 -0
  87. package/dist/src/arc/stage/constant/Constant.d.ts.map +1 -0
  88. package/dist/src/arc/stage/constant/Form.d.ts +2 -0
  89. package/dist/src/arc/stage/constant/Form.d.ts.map +1 -0
  90. package/dist/src/arc/stage/constant/external.d.ts +3 -0
  91. package/dist/src/arc/stage/constant/external.d.ts.map +1 -0
  92. package/dist/src/arc/stage/constant/index.d.ts +2 -0
  93. package/dist/src/arc/stage/constant/index.d.ts.map +1 -0
  94. package/dist/src/arc/stage/external.d.ts +4 -0
  95. package/dist/src/arc/stage/external.d.ts.map +1 -0
  96. package/dist/src/arc/stage/index.d.ts +2 -0
  97. package/dist/src/arc/stage/index.d.ts.map +1 -0
  98. package/dist/src/arc/stage/operator/Operator.d.ts +17 -0
  99. package/dist/src/arc/stage/operator/Operator.d.ts.map +1 -0
  100. package/dist/src/arc/stage/operator/external.d.ts +242 -0
  101. package/dist/src/arc/stage/operator/external.d.ts.map +1 -0
  102. package/dist/src/arc/stage/operator/index.d.ts +2 -0
  103. package/dist/src/arc/stage/operator/index.d.ts.map +1 -0
  104. package/dist/src/arc/stage/read/Form.d.ts +3 -0
  105. package/dist/src/arc/stage/read/Form.d.ts.map +1 -0
  106. package/dist/src/arc/stage/read/Read.d.ts +10 -0
  107. package/dist/src/arc/stage/read/Read.d.ts.map +1 -0
  108. package/dist/src/arc/stage/read/external.d.ts +9 -0
  109. package/dist/src/arc/stage/read/external.d.ts.map +1 -0
  110. package/dist/src/arc/stage/read/index.d.ts +2 -0
  111. package/dist/src/arc/stage/read/index.d.ts.map +1 -0
  112. package/dist/src/arc/stage/registry.d.ts +11 -0
  113. package/dist/src/arc/stage/registry.d.ts.map +1 -0
  114. package/dist/src/arc/stage/select/Select.d.ts +2 -0
  115. package/dist/src/arc/stage/select/Select.d.ts.map +1 -0
  116. package/dist/src/arc/stage/select/external.d.ts +12 -0
  117. package/dist/src/arc/stage/select/external.d.ts.map +1 -0
  118. package/dist/src/arc/stage/select/index.d.ts +2 -0
  119. package/dist/src/arc/stage/select/index.d.ts.map +1 -0
  120. package/dist/src/arc/stage/sink/Form.d.ts +3 -0
  121. package/dist/src/arc/stage/sink/Form.d.ts.map +1 -0
  122. package/dist/src/arc/stage/sink/Sink.d.ts +11 -0
  123. package/dist/src/arc/stage/sink/Sink.d.ts.map +1 -0
  124. package/dist/src/arc/stage/sink/external.d.ts +10 -0
  125. package/dist/src/arc/stage/sink/external.d.ts.map +1 -0
  126. package/dist/src/arc/stage/sink/index.d.ts +2 -0
  127. package/dist/src/arc/stage/sink/index.d.ts.map +1 -0
  128. package/dist/src/arc/stage/source/Form.d.ts +3 -0
  129. package/dist/src/arc/stage/source/Form.d.ts.map +1 -0
  130. package/dist/src/arc/stage/source/Source.d.ts +10 -0
  131. package/dist/src/arc/stage/source/Source.d.ts.map +1 -0
  132. package/dist/src/arc/stage/source/external.d.ts +9 -0
  133. package/dist/src/arc/stage/source/external.d.ts.map +1 -0
  134. package/dist/src/arc/stage/source/index.d.ts +2 -0
  135. package/dist/src/arc/stage/source/index.d.ts.map +1 -0
  136. package/dist/src/arc/stage/stable/Form.d.ts +2 -0
  137. package/dist/src/arc/stage/stable/Form.d.ts.map +1 -0
  138. package/dist/src/arc/stage/stable/StableFor.d.ts +9 -0
  139. package/dist/src/arc/stage/stable/StableFor.d.ts.map +1 -0
  140. package/dist/src/arc/stage/stable/external.d.ts +3 -0
  141. package/dist/src/arc/stage/stable/external.d.ts.map +1 -0
  142. package/dist/src/arc/stage/stable/index.d.ts +2 -0
  143. package/dist/src/arc/stage/stable/index.d.ts.map +1 -0
  144. package/dist/src/arc/stage/status/Change.d.ts +21 -0
  145. package/dist/src/arc/stage/status/Change.d.ts.map +1 -0
  146. package/dist/src/arc/stage/status/Form.d.ts +3 -0
  147. package/dist/src/arc/stage/status/Form.d.ts.map +1 -0
  148. package/dist/src/arc/stage/status/external.d.ts +7 -0
  149. package/dist/src/arc/stage/status/external.d.ts.map +1 -0
  150. package/dist/src/arc/stage/status/index.d.ts +2 -0
  151. package/dist/src/arc/stage/status/index.d.ts.map +1 -0
  152. package/dist/src/arc/stage/types/index.d.ts +2 -0
  153. package/dist/src/arc/stage/types/index.d.ts.map +1 -0
  154. package/dist/src/arc/stage/types/spec.d.ts +25 -0
  155. package/dist/src/arc/stage/types/spec.d.ts.map +1 -0
  156. package/dist/src/button/color.d.ts +1 -2
  157. package/dist/src/button/color.d.ts.map +1 -1
  158. package/dist/src/channel/AliasInput.d.ts +3 -3
  159. package/dist/src/channel/AliasInput.d.ts.map +1 -1
  160. package/dist/src/channel/LinePlot.d.ts +4 -4
  161. package/dist/src/channel/LinePlot.d.ts.map +1 -1
  162. package/dist/src/channel/Select.d.ts +5 -5
  163. package/dist/src/channel/Select.d.ts.map +1 -1
  164. package/dist/src/channel/queries.d.ts +37 -70
  165. package/dist/src/channel/queries.d.ts.map +1 -1
  166. package/dist/src/css/bem.d.ts +1 -2
  167. package/dist/src/css/bem.d.ts.map +1 -1
  168. package/dist/src/dialog/Frame.d.ts.map +1 -1
  169. package/dist/src/divider/Divider.d.ts +1 -1
  170. package/dist/src/divider/Divider.d.ts.map +1 -1
  171. package/dist/src/ether.d.ts +2 -2
  172. package/dist/src/ether.d.ts.map +1 -1
  173. package/dist/src/flux/Provider.d.ts.map +1 -1
  174. package/dist/src/flux/aether/external.d.ts +1 -1
  175. package/dist/src/flux/aether/external.d.ts.map +1 -1
  176. package/dist/src/flux/aether/provider.d.ts +1 -1
  177. package/dist/src/flux/aether/provider.d.ts.map +1 -1
  178. package/dist/src/flux/core/external.d.ts +1 -0
  179. package/dist/src/flux/core/external.d.ts.map +1 -1
  180. package/dist/src/flux/core/store.d.ts +19 -13
  181. package/dist/src/flux/core/store.d.ts.map +1 -1
  182. package/dist/src/flux/core/streamer.d.ts +1 -1
  183. package/dist/src/flux/core/streamer.d.ts.map +1 -1
  184. package/dist/src/flux/core/types.d.ts +42 -0
  185. package/dist/src/flux/core/types.d.ts.map +1 -0
  186. package/dist/src/flux/external.d.ts +1 -1
  187. package/dist/src/flux/external.d.ts.map +1 -1
  188. package/dist/src/flux/form.d.ts +29 -127
  189. package/dist/src/flux/form.d.ts.map +1 -1
  190. package/dist/src/flux/list.d.ts +28 -228
  191. package/dist/src/flux/list.d.ts.map +1 -1
  192. package/dist/src/flux/result.d.ts +32 -90
  193. package/dist/src/flux/result.d.ts.map +1 -1
  194. package/dist/src/flux/retrieve.d.ts +47 -176
  195. package/dist/src/flux/retrieve.d.ts.map +1 -1
  196. package/dist/src/flux/update.d.ts +45 -134
  197. package/dist/src/flux/update.d.ts.map +1 -1
  198. package/dist/src/form/Context.d.ts +2 -2
  199. package/dist/src/form/Context.d.ts.map +1 -1
  200. package/dist/src/form/Context.spec.d.ts +2 -0
  201. package/dist/src/form/Context.spec.d.ts.map +1 -0
  202. package/dist/src/group/queries.d.ts +18 -18
  203. package/dist/src/group/queries.d.ts.map +1 -1
  204. package/dist/src/hardware/device/Select.d.ts +2 -2
  205. package/dist/src/hardware/device/Select.d.ts.map +1 -1
  206. package/dist/src/hardware/device/queries.d.ts +369 -9
  207. package/dist/src/hardware/device/queries.d.ts.map +1 -1
  208. package/dist/src/hardware/rack/Select.d.ts +3 -3
  209. package/dist/src/hardware/rack/Select.d.ts.map +1 -1
  210. package/dist/src/hardware/rack/queries.d.ts +15 -11
  211. package/dist/src/hardware/rack/queries.d.ts.map +1 -1
  212. package/dist/src/hardware/task/queries.d.ts +70 -17
  213. package/dist/src/hardware/task/queries.d.ts.map +1 -1
  214. package/dist/src/hooks/useRequiredContext.d.ts.map +1 -1
  215. package/dist/src/hooks/useRequiredContext.spec.d.ts +2 -0
  216. package/dist/src/hooks/useRequiredContext.spec.d.ts.map +1 -0
  217. package/dist/src/icon/Modbus.d.ts +2 -0
  218. package/dist/src/icon/Modbus.d.ts.map +1 -0
  219. package/dist/src/icon/registry.d.ts +16 -3
  220. package/dist/src/icon/registry.d.ts.map +1 -1
  221. package/dist/src/index.d.ts +4 -3
  222. package/dist/src/index.d.ts.map +1 -1
  223. package/dist/src/input/Boolean.d.ts +3 -2
  224. package/dist/src/input/Boolean.d.ts.map +1 -1
  225. package/dist/src/input/Checkbox.d.ts +2 -3
  226. package/dist/src/input/Checkbox.d.ts.map +1 -1
  227. package/dist/src/input/DateTime.d.ts +1 -18
  228. package/dist/src/input/DateTime.d.ts.map +1 -1
  229. package/dist/src/input/Switch.d.ts +2 -3
  230. package/dist/src/input/Switch.d.ts.map +1 -1
  231. package/dist/src/input/Text.d.ts +2 -1
  232. package/dist/src/input/Text.d.ts.map +1 -1
  233. package/dist/src/input/external.d.ts +0 -1
  234. package/dist/src/input/external.d.ts.map +1 -1
  235. package/dist/src/label/Select.d.ts +5 -5
  236. package/dist/src/label/Select.d.ts.map +1 -1
  237. package/dist/src/label/queries.d.ts +35 -20
  238. package/dist/src/label/queries.d.ts.map +1 -1
  239. package/dist/src/{vis/lineplot → lineplot}/Axis.d.ts +3 -3
  240. package/dist/src/lineplot/Axis.d.ts.map +1 -0
  241. package/dist/src/{vis/lineplot → lineplot}/Legend.d.ts +1 -1
  242. package/dist/src/lineplot/Legend.d.ts.map +1 -0
  243. package/dist/src/{vis/lineplot → lineplot}/Line.d.ts +2 -2
  244. package/dist/src/lineplot/Line.d.ts.map +1 -0
  245. package/dist/src/{vis/lineplot → lineplot}/LinePlot.d.ts +3 -3
  246. package/dist/src/lineplot/LinePlot.d.ts.map +1 -0
  247. package/dist/src/{vis/lineplot → lineplot}/Title.d.ts +1 -1
  248. package/dist/src/lineplot/Title.d.ts.map +1 -0
  249. package/dist/src/{vis/lineplot → lineplot}/Viewport.d.ts +1 -1
  250. package/dist/src/lineplot/Viewport.d.ts.map +1 -0
  251. package/dist/src/{vis/lineplot → lineplot}/aether/BoundQuerier.d.ts +1 -1
  252. package/dist/src/lineplot/aether/BoundQuerier.d.ts.map +1 -0
  253. package/dist/src/{vis/lineplot → lineplot}/aether/LinePlot.d.ts +5 -5
  254. package/dist/src/lineplot/aether/LinePlot.d.ts.map +1 -0
  255. package/dist/src/{vis/lineplot → lineplot}/aether/XAxis.d.ts +3 -3
  256. package/dist/src/lineplot/aether/XAxis.d.ts.map +1 -0
  257. package/dist/src/{vis/lineplot → lineplot}/aether/YAxis.d.ts +2 -2
  258. package/dist/src/lineplot/aether/YAxis.d.ts.map +1 -0
  259. package/dist/src/{vis/lineplot → lineplot}/aether/axis.d.ts +6 -6
  260. package/dist/src/lineplot/aether/axis.d.ts.map +1 -0
  261. package/dist/src/lineplot/aether/external.d.ts.map +1 -0
  262. package/dist/src/lineplot/aether/index.d.ts.map +1 -0
  263. package/dist/src/{vis/lineplot → lineplot}/external.d.ts +1 -0
  264. package/dist/src/lineplot/external.d.ts.map +1 -0
  265. package/dist/src/lineplot/index.d.ts.map +1 -0
  266. package/dist/src/lineplot/queries.d.ts +33 -0
  267. package/dist/src/lineplot/queries.d.ts.map +1 -0
  268. package/dist/src/lineplot/queries.spec.d.ts +2 -0
  269. package/dist/src/lineplot/queries.spec.d.ts.map +1 -0
  270. package/dist/src/{vis/lineplot → lineplot}/range/Annotation.d.ts +1 -1
  271. package/dist/src/lineplot/range/Annotation.d.ts.map +1 -0
  272. package/dist/src/{vis/lineplot → lineplot}/range/Provider.d.ts +2 -2
  273. package/dist/src/lineplot/range/Provider.d.ts.map +1 -0
  274. package/dist/src/{vis/lineplot → lineplot}/range/aether/annotation.d.ts +3 -3
  275. package/dist/src/lineplot/range/aether/annotation.d.ts.map +1 -0
  276. package/dist/src/{vis/lineplot → lineplot}/range/aether/external.d.ts +1 -1
  277. package/dist/src/lineplot/range/aether/external.d.ts.map +1 -0
  278. package/dist/src/lineplot/range/aether/index.d.ts.map +1 -0
  279. package/dist/src/{vis/lineplot → lineplot}/range/aether/provider.d.ts +10 -10
  280. package/dist/src/lineplot/range/aether/provider.d.ts.map +1 -0
  281. package/dist/src/lineplot/range/external.d.ts.map +1 -0
  282. package/dist/src/lineplot/range/index.d.ts.map +1 -0
  283. package/dist/src/{vis/lineplot → lineplot}/tooltip/Tooltip.d.ts +1 -1
  284. package/dist/src/lineplot/tooltip/Tooltip.d.ts.map +1 -0
  285. package/dist/src/lineplot/tooltip/aether/index.d.ts.map +1 -0
  286. package/dist/src/{vis/lineplot → lineplot}/tooltip/aether/tooltip.d.ts +4 -4
  287. package/dist/src/lineplot/tooltip/aether/tooltip.d.ts.map +1 -0
  288. package/dist/src/lineplot/tooltip/index.d.ts.map +1 -0
  289. package/dist/src/lineplot/useBoundQuerier.d.ts.map +1 -0
  290. package/dist/src/list/Frame.d.ts +16 -1
  291. package/dist/src/list/Frame.d.ts.map +1 -1
  292. package/dist/src/list/pager.d.ts +7 -1
  293. package/dist/src/list/pager.d.ts.map +1 -1
  294. package/dist/src/list/useCombinedData.d.ts.map +1 -1
  295. package/dist/src/list/useKeysData.d.ts.map +1 -1
  296. package/dist/src/list/useMapData.d.ts.map +1 -1
  297. package/dist/src/list/useStaticData.d.ts.map +1 -1
  298. package/dist/src/{vis/log → log}/Log.d.ts +2 -2
  299. package/dist/src/log/Log.d.ts.map +1 -0
  300. package/dist/src/{vis/log → log}/aether/Log.d.ts +4 -4
  301. package/dist/src/log/aether/Log.d.ts.map +1 -0
  302. package/dist/src/log/aether/index.d.ts.map +1 -0
  303. package/dist/src/log/external.d.ts +3 -0
  304. package/dist/src/log/external.d.ts.map +1 -0
  305. package/dist/src/log/index.d.ts +2 -0
  306. package/dist/src/log/index.d.ts.map +1 -0
  307. package/dist/src/log/queries.d.ts +33 -0
  308. package/dist/src/log/queries.d.ts.map +1 -0
  309. package/dist/src/log/queries.spec.d.ts +2 -0
  310. package/dist/src/log/queries.spec.d.ts.map +1 -0
  311. package/dist/src/menu/ContextMenu.d.ts.map +1 -1
  312. package/dist/src/ontology/aether/index.d.ts +2 -0
  313. package/dist/src/ontology/aether/index.d.ts.map +1 -0
  314. package/dist/src/ontology/aether/queries.d.ts +15 -0
  315. package/dist/src/ontology/aether/queries.d.ts.map +1 -0
  316. package/dist/src/ontology/external.d.ts +1 -0
  317. package/dist/src/ontology/external.d.ts.map +1 -1
  318. package/dist/src/ontology/queries.d.ts +27 -23
  319. package/dist/src/ontology/queries.d.ts.map +1 -1
  320. package/dist/src/pluto/Pluto.d.ts +13 -0
  321. package/dist/src/pluto/Pluto.d.ts.map +1 -1
  322. package/dist/src/pluto/aether/pluto.d.ts.map +1 -1
  323. package/dist/src/ranger/Breadcrumb.d.ts +3 -1
  324. package/dist/src/ranger/Breadcrumb.d.ts.map +1 -1
  325. package/dist/src/ranger/CreateIcon.d.ts +3 -0
  326. package/dist/src/ranger/CreateIcon.d.ts.map +1 -0
  327. package/dist/src/ranger/Select.d.ts +4 -14
  328. package/dist/src/ranger/Select.d.ts.map +1 -1
  329. package/dist/src/ranger/SelectStage.d.ts +7 -0
  330. package/dist/src/ranger/SelectStage.d.ts.map +1 -0
  331. package/dist/src/ranger/StageIcon.d.ts +8 -0
  332. package/dist/src/ranger/StageIcon.d.ts.map +1 -0
  333. package/dist/src/ranger/aether/index.d.ts.map +1 -1
  334. package/dist/src/ranger/aether/queries.d.ts +2 -2
  335. package/dist/src/ranger/aether/queries.d.ts.map +1 -1
  336. package/dist/src/ranger/external.d.ts +5 -1
  337. package/dist/src/ranger/external.d.ts.map +1 -1
  338. package/dist/src/ranger/queries.d.ts +41 -41
  339. package/dist/src/ranger/queries.d.ts.map +1 -1
  340. package/dist/src/ranger/stage.d.ts +20 -0
  341. package/dist/src/ranger/stage.d.ts.map +1 -0
  342. package/dist/src/ranger/stage.spec.d.ts +2 -0
  343. package/dist/src/ranger/stage.spec.d.ts.map +1 -0
  344. package/dist/src/resize/Core.d.ts.map +1 -1
  345. package/dist/src/schematic/Schematic.d.ts +6 -0
  346. package/dist/src/schematic/Schematic.d.ts.map +1 -0
  347. package/dist/src/schematic/edge/Edge.d.ts +15 -0
  348. package/dist/src/schematic/edge/Edge.d.ts.map +1 -0
  349. package/dist/src/schematic/edge/connector/connector.d.ts.map +1 -0
  350. package/dist/src/schematic/edge/connector/connector.spec.d.ts.map +1 -0
  351. package/dist/src/schematic/edge/connector/index.d.ts.map +1 -0
  352. package/dist/src/schematic/edge/index.d.ts +3 -0
  353. package/dist/src/schematic/edge/index.d.ts.map +1 -0
  354. package/dist/src/schematic/edge/paths.d.ts +28 -0
  355. package/dist/src/schematic/edge/paths.d.ts.map +1 -0
  356. package/dist/src/schematic/external.d.ts +3 -0
  357. package/dist/src/schematic/external.d.ts.map +1 -1
  358. package/dist/src/schematic/queries.d.ts +43 -0
  359. package/dist/src/schematic/queries.d.ts.map +1 -0
  360. package/dist/src/schematic/queries.spec.d.ts +2 -0
  361. package/dist/src/schematic/queries.spec.d.ts.map +1 -0
  362. package/dist/src/schematic/symbol/Custom.d.ts.map +1 -1
  363. package/dist/src/schematic/symbol/Forms.d.ts +1 -0
  364. package/dist/src/schematic/symbol/Forms.d.ts.map +1 -1
  365. package/dist/src/schematic/symbol/Primitives.d.ts +1 -1
  366. package/dist/src/schematic/symbol/Primitives.d.ts.map +1 -1
  367. package/dist/src/schematic/symbol/Symbols.d.ts +11 -1
  368. package/dist/src/schematic/symbol/Symbols.d.ts.map +1 -1
  369. package/dist/src/schematic/symbol/queries.d.ts +20 -19
  370. package/dist/src/schematic/symbol/queries.d.ts.map +1 -1
  371. package/dist/src/schematic/symbol/registry.d.ts +2 -1
  372. package/dist/src/schematic/symbol/registry.d.ts.map +1 -1
  373. package/dist/src/select/Dialog.d.ts +1 -1
  374. package/dist/src/select/Dialog.d.ts.map +1 -1
  375. package/dist/src/select/Frame.d.ts +4 -1
  376. package/dist/src/select/Frame.d.ts.map +1 -1
  377. package/dist/src/select/ListItem.d.ts.map +1 -1
  378. package/dist/src/select/MultipleTrigger.d.ts +5 -2
  379. package/dist/src/select/MultipleTrigger.d.ts.map +1 -1
  380. package/dist/src/showcase/DividerShowcase.d.ts.map +1 -1
  381. package/dist/src/showcase/InputShowcase.d.ts +1 -1
  382. package/dist/src/showcase/InputShowcase.d.ts.map +1 -1
  383. package/dist/src/showcase/SelectShowcase.d.ts.map +1 -1
  384. package/dist/src/showcase/TagShowcase.d.ts.map +1 -1
  385. package/dist/src/state/state.d.ts +2 -1
  386. package/dist/src/state/state.d.ts.map +1 -1
  387. package/dist/src/status/CreateIcon.d.ts +1 -0
  388. package/dist/src/status/CreateIcon.d.ts.map +1 -0
  389. package/dist/src/status/Select.d.ts +12 -0
  390. package/dist/src/status/Select.d.ts.map +1 -0
  391. package/dist/src/status/SelectVariant.d.ts +7 -0
  392. package/dist/src/status/SelectVariant.d.ts.map +1 -0
  393. package/dist/src/status/aether/aggregator.d.ts +3 -25
  394. package/dist/src/status/aether/aggregator.d.ts.map +1 -1
  395. package/dist/src/status/aether/errorHandler.d.ts +1 -1
  396. package/dist/src/status/aether/errorHandler.d.ts.map +1 -1
  397. package/dist/src/status/{Aggregator.d.ts → core/Aggregator.d.ts} +4 -4
  398. package/dist/src/status/core/Aggregator.d.ts.map +1 -0
  399. package/dist/src/status/core/Aggregator.spec.d.ts.map +1 -0
  400. package/dist/src/status/core/CreateIcon.d.ts +3 -0
  401. package/dist/src/status/core/CreateIcon.d.ts.map +1 -0
  402. package/dist/src/status/{Indicator.d.ts → core/Indicator.d.ts} +1 -1
  403. package/dist/src/status/core/Indicator.d.ts.map +1 -0
  404. package/dist/src/status/{Notification.d.ts → core/Notification.d.ts} +3 -3
  405. package/dist/src/status/core/Notification.d.ts.map +1 -0
  406. package/dist/src/status/core/Notification.spec.d.ts.map +1 -0
  407. package/dist/src/status/core/SelectVariant.d.ts +7 -0
  408. package/dist/src/status/core/SelectVariant.d.ts.map +1 -0
  409. package/dist/src/status/core/Summary.d.ts +12 -0
  410. package/dist/src/status/core/Summary.d.ts.map +1 -0
  411. package/dist/src/status/core/colors.d.ts.map +1 -0
  412. package/dist/src/status/core/external.d.ts +8 -0
  413. package/dist/src/status/core/external.d.ts.map +1 -0
  414. package/dist/src/status/core/index.d.ts +2 -0
  415. package/dist/src/status/core/index.d.ts.map +1 -0
  416. package/dist/src/status/external.d.ts +3 -5
  417. package/dist/src/status/external.d.ts.map +1 -1
  418. package/dist/src/status/index.d.ts.map +1 -1
  419. package/dist/src/status/queries.d.ts +64 -0
  420. package/dist/src/status/queries.d.ts.map +1 -0
  421. package/dist/src/status/queries.spec.d.ts +2 -0
  422. package/dist/src/status/queries.spec.d.ts.map +1 -0
  423. package/dist/src/synnax/Provider.d.ts +8 -5
  424. package/dist/src/synnax/Provider.d.ts.map +1 -1
  425. package/dist/src/table/external.d.ts +1 -0
  426. package/dist/src/table/external.d.ts.map +1 -1
  427. package/dist/src/table/queries.d.ts +35 -0
  428. package/dist/src/table/queries.d.ts.map +1 -0
  429. package/dist/src/table/queries.spec.d.ts +2 -0
  430. package/dist/src/table/queries.spec.d.ts.map +1 -0
  431. package/dist/src/tag/Tags.d.ts +1 -1
  432. package/dist/src/tag/Tags.d.ts.map +1 -1
  433. package/dist/src/telem/aether/noop.d.ts.map +1 -1
  434. package/dist/src/telem/aether/remote.d.ts +4 -4
  435. package/dist/src/telem/aether/telem.d.ts +1 -1
  436. package/dist/src/telem/aether/telem.d.ts.map +1 -1
  437. package/dist/src/telem/client/streamer.d.ts +1 -0
  438. package/dist/src/telem/client/streamer.d.ts.map +1 -1
  439. package/dist/src/telem/control/Chip.d.ts.map +1 -1
  440. package/dist/src/telem/control/aether/chip.d.ts +9 -32
  441. package/dist/src/telem/control/aether/chip.d.ts.map +1 -1
  442. package/dist/src/telem/control/aether/controller.d.ts.map +1 -1
  443. package/dist/src/telem/control/aether/indicator.d.ts +15 -38
  444. package/dist/src/telem/control/aether/indicator.d.ts.map +1 -1
  445. package/dist/src/telem/external.d.ts +1 -0
  446. package/dist/src/telem/external.d.ts.map +1 -1
  447. package/dist/src/telem/text/TimeRange.d.ts +10 -0
  448. package/dist/src/telem/text/TimeRange.d.ts.map +1 -0
  449. package/dist/src/telem/text/TimeRange.spec.d.ts +2 -0
  450. package/dist/src/telem/text/TimeRange.spec.d.ts.map +1 -0
  451. package/dist/src/telem/text/TimeSpan.d.ts +10 -0
  452. package/dist/src/telem/text/TimeSpan.d.ts.map +1 -0
  453. package/dist/src/telem/text/TimeSpan.spec.d.ts +2 -0
  454. package/dist/src/telem/text/TimeSpan.spec.d.ts.map +1 -0
  455. package/dist/src/telem/text/TimeSpanSince.d.ts +11 -0
  456. package/dist/src/telem/text/TimeSpanSince.d.ts.map +1 -0
  457. package/dist/src/telem/text/TimeStamp.d.ts +12 -0
  458. package/dist/src/telem/text/TimeStamp.d.ts.map +1 -0
  459. package/dist/src/telem/text/TimeStamp.spec.d.ts +2 -0
  460. package/dist/src/telem/text/TimeStamp.spec.d.ts.map +1 -0
  461. package/dist/src/telem/text/external.d.ts +5 -0
  462. package/dist/src/telem/text/external.d.ts.map +1 -0
  463. package/dist/src/telem/text/index.d.ts +2 -0
  464. package/dist/src/telem/text/index.d.ts.map +1 -0
  465. package/dist/src/text/Editable.d.ts.map +1 -1
  466. package/dist/src/text/external.d.ts +0 -1
  467. package/dist/src/text/external.d.ts.map +1 -1
  468. package/dist/src/tooltip/Dialog.d.ts.map +1 -1
  469. package/dist/src/tree/Context.d.ts +13 -0
  470. package/dist/src/tree/Context.d.ts.map +1 -0
  471. package/dist/src/tree/Item.d.ts +2 -3
  472. package/dist/src/tree/Item.d.ts.map +1 -1
  473. package/dist/src/tree/Tree.d.ts +2 -2
  474. package/dist/src/tree/Tree.d.ts.map +1 -1
  475. package/dist/src/tree/core.d.ts +2 -1
  476. package/dist/src/tree/core.d.ts.map +1 -1
  477. package/dist/src/tree/core.spec.d.ts +2 -0
  478. package/dist/src/tree/core.spec.d.ts.map +1 -0
  479. package/dist/src/user/index.d.ts +2 -0
  480. package/dist/src/user/index.d.ts.map +1 -0
  481. package/dist/src/user/queries.d.ts +50 -0
  482. package/dist/src/user/queries.d.ts.map +1 -0
  483. package/dist/src/user/queries.spec.d.ts +2 -0
  484. package/dist/src/user/queries.spec.d.ts.map +1 -0
  485. package/dist/src/viewport/use.d.ts.map +1 -1
  486. package/dist/src/vis/diagram/Diagram.d.ts +16 -4
  487. package/dist/src/vis/diagram/Diagram.d.ts.map +1 -1
  488. package/dist/src/vis/diagram/aether/Diagram.d.ts.map +1 -1
  489. package/dist/src/vis/diagram/aether/types.d.ts +6 -49
  490. package/dist/src/vis/diagram/aether/types.d.ts.map +1 -1
  491. package/dist/src/vis/diagram/external.d.ts +1 -1
  492. package/dist/src/vis/diagram/external.d.ts.map +1 -1
  493. package/dist/src/vis/diagram/useTriggers.d.ts +12 -0
  494. package/dist/src/vis/diagram/useTriggers.d.ts.map +1 -0
  495. package/dist/src/vis/diagram/util.d.ts +2 -0
  496. package/dist/src/vis/diagram/util.d.ts.map +1 -1
  497. package/dist/src/vis/draw2d/canvas.d.ts.map +1 -1
  498. package/dist/src/vis/draw2d/index.d.ts +16 -6
  499. package/dist/src/vis/draw2d/index.d.ts.map +1 -1
  500. package/dist/src/vis/gauge/aether/gauge.d.ts +297 -0
  501. package/dist/src/vis/gauge/aether/gauge.d.ts.map +1 -0
  502. package/dist/src/vis/gauge/aether/index.d.ts +2 -0
  503. package/dist/src/vis/gauge/aether/index.d.ts.map +1 -0
  504. package/dist/src/vis/gauge/index.d.ts +2 -0
  505. package/dist/src/vis/gauge/index.d.ts.map +1 -0
  506. package/dist/src/vis/gauge/use.d.ts +84 -0
  507. package/dist/src/vis/gauge/use.d.ts.map +1 -0
  508. package/dist/src/vis/text/atlas.d.ts.map +1 -1
  509. package/dist/src/vis/value/TelemForm.d.ts.map +1 -1
  510. package/dist/src/workspace/queries.d.ts +37 -4
  511. package/dist/src/workspace/queries.d.ts.map +1 -1
  512. package/dist/tabs.cjs +1 -1
  513. package/dist/tabs.js +1 -1
  514. package/dist/text.cjs +1 -1
  515. package/dist/text.js +2 -2
  516. package/dist/theme.css +1593 -1594
  517. package/dist/theming.cjs +1 -1
  518. package/dist/theming.js +2 -2
  519. package/dist/tree.cjs +1 -1
  520. package/dist/tree.js +1 -1
  521. package/dist/triggers.cjs +1 -1
  522. package/dist/triggers.js +1 -1
  523. package/dist/units-CLbZ5ejs.cjs +1 -0
  524. package/dist/{units-BPvO622s.js → units-WtYBE1br.js} +1 -1
  525. package/dist/useKeysData-DXXVQfXZ.js +18 -0
  526. package/dist/useKeysData-Do63LaI0.cjs +1 -0
  527. package/dist/video.cjs +1 -1
  528. package/dist/video.js +1 -1
  529. package/package.json +20 -20
  530. package/README.md +0 -35
  531. package/dist/Animated-BT-w0cPF.cjs +0 -1
  532. package/dist/Animated-B_xTpw9g.js +0 -27
  533. package/dist/LinePlot-De-VLJHL.cjs +0 -53
  534. package/dist/LinePlot-mRCOU5PM.js +0 -6263
  535. package/dist/css-CmXY6iPo.cjs +0 -8
  536. package/dist/eraser-BcLVtorx.js +0 -14206
  537. package/dist/eraser-h8NIswGM.cjs +0 -63
  538. package/dist/external-BA4cUJmi.js +0 -42
  539. package/dist/external-BBGCooyz.cjs +0 -1
  540. package/dist/external-BF3OTViJ.js +0 -44
  541. package/dist/external-BNitHfU5.js +0 -24
  542. package/dist/external-CGbANgXa.cjs +0 -1
  543. package/dist/external-CMtT44YA.cjs +0 -1
  544. package/dist/external-CNbPkF53.cjs +0 -1
  545. package/dist/external-CbHzHgtw.js +0 -92
  546. package/dist/external-CiJ7RsGt.cjs +0 -1
  547. package/dist/external-D2VXaXzu.cjs +0 -1
  548. package/dist/external-DNwQ_1PT.js +0 -124
  549. package/dist/external-DYC1EK6G.cjs +0 -1
  550. package/dist/external-Dl5JyJaH.cjs +0 -1
  551. package/dist/external-DynvKrxv.cjs +0 -46
  552. package/dist/external-ETemCKjS.cjs +0 -1
  553. package/dist/external-aXmXhGMj.cjs +0 -1
  554. package/dist/external-zzhrikgD.cjs +0 -1
  555. package/dist/fontString-C4QgiFXy.cjs +0 -1
  556. package/dist/jsx-runtime-CITbqOLs.cjs +0 -22
  557. package/dist/main-DCvw0wt3.cjs +0 -92
  558. package/dist/src/flux/core/params.d.ts +0 -31
  559. package/dist/src/flux/core/params.d.ts.map +0 -1
  560. package/dist/src/input/TextArea.d.ts +0 -25
  561. package/dist/src/input/TextArea.d.ts.map +0 -1
  562. package/dist/src/ranger/TimeRangeChip.d.ts +0 -10
  563. package/dist/src/ranger/TimeRangeChip.d.ts.map +0 -1
  564. package/dist/src/status/Aggregator.d.ts.map +0 -1
  565. package/dist/src/status/Aggregator.spec.d.ts.map +0 -1
  566. package/dist/src/status/Indicator.d.ts.map +0 -1
  567. package/dist/src/status/Notification.d.ts.map +0 -1
  568. package/dist/src/status/Notification.spec.d.ts.map +0 -1
  569. package/dist/src/status/Summary.d.ts +0 -8
  570. package/dist/src/status/Summary.d.ts.map +0 -1
  571. package/dist/src/status/colors.d.ts.map +0 -1
  572. package/dist/src/text/DateTime.d.ts +0 -12
  573. package/dist/src/text/DateTime.d.ts.map +0 -1
  574. package/dist/src/vis/diagram/edge/Edge.d.ts +0 -15
  575. package/dist/src/vis/diagram/edge/Edge.d.ts.map +0 -1
  576. package/dist/src/vis/diagram/edge/connector/connector.d.ts.map +0 -1
  577. package/dist/src/vis/diagram/edge/connector/connector.spec.d.ts.map +0 -1
  578. package/dist/src/vis/diagram/edge/connector/index.d.ts.map +0 -1
  579. package/dist/src/vis/diagram/edge/index.d.ts +0 -2
  580. package/dist/src/vis/diagram/edge/index.d.ts.map +0 -1
  581. package/dist/src/vis/diagram/edge/paths.d.ts +0 -18
  582. package/dist/src/vis/diagram/edge/paths.d.ts.map +0 -1
  583. package/dist/src/vis/lineplot/Axis.d.ts.map +0 -1
  584. package/dist/src/vis/lineplot/Legend.d.ts.map +0 -1
  585. package/dist/src/vis/lineplot/Line.d.ts.map +0 -1
  586. package/dist/src/vis/lineplot/LinePlot.d.ts.map +0 -1
  587. package/dist/src/vis/lineplot/Title.d.ts.map +0 -1
  588. package/dist/src/vis/lineplot/Viewport.d.ts.map +0 -1
  589. package/dist/src/vis/lineplot/aether/BoundQuerier.d.ts.map +0 -1
  590. package/dist/src/vis/lineplot/aether/LinePlot.d.ts.map +0 -1
  591. package/dist/src/vis/lineplot/aether/XAxis.d.ts.map +0 -1
  592. package/dist/src/vis/lineplot/aether/YAxis.d.ts.map +0 -1
  593. package/dist/src/vis/lineplot/aether/axis.d.ts.map +0 -1
  594. package/dist/src/vis/lineplot/aether/external.d.ts.map +0 -1
  595. package/dist/src/vis/lineplot/aether/index.d.ts.map +0 -1
  596. package/dist/src/vis/lineplot/external.d.ts.map +0 -1
  597. package/dist/src/vis/lineplot/index.d.ts.map +0 -1
  598. package/dist/src/vis/lineplot/range/Annotation.d.ts.map +0 -1
  599. package/dist/src/vis/lineplot/range/Provider.d.ts.map +0 -1
  600. package/dist/src/vis/lineplot/range/aether/annotation.d.ts.map +0 -1
  601. package/dist/src/vis/lineplot/range/aether/external.d.ts.map +0 -1
  602. package/dist/src/vis/lineplot/range/aether/index.d.ts.map +0 -1
  603. package/dist/src/vis/lineplot/range/aether/provider.d.ts.map +0 -1
  604. package/dist/src/vis/lineplot/range/external.d.ts.map +0 -1
  605. package/dist/src/vis/lineplot/range/index.d.ts.map +0 -1
  606. package/dist/src/vis/lineplot/tooltip/Tooltip.d.ts.map +0 -1
  607. package/dist/src/vis/lineplot/tooltip/aether/index.d.ts.map +0 -1
  608. package/dist/src/vis/lineplot/tooltip/aether/tooltip.d.ts.map +0 -1
  609. package/dist/src/vis/lineplot/tooltip/index.d.ts.map +0 -1
  610. package/dist/src/vis/lineplot/useBoundQuerier.d.ts.map +0 -1
  611. package/dist/src/vis/log/Log.d.ts.map +0 -1
  612. package/dist/src/vis/log/aether/Log.d.ts.map +0 -1
  613. package/dist/src/vis/log/aether/index.d.ts.map +0 -1
  614. package/dist/src/vis/log/index.d.ts +0 -2
  615. package/dist/src/vis/log/index.d.ts.map +0 -1
  616. package/dist/units-DkdMPsxa.cjs +0 -1
  617. package/dist/useKeysData-B1kiZOOw.js +0 -14
  618. package/dist/useKeysData-G9Mk3mA6.cjs +0 -1
  619. /package/dist/src/{vis/lineplot → lineplot}/aether/external.d.ts +0 -0
  620. /package/dist/src/{vis/lineplot → lineplot}/aether/index.d.ts +0 -0
  621. /package/dist/src/{vis/lineplot → lineplot}/index.d.ts +0 -0
  622. /package/dist/src/{vis/lineplot → lineplot}/range/aether/index.d.ts +0 -0
  623. /package/dist/src/{vis/lineplot → lineplot}/range/external.d.ts +0 -0
  624. /package/dist/src/{vis/lineplot → lineplot}/range/index.d.ts +0 -0
  625. /package/dist/src/{vis/lineplot → lineplot}/tooltip/aether/index.d.ts +0 -0
  626. /package/dist/src/{vis/lineplot → lineplot}/tooltip/index.d.ts +0 -0
  627. /package/dist/src/{vis/lineplot → lineplot}/useBoundQuerier.d.ts +0 -0
  628. /package/dist/src/{vis/log → log}/aether/index.d.ts +0 -0
  629. /package/dist/src/{vis/diagram → schematic}/edge/connector/connector.d.ts +0 -0
  630. /package/dist/src/{vis/diagram → schematic}/edge/connector/connector.spec.d.ts +0 -0
  631. /package/dist/src/{vis/diagram → schematic}/edge/connector/index.d.ts +0 -0
  632. /package/dist/src/status/{Aggregator.spec.d.ts → core/Aggregator.spec.d.ts} +0 -0
  633. /package/dist/src/status/{Notification.spec.d.ts → core/Notification.spec.d.ts} +0 -0
  634. /package/dist/src/status/{colors.d.ts → core/colors.d.ts} +0 -0
@@ -1,260 +1,60 @@
1
- import { Synnax as Client } from '@synnaxlabs/client';
2
- import { compare, CrudeTimeSpan, Destructor, MultiSeries, record } from '@synnaxlabs/x';
1
+ import { compare, CrudeTimeSpan, Destructor, record } from '@synnaxlabs/x';
3
2
  import { flux } from './aether';
4
- import { FetchOptions, Params } from './core/params';
3
+ import { core } from './core';
5
4
  import { Result } from './result';
6
- import { CreateRetrieveArgs, MountListenersArgs } from './retrieve';
5
+ import { CreateRetrieveParams, RetrieveMountListenersParams, RetrieveParams } from './retrieve';
7
6
  import { state } from '../state';
8
- /**
9
- * Function interface for getting items from a list by key(s).
10
- *
11
- * @template K The type of the key (must be a record key)
12
- * @template E The type of the entity (must be keyed by K)
13
- */
14
- interface GetItem<K extends record.Key, E extends record.Keyed<K>> {
15
- /** Get a single item by key, returns undefined if not found */
7
+ export interface GetItem<K extends record.Key, E extends record.Keyed<K>> {
16
8
  (key: K): E | undefined;
17
- /** Get multiple items by an array of keys */
18
9
  (keys: K[]): E[];
19
10
  }
20
- /**
21
- * Options for async list operations.
22
- */
23
- interface AsyncListOptions extends FetchOptions {
24
- /**
25
- * How to modify the list when new data is retrieved. In append mode, new entries
26
- * will be added to the end of the list. In replace mode, the list will be replaced
27
- * with the new data.
28
- */
11
+ export interface AsyncListOptions extends core.FetchOptions {
29
12
  mode?: "append" | "replace";
30
13
  }
31
- /**
32
- * Return type for the list hook, providing comprehensive list management utilities.
33
- *
34
- * @template RetrieveParams The type of parameters for the retrieve operation
35
- * @template K The type of the key (must be a record key)
36
- * @template E The type of the entity (must be keyed by K)
37
- */
38
- export type UseListReturn<RetrieveParams extends Params, K extends record.Key, E extends record.Keyed<K>> = Omit<Result<K[]>, "data"> & {
39
- /** Function to trigger a list retrieval operation (fire-and-forget) */
40
- retrieve: (params: state.SetArg<RetrieveParams, Partial<RetrieveParams>>, options?: AsyncListOptions) => void;
41
- /** Function to trigger a list retrieval operation and await the result */
42
- retrieveAsync: (params: state.SetArg<RetrieveParams, Partial<RetrieveParams>>, options?: AsyncListOptions) => Promise<void>;
43
- /** Array of keys for the items currently in the list */
14
+ export type UseListReturn<Query extends core.Shape, K extends record.Key, E extends record.Keyed<K>> = Omit<Result<K[]>, "data"> & {
15
+ retrieve: (query: state.SetArg<Query, Partial<Query>>, options?: AsyncListOptions) => void;
16
+ retrieveAsync: (query: state.SetArg<Query, Partial<Query>>, options?: AsyncListOptions) => Promise<void>;
44
17
  data: K[];
45
- /** Function to get items by key, with automatic lazy loading */
46
18
  getItem: GetItem<K, E>;
47
- /** Function to subscribe to changes for specific items */
48
19
  subscribe: (callback: () => void, key: K) => Destructor;
49
20
  };
50
- /**
51
- * Arguments for retrieving a single item by key.
52
- *
53
- * @template RetrieveParams The type of parameters for the retrieve operation
54
- * @template K The type of the key (must be a record key)
55
- */
56
- export interface RetrieveByKeyArgs<RetrieveParams extends Params, K extends record.Key, ScopedStore extends flux.Store> {
57
- /** Parameters for the retrieve operation */
58
- params: Partial<RetrieveParams>;
59
- /** The key of the item to retrieve */
21
+ export interface RetrieveByKeyParams<Query extends core.Shape, K extends record.Key, Store extends flux.Store> extends Omit<RetrieveParams<Query, Store>, "query"> {
22
+ query: Partial<Query>;
60
23
  key: K;
61
- /** The Synnax client instance */
62
- client: Client;
63
- /** The store instance */
64
- store: ScopedStore;
65
24
  }
66
- export interface RetrieveCachedArgs<RetrieveParams extends Params, ScopedStore extends flux.Store> {
67
- params: Partial<RetrieveParams>;
68
- store: ScopedStore;
25
+ export interface RetrieveCachedParams<Query extends core.Shape, Store extends flux.Store> {
26
+ query: Partial<Query>;
27
+ store: Store;
69
28
  }
70
- /**
71
- * Configuration arguments for creating a list query.
72
- *
73
- * @template RetrieveParams The type of parameters for the retrieve operation
74
- * @template K The type of the key (must be a record key)
75
- * @template E The type of the entity (must be keyed by K)
76
- */
77
- export interface CreateListArgs<RetrieveParams extends Params, K extends record.Key, E extends record.Keyed<K>, ScopedStore extends flux.Store> extends Omit<CreateRetrieveArgs<RetrieveParams, E[], ScopedStore>, "mountListeners"> {
78
- /** Function to sort the list */
29
+ export interface CreateListParams<Query extends core.Shape, K extends record.Key, E extends record.Keyed<K>, Store extends flux.Store> extends Omit<CreateRetrieveParams<Query, E[], Store>, "mountListeners"> {
79
30
  sort?: compare.Comparator<E>;
80
- /** Function to retrieve a single item by key for lazy loading */
81
- retrieveByKey: (args: RetrieveByKeyArgs<RetrieveParams, K, ScopedStore>) => Promise<E | undefined>;
82
- /** Function that allows */
83
- retrieveCached?: (args: RetrieveCachedArgs<RetrieveParams, ScopedStore>) => E[];
84
- /** Function to mount listeners for the list */
85
- mountListeners?: (args: ListMountListenersArgs<RetrieveParams, K, E, ScopedStore>) => Destructor | Destructor[];
31
+ retrieveByKey: (args: RetrieveByKeyParams<Query, K, Store>) => Promise<E | undefined>;
32
+ retrieveCached?: (args: RetrieveCachedParams<Query, Store>) => E[];
33
+ mountListeners?: (args: ListMountListenersParams<Query, K, E, Store>) => Destructor | Destructor[];
86
34
  }
87
- /**
88
- * Arguments for using a list hook.
89
- *
90
- * @template RetrieveParams The type of parameters for the retrieve operation
91
- * @template K The type of the key (must be a record key)
92
- * @template E The type of the entity (must be keyed by K)
93
- */
94
- export interface UseListArgs<RetrieveParams extends Params, K extends record.Key, E extends record.Keyed<K>> {
95
- /** Initial parameters for the list query */
96
- initialParams?: RetrieveParams;
97
- /** Optional filter function to apply to items */
35
+ export interface UseListParams<Query extends core.Shape, K extends record.Key, E extends record.Keyed<K>> {
36
+ initialQuery?: Query;
98
37
  filter?: (item: E) => boolean;
99
- /** Optional function to sort the list */
100
38
  sort?: compare.Comparator<E>;
101
- /** Debounce time for retrieve operations */
102
39
  retrieveDebounce?: CrudeTimeSpan;
40
+ useCachedList?: boolean;
103
41
  }
104
- /**
105
- * List hook function signature.
106
- *
107
- * @template RetrieveParams The type of parameters for the retrieve operation
108
- * @template K The type of the key (must be a record key)
109
- * @template E The type of the entity (must be keyed by K)
110
- */
111
- export interface UseList<RetrieveParams extends Params, K extends record.Key, E extends record.Keyed<K>> {
112
- (args?: UseListArgs<RetrieveParams, K, E>): UseListReturn<RetrieveParams, K, E>;
42
+ export interface UseList<Query extends core.Shape, K extends record.Key, E extends record.Keyed<K>> {
43
+ (args?: UseListParams<Query, K, E>): UseListReturn<Query, K, E>;
113
44
  }
114
45
  type ListChangeMode = "prepend" | "append" | "replace";
115
46
  interface ListenerOnChangeOptions {
116
47
  mode?: ListChangeMode;
117
48
  }
118
- /**
119
- * Extra arguments passed to list listener handlers.
120
- *
121
- * @template RetrieveParams The type of parameters for the retrieve operation
122
- * @template K The type of the key (must be a record key)
123
- * @template E The type of the entity (must be keyed by K)
124
- */
125
- export interface ListListenerExtraArgs<RetrieveParams extends Params, K extends record.Key, E extends record.Keyed<K>> {
126
- changed: MultiSeries;
127
- /** The current retrieve parameters */
128
- params: RetrieveParams;
129
- /** The Synnax client instance */
130
- client: Client;
131
- /** Function to update a specific item in the list */
132
- onChange: (key: K, e: state.SetArg<E | null>, opts?: ListenerOnChangeOptions) => void;
133
- /** Function to remove an item from the list */
134
- onDelete: (key: K) => void;
49
+ export interface ListMountListenersParams<Query extends core.Shape, Key extends record.Key, Data extends record.Keyed<Key>, Store extends flux.Store> extends Omit<RetrieveMountListenersParams<Query, Data[], Store>, "onChange" | "query"> {
50
+ query: Partial<Query>;
51
+ onChange: (key: Key, e: state.SetArg<Data | null>, opts?: ListenerOnChangeOptions) => void;
52
+ onDelete: (key: Key) => void;
135
53
  }
136
- /**
137
- * Configuration for a list listener that handles real-time updates.
138
- *
139
- * @template RetrieveParams The type of parameters for the retrieve operation
140
- * @template K The type of the key (must be a record key)
141
- * @template E The type of the entity (must be keyed by K)
142
- */
143
- export interface ListMountListenersArgs<RetrieveParams extends Params, K extends record.Key, E extends record.Keyed<K>, ScopedStore extends flux.Store> extends Omit<MountListenersArgs<ScopedStore, RetrieveParams, E[]>, "onChange" | "params"> {
144
- params: Partial<RetrieveParams>;
145
- onChange: (key: K, e: state.SetArg<E | null>, opts?: ListenerOnChangeOptions) => void;
146
- onDelete: (key: K) => void;
147
- }
148
- /**
149
- * Creates a list query hook that provides comprehensive list management with real-time updates.
150
- *
151
- * This function creates a React hook that handles:
152
- * - List data retrieval with loading states
153
- * - Individual item lazy loading
154
- * - Real-time synchronization with server state
155
- * - Pagination and infinite scrolling support
156
- * - Item filtering and search
157
- * - Optimistic updates and error handling
158
- * - Subscribe to individual item changes
159
- *
160
- * @template P The type of parameters for the list query
161
- * @template K The type of the key (must be a record key)
162
- * @template E The type of the entity (must be keyed by K)
163
- * @param config Configuration object with list retrieval functions and settings
164
- * @returns A React hook for managing the list
165
- *
166
- * @example
167
- * ```typescript
168
- * interface UserListParams extends Params {
169
- * department?: string;
170
- * searchTerm?: string;
171
- * offset?: number;
172
- * limit?: number;
173
- * }
174
- *
175
- * interface User {
176
- * id: number;
177
- * name: string;
178
- * email: string;
179
- * department: string;
180
- * }
181
- *
182
- * const useUserList = createList<UserListParams, number, User>({
183
- * name: "users",
184
- * retrieve: async ({ params, client }) => {
185
- * return await client.users.list(params);
186
- * },
187
- * retrieveByKey: async ({ key, client }) => {
188
- * return await client.users.get(key);
189
- * },
190
- * listeners: [
191
- * {
192
- * channel: "user_updates",
193
- * onChange: ({ changed, onChange, onDelete }) => {
194
- * const updates = changed.get("user_updates");
195
- * updates.forEach(update => {
196
- * if (update.deleted) {
197
- * onDelete(update.id);
198
- * } else {
199
- * onChange(update.id, update);
200
- * }
201
- * });
202
- * }
203
- * }
204
- * ]
205
- * });
206
- *
207
- * // Usage in component
208
- * const { data, getItem, retrieve, variant } = useUserList({
209
- * initialParams: { department: "engineering" },
210
- * filter: (user) => user.name.includes("John")
211
- * });
212
- *
213
- * // Get individual user (lazy loaded if not in cache)
214
- * const user = getItem(123);
215
- *
216
- * // Load more users
217
- * retrieve({ offset: data.length, limit: 10 }, { mode: "append" });
218
- * ```
219
- */
220
- export declare const createList: <P extends Params, K extends record.Key, E extends record.Keyed<K>, ScopedStore extends flux.Store = {}>({ name, mountListeners, retrieve, retrieveByKey, retrieveCached, sort: defaultSort, }: CreateListArgs<P, K, E, ScopedStore>) => UseList<P, K, E>;
221
- /**
222
- * Arguments for the useListItem hook.
223
- *
224
- * @template K The type of the key (must be a record key)
225
- * @template E The type of the entity (must be keyed by K)
226
- */
227
- export interface UseListItemArgs<K extends record.Key, E extends record.Keyed<K>> extends Pick<UseListReturn<Params, K, E>, "subscribe" | "getItem"> {
228
- /** The key of the item to retrieve and subscribe to */
54
+ export declare const createList: <Query extends core.Shape, Key extends record.Key, Data extends record.Keyed<Key>, ScopedStore extends flux.Store = {}>({ name, mountListeners, retrieve, retrieveByKey, retrieveCached, sort: defaultSort, }: CreateListParams<Query, Key, Data, ScopedStore>) => UseList<Query, Key, Data>;
55
+ export interface UseListItemArgs<K extends record.Key, E extends record.Keyed<K>> extends Pick<UseListReturn<core.Shape, K, E>, "subscribe" | "getItem"> {
229
56
  key: K;
230
57
  }
231
- /**
232
- * Hook for subscribing to and retrieving individual items from a list.
233
- *
234
- * This hook provides a way to efficiently track individual items from a list
235
- * with automatic re-rendering when the item changes. It uses React's
236
- * useSyncExternalStore to provide optimal performance.
237
- *
238
- * @template K The type of the key (must be a record key)
239
- * @template E The type of the entity (must be keyed by K)
240
- * @param args Configuration object with key and list utilities
241
- * @returns The current item data, or undefined if not found
242
- *
243
- * @example
244
- * ```typescript
245
- * const userList = useUserList();
246
- * const user = useListItem({
247
- * key: userId,
248
- * subscribe: userList.subscribe,
249
- * getItem: userList.getItem
250
- * });
251
- *
252
- * // Component will re-render when this specific user changes
253
- * if (user) {
254
- * return <div>{user.name} - {user.email}</div>;
255
- * }
256
- * ```
257
- */
258
58
  export declare const useListItem: <K extends record.Key, E extends record.Keyed<K>>({ key, subscribe, getItem, }: UseListItemArgs<K, E>) => E | undefined;
259
59
  export {};
260
60
  //# sourceMappingURL=list.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/flux/list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/flux/list.ts"],"names":[],"mappings":"AASA,OAAO,EACL,OAAO,EACP,KAAK,aAAa,EAClB,KAAK,UAAU,EAEf,KAAK,MAAM,EAEZ,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAIL,KAAK,MAAM,EAEZ,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,4BAA4B,EACjC,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAC;AAQzB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,MAAM,WAAW,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IACxB,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,YAAY;IACzD,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC7B;AAED,MAAM,MAAM,aAAa,CACvB,KAAK,SAAS,IAAI,CAAC,KAAK,EACxB,CAAC,SAAS,MAAM,CAAC,GAAG,EACpB,CAAC,SAAS,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IACvB,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG;IAC9B,QAAQ,EAAE,CACR,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAC1C,OAAO,CAAC,EAAE,gBAAgB,KACvB,IAAI,CAAC;IACV,aAAa,EAAE,CACb,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAC1C,OAAO,CAAC,EAAE,gBAAgB,KACvB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvB,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,UAAU,CAAC;CACzD,CAAC;AAEF,MAAM,WAAW,mBAAmB,CAClC,KAAK,SAAS,IAAI,CAAC,KAAK,EACxB,CAAC,SAAS,MAAM,CAAC,GAAG,EACpB,KAAK,SAAS,IAAI,CAAC,KAAK,CACxB,SAAQ,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IACnD,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACtB,GAAG,EAAE,CAAC,CAAC;CACR;AAED,MAAM,WAAW,oBAAoB,CACnC,KAAK,SAAS,IAAI,CAAC,KAAK,EACxB,KAAK,SAAS,IAAI,CAAC,KAAK;IAExB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACtB,KAAK,EAAE,KAAK,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB,CAC/B,KAAK,SAAS,IAAI,CAAC,KAAK,EACxB,CAAC,SAAS,MAAM,CAAC,GAAG,EACpB,CAAC,SAAS,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EACzB,KAAK,SAAS,IAAI,CAAC,KAAK,CACxB,SAAQ,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACvE,IAAI,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC7B,aAAa,EAAE,CAAC,IAAI,EAAE,mBAAmB,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACtF,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,oBAAoB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;IACnE,cAAc,CAAC,EAAE,CACf,IAAI,EAAE,wBAAwB,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,KAC/C,UAAU,GAAG,UAAU,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,aAAa,CAC5B,KAAK,SAAS,IAAI,CAAC,KAAK,EACxB,CAAC,SAAS,MAAM,CAAC,GAAG,EACpB,CAAC,SAAS,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAEzB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC7B,gBAAgB,CAAC,EAAE,aAAa,CAAC;IACjC,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,OAAO,CACtB,KAAK,SAAS,IAAI,CAAC,KAAK,EACxB,CAAC,SAAS,MAAM,CAAC,GAAG,EACpB,CAAC,SAAS,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAEzB,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,aAAa,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;CACjE;AAED,KAAK,cAAc,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEvD,UAAU,uBAAuB;IAC/B,IAAI,CAAC,EAAE,cAAc,CAAC;CACvB;AAED,MAAM,WAAW,wBAAwB,CACvC,KAAK,SAAS,IAAI,CAAC,KAAK,EACxB,GAAG,SAAS,MAAM,CAAC,GAAG,EACtB,IAAI,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAC9B,KAAK,SAAS,IAAI,CAAC,KAAK,CACxB,SAAQ,IAAI,CACV,4BAA4B,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,EAClD,UAAU,GAAG,OAAO,CACrB;IACD,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACtB,QAAQ,EAAE,CACR,GAAG,EAAE,GAAG,EACR,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,EAC5B,IAAI,CAAC,EAAE,uBAAuB,KAC3B,IAAI,CAAC;IACV,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;CAC9B;AA2CD,eAAO,MAAM,UAAU,GAEnB,KAAK,SAAS,IAAI,CAAC,KAAK,EACxB,GAAG,SAAS,MAAM,CAAC,GAAG,EACtB,IAAI,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAC9B,WAAW,SAAS,IAAI,CAAC,KAAK,GAAG,EAAE,EACnC,uFAOC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,CAAC,KAAG,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAoO5E,CAAC;AAEJ,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAC9E,SAAQ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACtE,GAAG,EAAE,CAAC,CAAC;CACR;AAED,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,8BAI1E,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,kBAIrB,CAAC"}
@@ -1,102 +1,44 @@
1
1
  import { status } from '@synnaxlabs/x';
2
+ import { default as z } from 'zod';
2
3
  import { state } from '../state';
3
- /**
4
- * The result of a query operation that can be in one of three states:
5
- * - `loading` - Data is currently being fetched from the server
6
- * - `error` - An error occurred while fetching data, or while handling values provided
7
- * to a listener
8
- * - `success` - Data was successfully fetched and is available in the `data` field
9
- *
10
- * @template Data The type of data being retrieved, must extend state.State
11
- *
12
- * @example
13
- * ```typescript
14
- * const result: Result<User[]> = {
15
- * variant: "success",
16
- * data: [{ id: 1, name: "John" }],
17
- * error: null,
18
- * message: "Retrieved users"
19
- * };
20
- * ```
21
- */
22
- export type Result<Data extends state.State> = {
4
+ export type InitialStatusDetailsContainer<StatusDetails extends z.ZodType = z.ZodNever> = [StatusDetails] extends [z.ZodNever] ? {} : {
5
+ initialStatusDetails: z.output<StatusDetails>;
6
+ };
7
+ export declare const parseInitialStatusDetails: <StatusDetails extends z.ZodType = z.ZodNever>(container: InitialStatusDetailsContainer<StatusDetails>) => z.output<StatusDetails>;
8
+ export declare const resultStatusDetails: <Data extends state.State, StatusDetails extends z.ZodType = z.ZodNever>(result: Result<Data, StatusDetails>) => z.output<StatusDetails>;
9
+ export type ResultStatus<StatusDetails extends z.ZodType = z.ZodNever> = status.Status<StatusDetails, "success"> | status.Status<StatusDetails, "loading"> | status.Status<StatusDetails, "disabled"> | status.Status<typeof status.exceptionDetailsSchema, "error">;
10
+ export interface ErrorResult {
23
11
  variant: "error";
24
- status: status.Status<status.ExceptionDetails, "error">;
12
+ status: status.Status<typeof status.exceptionDetailsSchema, "error">;
25
13
  data: undefined;
26
- } | {
14
+ }
15
+ export type SuccessResult<Data extends state.State, StatusDetails extends z.ZodType = z.ZodNever> = {
27
16
  variant: "success";
28
- status: status.Status<undefined, "success">;
17
+ status: status.Status<StatusDetails, "success">;
29
18
  data: Data;
30
- } | {
19
+ };
20
+ export type LoadingResult<Data extends state.State, StatusDetails extends z.ZodType = z.ZodNever> = {
31
21
  variant: "loading";
32
- status: status.Status<undefined, "loading">;
22
+ status: status.Status<StatusDetails, "loading">;
33
23
  data: Data | undefined;
34
- } | {
24
+ };
25
+ export type DisabledResult<Data extends state.State, StatusDetails extends z.ZodType = z.ZodNever> = {
35
26
  variant: "disabled";
36
- status: status.Status<undefined, "disabled">;
27
+ status: status.Status<StatusDetails, "disabled">;
37
28
  data: Data | undefined;
38
29
  };
39
- /**
40
- * Factory function to create a loading result state.
41
- *
42
- * @template Data The type of data being retrieved
43
- * @param name The name of the resource being retrieved (used in status messages)
44
- * @param op The operation being performed (e.g., "retrieving", "updating")
45
- * @param data Optional existing data to preserve during loading
46
- * @returns A Result object in loading state
47
- *
48
- * @example
49
- * ```typescript
50
- * const loadingResult = pendingResult<User[]>("users", "retrieving");
51
- * // Returns: { variant: "loading", data: null, error: null, message: "Retrieving users" }
52
- * ```
53
- */
54
- export declare const pendingResult: <Data extends state.State>(name: string, op: string, data: Data | undefined) => Result<Data>;
55
- /**
56
- * Factory function to create a success result state.
57
- *
58
- * @template Data The type of data being retrieved
59
- * @param name The name of the resource being retrieved (used in status messages)
60
- * @param op The operation that was performed (e.g., "retrieved", "updated")
61
- * @param data The successfully retrieved data
62
- * @returns A Result object in success state
63
- *
64
- * @example
65
- * ```typescript
66
- * const successResult = successResult<User[]>("users", "retrieved", userList);
67
- * // Returns: { variant: "success", data: userList, error: null, message: "Retrieved users" }
68
- * ```
69
- */
70
- export declare const successResult: <Data extends state.State>(name: string, op: string, data: Data) => Result<Data>;
71
- /**
72
- * Factory function to create an error result state.
73
- *
74
- * @template Data The type of data being retrieved
75
- * @param name The name of the resource being retrieved (used in status messages)
76
- * @param op The operation that failed (e.g., "retrieve", "update")
77
- * @param error The error that occurred
78
- * @returns A Result object in error state
79
- *
80
- * @example
81
- * ```typescript
82
- * const errorResult = errorResult<User[]>("users", "retrieve", new Error("Network error"));
83
- * // Returns: { variant: "error", data: null, error: Error, message: "Failed to retrieve users" }
84
- * ```
85
- */
86
- export declare const errorResult: <Data extends state.State>(name: string, op: string, error: unknown) => Result<Data>;
87
- /**
88
- * Factory function to create an error result for operations that require a connected client.
89
- *
90
- * @template Data The type of data being retrieved
91
- * @param name The name of the resource being retrieved
92
- * @param opName The operation that cannot be performed
93
- * @returns A Result object in error state with a DisconnectedError
94
- *
95
- * @example
96
- * ```typescript
97
- * const result = nullClientResult<User[]>("users", "retrieve");
98
- * // Returns error result with message: "Cannot retrieve users because no cluster is connected."
99
- * ```
100
- */
101
- export declare const nullClientResult: <Data extends state.State>(name: string, opName: string) => Result<Data>;
30
+ export type Result<Data extends state.State, StatusDetails extends z.ZodType = z.ZodNever> = ErrorResult | SuccessResult<Data, StatusDetails> | LoadingResult<Data, StatusDetails> | DisabledResult<Data, StatusDetails>;
31
+ interface ResultCreator {
32
+ <Data extends state.State>(op: string, data?: Data | undefined): Result<Data, never>;
33
+ <Data extends state.State, StatusDetails extends z.ZodType = z.ZodNever>(op: string, data: Data | undefined, statusDetails: z.output<StatusDetails>): Result<Data, StatusDetails>;
34
+ }
35
+ export declare const loadingResult: ResultCreator;
36
+ export declare const successResult: ResultCreator;
37
+ export declare const errorResult: (op: string, error: unknown) => ErrorResult;
38
+ interface NullClientResultCreator {
39
+ <Data extends state.State>(op: string): DisabledResult<Data, never>;
40
+ <Data extends state.State, StatusDetails extends z.ZodType = z.ZodNever>(op: string, statusDetails: z.output<StatusDetails>): DisabledResult<Data, StatusDetails>;
41
+ }
42
+ export declare const nullClientResult: NullClientResultCreator;
43
+ export {};
102
44
  //# sourceMappingURL=result.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../../src/flux/result.ts"],"names":[],"mappings":"AASA,OAAO,EAAY,MAAM,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,MAAM,CAAC,IAAI,SAAS,KAAK,CAAC,KAAK,IACvC;IACE,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IACxD,IAAI,EAAE,SAAS,CAAC;CACjB,GACD;IACE,OAAO,EAAE,SAAS,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC5C,IAAI,EAAE,IAAI,CAAC;CACZ,GACD;IACE,OAAO,EAAE,SAAS,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC5C,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;CACxB,GACD;IACE,OAAO,EAAE,UAAU,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC7C,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;CACxB,CAAC;AAEN;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,GAAI,IAAI,SAAS,KAAK,CAAC,KAAK,EACpD,MAAM,MAAM,EACZ,IAAI,MAAM,EACV,MAAM,IAAI,GAAG,SAAS,KACrB,MAAM,CAAC,IAAI,CAOZ,CAAC;AAEH;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,GAAI,IAAI,SAAS,KAAK,CAAC,KAAK,EACpD,MAAM,MAAM,EACZ,IAAI,MAAM,EACV,MAAM,IAAI,KACT,MAAM,CAAC,IAAI,CAOZ,CAAC;AAEH;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,WAAW,GAAI,IAAI,SAAS,KAAK,CAAC,KAAK,EAClD,MAAM,MAAM,EACZ,IAAI,MAAM,EACV,OAAO,OAAO,KACb,MAAM,CAAC,IAAI,CAIZ,CAAC;AAEH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gBAAgB,GAAI,IAAI,SAAS,KAAK,CAAC,KAAK,EACvD,MAAM,MAAM,EACZ,QAAQ,MAAM,KACb,MAAM,CAAC,IAAI,CAQZ,CAAC"}
1
+ {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../../src/flux/result.ts"],"names":[],"mappings":"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"}