@synnaxlabs/pluto 0.44.2 → 0.44.3

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 (213) hide show
  1. package/dist/{Animated-D5cL3URg.js → Animated-BHxq6Pmm.js} +2 -2
  2. package/dist/{Animated-DnsZ5vvU.cjs → Animated-DEXELMDa.cjs} +1 -1
  3. package/dist/LinePlot-BJ10hKs7.cjs +53 -0
  4. package/dist/{provider-Bp-CLkh2.js → LinePlot-VIcFjuPQ.js} +4543 -4448
  5. package/dist/{Toggle-Dol9oHzM.js → Toggle-C--I90ch.js} +1 -1
  6. package/dist/{Toggle-Ckdi4fKV.cjs → Toggle-CCsw0kkq.cjs} +1 -1
  7. package/dist/{Video-BidrtYj_.cjs → Video-BbRLzkdH.cjs} +1 -1
  8. package/dist/{Video-Cm8ZBqid.js → Video-DdsVXhnt.js} +1 -1
  9. package/dist/button.cjs +1 -1
  10. package/dist/button.js +1 -1
  11. package/dist/color.cjs +1 -1
  12. package/dist/color.js +1 -1
  13. package/dist/{css-Dl9aM7Jz.js → css-BKrX40Df.js} +713 -685
  14. package/dist/css-TyQvZIXQ.cjs +8 -0
  15. package/dist/css.cjs +1 -1
  16. package/dist/css.js +2 -2
  17. package/dist/dialog.cjs +1 -1
  18. package/dist/dialog.js +1 -1
  19. package/dist/eraser-Bxknv-HS.cjs +63 -0
  20. package/dist/{eraser-CZknVTjw.js → eraser-DtXU7kOS.js} +4811 -4746
  21. package/dist/ether.cjs +1 -1
  22. package/dist/ether.js +66 -63
  23. package/dist/{external-CU_XHLqP.js → external-BApQK7XP.js} +3 -3
  24. package/dist/{external-CkvXTCCL.cjs → external-BBXhtVjD.cjs} +1 -1
  25. package/dist/{external-xfHaehZH.js → external-BOmNpcyI.js} +20 -20
  26. package/dist/{external-ClD4VLgc.cjs → external-BPF50O_x.cjs} +1 -1
  27. package/dist/{external-DOd9BcLC.js → external-BT0nByPv.js} +2 -2
  28. package/dist/{external-BGCkpetp.cjs → external-BUAnicLg.cjs} +1 -1
  29. package/dist/{external-_eEnQPcq.cjs → external-BaRBYE0N.cjs} +1 -1
  30. package/dist/{external-B8qSW3N8.js → external-BmfZaFKB.js} +3 -3
  31. package/dist/external-BsyCwXWB.cjs +1 -0
  32. package/dist/{external-B5RyMtMy.js → external-Bt-WjDvD.js} +8 -8
  33. package/dist/{external-B_NFroo8.js → external-CEMgElRx.js} +10 -10
  34. package/dist/{external-DFsKdN71.cjs → external-COBt6FnN.cjs} +1 -1
  35. package/dist/{external-DXY1bIut.cjs → external-CZSk2V5E.cjs} +1 -1
  36. package/dist/{external-CY2bvy20.cjs → external-Cw5iYImi.cjs} +1 -1
  37. package/dist/{external-Ylv9Wts9.js → external-Dgui980d.js} +74 -75
  38. package/dist/external-Dwfn2jsF.js +42 -0
  39. package/dist/external-EMhi5ISu.cjs +1 -0
  40. package/dist/{external-DPqPAgoV.cjs → external-Jee63xkv.cjs} +1 -1
  41. package/dist/{external-CJZTgfAH.js → external-NUi5IwGn.js} +20 -20
  42. package/dist/{external-DnnHYQqD.js → external-ONwuyKzG.js} +27 -27
  43. package/dist/{external-DZqxSCvz.cjs → external-TAYJZFme.cjs} +1 -1
  44. package/dist/external-bvOijYCw.cjs +1 -0
  45. package/dist/{external-pm79tCDD.js → external-dkXc0y5z.js} +20 -20
  46. package/dist/{external-BYJw6DJV.js → external-n4gJTJfw.js} +23 -23
  47. package/dist/{external-b2X_jilF.js → external-tHxdTvxn.js} +2 -2
  48. package/dist/{external-BJ91nMtQ.cjs → external-yddEc8os.cjs} +1 -1
  49. package/dist/flex.cjs +1 -1
  50. package/dist/flex.js +1 -1
  51. package/dist/{fontString-BptzSQcY.cjs → fontString-BWGnZU-8.cjs} +1 -1
  52. package/dist/{fontString-Bm52S4Lo.js → fontString-D2-HUuI_.js} +2 -2
  53. package/dist/header.cjs +1 -1
  54. package/dist/header.js +1 -1
  55. package/dist/index.cjs +7 -7
  56. package/dist/index.js +10291 -10365
  57. package/dist/input.cjs +1 -1
  58. package/dist/input.js +1 -1
  59. package/dist/list.cjs +1 -1
  60. package/dist/list.js +1 -1
  61. package/dist/menu.cjs +1 -1
  62. package/dist/menu.js +1 -1
  63. package/dist/pluto.css +1 -1
  64. package/dist/src/channel/AliasInput.d.ts +3 -1
  65. package/dist/src/channel/AliasInput.d.ts.map +1 -1
  66. package/dist/src/channel/Select.d.ts.map +1 -1
  67. package/dist/src/channel/external.d.ts +0 -2
  68. package/dist/src/channel/external.d.ts.map +1 -1
  69. package/dist/src/channel/queries.d.ts +84 -6
  70. package/dist/src/channel/queries.d.ts.map +1 -1
  71. package/dist/src/dialog/Frame.d.ts.map +1 -1
  72. package/dist/src/flux/Provider.d.ts +9 -7
  73. package/dist/src/flux/Provider.d.ts.map +1 -1
  74. package/dist/src/flux/aether/external.d.ts +4 -3
  75. package/dist/src/flux/aether/external.d.ts.map +1 -1
  76. package/dist/src/flux/aether/provider.d.ts +31 -25
  77. package/dist/src/flux/aether/provider.d.ts.map +1 -1
  78. package/dist/src/flux/core/client.d.ts +21 -0
  79. package/dist/src/flux/core/client.d.ts.map +1 -0
  80. package/dist/src/flux/core/external.d.ts +4 -0
  81. package/dist/src/flux/core/external.d.ts.map +1 -0
  82. package/dist/src/flux/core/index.d.ts +2 -0
  83. package/dist/src/flux/core/index.d.ts.map +1 -0
  84. package/dist/src/flux/core/params.d.ts.map +1 -0
  85. package/dist/src/flux/core/store.d.ts +128 -0
  86. package/dist/src/flux/core/store.d.ts.map +1 -0
  87. package/dist/src/flux/core/store.spec.d.ts +2 -0
  88. package/dist/src/flux/core/store.spec.d.ts.map +1 -0
  89. package/dist/src/flux/core/streamer.d.ts +31 -0
  90. package/dist/src/flux/core/streamer.d.ts.map +1 -0
  91. package/dist/src/flux/core/streamer.spec.d.ts.map +1 -0
  92. package/dist/src/flux/external.d.ts +3 -5
  93. package/dist/src/flux/external.d.ts.map +1 -1
  94. package/dist/src/flux/form.d.ts +6 -3
  95. package/dist/src/flux/form.d.ts.map +1 -1
  96. package/dist/src/flux/list.d.ts +13 -13
  97. package/dist/src/flux/list.d.ts.map +1 -1
  98. package/dist/src/flux/result.d.ts +10 -9
  99. package/dist/src/flux/result.d.ts.map +1 -1
  100. package/dist/src/flux/retrieve.d.ts +18 -39
  101. package/dist/src/flux/retrieve.d.ts.map +1 -1
  102. package/dist/src/flux/update.d.ts +12 -7
  103. package/dist/src/flux/update.d.ts.map +1 -1
  104. package/dist/src/form/state.d.ts +3 -1
  105. package/dist/src/form/state.d.ts.map +1 -1
  106. package/dist/src/form/use.d.ts +1 -0
  107. package/dist/src/form/use.d.ts.map +1 -1
  108. package/dist/src/hardware/device/queries.d.ts +12 -4
  109. package/dist/src/hardware/device/queries.d.ts.map +1 -1
  110. package/dist/src/hardware/rack/external.d.ts +0 -3
  111. package/dist/src/hardware/rack/external.d.ts.map +1 -1
  112. package/dist/src/hardware/rack/queries.d.ts +13 -0
  113. package/dist/src/hardware/rack/queries.d.ts.map +1 -1
  114. package/dist/src/hardware/task/queries.d.ts +12 -5
  115. package/dist/src/hardware/task/queries.d.ts.map +1 -1
  116. package/dist/src/hooks/index.d.ts +1 -0
  117. package/dist/src/hooks/index.d.ts.map +1 -1
  118. package/dist/src/hooks/useDestructors.d.ts +7 -0
  119. package/dist/src/hooks/useDestructors.d.ts.map +1 -0
  120. package/dist/src/label/queries.d.ts +21 -19
  121. package/dist/src/label/queries.d.ts.map +1 -1
  122. package/dist/src/menu/ContextMenu.d.ts +1 -0
  123. package/dist/src/menu/ContextMenu.d.ts.map +1 -1
  124. package/dist/src/mosaic/tree.d.ts.map +1 -1
  125. package/dist/src/ontology/queries.d.ts +19 -4
  126. package/dist/src/ontology/queries.d.ts.map +1 -1
  127. package/dist/src/pluto/Pluto.d.ts +23 -2
  128. package/dist/src/pluto/Pluto.d.ts.map +1 -1
  129. package/dist/src/pluto/aether/pluto.d.ts.map +1 -1
  130. package/dist/src/ranger/aether/index.d.ts +2 -0
  131. package/dist/src/ranger/aether/index.d.ts.map +1 -0
  132. package/dist/src/ranger/aether/queries.d.ts +11 -0
  133. package/dist/src/ranger/aether/queries.d.ts.map +1 -0
  134. package/dist/src/ranger/queries.d.ts +28 -22
  135. package/dist/src/ranger/queries.d.ts.map +1 -1
  136. package/dist/src/state/state.d.ts +1 -1
  137. package/dist/src/state/state.d.ts.map +1 -1
  138. package/dist/src/status/Aggregator.d.ts +3 -0
  139. package/dist/src/status/Aggregator.d.ts.map +1 -1
  140. package/dist/src/status/Summary.d.ts.map +1 -1
  141. package/dist/src/status/aether/aggregator.d.ts +2 -12
  142. package/dist/src/status/aether/aggregator.d.ts.map +1 -1
  143. package/dist/src/status/aether/errorHandler.d.ts +15 -0
  144. package/dist/src/status/aether/errorHandler.d.ts.map +1 -0
  145. package/dist/src/status/aether/errorHandler.spec.d.ts +2 -0
  146. package/dist/src/status/aether/errorHandler.spec.d.ts.map +1 -0
  147. package/dist/src/status/aether/external.d.ts +3 -0
  148. package/dist/src/status/aether/external.d.ts.map +1 -0
  149. package/dist/src/status/aether/index.d.ts +1 -1
  150. package/dist/src/status/aether/index.d.ts.map +1 -1
  151. package/dist/src/testutil/Synnax.d.ts +6 -1
  152. package/dist/src/testutil/Synnax.d.ts.map +1 -1
  153. package/dist/src/text/Editable.d.ts.map +1 -1
  154. package/dist/src/vis/lineplot/range/aether/provider.d.ts +6 -18
  155. package/dist/src/vis/lineplot/range/aether/provider.d.ts.map +1 -1
  156. package/dist/src/vis/schematic/Forms.d.ts.map +1 -1
  157. package/dist/src/vis/value/TelemForm.d.ts.map +1 -1
  158. package/dist/src/workspace/queries.d.ts +8 -0
  159. package/dist/src/workspace/queries.d.ts.map +1 -1
  160. package/dist/{symbols-B15FeAg9.cjs → symbols-DWZqHjhU.cjs} +45 -45
  161. package/dist/{symbols-Lz5vQQDw.js → symbols-aLnytgtc.js} +6093 -6048
  162. package/dist/tabs.cjs +1 -1
  163. package/dist/tabs.js +1 -1
  164. package/dist/text.cjs +1 -1
  165. package/dist/text.js +2 -2
  166. package/dist/theming.cjs +1 -1
  167. package/dist/theming.js +2 -2
  168. package/dist/tree.cjs +1 -1
  169. package/dist/tree.js +1 -1
  170. package/dist/triggers.cjs +1 -1
  171. package/dist/triggers.js +1 -1
  172. package/dist/{units-BGkvnLO-.cjs → units-XE06scfL.cjs} +1 -1
  173. package/dist/{units-HcS_zslH.js → units-ny6lkoIv.js} +1 -1
  174. package/dist/video.cjs +1 -1
  175. package/dist/video.js +1 -1
  176. package/package.json +5 -5
  177. package/dist/Menu-C-MABQ1r.js +0 -61
  178. package/dist/Menu-vR5-lqo4.cjs +0 -1
  179. package/dist/css-9yccD6t_.cjs +0 -8
  180. package/dist/eraser-CLWNvWDn.cjs +0 -63
  181. package/dist/external-CS6l_QN4.cjs +0 -1
  182. package/dist/external-CVNscTLA.js +0 -42
  183. package/dist/external-CtooTI5M.cjs +0 -1
  184. package/dist/external-DNHOS3w0.cjs +0 -1
  185. package/dist/provider-DBSsDoFS.cjs +0 -53
  186. package/dist/src/channel/AliasContext.d.ts +0 -19
  187. package/dist/src/channel/AliasContext.d.ts.map +0 -1
  188. package/dist/src/channel/AliasProvider.d.ts +0 -6
  189. package/dist/src/channel/AliasProvider.d.ts.map +0 -1
  190. package/dist/src/flux/Context.d.ts +0 -4
  191. package/dist/src/flux/Context.d.ts.map +0 -1
  192. package/dist/src/flux/aether/listeners.d.ts +0 -16
  193. package/dist/src/flux/aether/listeners.d.ts.map +0 -1
  194. package/dist/src/flux/aether/params.d.ts.map +0 -1
  195. package/dist/src/flux/aether/streamer.d.ts +0 -22
  196. package/dist/src/flux/aether/streamer.d.ts.map +0 -1
  197. package/dist/src/flux/aether/streamer.spec.d.ts.map +0 -1
  198. package/dist/src/flux/aether/types.d.ts +0 -13
  199. package/dist/src/flux/aether/types.d.ts.map +0 -1
  200. package/dist/src/flux/listeners.d.ts +0 -4
  201. package/dist/src/flux/listeners.d.ts.map +0 -1
  202. package/dist/src/flux/listeners.spec.d.ts +0 -2
  203. package/dist/src/flux/listeners.spec.d.ts.map +0 -1
  204. package/dist/src/flux/useMountListeners.d.ts +0 -7
  205. package/dist/src/flux/useMountListeners.d.ts.map +0 -1
  206. package/dist/src/hardware/rack/synchronizers.d.ts +0 -3
  207. package/dist/src/hardware/rack/synchronizers.d.ts.map +0 -1
  208. package/dist/src/hardware/rack/use.d.ts +0 -3
  209. package/dist/src/hardware/rack/use.d.ts.map +0 -1
  210. package/dist/src/hardware/rack/useStatus.d.ts +0 -3
  211. package/dist/src/hardware/rack/useStatus.d.ts.map +0 -1
  212. /package/dist/src/flux/{aether → core}/params.d.ts +0 -0
  213. /package/dist/src/flux/{aether → core}/streamer.spec.d.ts +0 -0
