@ersbeth/picoflow 2.0.2 → 2.0.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 (152) hide show
  1. package/README.md +10 -0
  2. package/SKILL.md +106 -0
  3. package/package.json +5 -1
  4. package/.gitlab-ci.yml +0 -24
  5. package/.vscode/settings.json +0 -5
  6. package/CHANGELOG.md +0 -94
  7. package/biome.json +0 -47
  8. package/docs/.vitepress/config.mts +0 -145
  9. package/docs/api/functions/array.md +0 -35
  10. package/docs/api/functions/constant.md +0 -33
  11. package/docs/api/functions/constantAsync.md +0 -69
  12. package/docs/api/functions/derivation.md +0 -34
  13. package/docs/api/functions/derivationAsync.md +0 -34
  14. package/docs/api/functions/from.md +0 -129
  15. package/docs/api/functions/isDisposable.md +0 -27
  16. package/docs/api/functions/map.md +0 -36
  17. package/docs/api/functions/signal.md +0 -21
  18. package/docs/api/functions/state.md +0 -67
  19. package/docs/api/functions/stateAsync.md +0 -69
  20. package/docs/api/functions/subscribe.md +0 -40
  21. package/docs/api/functions/writableDerivation.md +0 -33
  22. package/docs/api/functions/writableDerivationAsync.md +0 -34
  23. package/docs/api/index.md +0 -61
  24. package/docs/api/interfaces/FlowArray.md +0 -439
  25. package/docs/api/interfaces/FlowConstant.md +0 -220
  26. package/docs/api/interfaces/FlowConstantAsync.md +0 -221
  27. package/docs/api/interfaces/FlowDerivation.md +0 -241
  28. package/docs/api/interfaces/FlowDerivationAsync.md +0 -242
  29. package/docs/api/interfaces/FlowDisposable.md +0 -59
  30. package/docs/api/interfaces/FlowEffect.md +0 -64
  31. package/docs/api/interfaces/FlowMap.md +0 -374
  32. package/docs/api/interfaces/FlowObservable.md +0 -155
  33. package/docs/api/interfaces/FlowSignal.md +0 -156
  34. package/docs/api/interfaces/FlowState.md +0 -269
  35. package/docs/api/interfaces/FlowStateAsync.md +0 -268
  36. package/docs/api/interfaces/FlowSubscribable.md +0 -55
  37. package/docs/api/interfaces/FlowTracker.md +0 -61
  38. package/docs/api/interfaces/FlowValue.md +0 -222
  39. package/docs/api/interfaces/FlowWritableDerivation.md +0 -292
  40. package/docs/api/interfaces/FlowWritableDerivationAsync.md +0 -293
  41. package/docs/api/type-aliases/DerivationFunction.md +0 -28
  42. package/docs/api/type-aliases/DerivationFunctionAsync.md +0 -28
  43. package/docs/api/type-aliases/FlowArrayAction.md +0 -60
  44. package/docs/api/type-aliases/FlowDataTracker.md +0 -33
  45. package/docs/api/type-aliases/FlowMapAction.md +0 -48
  46. package/docs/api/type-aliases/FlowOnDataListener.md +0 -33
  47. package/docs/api/type-aliases/FlowOnErrorListener.md +0 -27
  48. package/docs/api/type-aliases/FlowOnPendingListener.md +0 -21
  49. package/docs/api/type-aliases/FlowReadonly.md +0 -22
  50. package/docs/api/type-aliases/InitFunction.md +0 -21
  51. package/docs/api/type-aliases/InitFunctionAsync.md +0 -21
  52. package/docs/api/type-aliases/NotPromise.md +0 -21
  53. package/docs/api/type-aliases/UpdateFunction.md +0 -27
  54. package/docs/api/type-aliases/UpdateFunctionAsync.md +0 -27
  55. package/docs/api/typedoc-sidebar.json +0 -65
  56. package/docs/examples/examples.md +0 -2311
  57. package/docs/examples/patterns.md +0 -649
  58. package/docs/guide/advanced/architecture.md +0 -1234
  59. package/docs/guide/advanced/disposal.md +0 -426
  60. package/docs/guide/advanced/migration-v1.md +0 -464
  61. package/docs/guide/advanced/migration-v2.md +0 -204
  62. package/docs/guide/advanced/solidjs.md +0 -135
  63. package/docs/guide/introduction/concepts.md +0 -57
  64. package/docs/guide/introduction/conventions.md +0 -30
  65. package/docs/guide/introduction/getting-started.md +0 -139
  66. package/docs/guide/introduction/lifecycle.md +0 -368
  67. package/docs/guide/primitives/array.md +0 -286
  68. package/docs/guide/primitives/constant.md +0 -207
  69. package/docs/guide/primitives/derivations.md +0 -281
  70. package/docs/guide/primitives/effects.md +0 -372
  71. package/docs/guide/primitives/map.md +0 -265
  72. package/docs/guide/primitives/overview.md +0 -92
  73. package/docs/guide/primitives/signal.md +0 -222
  74. package/docs/guide/primitives/state.md +0 -272
  75. package/docs/index.md +0 -47
  76. package/docs/public/logo.svg +0 -1
  77. package/src/api/base/flowDisposable.ts +0 -44
  78. package/src/api/base/flowObservable.ts +0 -28
  79. package/src/api/base/flowSubscribable.ts +0 -87
  80. package/src/api/base/flowTracker.ts +0 -7
  81. package/src/api/base/index.ts +0 -4
  82. package/src/api/index.ts +0 -2
  83. package/src/api/nodes/async/flowConstantAsync.ts +0 -36
  84. package/src/api/nodes/async/flowDerivationAsync.ts +0 -42
  85. package/src/api/nodes/async/flowStateAsync.ts +0 -47
  86. package/src/api/nodes/async/flowWritableDerivationAsync.ts +0 -33
  87. package/src/api/nodes/async/index.ts +0 -4
  88. package/src/api/nodes/collections/flowArray.ts +0 -155
  89. package/src/api/nodes/collections/flowMap.ts +0 -115
  90. package/src/api/nodes/collections/index.ts +0 -2
  91. package/src/api/nodes/flowEffect.ts +0 -42
  92. package/src/api/nodes/flowSignal.ts +0 -28
  93. package/src/api/nodes/flowValue.ts +0 -37
  94. package/src/api/nodes/index.ts +0 -7
  95. package/src/api/nodes/sync/flowConstant.ts +0 -33
  96. package/src/api/nodes/sync/flowDerivation.ts +0 -41
  97. package/src/api/nodes/sync/flowState.ts +0 -45
  98. package/src/api/nodes/sync/flowWritableDerivation.ts +0 -31
  99. package/src/api/nodes/sync/index.ts +0 -4
  100. package/src/api/nodes/utils.ts +0 -24
  101. package/src/base/disposable.ts +0 -18
  102. package/src/base/executionStack.ts +0 -42
  103. package/src/base/index.ts +0 -5
  104. package/src/base/node.ts +0 -98
  105. package/src/base/observable.ts +0 -92
  106. package/src/base/observer.ts +0 -51
  107. package/src/converters/index.ts +0 -1
  108. package/src/converters/solid.ts +0 -109
  109. package/src/index.ts +0 -2
  110. package/src/nodes/arrayNode.ts +0 -180
  111. package/src/nodes/effectNode.ts +0 -58
  112. package/src/nodes/index.ts +0 -7
  113. package/src/nodes/mapNode.ts +0 -125
  114. package/src/nodes/signalNode.ts +0 -19
  115. package/src/nodes/valueAsyncNode.ts +0 -85
  116. package/src/nodes/valueNode.ts +0 -148
  117. package/src/nodes/valueSyncNode.ts +0 -125
  118. package/src/schedulers/asyncResolver.ts +0 -78
  119. package/src/schedulers/asyncScheduler.ts +0 -66
  120. package/src/schedulers/index.ts +0 -4
  121. package/src/schedulers/pendingError.ts +0 -13
  122. package/src/schedulers/scheduler.ts +0 -9
  123. package/src/schedulers/syncResolver.ts +0 -69
  124. package/src/schedulers/syncScheduler.ts +0 -55
  125. package/test/base/pendingError.test.ts +0 -67
  126. package/test/converters/solid.derivation.browser.test.tsx +0 -69
  127. package/test/converters/solid.node.test.ts +0 -654
  128. package/test/converters/solid.state.browser.test.tsx +0 -1592
  129. package/test/reactivity/flowSignal.test.ts +0 -226
  130. package/test/reactivity/nodes/async/asyncScheduler/asyncResolver.test.ts +0 -593
  131. package/test/reactivity/nodes/async/asyncScheduler/asyncScheduler.test.ts +0 -317
  132. package/test/reactivity/nodes/async/flowConstantAsync.test.ts +0 -652
  133. package/test/reactivity/nodes/async/flowDerivation.test.ts +0 -898
  134. package/test/reactivity/nodes/async/flowDerivationAsync.test.ts +0 -1716
  135. package/test/reactivity/nodes/async/flowStateAsync.test.ts +0 -708
  136. package/test/reactivity/nodes/async/flowWritableDerivationAsync.test.ts +0 -614
  137. package/test/reactivity/nodes/collections/flowArray.asyncStates.test.ts +0 -1289
  138. package/test/reactivity/nodes/collections/flowArray.scalars.test.ts +0 -961
  139. package/test/reactivity/nodes/collections/flowArray.states.test.ts +0 -1035
  140. package/test/reactivity/nodes/collections/flowMap.asyncStates.test.ts +0 -960
  141. package/test/reactivity/nodes/collections/flowMap.scalars.test.ts +0 -775
  142. package/test/reactivity/nodes/collections/flowMap.states.test.ts +0 -958
  143. package/test/reactivity/nodes/sync/flowConstant.test.ts +0 -377
  144. package/test/reactivity/nodes/sync/flowDerivation.test.ts +0 -896
  145. package/test/reactivity/nodes/sync/flowState.test.ts +0 -341
  146. package/test/reactivity/nodes/sync/flowWritableDerivation.test.ts +0 -603
  147. package/test/vitest.d.ts +0 -10
  148. package/tsconfig.json +0 -37
  149. package/typedoc.json +0 -37
  150. package/vite.config.ts +0 -31
  151. package/vitest.browser.config.ts +0 -21
  152. package/vitest.config.ts +0 -17
