@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,220 +0,0 @@
1
- [@ersbeth/picoflow](/api/index.md) / FlowConstant
2
-
3
- # Interface: FlowConstant\<T\>
4
-
5
- Defined in: [api/nodes/sync/flowConstant.ts:17](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/sync/flowConstant.ts#L17)
6
-
7
- Read-only reactive value that computes once on initialization and never changes.
8
-
9
- Constants provide lazy initialization - the value isn't computed until first accessed via `get()` or `pick()`.
10
- Once computed, the value is cached forever. Use constants for expensive computations that only need to run once,
11
- such as loading configuration, computing static lookups, or initializing resources.
12
-
13
- ## Extends
14
-
15
- - [`FlowValue`](/api/interfaces/FlowValue.md)\<`T`\>
16
-
17
- ## Type Parameters
18
-
19
- | Type Parameter |
20
- | ------ |
21
- | `T` |
22
-
23
- ## Accessors
24
-
25
- ### disposed
26
-
27
- #### Get Signature
28
-
29
- ```ts
30
- get disposed(): boolean;
31
- ```
32
-
33
- Defined in: [api/base/flowDisposable.ts:17](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowDisposable.ts#L17)
34
-
35
- Indicates whether this resource has been disposed.
36
-
37
- Returns `true` if `dispose()` has been called, `false` otherwise. Once disposed,
38
- the resource is no longer usable and any operations on it will throw errors.
39
-
40
- ##### Returns
41
-
42
- `boolean`
43
-
44
- #### Inherited from
45
-
46
- [`FlowValue`](/api/interfaces/FlowValue.md).[`disposed`](/api/interfaces/FlowValue.md#disposed)
47
-
48
- ## Methods
49
-
50
- ### dispose()
51
-
52
- ```ts
53
- dispose(): void;
54
- ```
55
-
56
- Defined in: [api/base/flowDisposable.ts:27](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowDisposable.ts#L27)
57
-
58
- Releases all resources held by this disposable object.
59
-
60
- Cleans up all subscriptions, dependencies, and internal state. After calling this method,
61
- the resource enters a disposed state and cannot be reused. Any subsequent operations will
62
- throw errors. This method should be called when you no longer need the reactive primitive
63
- to prevent memory leaks.
64
-
65
- #### Returns
66
-
67
- `void`
68
-
69
- #### Inherited from
70
-
71
- [`FlowValue`](/api/interfaces/FlowValue.md).[`dispose`](/api/interfaces/FlowValue.md#dispose)
72
-
73
- ***
74
-
75
- ### get()
76
-
77
- ```ts
78
- get(tracker): T;
79
- ```
80
-
81
- Defined in: [api/nodes/flowValue.ts:24](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/flowValue.ts#L24)
82
-
83
- Gets the current value and establishes a reactive dependency.
84
-
85
- When called from within a reactive computation, this method registers the value as a dependency,
86
- ensuring the computation re-executes when the value changes. The value is computed on first access
87
- (if lazy) and then cached. For async values, throws PendingError while the value is resolving.
88
-
89
- #### Parameters
90
-
91
- | Parameter | Type | Description |
92
- | ------ | ------ | ------ |
93
- | `tracker` | [`FlowTracker`](/api/interfaces/FlowTracker.md) | Tracker that records this value as a dependency |
94
-
95
- #### Returns
96
-
97
- `T`
98
-
99
- The current value
100
-
101
- #### Inherited from
102
-
103
- [`FlowValue`](/api/interfaces/FlowValue.md).[`get`](/api/interfaces/FlowValue.md#get)
104
-
105
- ***
106
-
107
- ### pick()
108
-
109
- ```ts
110
- pick(): Promise<T>;
111
- ```
112
-
113
- Defined in: [api/nodes/flowValue.ts:35](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/flowValue.ts#L35)
114
-
115
- Asynchronously gets the current value without establishing a reactive dependency.
116
-
117
- This method reads the value non-reactively, meaning it won't trigger re-execution of the calling
118
- computation when the value changes. The value is computed on first access (if lazy) and then cached.
119
- For async values, the promise resolves once the value is available.
120
-
121
- #### Returns
122
-
123
- `Promise`\<`T`\>
124
-
125
- Promise that resolves with the current value
126
-
127
- #### Inherited from
128
-
129
- [`FlowValue`](/api/interfaces/FlowValue.md).[`pick`](/api/interfaces/FlowValue.md#pick)
130
-
131
- ***
132
-
133
- ### subscribe()
134
-
135
- ```ts
136
- subscribe(
137
- onData,
138
- onError?,
139
- onPending?): FlowEffect;
140
- ```
141
-
142
- Defined in: [api/base/flowSubscribable.ts:82](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowSubscribable.ts#L82)
143
-
144
- Subscribes to this observable with lifecycle callbacks.
145
-
146
- Creates an active subscription that executes immediately and then re-executes whenever
147
- the observable's dependencies change. The subscription remains active until the returned
148
- disposal function is called. The `onData` callback receives the computed value, while
149
- `onError` handles errors and `onPending` signals async operations in progress.
150
-
151
- #### Parameters
152
-
153
- | Parameter | Type | Description |
154
- | ------ | ------ | ------ |
155
- | `onData` | [`FlowOnDataListener`](/api/type-aliases/FlowOnDataListener.md)\<`T`\> | Callback invoked with the computed data on each execution |
156
- | `onError?` | [`FlowOnErrorListener`](/api/type-aliases/FlowOnErrorListener.md) | Optional callback for handling errors during execution |
157
- | `onPending?` | [`FlowOnPendingListener`](/api/type-aliases/FlowOnPendingListener.md) | Optional callback invoked when async dependencies are pending |
158
-
159
- #### Returns
160
-
161
- [`FlowEffect`](/api/interfaces/FlowEffect.md)
162
-
163
- A function to dispose the subscription and stop receiving updates
164
-
165
- #### Inherited from
166
-
167
- [`FlowValue`](/api/interfaces/FlowValue.md).[`subscribe`](/api/interfaces/FlowValue.md#subscribe)
168
-
169
- ***
170
-
171
- ### trigger()
172
-
173
- ```ts
174
- trigger(): void;
175
- ```
176
-
177
- Defined in: [api/base/flowObservable.ts:27](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowObservable.ts#L27)
178
-
179
- Manually triggers notifications to all dependents.
180
-
181
- Forces all dependents of this observable to be notified and re-executed, even if the
182
- value hasn't actually changed. Useful for imperatively triggering updates when the
183
- reactive system cannot detect changes automatically.
184
-
185
- #### Returns
186
-
187
- `void`
188
-
189
- #### Inherited from
190
-
191
- [`FlowValue`](/api/interfaces/FlowValue.md).[`trigger`](/api/interfaces/FlowValue.md#trigger)
192
-
193
- ***
194
-
195
- ### watch()
196
-
197
- ```ts
198
- watch(tracker): void;
199
- ```
200
-
201
- Defined in: [api/base/flowObservable.ts:18](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowObservable.ts#L18)
202
-
203
- Establishes a reactive dependency without reading the value.
204
-
205
- Registers this observable as a dependency of the given tracker, allowing it to be notified
206
- when changes occur. This enables dependency tracking without accessing the actual value.
207
-
208
- #### Parameters
209
-
210
- | Parameter | Type | Description |
211
- | ------ | ------ | ------ |
212
- | `tracker` | [`FlowTracker`](/api/interfaces/FlowTracker.md) | Tracker that records this observable as a dependency |
213
-
214
- #### Returns
215
-
216
- `void`
217
-
218
- #### Inherited from
219
-
220
- [`FlowValue`](/api/interfaces/FlowValue.md).[`watch`](/api/interfaces/FlowValue.md#watch)
@@ -1,221 +0,0 @@
1
- [@ersbeth/picoflow](/api/index.md) / FlowConstantAsync
2
-
3
- # Interface: FlowConstantAsync\<T\>
4
-
5
- Defined in: [api/nodes/async/flowConstantAsync.ts:17](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/async/flowConstantAsync.ts#L17)
6
-
7
- Read-only reactive value that resolves once from a promise or async initializer.
8
-
9
- Async constants provide lazy initialization for asynchronous values. The promise or async initializer
10
- runs once on first access, and the resolved value is cached forever. While pending, accessing the value
11
- throws PendingError. Use for async operations that only need to run once, such as loading remote configuration,
12
- fetching initial data, or computing expensive async resources.
13
-
14
- ## Extends
15
-
16
- - [`FlowValue`](/api/interfaces/FlowValue.md)\<`T`\>
17
-
18
- ## Type Parameters
19
-
20
- | Type Parameter |
21
- | ------ |
22
- | `T` |
23
-
24
- ## Accessors
25
-
26
- ### disposed
27
-
28
- #### Get Signature
29
-
30
- ```ts
31
- get disposed(): boolean;
32
- ```
33
-
34
- Defined in: [api/base/flowDisposable.ts:17](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowDisposable.ts#L17)
35
-
36
- Indicates whether this resource has been disposed.
37
-
38
- Returns `true` if `dispose()` has been called, `false` otherwise. Once disposed,
39
- the resource is no longer usable and any operations on it will throw errors.
40
-
41
- ##### Returns
42
-
43
- `boolean`
44
-
45
- #### Inherited from
46
-
47
- [`FlowValue`](/api/interfaces/FlowValue.md).[`disposed`](/api/interfaces/FlowValue.md#disposed)
48
-
49
- ## Methods
50
-
51
- ### dispose()
52
-
53
- ```ts
54
- dispose(): void;
55
- ```
56
-
57
- Defined in: [api/base/flowDisposable.ts:27](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowDisposable.ts#L27)
58
-
59
- Releases all resources held by this disposable object.
60
-
61
- Cleans up all subscriptions, dependencies, and internal state. After calling this method,
62
- the resource enters a disposed state and cannot be reused. Any subsequent operations will
63
- throw errors. This method should be called when you no longer need the reactive primitive
64
- to prevent memory leaks.
65
-
66
- #### Returns
67
-
68
- `void`
69
-
70
- #### Inherited from
71
-
72
- [`FlowValue`](/api/interfaces/FlowValue.md).[`dispose`](/api/interfaces/FlowValue.md#dispose)
73
-
74
- ***
75
-
76
- ### get()
77
-
78
- ```ts
79
- get(tracker): T;
80
- ```
81
-
82
- Defined in: [api/nodes/flowValue.ts:24](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/flowValue.ts#L24)
83
-
84
- Gets the current value and establishes a reactive dependency.
85
-
86
- When called from within a reactive computation, this method registers the value as a dependency,
87
- ensuring the computation re-executes when the value changes. The value is computed on first access
88
- (if lazy) and then cached. For async values, throws PendingError while the value is resolving.
89
-
90
- #### Parameters
91
-
92
- | Parameter | Type | Description |
93
- | ------ | ------ | ------ |
94
- | `tracker` | [`FlowTracker`](/api/interfaces/FlowTracker.md) | Tracker that records this value as a dependency |
95
-
96
- #### Returns
97
-
98
- `T`
99
-
100
- The current value
101
-
102
- #### Inherited from
103
-
104
- [`FlowValue`](/api/interfaces/FlowValue.md).[`get`](/api/interfaces/FlowValue.md#get)
105
-
106
- ***
107
-
108
- ### pick()
109
-
110
- ```ts
111
- pick(): Promise<T>;
112
- ```
113
-
114
- Defined in: [api/nodes/flowValue.ts:35](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/flowValue.ts#L35)
115
-
116
- Asynchronously gets the current value without establishing a reactive dependency.
117
-
118
- This method reads the value non-reactively, meaning it won't trigger re-execution of the calling
119
- computation when the value changes. The value is computed on first access (if lazy) and then cached.
120
- For async values, the promise resolves once the value is available.
121
-
122
- #### Returns
123
-
124
- `Promise`\<`T`\>
125
-
126
- Promise that resolves with the current value
127
-
128
- #### Inherited from
129
-
130
- [`FlowValue`](/api/interfaces/FlowValue.md).[`pick`](/api/interfaces/FlowValue.md#pick)
131
-
132
- ***
133
-
134
- ### subscribe()
135
-
136
- ```ts
137
- subscribe(
138
- onData,
139
- onError?,
140
- onPending?): FlowEffect;
141
- ```
142
-
143
- Defined in: [api/base/flowSubscribable.ts:82](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowSubscribable.ts#L82)
144
-
145
- Subscribes to this observable with lifecycle callbacks.
146
-
147
- Creates an active subscription that executes immediately and then re-executes whenever
148
- the observable's dependencies change. The subscription remains active until the returned
149
- disposal function is called. The `onData` callback receives the computed value, while
150
- `onError` handles errors and `onPending` signals async operations in progress.
151
-
152
- #### Parameters
153
-
154
- | Parameter | Type | Description |
155
- | ------ | ------ | ------ |
156
- | `onData` | [`FlowOnDataListener`](/api/type-aliases/FlowOnDataListener.md)\<`T`\> | Callback invoked with the computed data on each execution |
157
- | `onError?` | [`FlowOnErrorListener`](/api/type-aliases/FlowOnErrorListener.md) | Optional callback for handling errors during execution |
158
- | `onPending?` | [`FlowOnPendingListener`](/api/type-aliases/FlowOnPendingListener.md) | Optional callback invoked when async dependencies are pending |
159
-
160
- #### Returns
161
-
162
- [`FlowEffect`](/api/interfaces/FlowEffect.md)
163
-
164
- A function to dispose the subscription and stop receiving updates
165
-
166
- #### Inherited from
167
-
168
- [`FlowValue`](/api/interfaces/FlowValue.md).[`subscribe`](/api/interfaces/FlowValue.md#subscribe)
169
-
170
- ***
171
-
172
- ### trigger()
173
-
174
- ```ts
175
- trigger(): void;
176
- ```
177
-
178
- Defined in: [api/base/flowObservable.ts:27](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowObservable.ts#L27)
179
-
180
- Manually triggers notifications to all dependents.
181
-
182
- Forces all dependents of this observable to be notified and re-executed, even if the
183
- value hasn't actually changed. Useful for imperatively triggering updates when the
184
- reactive system cannot detect changes automatically.
185
-
186
- #### Returns
187
-
188
- `void`
189
-
190
- #### Inherited from
191
-
192
- [`FlowValue`](/api/interfaces/FlowValue.md).[`trigger`](/api/interfaces/FlowValue.md#trigger)
193
-
194
- ***
195
-
196
- ### watch()
197
-
198
- ```ts
199
- watch(tracker): void;
200
- ```
201
-
202
- Defined in: [api/base/flowObservable.ts:18](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowObservable.ts#L18)
203
-
204
- Establishes a reactive dependency without reading the value.
205
-
206
- Registers this observable as a dependency of the given tracker, allowing it to be notified
207
- when changes occur. This enables dependency tracking without accessing the actual value.
208
-
209
- #### Parameters
210
-
211
- | Parameter | Type | Description |
212
- | ------ | ------ | ------ |
213
- | `tracker` | [`FlowTracker`](/api/interfaces/FlowTracker.md) | Tracker that records this observable as a dependency |
214
-
215
- #### Returns
216
-
217
- `void`
218
-
219
- #### Inherited from
220
-
221
- [`FlowValue`](/api/interfaces/FlowValue.md).[`watch`](/api/interfaces/FlowValue.md#watch)
@@ -1,241 +0,0 @@
1
- [@ersbeth/picoflow](/api/index.md) / FlowDerivation
2
-
3
- # Interface: FlowDerivation\<T\>
4
-
5
- Defined in: [api/nodes/sync/flowDerivation.ts:19](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/sync/flowDerivation.ts#L19)
6
-
7
- Read-only reactive value that recomputes automatically when dependencies change.
8
-
9
- Derivations track reactive values accessed during computation and automatically recompute when any
10
- tracked dependency changes. The computed value is cached until dependencies change, avoiding unnecessary
11
- recomputations. Use derivations for values derived from other reactive state, such as filtered lists,
12
- computed properties, or aggregated data.
13
-
14
- ## Extends
15
-
16
- - [`FlowValue`](/api/interfaces/FlowValue.md)\<`T`\>
17
-
18
- ## Extended by
19
-
20
- - [`FlowWritableDerivation`](/api/interfaces/FlowWritableDerivation.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
- ### refresh()
139
-
140
- ```ts
141
- refresh(): void;
142
- ```
143
-
144
- Defined in: [api/nodes/sync/flowDerivation.ts:23](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/sync/flowDerivation.ts#L23)
145
-
146
- Forces the derivation to recompute even if dependencies haven't changed.
147
-
148
- #### Returns
149
-
150
- `void`
151
-
152
- ***
153
-
154
- ### subscribe()
155
-
156
- ```ts
157
- subscribe(
158
- onData,
159
- onError?,
160
- onPending?): FlowEffect;
161
- ```
162
-
163
- Defined in: [api/base/flowSubscribable.ts:82](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowSubscribable.ts#L82)
164
-
165
- Subscribes to this observable with lifecycle callbacks.
166
-
167
- Creates an active subscription that executes immediately and then re-executes whenever
168
- the observable's dependencies change. The subscription remains active until the returned
169
- disposal function is called. The `onData` callback receives the computed value, while
170
- `onError` handles errors and `onPending` signals async operations in progress.
171
-
172
- #### Parameters
173
-
174
- | Parameter | Type | Description |
175
- | ------ | ------ | ------ |
176
- | `onData` | [`FlowOnDataListener`](/api/type-aliases/FlowOnDataListener.md)\<`T`\> | Callback invoked with the computed data on each execution |
177
- | `onError?` | [`FlowOnErrorListener`](/api/type-aliases/FlowOnErrorListener.md) | Optional callback for handling errors during execution |
178
- | `onPending?` | [`FlowOnPendingListener`](/api/type-aliases/FlowOnPendingListener.md) | Optional callback invoked when async dependencies are pending |
179
-
180
- #### Returns
181
-
182
- [`FlowEffect`](/api/interfaces/FlowEffect.md)
183
-
184
- A function to dispose the subscription and stop receiving updates
185
-
186
- #### Inherited from
187
-
188
- [`FlowValue`](/api/interfaces/FlowValue.md).[`subscribe`](/api/interfaces/FlowValue.md#subscribe)
189
-
190
- ***
191
-
192
- ### trigger()
193
-
194
- ```ts
195
- trigger(): void;
196
- ```
197
-
198
- Defined in: [api/base/flowObservable.ts:27](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowObservable.ts#L27)
199
-
200
- Manually triggers notifications to all dependents.
201
-
202
- Forces all dependents of this observable to be notified and re-executed, even if the
203
- value hasn't actually changed. Useful for imperatively triggering updates when the
204
- reactive system cannot detect changes automatically.
205
-
206
- #### Returns
207
-
208
- `void`
209
-
210
- #### Inherited from
211
-
212
- [`FlowValue`](/api/interfaces/FlowValue.md).[`trigger`](/api/interfaces/FlowValue.md#trigger)
213
-
214
- ***
215
-
216
- ### watch()
217
-
218
- ```ts
219
- watch(tracker): void;
220
- ```
221
-
222
- Defined in: [api/base/flowObservable.ts:18](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowObservable.ts#L18)
223
-
224
- Establishes a reactive dependency without reading the value.
225
-
226
- Registers this observable as a dependency of the given tracker, allowing it to be notified
227
- when changes occur. This enables dependency tracking without accessing the actual value.
228
-
229
- #### Parameters
230
-
231
- | Parameter | Type | Description |
232
- | ------ | ------ | ------ |
233
- | `tracker` | [`FlowTracker`](/api/interfaces/FlowTracker.md) | Tracker that records this observable as a dependency |
234
-
235
- #### Returns
236
-
237
- `void`
238
-
239
- #### Inherited from
240
-
241
- [`FlowValue`](/api/interfaces/FlowValue.md).[`watch`](/api/interfaces/FlowValue.md#watch)