@@ -1,9 +1,11 @@
1
1
  import { channel } from '@synnaxlabs/client';
2
2
  import { ReactElement } from 'react';
3
+ import { Channel } from '.';
3
4
  import { Input } from '../input';
4
5
  export interface AliasInputProps extends Input.TextProps {
5
6
  channelKey: channel.Key;
7
+ rangeKey?: string;
6
8
  shadow?: boolean;
7
9
  }
8
- export declare const AliasInput: ({ channelKey, shadow, className, ...rest }: AliasInputProps) => ReactElement;
10
+ export declare const AliasInput: ({ channelKey, rangeKey, shadow, className, ...rest }: AliasInputProps) => ReactElement;
9
11
  //# sourceMappingURL=AliasInput.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AliasInput.d.ts","sourceRoot":"","sources":["../../../src/channel/AliasInput.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,KAAK,YAAY,EAAY,MAAM,OAAO,CAAC;AAKpD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIhC,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,SAAS;IACtD,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,eAAO,MAAM,UAAU,GAAI,4CAKxB,eAAe,KAAG,YAyEpB,CAAC"}
1
+ {"version":3,"file":"AliasInput.d.ts","sourceRoot":"","sources":["../../../src/channel/AliasInput.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,KAAK,YAAY,EAAY,MAAM,OAAO,CAAC;AAGpD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIhC,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,SAAS;IACtD,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,eAAO,MAAM,UAAU,GAAI,sDAMxB,eAAe,KAAG,YAiFpB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/channel/Select.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,EAAE,KAAK,UAAU,EAAW,MAAM,mBAAmB,CAAC;AAG7D,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,eAAO,MAAM,WAAW,GAAI,KAAK,OAAO,CAAC,OAAO,KAAG,IAAI,CAAC,EAUvD,CAAC;AAiBF,MAAM,WAAW,mBACf,SAAQ,IAAI,CACR,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,EAC9D,cAAc,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,CAC/D,EACD,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC;CAAG;AAEjE,eAAO,MAAM,cAAc,GAAI,mEAO5B,mBAAmB,KAAG,YAyBxB,CAAC;AAEF,MAAM,WAAW,iBACf,SAAQ,IAAI,CACR,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,EAC5D,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,cAAc,CAC/D,EACD,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC;CAAG;AAEjE,eAAO,MAAM,YAAY,GAAI,8EAQ1B,iBAAiB,KAAG,YA0BtB,CAAC"}
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/channel/Select.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,KAAK,UAAU,EAAW,MAAM,mBAAmB,CAAC;AAG7D,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,eAAO,MAAM,WAAW,GAAI,KAAK,OAAO,CAAC,OAAO,KAAG,IAAI,CAAC,EAUvD,CAAC;AAeF,MAAM,WAAW,mBACf,SAAQ,IAAI,CACR,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,EAC9D,cAAc,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,CAC/D,EACD,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC;CAAG;AAEjE,eAAO,MAAM,cAAc,GAAI,mEAO5B,mBAAmB,KAAG,YAyBxB,CAAC;AAEF,MAAM,WAAW,iBACf,SAAQ,IAAI,CACR,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,EAC5D,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,cAAc,CAC/D,EACD,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC;CAAG;AAEjE,eAAO,MAAM,YAAY,GAAI,8EAQ1B,iBAAiB,KAAG,YA0BtB,CAAC"}
@@ -1,6 +1,4 @@
1
- export { type Aliases, useActiveRange, useAlias, useAliases, useAliasSetter, useName, } from './AliasContext';
2
1
  export * from './AliasInput';
3
- export * from './AliasProvider';
4
2
  export * from './LinePlot';
5
3
  export * from './queries';
6
4
  export * from './Select';
@@ -1 +1 @@
1
- {"version":3,"file":"external.d.ts","sourceRoot":"","sources":["../../../src/channel/external.ts"],"names":[],"mappings":"AASA,OAAO,EACL,KAAK,OAAO,EACZ,cAAc,EACd,QAAQ,EACR,UAAU,EACV,cAAc,EACd,OAAO,GACR,MAAM,wBAAwB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"external.d.ts","sourceRoot":"","sources":["../../../src/channel/external.ts"],"names":[],"mappings":"AASA,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC"}
@@ -1,9 +1,31 @@
1
- import { channel, DataType } from '@synnaxlabs/client';
1
+ import { channel, DataType, ranger } from '@synnaxlabs/client';
2
+ import { Optional } from '@synnaxlabs/x';
2
3
  import { z } from 'zod';
3
4
  import { Flux } from '../flux';
4
- export declare const useCalculationStatusSynchronizer: (onStatusChange: (status: channel.CalculationStatus) => void) => void;
5
+ import { Ranger } from '../ranger';
6
+ export declare const FLUX_STORE_KEY = "channels";
7
+ export interface FluxStore extends Flux.UnaryStore<channel.Key, channel.Channel> {
8
+ }
9
+ interface SubStore extends Flux.Store {
10
+ [FLUX_STORE_KEY]: FluxStore;
11
+ [Ranger.RANGE_ALIASES_FLUX_STORE_KEY]: Ranger.AliasFluxStore;
12
+ }
13
+ export declare const useListenForCalculationStatus: (onChange: (status: channel.Status) => void) => void;
14
+ export declare const STORE_CONFIG: Flux.UnaryStoreConfig<SubStore, channel.Key, channel.Channel>;
5
15
  export declare const formSchema: z.ZodObject<{
6
16
  alias: z.ZodOptional<z.ZodString>;
17
+ status: z.ZodOptional<z.ZodObject<{
18
+ key: z.ZodString;
19
+ variant: typeof import('node_modules/@synnaxlabs/x/dist/src/status/status').variantZ;
20
+ message: z.ZodString;
21
+ description: z.ZodOptional<z.ZodString>;
22
+ time: z.ZodUnion<readonly [z.ZodCustom<import('@synnaxlabs/x').TimeStamp, import('@synnaxlabs/x').TimeStamp>, z.ZodPipe<z.ZodObject<{
23
+ value: z.ZodBigInt;
24
+ }, z.core.$strip>, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, {
25
+ value: bigint;
26
+ }>>, z.ZodPipe<z.ZodString, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, string>>, z.ZodPipe<z.ZodNumber, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, number>>, z.ZodPipe<z.ZodBigInt, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, bigint>>, z.ZodPipe<z.ZodDate, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, Date>>, z.ZodPipe<z.ZodCustom<import('@synnaxlabs/x').TimeSpan, import('@synnaxlabs/x').TimeSpan>, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, import('@synnaxlabs/x').TimeSpan>>, z.ZodPipe<z.ZodUnion<readonly [z.ZodTuple<[z.ZodInt], null>, z.ZodTuple<[z.ZodInt, z.ZodInt], null>, z.ZodTuple<[z.ZodInt, z.ZodInt, z.ZodInt], null>]>, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, [number] | [number, number] | [number, number, number]>>]>;
27
+ details: z.ZodOptional<z.ZodUnknown>;
28
+ }, z.core.$strip>>;
7
29
  key: z.ZodOptional<z.ZodNumber>;
8
30
  leaseholder: z.ZodOptional<z.ZodNumber>;
9
31
  index: z.ZodOptional<z.ZodNumber>;
@@ -17,6 +39,18 @@ export declare const formSchema: z.ZodObject<{
17
39
  }, z.core.$strip>;
18
40
  export declare const calculatedFormSchema: z.ZodObject<{
19
41
  alias: z.ZodOptional<z.ZodString>;
42
+ status: z.ZodOptional<z.ZodObject<{
43
+ key: z.ZodString;
44
+ variant: typeof import('node_modules/@synnaxlabs/x/dist/src/status/status').variantZ;
45
+ message: z.ZodString;
46
+ description: z.ZodOptional<z.ZodString>;
47
+ time: z.ZodUnion<readonly [z.ZodCustom<import('@synnaxlabs/x').TimeStamp, import('@synnaxlabs/x').TimeStamp>, z.ZodPipe<z.ZodObject<{
48
+ value: z.ZodBigInt;
49
+ }, z.core.$strip>, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, {
50
+ value: bigint;
51
+ }>>, z.ZodPipe<z.ZodString, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, string>>, z.ZodPipe<z.ZodNumber, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, number>>, z.ZodPipe<z.ZodBigInt, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, bigint>>, z.ZodPipe<z.ZodDate, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, Date>>, z.ZodPipe<z.ZodCustom<import('@synnaxlabs/x').TimeSpan, import('@synnaxlabs/x').TimeSpan>, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, import('@synnaxlabs/x').TimeSpan>>, z.ZodPipe<z.ZodUnion<readonly [z.ZodTuple<[z.ZodInt], null>, z.ZodTuple<[z.ZodInt, z.ZodInt], null>, z.ZodTuple<[z.ZodInt, z.ZodInt, z.ZodInt], null>]>, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, [number] | [number, number] | [number, number, number]>>]>;
52
+ details: z.ZodOptional<z.ZodUnknown>;
53
+ }, z.core.$strip>>;
20
54
  key: z.ZodOptional<z.ZodNumber>;
21
55
  leaseholder: z.ZodOptional<z.ZodNumber>;
22
56
  index: z.ZodOptional<z.ZodNumber>;
@@ -28,12 +62,32 @@ export declare const calculatedFormSchema: z.ZodObject<{
28
62
  dataType: z.ZodPipe<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<DataType, string>>, z.ZodCustom<DataType, DataType>]>, z.ZodTransform<string, DataType>>;
29
63
  expression: z.ZodString;
30
64
  }, z.core.$strip>;
31
- export interface FluxParams {
32
- key?: channel.Key;
65
+ export interface RetrieveArgs {
66
+ key: channel.Key;
67
+ rangeKey?: ranger.Key;
33
68
  }
34
69
  export declare const ZERO_FORM_VALUES: z.infer<typeof formSchema | typeof calculatedFormSchema>;
35
- export declare const useForm: (args: Flux.UseFormArgs<FluxParams, typeof formSchema>) => Flux.UseFormReturn<z.ZodObject<{
70
+ export declare const retrieve: Flux.CreateRetrieveReturn<RetrieveArgs, channel.Channel>;
71
+ export interface RetrieveManyArgs extends channel.RetrieveOptions {
72
+ keys: channel.Keys;
73
+ }
74
+ export declare const retrieveMany: Flux.CreateRetrieveReturn<RetrieveManyArgs, channel.Channel[]>;
75
+ export interface FormRetrieveArgs extends Optional<RetrieveArgs, "key"> {
76
+ }
77
+ export declare const useForm: Flux.UseForm<FormRetrieveArgs, z.ZodObject<{
36
78
  alias: z.ZodOptional<z.ZodString>;
79
+ status: z.ZodOptional<z.ZodObject<{
80
+ key: z.ZodString;
81
+ variant: typeof import('node_modules/@synnaxlabs/x/dist/src/status/status').variantZ;
82
+ message: z.ZodString;
83
+ description: z.ZodOptional<z.ZodString>;
84
+ time: z.ZodUnion<readonly [z.ZodCustom<import('@synnaxlabs/x').TimeStamp, import('@synnaxlabs/x').TimeStamp>, z.ZodPipe<z.ZodObject<{
85
+ value: z.ZodBigInt;
86
+ }, z.core.$strip>, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, {
87
+ value: bigint;
88
+ }>>, z.ZodPipe<z.ZodString, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, string>>, z.ZodPipe<z.ZodNumber, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, number>>, z.ZodPipe<z.ZodBigInt, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, bigint>>, z.ZodPipe<z.ZodDate, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, Date>>, z.ZodPipe<z.ZodCustom<import('@synnaxlabs/x').TimeSpan, import('@synnaxlabs/x').TimeSpan>, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, import('@synnaxlabs/x').TimeSpan>>, z.ZodPipe<z.ZodUnion<readonly [z.ZodTuple<[z.ZodInt], null>, z.ZodTuple<[z.ZodInt, z.ZodInt], null>, z.ZodTuple<[z.ZodInt, z.ZodInt, z.ZodInt], null>]>, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, [number] | [number, number] | [number, number, number]>>]>;
89
+ details: z.ZodOptional<z.ZodUnknown>;
90
+ }, z.core.$strip>>;
37
91
  key: z.ZodOptional<z.ZodNumber>;
38
92
  leaseholder: z.ZodOptional<z.ZodNumber>;
39
93
  index: z.ZodOptional<z.ZodNumber>;
@@ -45,8 +99,20 @@ export declare const useForm: (args: Flux.UseFormArgs<FluxParams, typeof formSch
45
99
  name: z.ZodString;
46
100
  dataType: z.ZodPipe<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<DataType, string>>, z.ZodCustom<DataType, DataType>]>, z.ZodTransform<string, DataType>>;
47
101
  }, z.core.$strip>>;
48
- export declare const useCalculatedForm: (args: Flux.UseFormArgs<FluxParams, typeof calculatedFormSchema>) => Flux.UseFormReturn<z.ZodObject<{
102
+ export declare const useCalculatedForm: Flux.UseForm<FormRetrieveArgs, z.ZodObject<{
49
103
  alias: z.ZodOptional<z.ZodString>;
104
+ status: z.ZodOptional<z.ZodObject<{
105
+ key: z.ZodString;
106
+ variant: typeof import('node_modules/@synnaxlabs/x/dist/src/status/status').variantZ;
107
+ message: z.ZodString;
108
+ description: z.ZodOptional<z.ZodString>;
109
+ time: z.ZodUnion<readonly [z.ZodCustom<import('@synnaxlabs/x').TimeStamp, import('@synnaxlabs/x').TimeStamp>, z.ZodPipe<z.ZodObject<{
110
+ value: z.ZodBigInt;
111
+ }, z.core.$strip>, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, {
112
+ value: bigint;
113
+ }>>, z.ZodPipe<z.ZodString, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, string>>, z.ZodPipe<z.ZodNumber, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, number>>, z.ZodPipe<z.ZodBigInt, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, bigint>>, z.ZodPipe<z.ZodDate, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, Date>>, z.ZodPipe<z.ZodCustom<import('@synnaxlabs/x').TimeSpan, import('@synnaxlabs/x').TimeSpan>, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, import('@synnaxlabs/x').TimeSpan>>, z.ZodPipe<z.ZodUnion<readonly [z.ZodTuple<[z.ZodInt], null>, z.ZodTuple<[z.ZodInt, z.ZodInt], null>, z.ZodTuple<[z.ZodInt, z.ZodInt, z.ZodInt], null>]>, z.ZodTransform<import('@synnaxlabs/x').TimeStamp, [number] | [number, number] | [number, number, number]>>]>;
114
+ details: z.ZodOptional<z.ZodUnknown>;
115
+ }, z.core.$strip>>;
50
116
  key: z.ZodOptional<z.ZodNumber>;
51
117
  leaseholder: z.ZodOptional<z.ZodNumber>;
52
118
  index: z.ZodOptional<z.ZodNumber>;
@@ -66,4 +132,16 @@ export interface ListParams extends channel.RetrieveOptions {
66
132
  limit?: number;
67
133
  }
68
134
  export declare const useList: Flux.UseList<ListParams, number, channel.Channel>;
135
+ export interface UpdateArgs extends Optional<RetrieveArgs, "key"> {
136
+ }
137
+ export declare const update: Flux.CreateUpdateReturn<UpdateArgs, channel.New>;
138
+ export interface RenameArgs extends Optional<UpdateArgs, "key"> {
139
+ }
140
+ export declare const rename: Flux.CreateUpdateReturn<RenameArgs, string>;
141
+ interface UpdateAliasArgs extends Optional<UpdateArgs, "key"> {
142
+ rangeKey?: string;
143
+ channelKey: channel.Key;
144
+ }
145
+ export declare const updateAlias: Flux.CreateUpdateReturn<UpdateAliasArgs, string>;
146
+ export {};
69
147
  //# sourceMappingURL=queries.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/channel/queries.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,eAAO,MAAM,gCAAgC,GAC3C,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,iBAAiB,KAAK,IAAI,KAC1D,IAMC,CAAC;AAEL,eAAO,MAAM,UAAU;;;;;;;;;;;;iBAmBnB,CAAC;AAEL,eAAO,MAAM,oBAAoB;;;;;;;;;;;;iBAY7B,CAAC;AAOL,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC;CACnB;AAED,eAAO,MAAM,gBAAgB,EAAE,CAAC,CAAC,KAAK,CACpC,OAAO,UAAU,GAAG,OAAO,oBAAoB,CAYhD,CAAC;AAoBF,eAAO,MAAM,OAAO,GAAI,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,UAAU,CAAC;;;;;;;;;;;;kBAmBnE,CAAC;AAEX,eAAO,MAAM,iBAAiB,GAC5B,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,oBAAoB,CAAC;;;;;;;;;;;;kBAoBvD,CAAC;AAEX,MAAM,WAAW,UAAW,SAAQ,OAAO,CAAC,eAAe;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD,eAAO,MAAM,OAAO,mDA0BlB,CAAC"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/channel/queries.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAQ,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,eAAO,MAAM,cAAc,aAAa,CAAC;AAEzC,MAAM,WAAW,SAAU,SAAQ,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC;CAAG;AAEnF,UAAU,QAAS,SAAQ,IAAI,CAAC,KAAK;IACnC,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC;IAC5B,CAAC,MAAM,CAAC,4BAA4B,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;CAC9D;AA4BD,eAAO,MAAM,6BAA6B,GACxC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,IAAI,KACzC,IAUF,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAC9C,QAAQ,EACR,OAAO,CAAC,GAAG,EACX,OAAO,CAAC,OAAO,CAQhB,CAAC;AAEF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;iBAmBnB,CAAC;AAEL,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;iBAY7B,CAAC;AAOL,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC;CACvB;AAED,eAAO,MAAM,gBAAgB,EAAE,CAAC,CAAC,KAAK,CACpC,OAAO,UAAU,GAAG,OAAO,oBAAoB,CAYhD,CAAC;AAgFF,eAAO,MAAM,QAAQ,0DAyBnB,CAAC;AAEH,MAAM,WAAW,gBAAiB,SAAQ,OAAO,CAAC,eAAe;IAC/D,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;CACpB;AAED,eAAO,MAAM,YAAY,gEAkDvB,CAAC;AAiBH,MAAM,WAAW,gBAAiB,SAAQ,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC;CAAG;AAc1E,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;kBAOlB,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;kBAW5B,CAAC;AAEH,MAAM,WAAW,UAAW,SAAQ,OAAO,CAAC,eAAe;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD,eAAO,MAAM,OAAO,mDAqBlB,CAAC;AAEH,MAAM,WAAW,UAAW,SAAQ,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC;CAAG;AAEpE,eAAO,MAAM,MAAM,kDAMjB,CAAC;AAEH,MAAM,WAAW,UAAW,SAAQ,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC;CAAG;AAElE,eAAO,MAAM,MAAM,6CAUjB,CAAC;AAEH,UAAU,eAAgB,SAAQ,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC;CACzB;AAED,eAAO,MAAM,WAAW,kDAQtB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Frame.d.ts","sourceRoot":"","sources":["../../../src/dialog/Frame.tsx"],"names":[],"mappings":"AASA,OAAO,EAAO,QAAQ,IAAI,SAAS,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,WAAW,EAMjB,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAkB,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAQ9B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,6CAA6C;AAC7C,MAAM,WAAW,UACf,SAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;IACjE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAYD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;CACxB;AAWD,UAAU,oBAAoB;IAC5B,GAAG,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC;IACjC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;IACvB,KAAK,EAAE,aAAa,CAAC;CACtB;AAGD,eAAO,MAAM,kBAAkB,4BAA4C,CAAC;AAE5E,eAAO,MAAM,UAAU,QAAO,YAAwC,CAAC;AAQvE;;;;;;;;;GASG;AACH,eAAO,MAAM,KAAK;uMAaf,UAAU,GAAG,YAAY;;CA8H3B,CAAC"}
1
+ {"version":3,"file":"Frame.d.ts","sourceRoot":"","sources":["../../../src/dialog/Frame.tsx"],"names":[],"mappings":"AASA,OAAO,EAAO,QAAQ,IAAI,SAAS,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,WAAW,EAMjB,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAkB,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAS9B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,6CAA6C;AAC7C,MAAM,WAAW,UACf,SAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;IACjE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAYD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;CACxB;AAWD,UAAU,oBAAoB;IAC5B,GAAG,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC;IACjC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;IACvB,KAAK,EAAE,aAAa,CAAC;CACtB;AAGD,eAAO,MAAM,kBAAkB,4BAA4C,CAAC;AAE5E,eAAO,MAAM,UAAU,QAAO,YAAwC,CAAC;AAQvE;;;;;;;;;GASG;AACH,eAAO,MAAM,KAAK;uMAaf,UAAU,GAAG,YAAY;;CAgI3B,CAAC"}
@@ -1,9 +1,11 @@
1
- import { framer } from '@synnaxlabs/client';
2
- import { CrudeTimeSpan } from '@synnaxlabs/x';
3
1
  import { PropsWithChildren, ReactElement } from 'react';
4
- export interface ProviderProps extends PropsWithChildren {
5
- openStreamer?: framer.StreamOpener;
6
- streamerRemovalDelay?: CrudeTimeSpan;
7
- }
8
- export declare const Provider: ({ children, openStreamer: propsOpenStreamer, streamerRemovalDelay, }: ProviderProps) => ReactElement;
2
+ import { flux } from './aether';
3
+ import { core } from './core';
4
+ export declare const useStore: <ScopedStore extends flux.Store>(scope?: string) => ScopedStore;
5
+ export type ProviderProps<ScopedStore extends flux.Store> = ({
6
+ client: core.Client<ScopedStore>;
7
+ } | {
8
+ storeConfig: flux.StoreConfig<ScopedStore>;
9
+ }) & PropsWithChildren;
10
+ export declare const Provider: <ScopedStore extends flux.Store>({ children, ...cfg }: ProviderProps<ScopedStore>) => ReactElement | null;
9
11
  //# sourceMappingURL=Provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../src/flux/Provider.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,KAAK,aAAa,EAAY,MAAM,eAAe,CAAC;AAC7D,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,YAAY,EAIlB,MAAM,OAAO,CAAC;AAUf,MAAM,WAAW,aAAc,SAAQ,iBAAiB;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC;IACnC,oBAAoB,CAAC,EAAE,aAAa,CAAC;CACtC;AAID,eAAO,MAAM,QAAQ,GAAI,sEAItB,aAAa,KAAG,YAqClB,CAAC"}
1
+ {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../src/flux/Provider.tsx"],"names":[],"mappings":"AAUA,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,YAAY,EAGlB,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAUnC,eAAO,MAAM,QAAQ,GAAI,WAAW,SAAS,IAAI,CAAC,KAAK,EACrD,QAAQ,MAAM,KACb,WAIF,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,WAAW,SAAS,IAAI,CAAC,KAAK,IAAI,CACxD;IACE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;CAClC,GACD;IACE,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;CAC5C,CACJ,GACC,iBAAiB,CAAC;AAEpB,eAAO,MAAM,QAAQ,GAAI,WAAW,SAAS,IAAI,CAAC,KAAK,EAAE,sBAGtD,aAAa,CAAC,WAAW,CAAC,KAAG,YAAY,GAAG,IA6B9C,CAAC"}
@@ -1,5 +1,6 @@
1
- export * from './listeners';
2
1
  export * from './provider';
3
- export * from './streamer';
4
- export * from './types';
2
+ export * from '../core/client';
3
+ export * from '../core/params';
4
+ export * from '../core/store';
5
+ export * from '../core/streamer';
5
6
  //# sourceMappingURL=external.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"external.d.ts","sourceRoot":"","sources":["../../../../src/flux/aether/external.ts"],"names":[],"mappings":"AASA,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"external.d.ts","sourceRoot":"","sources":["../../../../src/flux/aether/external.ts"],"names":[],"mappings":"AASA,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC"}
@@ -1,29 +1,35 @@
1
- import { Destructor, MultiSeries } from '@synnaxlabs/x';
2
1
  import { default as z } from 'zod';
3
2
  import { aether } from '../../ether';
4
- import { flux } from '.';
5
- import { ListenerSpec } from './listeners';
6
- import { Streamer } from './streamer';
7
- import { ListenerAdder } from './types';
8
- import { status } from '../../status/aether';
9
- export type ProviderState = z.input<typeof providerStateZ>;
3
+ import { core } from '../core';
4
+ /** State schema for the flux provider (currently empty) */
10
5
  export declare const providerStateZ: z.ZodObject<{}, z.core.$strip>;
11
- interface InternalState {
12
- streamer: Streamer;
13
- }
14
- export interface ContextValue {
15
- addListener: ListenerAdder | null;
16
- }
17
- export declare const ZERO_CONTEXT_VALUE: ContextValue;
18
- export declare class Provider extends aether.Composite<typeof providerStateZ, InternalState> {
19
- static readonly TYPE = "flux.Provider";
20
- static readonly stateZ: z.ZodObject<{}, z.core.$strip>;
21
- schema: z.ZodObject<{}, z.core.$strip>;
22
- afterUpdate(ctx: aether.Context): void;
23
- }
24
- export declare const REGISTRY: aether.ComponentRegistry;
25
- export declare const useAddListener: (ctx: aether.Context) => ListenerAdder;
26
- export declare const mountListeners: (add: ListenerAdder, handleError: status.ErrorHandler, listeners: ListenerSpec<MultiSeries, {}> | flux.ListenerSpec<MultiSeries, {}>[]) => Destructor;
27
- export declare const useListener: (ctx: aether.Context, listeners: ListenerSpec<MultiSeries, {}> | flux.ListenerSpec<MultiSeries, {}>[], destructor: Destructor | null) => Destructor;
28
- export {};
6
+ /** Type representing the provider's state */
7
+ export type ProviderState = z.input<typeof providerStateZ>;
8
+ /**
9
+ * Value stored in the Aether context for flux components.
10
+ */
11
+ export type ContextValue = core.Client<core.Store>;
12
+ /** Type identifier for the flux provider component */
13
+ export declare const PROVIDER_TYPE = "flux.Provider";
14
+ /**
15
+ * Hook to access the flux store from the Aether context.
16
+ *
17
+ * @template ScopedStore - The type of the store
18
+ * @param ctx - The Aether context
19
+ * @returns The store instance from the context
20
+ */
21
+ export declare const useClient: <ScopedStore extends core.Store>(ctx: aether.Context, scope: string) => ScopedStore;
22
+ export type ProviderConfig<ScopedStore extends core.Store = core.Store> = {
23
+ client: core.Client;
24
+ } | {
25
+ storeConfig: core.StoreConfig<ScopedStore>;
26
+ };
27
+ /**
28
+ * Creates an Aether component registry with the flux provider.
29
+ *
30
+ * @template ScopedStore - The type of the store
31
+ * @param storeConfig - Configuration for the store and its listeners
32
+ * @returns An Aether component registry containing the provider
33
+ */
34
+ export declare const createRegistry: <ScopedStore extends core.Store>(cfg: ProviderConfig<ScopedStore>) => aether.ComponentRegistry;
29
35
  //# sourceMappingURL=provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../src/flux/aether/provider.ts"],"names":[],"mappings":"AASA,OAAO,EAAS,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,EAAE,MAAM,EAAU,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAC3D,eAAO,MAAM,cAAc,gCAAe,CAAC;AAE3C,UAAU,aAAa;IACrB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,aAAa,GAAG,IAAI,CAAC;CACnC;AAED,eAAO,MAAM,kBAAkB,EAAE,YAEhC,CAAC;AAOF,qBAAa,QAAS,SAAQ,MAAM,CAAC,SAAS,CAAC,OAAO,cAAc,EAAE,aAAa,CAAC;IAClF,MAAM,CAAC,QAAQ,CAAC,IAAI,mBAAmB;IACvC,MAAM,CAAC,QAAQ,CAAC,MAAM,iCAAkB;IACxC,MAAM,iCAAmB;IAEzB,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI;CAiBvC;AAED,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,iBAE7B,CAAC;AAIF,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,CAAC,OAAO,KAAG,aAGpD,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,KAAK,aAAa,EAClB,aAAa,MAAM,CAAC,YAAY,EAChC,WAAW,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,KAC9E,UAaF,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,KAAK,MAAM,CAAC,OAAO,EACnB,WAAW,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,EAC/E,YAAY,UAAU,GAAG,IAAI,KAC5B,UAKF,CAAC"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../src/flux/aether/provider.ts"],"names":[],"mappings":"AASA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,EAAE,MAAM,EAAU,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAGnC,2DAA2D;AAC3D,eAAO,MAAM,cAAc,gCAAe,CAAC;AAE3C,6CAA6C;AAC7C,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAU3D;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAKnD,sDAAsD;AACtD,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAE7C;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,GAAI,WAAW,SAAS,IAAI,CAAC,KAAK,EACtD,KAAK,MAAM,CAAC,OAAO,EACnB,OAAO,MAAM,KACZ,WAAiF,CAAC;AAErF,MAAM,MAAM,cAAc,CAAC,WAAW,SAAS,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAClE;IACE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;CACrB,GACD;IACE,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;CAC5C,CAAC;AAwCN;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,WAAW,SAAS,IAAI,CAAC,KAAK,EAC3D,KAAK,cAAc,CAAC,WAAW,CAAC,KAC/B,MAAM,CAAC,iBAA+D,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { framer, Synnax } from '@synnaxlabs/client';
2
+ import { Store, StoreConfig } from './store';
3
+ import { status } from '../../status/aether';
4
+ interface ClientArgs<ScopedStore extends Store> {
5
+ client: Synnax | null;
6
+ openStreamer?: framer.StreamOpener;
7
+ storeConfig: StoreConfig<ScopedStore>;
8
+ handleError: status.ErrorHandler;
9
+ handleAsyncError: status.AsyncErrorHandler;
10
+ }
11
+ export declare class Client<ScopedStore extends Store = Store> {
12
+ private readonly store;
13
+ private readonly streamCloser;
14
+ readonly client: Synnax | null;
15
+ constructor({ client, openStreamer, storeConfig, handleError, handleAsyncError, }: ClientArgs<ScopedStore>);
16
+ awaitInitialized(): Promise<void>;
17
+ scopedStore<ScopedStore extends Store>(scope: string): ScopedStore;
18
+ close(): Promise<void>;
19
+ }
20
+ export {};
21
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/flux/core/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAG9D,OAAO,EAIL,KAAK,KAAK,EACV,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C,UAAU,UAAU,CAAC,WAAW,SAAS,KAAK;IAC5C,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC;IACnC,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IACtC,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC,iBAAiB,CAAC;CAC5C;AAED,qBAAa,MAAM,CAAC,WAAW,SAAS,KAAK,GAAG,KAAK;IACnD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAyC;IACtE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;gBAEnB,EACV,MAAM,EACN,YAAY,EACZ,WAAW,EACX,WAAW,EACX,gBAAgB,GACjB,EAAE,UAAU,CAAC,WAAW,CAAC;IAcpB,gBAAgB;IAKtB,WAAW,CAAC,WAAW,SAAS,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW;IAI5D,KAAK;CAKZ"}
@@ -0,0 +1,4 @@
1
+ export * from './client';
2
+ export * from './store';
3
+ export * from './streamer';
4
+ //# sourceMappingURL=external.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external.d.ts","sourceRoot":"","sources":["../../../../src/flux/core/external.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * as core from './external';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/flux/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"params.d.ts","sourceRoot":"","sources":["../../../../src/flux/core/params.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC,2CAA2C;AAC3C,MAAM,WAAW,YAAY;IAC3B,mDAAmD;IACnD,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC"}
@@ -0,0 +1,128 @@
1
+ import { channel, Synnax } from '@synnaxlabs/client';
2
+ import { Destructor, observe, record } from '@synnaxlabs/x';
3
+ import { default as z } from 'zod';
4
+ import { state } from '../../state';
5
+ import { status } from '../../status/aether';
6
+ export declare class ScopedUnaryStore<K extends record.Key = record.Key, V extends state.State = state.State> {
7
+ private readonly entries;
8
+ private readonly setListeners;
9
+ private readonly deleteListeners;
10
+ private readonly handleError;
11
+ private readonly equal;
12
+ constructor(handleError: status.ErrorHandler, equal?: (a: V, b: V, key: K) => boolean);
13
+ /**
14
+ * Sets a value for the given key in the store.
15
+ *
16
+ * @param key - The key to set
17
+ * @param value - The value to set, or a function to compute the value from the previous state
18
+ * @param opts - Options for the set operation
19
+ */
20
+ set(scope: string, key: K | Array<V & record.Keyed<K>>, value?: state.SetArg<V | undefined>): void;
21
+ get(keys: K | K[] | ((value: V) => boolean)): V | V[] | undefined;
22
+ has(key: K): boolean;
23
+ /**
24
+ * Deletes an entry from the store and notifies delete listeners.
25
+ * @param key - The key to delete
26
+ */
27
+ delete(scope: string, key: K | K[]): void;
28
+ clear(): void;
29
+ /**
30
+ * Registers a listener for set operations.
31
+ *
32
+ * @param callback - Function to call when a value is set
33
+ * @param key - Optional key to filter notifications (if provided, only changes to this key trigger the callback)
34
+ * @returns A destructor function to remove the listener
35
+ */
36
+ onSet(scope: string, callback: observe.AsyncHandler<V> | observe.Handler<V>, key?: K): Destructor;
37
+ /**
38
+ * Registers a listener for delete operations.
39
+ *
40
+ * @param callback - Function to call when a value is deleted
41
+ * @param key - Optional key to filter notifications (if provided, only deletion
42
+ * of this key triggers the callback)
43
+ * @returns A destructor function to remove the listener
44
+ */
45
+ onDelete(scope: string, callback: observe.AsyncHandler<K> | observe.Handler<K>, key?: K): Destructor;
46
+ private notifySet;
47
+ private notifyDelete;
48
+ scope(scope: string): UnaryStore<K, V>;
49
+ }
50
+ /**
51
+ * Configuration for listening to changes on a specific Synnax channel.
52
+ *
53
+ * @template ScopedStore - The type of the store available to the listener
54
+ * @template Z - Zod schema type for validating channel data
55
+ */
56
+ export interface ChannelListener<ScopedStore extends Store = {}, Z extends z.ZodType = z.ZodType> {
57
+ /** The name of the Synnax channel to listen to */
58
+ channel: channel.Name;
59
+ /** Zod schema for parsing and validating channel data */
60
+ schema: Z;
61
+ /** Callback function invoked when the channel data changes */
62
+ onChange: (args: ChannelListenerArgs<ScopedStore, Z>) => Promise<void> | void;
63
+ }
64
+ /**
65
+ * Arguments passed to a channel listener's onChange callback.
66
+ *
67
+ * @template ScopedStore - The type of the store available to the listener
68
+ * @template Z - Zod schema type for validating channel data
69
+ */
70
+ export type ChannelListenerArgs<ScopedStore extends Store = {}, Z extends z.ZodType = z.ZodType> = {
71
+ /** The parsed and validated data that changed */
72
+ changed: z.output<Z>;
73
+ /** The Synnax client instance for making additional API calls */
74
+ client: Synnax;
75
+ /** The store instance available to the listener */
76
+ store: ScopedStore;
77
+ };
78
+ /**
79
+ * Configuration for a single UnaryStore including its channel listeners.
80
+ *
81
+ * @template ScopedStore - The type of the scoped store
82
+ */
83
+ export interface UnaryStoreConfig<ScopedStore extends Store = {}, K extends record.Key = record.Key, V extends state.State = state.State> {
84
+ /** Function to determine if two values are equal */
85
+ equal?: (a: V, b: V, key: K) => boolean;
86
+ /** Array of channel listeners to register for this store */
87
+ listeners: ChannelListener<ScopedStore>[];
88
+ }
89
+ /**
90
+ * Configuration object for creating a store with multiple UnaryStore instances.
91
+ * Keys are store names and values are their configurations.
92
+ *
93
+ * @template ScopedStore - The type of the scoped store
94
+ */
95
+ export interface StoreConfig<ScopedStore extends Store = {}> {
96
+ [key: string]: UnaryStoreConfig<ScopedStore, any, any>;
97
+ }
98
+ export interface UnaryStore<K extends record.Key = record.Key, V extends state.State = state.State> {
99
+ set(values: Array<V & record.Keyed<K>>): void;
100
+ set(key: K, value: state.SetArg<V | undefined>): void;
101
+ get(key: K): V | undefined;
102
+ get(keys: K[] | ((value: V) => boolean)): V[];
103
+ has(key: K): boolean;
104
+ delete(key: K | K[]): void;
105
+ onSet(callback: observe.AsyncHandler<V> | observe.Handler<V>, key?: K): Destructor;
106
+ onDelete(callback: observe.AsyncHandler<K> | observe.Handler<K>, key?: K): Destructor;
107
+ }
108
+ /**
109
+ * Base interface for a collection of UnaryStore instances.
110
+ * Each property is a UnaryStore with its own key-value type.
111
+ */
112
+ export interface Store {
113
+ [key: string]: UnaryStore<any, any>;
114
+ }
115
+ export interface InternalStore {
116
+ [key: string]: ScopedUnaryStore<string, state.State>;
117
+ }
118
+ /**
119
+ * Creates a new store instance from the provided configuration.
120
+ * Each key in the config becomes a UnaryStore in the resulting store.
121
+ *
122
+ * @template ScopedStore - The type of the store to create
123
+ * @param config - Configuration object defining the store structure
124
+ * @returns A new store instance with UnaryStore instances for each config key
125
+ */
126
+ export declare const createStore: <ScopedStore extends Store>(config: StoreConfig<ScopedStore>, handleError: status.ErrorHandler) => InternalStore;
127
+ export declare const scopeStore: <ScopedStore extends Store>(store: InternalStore, scope: string) => ScopedStore;
128
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/flux/core/store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=store.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.spec.d.ts","sourceRoot":"","sources":["../../../../src/flux/core/store.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,31 @@
1
+ import { framer, Synnax } from '@synnaxlabs/client';
2
+ import { AsyncDestructor } from '@synnaxlabs/x';
3
+ import { Store, StoreConfig } from './store';
4
+ import { Status } from '../../status';
5
+ /**
6
+ * Arguments for opening a flux streamer.
7
+ *
8
+ * @template ScopedStore - The type of the store
9
+ */
10
+ export interface StreamerArgs<ScopedStore extends Store> {
11
+ /** Function to handle errors that occur during streaming */
12
+ handleError: Status.AsyncErrorHandler;
13
+ /** Configuration defining store structure and listeners */
14
+ storeConfig: StoreConfig<ScopedStore>;
15
+ /** Synnax client instance for API access */
16
+ client: Synnax;
17
+ /** Function to open a frame streamer */
18
+ openStreamer: framer.StreamOpener;
19
+ /** The store instance to update with streamed data */
20
+ store: ScopedStore;
21
+ }
22
+ /**
23
+ * Opens a hardened streamer that listens to configured channels and invokes
24
+ * the appropriate listeners when data changes.
25
+ *
26
+ * @template ScopedStore - The type of the store
27
+ * @param args - Configuration for the streamer
28
+ * @returns A destructor function to close the streamer
29
+ */
30
+ export declare const openStreamer: <ScopedStore extends Store>({ openStreamer: streamOpener, storeConfig, handleError, client, store, }: StreamerArgs<ScopedStore>) => Promise<AsyncDestructor>;
31
+ //# sourceMappingURL=streamer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streamer.d.ts","sourceRoot":"","sources":["../../../../src/flux/core/streamer.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,MAAM,EAAiB,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,KAAK,eAAe,EAA6B,MAAM,eAAe,CAAC;AAGhF,OAAO,EAAwB,KAAK,KAAK,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAmBvC;;;;GAIG;AACH,MAAM,WAAW,YAAY,CAAC,WAAW,SAAS,KAAK;IACrD,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAC,iBAAiB,CAAC;IACtC,2DAA2D;IAC3D,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IACtC,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC;IAClC,sDAAsD;IACtD,KAAK,EAAE,WAAW,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,GAAU,WAAW,SAAS,KAAK,EAAE,0EAM3D,YAAY,CAAC,WAAW,CAAC,KAAG,OAAO,CAAC,eAAe,CA8CrD,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streamer.spec.d.ts","sourceRoot":"","sources":["../../../../src/flux/core/streamer.spec.ts"],"names":[],"mappings":""}
@@ -1,10 +1,8 @@
1
- export * from './aether/listeners';
2
- export * from './aether/params';
3
- export * from './aether/types';
4
- export * from './Context';
1
+ export * from './core/client';
2
+ export * from './core/params';
3
+ export * from './core/store';
5
4
  export * from './form';
6
5
  export * from './list';
7
- export * from './listeners';
8
6
  export * from './Provider';
9
7
  export * from './result';
10
8
  export * from './retrieve';
@@ -1 +1 @@
1
- {"version":3,"file":"external.d.ts","sourceRoot":"","sources":["../../../src/flux/external.ts"],"names":[],"mappings":"AASA,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"external.d.ts","sourceRoot":"","sources":["../../../src/flux/external.ts"],"names":[],"mappings":"AASA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
- import { FetchOptions, Params } from './aether/params';
2
+ import { FetchOptions, Params } from './core/params';
3
+ import { Store } from './core/store';
3
4
  import { Result } from './result';
4
5
  import { CreateRetrieveArgs } from './retrieve';
5
6
  import { CreateUpdateArgs } from './update';
@@ -10,7 +11,7 @@ import { Form } from '../form';
10
11
  * @template FormParams The type of parameters for the form query
11
12
  * @template DataSchema The Zod schema type for form validation
12
13
  */
13
- export interface CreateFormArgs<FormParams extends Params, DataSchema extends z.ZodObject> extends CreateRetrieveArgs<FormParams, z.infer<DataSchema> | null>, CreateUpdateArgs<FormParams, z.infer<DataSchema>> {
14
+ export interface CreateFormArgs<FormParams extends Params, DataSchema extends z.ZodObject, SubStore extends Store> extends CreateRetrieveArgs<FormParams, z.infer<DataSchema> | undefined, SubStore>, CreateUpdateArgs<FormParams, z.infer<DataSchema>, SubStore> {
14
15
  /** Zod schema for form validation */
15
16
  schema: DataSchema;
16
17
  /** Default values to use when creating new forms */
@@ -54,6 +55,8 @@ export interface UseFormArgs<FormParams extends Params, Z extends z.ZodObject> e
54
55
  params: FormParams;
55
56
  /** Callback function called after successful save */
56
57
  afterSave?: (args: AfterSaveArgs<FormParams, Z>) => void;
58
+ /** The scope to use for the form operation */
59
+ scope?: string;
57
60
  }
58
61
  /**
59
62
  * Form hook function signature.
@@ -108,5 +111,5 @@ export interface UseForm<FormParams extends Params, Z extends z.ZodObject> {
108
111
  * });
109
112
  * ```
110
113
  */
111
- export declare const createForm: <FormParams extends Params, Schema extends z.ZodObject>({ name, schema, retrieve, listeners, update, initialValues: baseInitialValues, }: CreateFormArgs<FormParams, Schema>) => UseForm<FormParams, Schema>;
114
+ export declare const createForm: <FormParams extends Params, Schema extends z.ZodObject, SubStore extends Store = {}>({ name, schema, retrieve, mountListeners, update, initialValues: baseInitialValues, }: CreateFormArgs<FormParams, Schema, SubStore>) => UseForm<FormParams, Schema>;
112
115
  //# sourceMappingURL=form.d.ts.map