@ersbeth/picoflow 2.0.2 → 2.1.0

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 (244) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +25 -0
  3. package/SKILL.md +106 -0
  4. package/dist/picoflow.js +204 -60
  5. package/dist/types/api/base/flowObservable.d.ts +3 -3
  6. package/dist/types/api/base/flowObservable.d.ts.map +1 -1
  7. package/dist/types/api/base/flowSubscribable.d.ts +2 -2
  8. package/dist/types/api/base/flowSubscribable.d.ts.map +1 -1
  9. package/dist/types/api/base/flowTracker.d.ts +1 -1
  10. package/dist/types/api/base/flowTracker.d.ts.map +1 -1
  11. package/dist/types/api/base/index.d.ts +4 -4
  12. package/dist/types/api/base/index.d.ts.map +1 -1
  13. package/dist/types/api/index.d.ts +2 -2
  14. package/dist/types/api/index.d.ts.map +1 -1
  15. package/dist/types/api/nodes/async/flowConstantAsync.d.ts +1 -1
  16. package/dist/types/api/nodes/async/flowConstantAsync.d.ts.map +1 -1
  17. package/dist/types/api/nodes/async/flowDerivationAsync.d.ts +3 -3
  18. package/dist/types/api/nodes/async/flowDerivationAsync.d.ts.map +1 -1
  19. package/dist/types/api/nodes/async/flowStateAsync.d.ts +3 -3
  20. package/dist/types/api/nodes/async/flowStateAsync.d.ts.map +1 -1
  21. package/dist/types/api/nodes/async/flowWritableDerivationAsync.d.ts +2 -2
  22. package/dist/types/api/nodes/async/flowWritableDerivationAsync.d.ts.map +1 -1
  23. package/dist/types/api/nodes/async/index.d.ts +4 -4
  24. package/dist/types/api/nodes/async/index.d.ts.map +1 -1
  25. package/dist/types/api/nodes/collections/flowArray.d.ts +7 -4
  26. package/dist/types/api/nodes/collections/flowArray.d.ts.map +1 -1
  27. package/dist/types/api/nodes/collections/flowMap.d.ts +3 -2
  28. package/dist/types/api/nodes/collections/flowMap.d.ts.map +1 -1
  29. package/dist/types/api/nodes/collections/index.d.ts +2 -2
  30. package/dist/types/api/nodes/collections/index.d.ts.map +1 -1
  31. package/dist/types/api/nodes/flowEffect.d.ts +2 -2
  32. package/dist/types/api/nodes/flowEffect.d.ts.map +1 -1
  33. package/dist/types/api/nodes/flowSignal.d.ts +1 -1
  34. package/dist/types/api/nodes/flowSignal.d.ts.map +1 -1
  35. package/dist/types/api/nodes/flowValue.d.ts +2 -2
  36. package/dist/types/api/nodes/flowValue.d.ts.map +1 -1
  37. package/dist/types/api/nodes/index.d.ts +7 -7
  38. package/dist/types/api/nodes/index.d.ts.map +1 -1
  39. package/dist/types/api/nodes/sync/flowConstant.d.ts +2 -2
  40. package/dist/types/api/nodes/sync/flowConstant.d.ts.map +1 -1
  41. package/dist/types/api/nodes/sync/flowDerivation.d.ts +3 -3
  42. package/dist/types/api/nodes/sync/flowDerivation.d.ts.map +1 -1
  43. package/dist/types/api/nodes/sync/flowState.d.ts +3 -3
  44. package/dist/types/api/nodes/sync/flowState.d.ts.map +1 -1
  45. package/dist/types/api/nodes/sync/flowWritableDerivation.d.ts +2 -2
  46. package/dist/types/api/nodes/sync/flowWritableDerivation.d.ts.map +1 -1
  47. package/dist/types/api/nodes/sync/index.d.ts +4 -4
  48. package/dist/types/api/nodes/sync/index.d.ts.map +1 -1
  49. package/dist/types/api/nodes/utils.d.ts +1 -1
  50. package/dist/types/api/nodes/utils.d.ts.map +1 -1
  51. package/dist/types/base/disposable.d.ts +1 -1
  52. package/dist/types/base/disposable.d.ts.map +1 -1
  53. package/dist/types/base/executionStack.d.ts +22 -1
  54. package/dist/types/base/executionStack.d.ts.map +1 -1
  55. package/dist/types/base/index.d.ts +5 -5
  56. package/dist/types/base/index.d.ts.map +1 -1
  57. package/dist/types/base/node.d.ts +4 -4
  58. package/dist/types/base/node.d.ts.map +1 -1
  59. package/dist/types/base/observable.d.ts +3 -3
  60. package/dist/types/base/observable.d.ts.map +1 -1
  61. package/dist/types/base/observer.d.ts +2 -2
  62. package/dist/types/base/observer.d.ts.map +1 -1
  63. package/dist/types/converters/index.d.ts +1 -1
  64. package/dist/types/converters/index.d.ts.map +1 -1
  65. package/dist/types/converters/solid.d.ts +12 -8
  66. package/dist/types/converters/solid.d.ts.map +1 -1
  67. package/dist/types/index.d.ts +2 -2
  68. package/dist/types/index.d.ts.map +1 -1
  69. package/dist/types/nodes/actionNode.d.ts +23 -0
  70. package/dist/types/nodes/actionNode.d.ts.map +1 -0
  71. package/dist/types/nodes/arrayNode.d.ts +4 -3
  72. package/dist/types/nodes/arrayNode.d.ts.map +1 -1
  73. package/dist/types/nodes/effectNode.d.ts +18 -2
  74. package/dist/types/nodes/effectNode.d.ts.map +1 -1
  75. package/dist/types/nodes/index.d.ts +8 -7
  76. package/dist/types/nodes/index.d.ts.map +1 -1
  77. package/dist/types/nodes/mapNode.d.ts +4 -3
  78. package/dist/types/nodes/mapNode.d.ts.map +1 -1
  79. package/dist/types/nodes/signalNode.d.ts +2 -2
  80. package/dist/types/nodes/signalNode.d.ts.map +1 -1
  81. package/dist/types/nodes/valueAsyncNode.d.ts +3 -3
  82. package/dist/types/nodes/valueAsyncNode.d.ts.map +1 -1
  83. package/dist/types/nodes/valueNode.d.ts +3 -3
  84. package/dist/types/nodes/valueNode.d.ts.map +1 -1
  85. package/dist/types/nodes/valueSyncNode.d.ts +3 -3
  86. package/dist/types/nodes/valueSyncNode.d.ts.map +1 -1
  87. package/dist/types/schedulers/asyncScheduler.d.ts +2 -1
  88. package/dist/types/schedulers/asyncScheduler.d.ts.map +1 -1
  89. package/dist/types/schedulers/index.d.ts +4 -4
  90. package/dist/types/schedulers/index.d.ts.map +1 -1
  91. package/dist/types/schedulers/syncResolver.d.ts +1 -2
  92. package/dist/types/schedulers/syncResolver.d.ts.map +1 -1
  93. package/dist/types/schedulers/syncScheduler.d.ts +1 -1
  94. package/dist/types/schedulers/syncScheduler.d.ts.map +1 -1
  95. package/package.json +24 -1
  96. package/.gitlab-ci.yml +0 -24
  97. package/.vscode/settings.json +0 -5
  98. package/CHANGELOG.md +0 -94
  99. package/biome.json +0 -47
  100. package/docs/.vitepress/config.mts +0 -145
  101. package/docs/api/functions/array.md +0 -35
  102. package/docs/api/functions/constant.md +0 -33
  103. package/docs/api/functions/constantAsync.md +0 -69
  104. package/docs/api/functions/derivation.md +0 -34
  105. package/docs/api/functions/derivationAsync.md +0 -34
  106. package/docs/api/functions/from.md +0 -129
  107. package/docs/api/functions/isDisposable.md +0 -27
  108. package/docs/api/functions/map.md +0 -36
  109. package/docs/api/functions/signal.md +0 -21
  110. package/docs/api/functions/state.md +0 -67
  111. package/docs/api/functions/stateAsync.md +0 -69
  112. package/docs/api/functions/subscribe.md +0 -40
  113. package/docs/api/functions/writableDerivation.md +0 -33
  114. package/docs/api/functions/writableDerivationAsync.md +0 -34
  115. package/docs/api/index.md +0 -61
  116. package/docs/api/interfaces/FlowArray.md +0 -439
  117. package/docs/api/interfaces/FlowConstant.md +0 -220
  118. package/docs/api/interfaces/FlowConstantAsync.md +0 -221
  119. package/docs/api/interfaces/FlowDerivation.md +0 -241
  120. package/docs/api/interfaces/FlowDerivationAsync.md +0 -242
  121. package/docs/api/interfaces/FlowDisposable.md +0 -59
  122. package/docs/api/interfaces/FlowEffect.md +0 -64
  123. package/docs/api/interfaces/FlowMap.md +0 -374
  124. package/docs/api/interfaces/FlowObservable.md +0 -155
  125. package/docs/api/interfaces/FlowSignal.md +0 -156
  126. package/docs/api/interfaces/FlowState.md +0 -269
  127. package/docs/api/interfaces/FlowStateAsync.md +0 -268
  128. package/docs/api/interfaces/FlowSubscribable.md +0 -55
  129. package/docs/api/interfaces/FlowTracker.md +0 -61
  130. package/docs/api/interfaces/FlowValue.md +0 -222
  131. package/docs/api/interfaces/FlowWritableDerivation.md +0 -292
  132. package/docs/api/interfaces/FlowWritableDerivationAsync.md +0 -293
  133. package/docs/api/type-aliases/DerivationFunction.md +0 -28
  134. package/docs/api/type-aliases/DerivationFunctionAsync.md +0 -28
  135. package/docs/api/type-aliases/FlowArrayAction.md +0 -60
  136. package/docs/api/type-aliases/FlowDataTracker.md +0 -33
  137. package/docs/api/type-aliases/FlowMapAction.md +0 -48
  138. package/docs/api/type-aliases/FlowOnDataListener.md +0 -33
  139. package/docs/api/type-aliases/FlowOnErrorListener.md +0 -27
  140. package/docs/api/type-aliases/FlowOnPendingListener.md +0 -21
  141. package/docs/api/type-aliases/FlowReadonly.md +0 -22
  142. package/docs/api/type-aliases/InitFunction.md +0 -21
  143. package/docs/api/type-aliases/InitFunctionAsync.md +0 -21
  144. package/docs/api/type-aliases/NotPromise.md +0 -21
  145. package/docs/api/type-aliases/UpdateFunction.md +0 -27
  146. package/docs/api/type-aliases/UpdateFunctionAsync.md +0 -27
  147. package/docs/api/typedoc-sidebar.json +0 -65
  148. package/docs/examples/examples.md +0 -2311
  149. package/docs/examples/patterns.md +0 -649
  150. package/docs/guide/advanced/architecture.md +0 -1234
  151. package/docs/guide/advanced/disposal.md +0 -426
  152. package/docs/guide/advanced/migration-v1.md +0 -464
  153. package/docs/guide/advanced/migration-v2.md +0 -204
  154. package/docs/guide/advanced/solidjs.md +0 -135
  155. package/docs/guide/introduction/concepts.md +0 -57
  156. package/docs/guide/introduction/conventions.md +0 -30
  157. package/docs/guide/introduction/getting-started.md +0 -139
  158. package/docs/guide/introduction/lifecycle.md +0 -368
  159. package/docs/guide/primitives/array.md +0 -286
  160. package/docs/guide/primitives/constant.md +0 -207
  161. package/docs/guide/primitives/derivations.md +0 -281
  162. package/docs/guide/primitives/effects.md +0 -372
  163. package/docs/guide/primitives/map.md +0 -265
  164. package/docs/guide/primitives/overview.md +0 -92
  165. package/docs/guide/primitives/signal.md +0 -222
  166. package/docs/guide/primitives/state.md +0 -272
  167. package/docs/index.md +0 -47
  168. package/docs/public/logo.svg +0 -1
  169. package/src/api/base/flowDisposable.ts +0 -44
  170. package/src/api/base/flowObservable.ts +0 -28
  171. package/src/api/base/flowSubscribable.ts +0 -87
  172. package/src/api/base/flowTracker.ts +0 -7
  173. package/src/api/base/index.ts +0 -4
  174. package/src/api/index.ts +0 -2
  175. package/src/api/nodes/async/flowConstantAsync.ts +0 -36
  176. package/src/api/nodes/async/flowDerivationAsync.ts +0 -42
  177. package/src/api/nodes/async/flowStateAsync.ts +0 -47
  178. package/src/api/nodes/async/flowWritableDerivationAsync.ts +0 -33
  179. package/src/api/nodes/async/index.ts +0 -4
  180. package/src/api/nodes/collections/flowArray.ts +0 -155
  181. package/src/api/nodes/collections/flowMap.ts +0 -115
  182. package/src/api/nodes/collections/index.ts +0 -2
  183. package/src/api/nodes/flowEffect.ts +0 -42
  184. package/src/api/nodes/flowSignal.ts +0 -28
  185. package/src/api/nodes/flowValue.ts +0 -37
  186. package/src/api/nodes/index.ts +0 -7
  187. package/src/api/nodes/sync/flowConstant.ts +0 -33
  188. package/src/api/nodes/sync/flowDerivation.ts +0 -41
  189. package/src/api/nodes/sync/flowState.ts +0 -45
  190. package/src/api/nodes/sync/flowWritableDerivation.ts +0 -31
  191. package/src/api/nodes/sync/index.ts +0 -4
  192. package/src/api/nodes/utils.ts +0 -24
  193. package/src/base/disposable.ts +0 -18
  194. package/src/base/executionStack.ts +0 -42
  195. package/src/base/index.ts +0 -5
  196. package/src/base/node.ts +0 -98
  197. package/src/base/observable.ts +0 -92
  198. package/src/base/observer.ts +0 -51
  199. package/src/converters/index.ts +0 -1
  200. package/src/converters/solid.ts +0 -109
  201. package/src/index.ts +0 -2
  202. package/src/nodes/arrayNode.ts +0 -180
  203. package/src/nodes/effectNode.ts +0 -58
  204. package/src/nodes/index.ts +0 -7
  205. package/src/nodes/mapNode.ts +0 -125
  206. package/src/nodes/signalNode.ts +0 -19
  207. package/src/nodes/valueAsyncNode.ts +0 -85
  208. package/src/nodes/valueNode.ts +0 -148
  209. package/src/nodes/valueSyncNode.ts +0 -125
  210. package/src/schedulers/asyncResolver.ts +0 -78
  211. package/src/schedulers/asyncScheduler.ts +0 -66
  212. package/src/schedulers/index.ts +0 -4
  213. package/src/schedulers/pendingError.ts +0 -13
  214. package/src/schedulers/scheduler.ts +0 -9
  215. package/src/schedulers/syncResolver.ts +0 -69
  216. package/src/schedulers/syncScheduler.ts +0 -55
  217. package/test/base/pendingError.test.ts +0 -67
  218. package/test/converters/solid.derivation.browser.test.tsx +0 -69
  219. package/test/converters/solid.node.test.ts +0 -654
  220. package/test/converters/solid.state.browser.test.tsx +0 -1592
  221. package/test/reactivity/flowSignal.test.ts +0 -226
  222. package/test/reactivity/nodes/async/asyncScheduler/asyncResolver.test.ts +0 -593
  223. package/test/reactivity/nodes/async/asyncScheduler/asyncScheduler.test.ts +0 -317
  224. package/test/reactivity/nodes/async/flowConstantAsync.test.ts +0 -652
  225. package/test/reactivity/nodes/async/flowDerivation.test.ts +0 -898
  226. package/test/reactivity/nodes/async/flowDerivationAsync.test.ts +0 -1716
  227. package/test/reactivity/nodes/async/flowStateAsync.test.ts +0 -708
  228. package/test/reactivity/nodes/async/flowWritableDerivationAsync.test.ts +0 -614
  229. package/test/reactivity/nodes/collections/flowArray.asyncStates.test.ts +0 -1289
  230. package/test/reactivity/nodes/collections/flowArray.scalars.test.ts +0 -961
  231. package/test/reactivity/nodes/collections/flowArray.states.test.ts +0 -1035
  232. package/test/reactivity/nodes/collections/flowMap.asyncStates.test.ts +0 -960
  233. package/test/reactivity/nodes/collections/flowMap.scalars.test.ts +0 -775
  234. package/test/reactivity/nodes/collections/flowMap.states.test.ts +0 -958
  235. package/test/reactivity/nodes/sync/flowConstant.test.ts +0 -377
  236. package/test/reactivity/nodes/sync/flowDerivation.test.ts +0 -896
  237. package/test/reactivity/nodes/sync/flowState.test.ts +0 -341
  238. package/test/reactivity/nodes/sync/flowWritableDerivation.test.ts +0 -603
  239. package/test/vitest.d.ts +0 -10
  240. package/tsconfig.json +0 -37
  241. package/typedoc.json +0 -37
  242. package/vite.config.ts +0 -31
  243. package/vitest.browser.config.ts +0 -21
  244. package/vitest.config.ts +0 -17
