@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,439 +0,0 @@
1
- [@ersbeth/picoflow](/api/index.md) / FlowArray
2
-
3
- # Interface: FlowArray\<T\>
4
-
5
- Defined in: [api/nodes/collections/flowArray.ts:65](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/collections/flowArray.ts#L65)
6
-
7
- Reactive array with standard mutation methods and fine-grained change tracking.
8
-
9
- FlowArray behaves like a regular array but notifies dependents on mutations. It provides all standard
10
- array mutation methods (push, pop, splice, etc.) and tracks each operation via the `$lastAction` signal.
11
- This enables both coarse-grained reactivity (reacting to any change) and fine-grained reactivity (reacting
12
- only to specific mutations). Use for lists that need reactive updates, such as todo lists, data tables,
13
- or any collection that changes over time.
14
-
15
- ## Extends
16
-
17
- - [`FlowState`](/api/interfaces/FlowState.md)\<`T`[]\>
18
-
19
- ## Type Parameters
20
-
21
- | Type Parameter |
22
- | ------ |
23
- | `T` |
24
-
25
- ## Properties
26
-
27
- | Property | Type | Description | Defined in |
28
- | ------ | ------ | ------ | ------ |
29
- | <a id="lastaction"></a> `$lastAction` | [`FlowState`](/api/interfaces/FlowState.md)\<[`FlowArrayAction`](/api/type-aliases/FlowArrayAction.md)\<`T`\>\> | Reactive state containing the last mutation operation performed on the array. Subscribe to this for fine-grained reactivity to specific mutation types. | [api/nodes/collections/flowArray.ts:136](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/collections/flowArray.ts#L136) |
30
- | <a id="length"></a> `length` | `number` | The current length of the array. | [api/nodes/collections/flowArray.ts:130](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/collections/flowArray.ts#L130) |
31
-
32
- ## Accessors
33
-
34
- ### disposed
35
-
36
- #### Get Signature
37
-
38
- ```ts
39
- get disposed(): boolean;
40
- ```
41
-
42
- Defined in: [api/base/flowDisposable.ts:17](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowDisposable.ts#L17)
43
-
44
- Indicates whether this resource has been disposed.
45
-
46
- Returns `true` if `dispose()` has been called, `false` otherwise. Once disposed,
47
- the resource is no longer usable and any operations on it will throw errors.
48
-
49
- ##### Returns
50
-
51
- `boolean`
52
-
53
- #### Inherited from
54
-
55
- [`FlowState`](/api/interfaces/FlowState.md).[`disposed`](/api/interfaces/FlowState.md#disposed)
56
-
57
- ## Methods
58
-
59
- ### clear()
60
-
61
- ```ts
62
- clear(): T[];
63
- ```
64
-
65
- Defined in: [api/nodes/collections/flowArray.ts:125](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/collections/flowArray.ts#L125)
66
-
67
- Removes all items from the array.
68
- Emits a "clear" action to $lastAction.
69
-
70
- #### Returns
71
-
72
- `T`[]
73
-
74
- Array of all removed items
75
-
76
- ***
77
-
78
- ### dispose()
79
-
80
- ```ts
81
- dispose(): void;
82
- ```
83
-
84
- Defined in: [api/base/flowDisposable.ts:27](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowDisposable.ts#L27)
85
-
86
- Releases all resources held by this disposable object.
87
-
88
- Cleans up all subscriptions, dependencies, and internal state. After calling this method,
89
- the resource enters a disposed state and cannot be reused. Any subsequent operations will
90
- throw errors. This method should be called when you no longer need the reactive primitive
91
- to prevent memory leaks.
92
-
93
- #### Returns
94
-
95
- `void`
96
-
97
- #### Inherited from
98
-
99
- [`FlowState`](/api/interfaces/FlowState.md).[`dispose`](/api/interfaces/FlowState.md#dispose)
100
-
101
- ***
102
-
103
- ### get()
104
-
105
- ```ts
106
- get(tracker): T[];
107
- ```
108
-
109
- Defined in: [api/nodes/flowValue.ts:24](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/flowValue.ts#L24)
110
-
111
- Gets the current value and establishes a reactive dependency.
112
-
113
- When called from within a reactive computation, this method registers the value as a dependency,
114
- ensuring the computation re-executes when the value changes. The value is computed on first access
115
- (if lazy) and then cached. For async values, throws PendingError while the value is resolving.
116
-
117
- #### Parameters
118
-
119
- | Parameter | Type | Description |
120
- | ------ | ------ | ------ |
121
- | `tracker` | [`FlowTracker`](/api/interfaces/FlowTracker.md) | Tracker that records this value as a dependency |
122
-
123
- #### Returns
124
-
125
- `T`[]
126
-
127
- The current value
128
-
129
- #### Inherited from
130
-
131
- [`FlowState`](/api/interfaces/FlowState.md).[`get`](/api/interfaces/FlowState.md#get)
132
-
133
- ***
134
-
135
- ### pick()
136
-
137
- ```ts
138
- pick(): Promise<T[]>;
139
- ```
140
-
141
- Defined in: [api/nodes/flowValue.ts:35](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/flowValue.ts#L35)
142
-
143
- Asynchronously gets the current value without establishing a reactive dependency.
144
-
145
- This method reads the value non-reactively, meaning it won't trigger re-execution of the calling
146
- computation when the value changes. The value is computed on first access (if lazy) and then cached.
147
- For async values, the promise resolves once the value is available.
148
-
149
- #### Returns
150
-
151
- `Promise`\<`T`[]\>
152
-
153
- Promise that resolves with the current value
154
-
155
- #### Inherited from
156
-
157
- [`FlowState`](/api/interfaces/FlowState.md).[`pick`](/api/interfaces/FlowState.md#pick)
158
-
159
- ***
160
-
161
- ### pop()
162
-
163
- ```ts
164
- pop(): T | undefined;
165
- ```
166
-
167
- Defined in: [api/nodes/collections/flowArray.ts:90](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/collections/flowArray.ts#L90)
168
-
169
- Removes and returns the last item from the array.
170
- Emits a "pop" action to $lastAction.
171
-
172
- #### Returns
173
-
174
- `T` \| `undefined`
175
-
176
- The removed item, or undefined if the array was empty
177
-
178
- ***
179
-
180
- ### push()
181
-
182
- ```ts
183
- push(item): void;
184
- ```
185
-
186
- Defined in: [api/nodes/collections/flowArray.ts:82](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/collections/flowArray.ts#L82)
187
-
188
- Appends an item to the end of the array.
189
- Emits a "push" action to $lastAction.
190
-
191
- #### Parameters
192
-
193
- | Parameter | Type | Description |
194
- | ------ | ------ | ------ |
195
- | `item` | `T` | The item to append |
196
-
197
- #### Returns
198
-
199
- `void`
200
-
201
- ***
202
-
203
- ### set()
204
-
205
- #### Call Signature
206
-
207
- ```ts
208
- set(value): void;
209
- ```
210
-
211
- Defined in: [api/nodes/sync/flowState.ts:25](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/sync/flowState.ts#L25)
212
-
213
- Updates the state with a new value or via an updater function.
214
- Notifies all dependents after the update.
215
-
216
- ##### Parameters
217
-
218
- | Parameter | Type | Description |
219
- | ------ | ------ | ------ |
220
- | `value` | `T`[] | New value to set, or function that receives current value and returns new value |
221
-
222
- ##### Returns
223
-
224
- `void`
225
-
226
- ##### Inherited from
227
-
228
- [`FlowState`](/api/interfaces/FlowState.md).[`set`](/api/interfaces/FlowState.md#set)
229
-
230
- #### Call Signature
231
-
232
- ```ts
233
- set(updater): void;
234
- ```
235
-
236
- Defined in: [api/nodes/sync/flowState.ts:26](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/sync/flowState.ts#L26)
237
-
238
- ##### Parameters
239
-
240
- | Parameter | Type |
241
- | ------ | ------ |
242
- | `updater` | [`UpdateFunction`](/api/type-aliases/UpdateFunction.md)\<`T`[]\> |
243
-
244
- ##### Returns
245
-
246
- `void`
247
-
248
- ##### Inherited from
249
-
250
- [`FlowState`](/api/interfaces/FlowState.md).[`set`](/api/interfaces/FlowState.md#set)
251
-
252
- ***
253
-
254
- ### shift()
255
-
256
- ```ts
257
- shift(): T | undefined;
258
- ```
259
-
260
- Defined in: [api/nodes/collections/flowArray.ts:106](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/collections/flowArray.ts#L106)
261
-
262
- Removes and returns the first item from the array.
263
- Emits a "shift" action to $lastAction.
264
-
265
- #### Returns
266
-
267
- `T` \| `undefined`
268
-
269
- The removed item, or undefined if the array was empty
270
-
271
- ***
272
-
273
- ### splice()
274
-
275
- ```ts
276
- splice(
277
- start,
278
- deleteCount, ...
279
- newItems): T[];
280
- ```
281
-
282
- Defined in: [api/nodes/collections/flowArray.ts:117](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/collections/flowArray.ts#L117)
283
-
284
- Changes the content of the array by removing, replacing, or adding items.
285
- Emits a "splice" action to $lastAction.
286
-
287
- #### Parameters
288
-
289
- | Parameter | Type | Description |
290
- | ------ | ------ | ------ |
291
- | `start` | `number` | The starting index |
292
- | `deleteCount` | `number` | Number of items to remove |
293
- | ...`newItems` | `T`[] | New items to add at the start position |
294
-
295
- #### Returns
296
-
297
- `T`[]
298
-
299
- Array of removed items
300
-
301
- ***
302
-
303
- ### subscribe()
304
-
305
- ```ts
306
- subscribe(
307
- onData,
308
- onError?,
309
- onPending?): FlowEffect;
310
- ```
311
-
312
- Defined in: [api/base/flowSubscribable.ts:82](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowSubscribable.ts#L82)
313
-
314
- Subscribes to this observable with lifecycle callbacks.
315
-
316
- Creates an active subscription that executes immediately and then re-executes whenever
317
- the observable's dependencies change. The subscription remains active until the returned
318
- disposal function is called. The `onData` callback receives the computed value, while
319
- `onError` handles errors and `onPending` signals async operations in progress.
320
-
321
- #### Parameters
322
-
323
- | Parameter | Type | Description |
324
- | ------ | ------ | ------ |
325
- | `onData` | [`FlowOnDataListener`](/api/type-aliases/FlowOnDataListener.md)\<`T`[]\> | Callback invoked with the computed data on each execution |
326
- | `onError?` | [`FlowOnErrorListener`](/api/type-aliases/FlowOnErrorListener.md) | Optional callback for handling errors during execution |
327
- | `onPending?` | [`FlowOnPendingListener`](/api/type-aliases/FlowOnPendingListener.md) | Optional callback invoked when async dependencies are pending |
328
-
329
- #### Returns
330
-
331
- [`FlowEffect`](/api/interfaces/FlowEffect.md)
332
-
333
- A function to dispose the subscription and stop receiving updates
334
-
335
- #### Inherited from
336
-
337
- [`FlowState`](/api/interfaces/FlowState.md).[`subscribe`](/api/interfaces/FlowState.md#subscribe)
338
-
339
- ***
340
-
341
- ### trigger()
342
-
343
- ```ts
344
- trigger(): void;
345
- ```
346
-
347
- Defined in: [api/base/flowObservable.ts:27](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowObservable.ts#L27)
348
-
349
- Manually triggers notifications to all dependents.
350
-
351
- Forces all dependents of this observable to be notified and re-executed, even if the
352
- value hasn't actually changed. Useful for imperatively triggering updates when the
353
- reactive system cannot detect changes automatically.
354
-
355
- #### Returns
356
-
357
- `void`
358
-
359
- #### Inherited from
360
-
361
- [`FlowState`](/api/interfaces/FlowState.md).[`trigger`](/api/interfaces/FlowState.md#trigger)
362
-
363
- ***
364
-
365
- ### unshift()
366
-
367
- ```ts
368
- unshift(item): void;
369
- ```
370
-
371
- Defined in: [api/nodes/collections/flowArray.ts:98](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/collections/flowArray.ts#L98)
372
-
373
- Inserts an item at the beginning of the array.
374
- Emits an "unshift" action to $lastAction.
375
-
376
- #### Parameters
377
-
378
- | Parameter | Type | Description |
379
- | ------ | ------ | ------ |
380
- | `item` | `T` | The item to insert |
381
-
382
- #### Returns
383
-
384
- `void`
385
-
386
- ***
387
-
388
- ### update()
389
-
390
- ```ts
391
- update(index, item): T | undefined;
392
- ```
393
-
394
- Defined in: [api/nodes/collections/flowArray.ts:74](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/collections/flowArray.ts#L74)
395
-
396
- Replaces an item at a specific index.
397
- Emits an "update" action to $lastAction.
398
-
399
- #### Parameters
400
-
401
- | Parameter | Type | Description |
402
- | ------ | ------ | ------ |
403
- | `index` | `number` | The index of the item to replace |
404
- | `item` | `T` | The new item |
405
-
406
- #### Returns
407
-
408
- `T` \| `undefined`
409
-
410
- The previous item at that index
411
-
412
- ***
413
-
414
- ### watch()
415
-
416
- ```ts
417
- watch(tracker): void;
418
- ```
419
-
420
- Defined in: [api/base/flowObservable.ts:18](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowObservable.ts#L18)
421
-
422
- Establishes a reactive dependency without reading the value.
423
-
424
- Registers this observable as a dependency of the given tracker, allowing it to be notified
425
- when changes occur. This enables dependency tracking without accessing the actual value.
426
-
427
- #### Parameters
428
-
429
- | Parameter | Type | Description |
430
- | ------ | ------ | ------ |
431
- | `tracker` | [`FlowTracker`](/api/interfaces/FlowTracker.md) | Tracker that records this observable as a dependency |
432
-
433
- #### Returns
434
-
435
- `void`
436
-
437
- #### Inherited from
438
-
439
- [`FlowState`](/api/interfaces/FlowState.md).[`watch`](/api/interfaces/FlowState.md#watch)
@@ -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)