@@ -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)
@@ -1,242 +0,0 @@
1
- [@ersbeth/picoflow](/api/index.md) / FlowDerivationAsync
2
-
3
- # Interface: FlowDerivationAsync\<T\>
4
-
5
- Defined in: [api/nodes/async/flowDerivationAsync.ts:20](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/async/flowDerivationAsync.ts#L20)
6
-
7
- Read-only reactive value that recomputes asynchronously when dependencies change.
8
-
9
- Async derivations track reactive values accessed during computation and automatically recompute when any
10
- tracked dependency changes. The compute function returns a promise, and the resolved value is cached until
11
- dependencies change. While recomputing, accessing the value throws PendingError. Use for values derived from
12
- async operations like API calls, database queries, or any computation that depends on reactive state and
13
- requires async work.
14
-
15
- ## Extends
16
-
17
- - [`FlowValue`](/api/interfaces/FlowValue.md)\<`T`\>
18
-
19
- ## Extended by
20
-
21
- - [`FlowWritableDerivationAsync`](/api/interfaces/FlowWritableDerivationAsync.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
- ### refresh()
140
-
141
- ```ts
142
- refresh(): void;
143
- ```
144
-
145
- Defined in: [api/nodes/async/flowDerivationAsync.ts:24](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/async/flowDerivationAsync.ts#L24)
146
-
147
- Forces the derivation to recompute even if dependencies haven't changed.
148
-
149
- #### Returns
150
-
151
- `void`
152
-
153
- ***
154
-
155
- ### subscribe()
156
-
157
- ```ts
158
- subscribe(
159
- onData,
160
- onError?,
161
- onPending?): FlowEffect;
162
- ```
163
-
164
- Defined in: [api/base/flowSubscribable.ts:82](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowSubscribable.ts#L82)
165
-
166
- Subscribes to this observable with lifecycle callbacks.
167
-
168
- Creates an active subscription that executes immediately and then re-executes whenever
169
- the observable's dependencies change. The subscription remains active until the returned
170
- disposal function is called. The `onData` callback receives the computed value, while
171
- `onError` handles errors and `onPending` signals async operations in progress.
172
-
173
- #### Parameters
174
-
175
- | Parameter | Type | Description |
176
- | ------ | ------ | ------ |
177
- | `onData` | [`FlowOnDataListener`](/api/type-aliases/FlowOnDataListener.md)\<`T`\> | Callback invoked with the computed data on each execution |
178
- | `onError?` | [`FlowOnErrorListener`](/api/type-aliases/FlowOnErrorListener.md) | Optional callback for handling errors during execution |
179
- | `onPending?` | [`FlowOnPendingListener`](/api/type-aliases/FlowOnPendingListener.md) | Optional callback invoked when async dependencies are pending |
180
-
181
- #### Returns
182
-
183
- [`FlowEffect`](/api/interfaces/FlowEffect.md)
184
-
185
- A function to dispose the subscription and stop receiving updates
186
-
187
- #### Inherited from
188
-
189
- [`FlowValue`](/api/interfaces/FlowValue.md).[`subscribe`](/api/interfaces/FlowValue.md#subscribe)
190
-
191
- ***
192
-
193
- ### trigger()
194
-
195
- ```ts
196
- trigger(): void;
197
- ```
198
-
199
- Defined in: [api/base/flowObservable.ts:27](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowObservable.ts#L27)
200
-
201
- Manually triggers notifications to all dependents.
202
-
203
- Forces all dependents of this observable to be notified and re-executed, even if the
204
- value hasn't actually changed. Useful for imperatively triggering updates when the
205
- reactive system cannot detect changes automatically.
206
-
207
- #### Returns
208
-
209
- `void`
210
-
211
- #### Inherited from
212
-
213
- [`FlowValue`](/api/interfaces/FlowValue.md).[`trigger`](/api/interfaces/FlowValue.md#trigger)
214
-
215
- ***
216
-
217
- ### watch()
218
-
219
- ```ts
220
- watch(tracker): void;
221
- ```
222
-
223
- Defined in: [api/base/flowObservable.ts:18](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowObservable.ts#L18)
224
-
225
- Establishes a reactive dependency without reading the value.
226
-
227
- Registers this observable as a dependency of the given tracker, allowing it to be notified
228
- when changes occur. This enables dependency tracking without accessing the actual value.
229
-
230
- #### Parameters
231
-
232
- | Parameter | Type | Description |
233
- | ------ | ------ | ------ |
234
- | `tracker` | [`FlowTracker`](/api/interfaces/FlowTracker.md) | Tracker that records this observable as a dependency |
235
-
236
- #### Returns
237
-
238
- `void`
239
-
240
- #### Inherited from
241
-
242
- [`FlowValue`](/api/interfaces/FlowValue.md).[`watch`](/api/interfaces/FlowValue.md#watch)