@@ -1,269 +0,0 @@
1
- [@ersbeth/picoflow](/api/index.md) / FlowState
2
-
3
- # Interface: FlowState\<T\>
4
-
5
- Defined in: [api/nodes/sync/flowState.ts:18](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/sync/flowState.ts#L18)
6
-
7
- Writable reactive value that can be updated manually and notifies dependents on changes.
8
-
9
- State is the simplest writable reactive primitive. Unlike derivations, it has no dependencies and never
10
- recomputes automatically - changes only occur when you explicitly call `set()`. Use state for user input,
11
- application state, or any data that changes imperatively. Changes propagate automatically to all dependents.
12
-
13
- ## Extends
14
-
15
- - [`FlowValue`](/api/interfaces/FlowValue.md)\<`T`\>
16
-
17
- ## Extended by
18
-
19
- - [`FlowArray`](/api/interfaces/FlowArray.md)
20
- - [`FlowMap`](/api/interfaces/FlowMap.md)
21
- - [`FlowWritableDerivation`](/api/interfaces/FlowWritableDerivation.md)
22
-
23
- ## Type Parameters
24
-
25
- | Type Parameter |
26
- | ------ |
27
- | `T` |
28
-
29
- ## Accessors
30
-
31
- ### disposed
32
-
33
- #### Get Signature
34
-
35
- ```ts
36
- get disposed(): boolean;
37
- ```
38
-
39
- Defined in: [api/base/flowDisposable.ts:17](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowDisposable.ts#L17)
40
-
41
- Indicates whether this resource has been disposed.
42
-
43
- Returns `true` if `dispose()` has been called, `false` otherwise. Once disposed,
44
- the resource is no longer usable and any operations on it will throw errors.
45
-
46
- ##### Returns
47
-
48
- `boolean`
49
-
50
- #### Inherited from
51
-
52
- [`FlowValue`](/api/interfaces/FlowValue.md).[`disposed`](/api/interfaces/FlowValue.md#disposed)
53
-
54
- ## Methods
55
-
56
- ### dispose()
57
-
58
- ```ts
59
- dispose(): void;
60
- ```
61
-
62
- Defined in: [api/base/flowDisposable.ts:27](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowDisposable.ts#L27)
63
-
64
- Releases all resources held by this disposable object.
65
-
66
- Cleans up all subscriptions, dependencies, and internal state. After calling this method,
67
- the resource enters a disposed state and cannot be reused. Any subsequent operations will
68
- throw errors. This method should be called when you no longer need the reactive primitive
69
- to prevent memory leaks.
70
-
71
- #### Returns
72
-
73
- `void`
74
-
75
- #### Inherited from
76
-
77
- [`FlowValue`](/api/interfaces/FlowValue.md).[`dispose`](/api/interfaces/FlowValue.md#dispose)
78
-
79
- ***
80
-
81
- ### get()
82
-
83
- ```ts
84
- get(tracker): T;
85
- ```
86
-
87
- Defined in: [api/nodes/flowValue.ts:24](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/flowValue.ts#L24)
88
-
89
- Gets the current value and establishes a reactive dependency.
90
-
91
- When called from within a reactive computation, this method registers the value as a dependency,
92
- ensuring the computation re-executes when the value changes. The value is computed on first access
93
- (if lazy) and then cached. For async values, throws PendingError while the value is resolving.
94
-
95
- #### Parameters
96
-
97
- | Parameter | Type | Description |
98
- | ------ | ------ | ------ |
99
- | `tracker` | [`FlowTracker`](/api/interfaces/FlowTracker.md) | Tracker that records this value as a dependency |
100
-
101
- #### Returns
102
-
103
- `T`
104
-
105
- The current value
106
-
107
- #### Inherited from
108
-
109
- [`FlowValue`](/api/interfaces/FlowValue.md).[`get`](/api/interfaces/FlowValue.md#get)
110
-
111
- ***
112
-
113
- ### pick()
114
-
115
- ```ts
116
- pick(): Promise<T>;
117
- ```
118
-
119
- Defined in: [api/nodes/flowValue.ts:35](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/flowValue.ts#L35)
120
-
121
- Asynchronously gets the current value without establishing a reactive dependency.
122
-
123
- This method reads the value non-reactively, meaning it won't trigger re-execution of the calling
124
- computation when the value changes. The value is computed on first access (if lazy) and then cached.
125
- For async values, the promise resolves once the value is available.
126
-
127
- #### Returns
128
-
129
- `Promise`\<`T`\>
130
-
131
- Promise that resolves with the current value
132
-
133
- #### Inherited from
134
-
135
- [`FlowValue`](/api/interfaces/FlowValue.md).[`pick`](/api/interfaces/FlowValue.md#pick)
136
-
137
- ***
138
-
139
- ### set()
140
-
141
- #### Call Signature
142
-
143
- ```ts
144
- set(value): void;
145
- ```
146
-
147
- Defined in: [api/nodes/sync/flowState.ts:25](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/sync/flowState.ts#L25)
148
-
149
- Updates the state with a new value or via an updater function.
150
- Notifies all dependents after the update.
151
-
152
- ##### Parameters
153
-
154
- | Parameter | Type | Description |
155
- | ------ | ------ | ------ |
156
- | `value` | [`NotPromise`](/api/type-aliases/NotPromise.md)\<`T`\> | New value to set, or function that receives current value and returns new value |
157
-
158
- ##### Returns
159
-
160
- `void`
161
-
162
- #### Call Signature
163
-
164
- ```ts
165
- set(updater): void;
166
- ```
167
-
168
- Defined in: [api/nodes/sync/flowState.ts:26](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/sync/flowState.ts#L26)
169
-
170
- ##### Parameters
171
-
172
- | Parameter | Type |
173
- | ------ | ------ |
174
- | `updater` | [`UpdateFunction`](/api/type-aliases/UpdateFunction.md)\<`T`\> |
175
-
176
- ##### Returns
177
-
178
- `void`
179
-
180
- ***
181
-
182
- ### subscribe()
183
-
184
- ```ts
185
- subscribe(
186
- onData,
187
- onError?,
188
- onPending?): FlowEffect;
189
- ```
190
-
191
- Defined in: [api/base/flowSubscribable.ts:82](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowSubscribable.ts#L82)
192
-
193
- Subscribes to this observable with lifecycle callbacks.
194
-
195
- Creates an active subscription that executes immediately and then re-executes whenever
196
- the observable's dependencies change. The subscription remains active until the returned
197
- disposal function is called. The `onData` callback receives the computed value, while
198
- `onError` handles errors and `onPending` signals async operations in progress.
199
-
200
- #### Parameters
201
-
202
- | Parameter | Type | Description |
203
- | ------ | ------ | ------ |
204
- | `onData` | [`FlowOnDataListener`](/api/type-aliases/FlowOnDataListener.md)\<`T`\> | Callback invoked with the computed data on each execution |
205
- | `onError?` | [`FlowOnErrorListener`](/api/type-aliases/FlowOnErrorListener.md) | Optional callback for handling errors during execution |
206
- | `onPending?` | [`FlowOnPendingListener`](/api/type-aliases/FlowOnPendingListener.md) | Optional callback invoked when async dependencies are pending |
207
-
208
- #### Returns
209
-
210
- [`FlowEffect`](/api/interfaces/FlowEffect.md)
211
-
212
- A function to dispose the subscription and stop receiving updates
213
-
214
- #### Inherited from
215
-
216
- [`FlowValue`](/api/interfaces/FlowValue.md).[`subscribe`](/api/interfaces/FlowValue.md#subscribe)
217
-
218
- ***
219
-
220
- ### trigger()
221
-
222
- ```ts
223
- trigger(): void;
224
- ```
225
-
226
- Defined in: [api/base/flowObservable.ts:27](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowObservable.ts#L27)
227
-
228
- Manually triggers notifications to all dependents.
229
-
230
- Forces all dependents of this observable to be notified and re-executed, even if the
231
- value hasn't actually changed. Useful for imperatively triggering updates when the
232
- reactive system cannot detect changes automatically.
233
-
234
- #### Returns
235
-
236
- `void`
237
-
238
- #### Inherited from
239
-
240
- [`FlowValue`](/api/interfaces/FlowValue.md).[`trigger`](/api/interfaces/FlowValue.md#trigger)
241
-
242
- ***
243
-
244
- ### watch()
245
-
246
- ```ts
247
- watch(tracker): void;
248
- ```
249
-
250
- Defined in: [api/base/flowObservable.ts:18](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowObservable.ts#L18)
251
-
252
- Establishes a reactive dependency without reading the value.
253
-
254
- Registers this observable as a dependency of the given tracker, allowing it to be notified
255
- when changes occur. This enables dependency tracking without accessing the actual value.
256
-
257
- #### Parameters
258
-
259
- | Parameter | Type | Description |
260
- | ------ | ------ | ------ |
261
- | `tracker` | [`FlowTracker`](/api/interfaces/FlowTracker.md) | Tracker that records this observable as a dependency |
262
-
263
- #### Returns
264
-
265
- `void`
266
-
267
- #### Inherited from
268
-
269
- [`FlowValue`](/api/interfaces/FlowValue.md).[`watch`](/api/interfaces/FlowValue.md#watch)
@@ -1,268 +0,0 @@
1
- [@ersbeth/picoflow](/api/index.md) / FlowStateAsync
2
-
3
- # Interface: FlowStateAsync\<T\>
4
-
5
- Defined in: [api/nodes/async/flowStateAsync.ts:19](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/async/flowStateAsync.ts#L19)
6
-
7
- Writable reactive value that resolves promises and can be updated with new promises.
8
-
9
- Async state is the async equivalent of regular state. Unlike sync state, it accepts promises instead of
10
- direct values. Set new promises or async updater functions to update the state. While a promise is pending,
11
- accessing the value throws PendingError. Use for async data that changes imperatively, such as user-triggered
12
- API calls, async form submissions, or any async operation that updates based on user actions.
13
-
14
- ## Extends
15
-
16
- - [`FlowValue`](/api/interfaces/FlowValue.md)\<`T`\>
17
-
18
- ## Extended by
19
-
20
- - [`FlowWritableDerivationAsync`](/api/interfaces/FlowWritableDerivationAsync.md)
21
-
22
- ## Type Parameters
23
-
24
- | Type Parameter |
25
- | ------ |
26
- | `T` |
27
-
28
- ## Accessors
29
-
30
- ### disposed
31
-
32
- #### Get Signature
33
-
34
- ```ts
35
- get disposed(): boolean;
36
- ```
37
-
38
- Defined in: [api/base/flowDisposable.ts:17](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowDisposable.ts#L17)
39
-
40
- Indicates whether this resource has been disposed.
41
-
42
- Returns `true` if `dispose()` has been called, `false` otherwise. Once disposed,
43
- the resource is no longer usable and any operations on it will throw errors.
44
-
45
- ##### Returns
46
-
47
- `boolean`
48
-
49
- #### Inherited from
50
-
51
- [`FlowValue`](/api/interfaces/FlowValue.md).[`disposed`](/api/interfaces/FlowValue.md#disposed)
52
-
53
- ## Methods
54
-
55
- ### dispose()
56
-
57
- ```ts
58
- dispose(): void;
59
- ```
60
-
61
- Defined in: [api/base/flowDisposable.ts:27](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowDisposable.ts#L27)
62
-
63
- Releases all resources held by this disposable object.
64
-
65
- Cleans up all subscriptions, dependencies, and internal state. After calling this method,
66
- the resource enters a disposed state and cannot be reused. Any subsequent operations will
67
- throw errors. This method should be called when you no longer need the reactive primitive
68
- to prevent memory leaks.
69
-
70
- #### Returns
71
-
72
- `void`
73
-
74
- #### Inherited from
75
-
76
- [`FlowValue`](/api/interfaces/FlowValue.md).[`dispose`](/api/interfaces/FlowValue.md#dispose)
77
-
78
- ***
79
-
80
- ### get()
81
-
82
- ```ts
83
- get(tracker): T;
84
- ```
85
-
86
- Defined in: [api/nodes/flowValue.ts:24](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/flowValue.ts#L24)
87
-
88
- Gets the current value and establishes a reactive dependency.
89
-
90
- When called from within a reactive computation, this method registers the value as a dependency,
91
- ensuring the computation re-executes when the value changes. The value is computed on first access
92
- (if lazy) and then cached. For async values, throws PendingError while the value is resolving.
93
-
94
- #### Parameters
95
-
96
- | Parameter | Type | Description |
97
- | ------ | ------ | ------ |
98
- | `tracker` | [`FlowTracker`](/api/interfaces/FlowTracker.md) | Tracker that records this value as a dependency |
99
-
100
- #### Returns
101
-
102
- `T`
103
-
104
- The current value
105
-
106
- #### Inherited from
107
-
108
- [`FlowValue`](/api/interfaces/FlowValue.md).[`get`](/api/interfaces/FlowValue.md#get)
109
-
110
- ***
111
-
112
- ### pick()
113
-
114
- ```ts
115
- pick(): Promise<T>;
116
- ```
117
-
118
- Defined in: [api/nodes/flowValue.ts:35](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/flowValue.ts#L35)
119
-
120
- Asynchronously gets the current value without establishing a reactive dependency.
121
-
122
- This method reads the value non-reactively, meaning it won't trigger re-execution of the calling
123
- computation when the value changes. The value is computed on first access (if lazy) and then cached.
124
- For async values, the promise resolves once the value is available.
125
-
126
- #### Returns
127
-
128
- `Promise`\<`T`\>
129
-
130
- Promise that resolves with the current value
131
-
132
- #### Inherited from
133
-
134
- [`FlowValue`](/api/interfaces/FlowValue.md).[`pick`](/api/interfaces/FlowValue.md#pick)
135
-
136
- ***
137
-
138
- ### set()
139
-
140
- #### Call Signature
141
-
142
- ```ts
143
- set(promise): void;
144
- ```
145
-
146
- Defined in: [api/nodes/async/flowStateAsync.ts:26](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/async/flowStateAsync.ts#L26)
147
-
148
- Updates the state with a new promise or via an async updater function.
149
- Notifies all dependents immediately (they will receive PendingError until resolved).
150
-
151
- ##### Parameters
152
-
153
- | Parameter | Type | Description |
154
- | ------ | ------ | ------ |
155
- | `promise` | `Promise`\<`T`\> | New promise to resolve, or async function that receives current value and returns a promise |
156
-
157
- ##### Returns
158
-
159
- `void`
160
-
161
- #### Call Signature
162
-
163
- ```ts
164
- set(updater): void;
165
- ```
166
-
167
- Defined in: [api/nodes/async/flowStateAsync.ts:27](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/async/flowStateAsync.ts#L27)
168
-
169
- ##### Parameters
170
-
171
- | Parameter | Type |
172
- | ------ | ------ |
173
- | `updater` | [`UpdateFunctionAsync`](/api/type-aliases/UpdateFunctionAsync.md)\<`T`\> |
174
-
175
- ##### Returns
176
-
177
- `void`
178
-
179
- ***
180
-
181
- ### subscribe()
182
-
183
- ```ts
184
- subscribe(
185
- onData,
186
- onError?,
187
- onPending?): FlowEffect;
188
- ```
189
-
190
- Defined in: [api/base/flowSubscribable.ts:82](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowSubscribable.ts#L82)
191
-
192
- Subscribes to this observable with lifecycle callbacks.
193
-
194
- Creates an active subscription that executes immediately and then re-executes whenever
195
- the observable's dependencies change. The subscription remains active until the returned
196
- disposal function is called. The `onData` callback receives the computed value, while
197
- `onError` handles errors and `onPending` signals async operations in progress.
198
-
199
- #### Parameters
200
-
201
- | Parameter | Type | Description |
202
- | ------ | ------ | ------ |
203
- | `onData` | [`FlowOnDataListener`](/api/type-aliases/FlowOnDataListener.md)\<`T`\> | Callback invoked with the computed data on each execution |
204
- | `onError?` | [`FlowOnErrorListener`](/api/type-aliases/FlowOnErrorListener.md) | Optional callback for handling errors during execution |
205
- | `onPending?` | [`FlowOnPendingListener`](/api/type-aliases/FlowOnPendingListener.md) | Optional callback invoked when async dependencies are pending |
206
-
207
- #### Returns
208
-
209
- [`FlowEffect`](/api/interfaces/FlowEffect.md)
210
-
211
- A function to dispose the subscription and stop receiving updates
212
-
213
- #### Inherited from
214
-
215
- [`FlowValue`](/api/interfaces/FlowValue.md).[`subscribe`](/api/interfaces/FlowValue.md#subscribe)
216
-
217
- ***
218
-
219
- ### trigger()
220
-
221
- ```ts
222
- trigger(): void;
223
- ```
224
-
225
- Defined in: [api/base/flowObservable.ts:27](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowObservable.ts#L27)
226
-
227
- Manually triggers notifications to all dependents.
228
-
229
- Forces all dependents of this observable to be notified and re-executed, even if the
230
- value hasn't actually changed. Useful for imperatively triggering updates when the
231
- reactive system cannot detect changes automatically.
232
-
233
- #### Returns
234
-
235
- `void`
236
-
237
- #### Inherited from
238
-
239
- [`FlowValue`](/api/interfaces/FlowValue.md).[`trigger`](/api/interfaces/FlowValue.md#trigger)
240
-
241
- ***
242
-
243
- ### watch()
244
-
245
- ```ts
246
- watch(tracker): void;
247
- ```
248
-
249
- Defined in: [api/base/flowObservable.ts:18](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowObservable.ts#L18)
250
-
251
- Establishes a reactive dependency without reading the value.
252
-
253
- Registers this observable as a dependency of the given tracker, allowing it to be notified
254
- when changes occur. This enables dependency tracking without accessing the actual value.
255
-
256
- #### Parameters
257
-
258
- | Parameter | Type | Description |
259
- | ------ | ------ | ------ |
260
- | `tracker` | [`FlowTracker`](/api/interfaces/FlowTracker.md) | Tracker that records this observable as a dependency |
261
-
262
- #### Returns
263
-
264
- `void`
265
-
266
- #### Inherited from
267
-
268
- [`FlowValue`](/api/interfaces/FlowValue.md).[`watch`](/api/interfaces/FlowValue.md#watch)
@@ -1,55 +0,0 @@
1
- [@ersbeth/picoflow](/api/index.md) / FlowSubscribable
2
-
3
- # Interface: FlowSubscribable\<T\>
4
-
5
- Defined in: [api/base/flowSubscribable.ts:68](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowSubscribable.ts#L68)
6
-
7
- Contract for observables that can be subscribed to with lifecycle callbacks.
8
-
9
- This interface enables imperative subscription to reactive values, allowing manual control over
10
- when effects run. The subscribe method returns a disposal function to stop the subscription.
11
- Useful for integrating with non-reactive code or frameworks that manage subscriptions differently.
12
-
13
- ## Extended by
14
-
15
- - [`FlowObservable`](/api/interfaces/FlowObservable.md)
16
-
17
- ## Type Parameters
18
-
19
- | Type Parameter |
20
- | ------ |
21
- | `T` |
22
-
23
- ## Methods
24
-
25
- ### subscribe()
26
-
27
- ```ts
28
- subscribe(
29
- onData,
30
- onError?,
31
- onPending?): FlowEffect;
32
- ```
33
-
34
- Defined in: [api/base/flowSubscribable.ts:82](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowSubscribable.ts#L82)
35
-
36
- Subscribes to this observable with lifecycle callbacks.
37
-
38
- Creates an active subscription that executes immediately and then re-executes whenever
39
- the observable's dependencies change. The subscription remains active until the returned
40
- disposal function is called. The `onData` callback receives the computed value, while
41
- `onError` handles errors and `onPending` signals async operations in progress.
42
-
43
- #### Parameters
44
-
45
- | Parameter | Type | Description |
46
- | ------ | ------ | ------ |
47
- | `onData` | [`FlowOnDataListener`](/api/type-aliases/FlowOnDataListener.md)\<`T`\> | Callback invoked with the computed data on each execution |
48
- | `onError?` | [`FlowOnErrorListener`](/api/type-aliases/FlowOnErrorListener.md) | Optional callback for handling errors during execution |
49
- | `onPending?` | [`FlowOnPendingListener`](/api/type-aliases/FlowOnPendingListener.md) | Optional callback invoked when async dependencies are pending |
50
-
51
- #### Returns
52
-
53
- [`FlowEffect`](/api/interfaces/FlowEffect.md)
54
-
55
- A function to dispose the subscription and stop receiving updates
@@ -1,61 +0,0 @@
1
- [@ersbeth/picoflow](/api/index.md) / FlowTracker
2
-
3
- # Interface: FlowTracker
4
-
5
- Defined in: [api/base/flowTracker.ts:7](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowTracker.ts#L7)
6
-
7
- Contract for reactive computations that track dependencies and react to changes in the reactivity graph.
8
-
9
- ## Extends
10
-
11
- - [`FlowDisposable`](/api/interfaces/FlowDisposable.md)
12
-
13
- ## Accessors
14
-
15
- ### disposed
16
-
17
- #### Get Signature
18
-
19
- ```ts
20
- get disposed(): boolean;
21
- ```
22
-
23
- Defined in: [api/base/flowDisposable.ts:17](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowDisposable.ts#L17)
24
-
25
- Indicates whether this resource has been disposed.
26
-
27
- Returns `true` if `dispose()` has been called, `false` otherwise. Once disposed,
28
- the resource is no longer usable and any operations on it will throw errors.
29
-
30
- ##### Returns
31
-
32
- `boolean`
33
-
34
- #### Inherited from
35
-
36
- [`FlowDisposable`](/api/interfaces/FlowDisposable.md).[`disposed`](/api/interfaces/FlowDisposable.md#disposed)
37
-
38
- ## Methods
39
-
40
- ### dispose()
41
-
42
- ```ts
43
- dispose(): void;
44
- ```
45
-
46
- Defined in: [api/base/flowDisposable.ts:27](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowDisposable.ts#L27)
47
-
48
- Releases all resources held by this disposable object.
49
-
50
- Cleans up all subscriptions, dependencies, and internal state. After calling this method,
51
- the resource enters a disposed state and cannot be reused. Any subsequent operations will
52
- throw errors. This method should be called when you no longer need the reactive primitive
53
- to prevent memory leaks.
54
-
55
- #### Returns
56
-
57
- `void`
58
-
59
- #### Inherited from
60
-
61
- [`FlowDisposable`](/api/interfaces/FlowDisposable.md).[`dispose`](/api/interfaces/FlowDisposable.md#dispose)