@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,374 +0,0 @@
1
- [@ersbeth/picoflow](/api/index.md) / FlowMap
2
-
3
- # Interface: FlowMap\<K, V\>
4
-
5
- Defined in: [api/nodes/collections/flowMap.ts:52](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/collections/flowMap.ts#L52)
6
-
7
- Reactive map with standard mutation methods and fine-grained change tracking.
8
-
9
- FlowMap behaves like a regular Map but notifies dependents on mutations. It provides standard
10
- map operations (add, update, delete) and tracks each operation via the `$lastAction` signal.
11
- This enables both coarse-grained reactivity (reacting to any change) and fine-grained reactivity
12
- (reacting only to specific mutations). Use for key-value collections that need reactive updates,
13
- such as entity stores, lookup tables, or any map-based data that changes over time.
14
-
15
- ## Extends
16
-
17
- - [`FlowState`](/api/interfaces/FlowState.md)\<`Map`\<`K`, `V`\>\>
18
-
19
- ## Type Parameters
20
-
21
- | Type Parameter |
22
- | ------ |
23
- | `K` |
24
- | `V` |
25
-
26
- ## Properties
27
-
28
- | Property | Type | Description | Defined in |
29
- | ------ | ------ | ------ | ------ |
30
- | <a id="lastaction"></a> `$lastAction` | [`FlowState`](/api/interfaces/FlowState.md)\<[`FlowMapAction`](/api/type-aliases/FlowMapAction.md)\<`K`, `V`\>\> | Reactive state containing the last mutation operation performed on the map. Subscribe to this for fine-grained reactivity to specific mutation types. | [api/nodes/collections/flowMap.ts:93](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/collections/flowMap.ts#L93) |
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
- ### add()
60
-
61
- ```ts
62
- add(key, value): void;
63
- ```
64
-
65
- Defined in: [api/nodes/collections/flowMap.ts:79](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/collections/flowMap.ts#L79)
66
-
67
- Adds a new key-value pair to the map.
68
- Emits an "add" action to $lastAction.
69
-
70
- #### Parameters
71
-
72
- | Parameter | Type | Description |
73
- | ------ | ------ | ------ |
74
- | `key` | `K` | The key to add (must not exist) |
75
- | `value` | `V` | The value to associate with the key |
76
-
77
- #### Returns
78
-
79
- `void`
80
-
81
- ***
82
-
83
- ### clear()
84
-
85
- ```ts
86
- clear(): Map<K, V>;
87
- ```
88
-
89
- Defined in: [api/nodes/collections/flowMap.ts:87](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/collections/flowMap.ts#L87)
90
-
91
- Removes all entries from the map.
92
- Emits a "clear" action to $lastAction.
93
-
94
- #### Returns
95
-
96
- `Map`\<`K`, `V`\>
97
-
98
- Map of all removed entries
99
-
100
- ***
101
-
102
- ### delete()
103
-
104
- ```ts
105
- delete(key): V;
106
- ```
107
-
108
- Defined in: [api/nodes/collections/flowMap.ts:60](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/collections/flowMap.ts#L60)
109
-
110
- Removes a key-value pair from the map.
111
- Emits a "delete" action to $lastAction.
112
-
113
- #### Parameters
114
-
115
- | Parameter | Type | Description |
116
- | ------ | ------ | ------ |
117
- | `key` | `K` | The key to delete |
118
-
119
- #### Returns
120
-
121
- `V`
122
-
123
- The deleted value
124
-
125
- ***
126
-
127
- ### dispose()
128
-
129
- ```ts
130
- dispose(): void;
131
- ```
132
-
133
- Defined in: [api/base/flowDisposable.ts:27](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowDisposable.ts#L27)
134
-
135
- Releases all resources held by this disposable object.
136
-
137
- Cleans up all subscriptions, dependencies, and internal state. After calling this method,
138
- the resource enters a disposed state and cannot be reused. Any subsequent operations will
139
- throw errors. This method should be called when you no longer need the reactive primitive
140
- to prevent memory leaks.
141
-
142
- #### Returns
143
-
144
- `void`
145
-
146
- #### Inherited from
147
-
148
- [`FlowState`](/api/interfaces/FlowState.md).[`dispose`](/api/interfaces/FlowState.md#dispose)
149
-
150
- ***
151
-
152
- ### get()
153
-
154
- ```ts
155
- get(tracker): Map;
156
- ```
157
-
158
- Defined in: [api/nodes/flowValue.ts:24](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/flowValue.ts#L24)
159
-
160
- Gets the current value and establishes a reactive dependency.
161
-
162
- When called from within a reactive computation, this method registers the value as a dependency,
163
- ensuring the computation re-executes when the value changes. The value is computed on first access
164
- (if lazy) and then cached. For async values, throws PendingError while the value is resolving.
165
-
166
- #### Parameters
167
-
168
- | Parameter | Type | Description |
169
- | ------ | ------ | ------ |
170
- | `tracker` | [`FlowTracker`](/api/interfaces/FlowTracker.md) | Tracker that records this value as a dependency |
171
-
172
- #### Returns
173
-
174
- `Map`
175
-
176
- The current value
177
-
178
- #### Inherited from
179
-
180
- [`FlowState`](/api/interfaces/FlowState.md).[`get`](/api/interfaces/FlowState.md#get)
181
-
182
- ***
183
-
184
- ### pick()
185
-
186
- ```ts
187
- pick(): Promise<Map<K, V>>;
188
- ```
189
-
190
- Defined in: [api/nodes/flowValue.ts:35](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/flowValue.ts#L35)
191
-
192
- Asynchronously gets the current value without establishing a reactive dependency.
193
-
194
- This method reads the value non-reactively, meaning it won't trigger re-execution of the calling
195
- computation when the value changes. The value is computed on first access (if lazy) and then cached.
196
- For async values, the promise resolves once the value is available.
197
-
198
- #### Returns
199
-
200
- `Promise`\<`Map`\<`K`, `V`\>\>
201
-
202
- Promise that resolves with the current value
203
-
204
- #### Inherited from
205
-
206
- [`FlowState`](/api/interfaces/FlowState.md).[`pick`](/api/interfaces/FlowState.md#pick)
207
-
208
- ***
209
-
210
- ### set()
211
-
212
- #### Call Signature
213
-
214
- ```ts
215
- set(value): void;
216
- ```
217
-
218
- Defined in: [api/nodes/sync/flowState.ts:25](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/sync/flowState.ts#L25)
219
-
220
- Updates the state with a new value or via an updater function.
221
- Notifies all dependents after the update.
222
-
223
- ##### Parameters
224
-
225
- | Parameter | Type | Description |
226
- | ------ | ------ | ------ |
227
- | `value` | `Map`\<`K`\> | New value to set, or function that receives current value and returns new value |
228
-
229
- ##### Returns
230
-
231
- `void`
232
-
233
- ##### Inherited from
234
-
235
- [`FlowState`](/api/interfaces/FlowState.md).[`set`](/api/interfaces/FlowState.md#set)
236
-
237
- #### Call Signature
238
-
239
- ```ts
240
- set(updater): void;
241
- ```
242
-
243
- Defined in: [api/nodes/sync/flowState.ts:26](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/sync/flowState.ts#L26)
244
-
245
- ##### Parameters
246
-
247
- | Parameter | Type |
248
- | ------ | ------ |
249
- | `updater` | [`UpdateFunction`](/api/type-aliases/UpdateFunction.md)\<`Map`\<`K`, `V`\>\> |
250
-
251
- ##### Returns
252
-
253
- `void`
254
-
255
- ##### Inherited from
256
-
257
- [`FlowState`](/api/interfaces/FlowState.md).[`set`](/api/interfaces/FlowState.md#set)
258
-
259
- ***
260
-
261
- ### subscribe()
262
-
263
- ```ts
264
- subscribe(
265
- onData,
266
- onError?,
267
- onPending?): FlowEffect;
268
- ```
269
-
270
- Defined in: [api/base/flowSubscribable.ts:82](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowSubscribable.ts#L82)
271
-
272
- Subscribes to this observable with lifecycle callbacks.
273
-
274
- Creates an active subscription that executes immediately and then re-executes whenever
275
- the observable's dependencies change. The subscription remains active until the returned
276
- disposal function is called. The `onData` callback receives the computed value, while
277
- `onError` handles errors and `onPending` signals async operations in progress.
278
-
279
- #### Parameters
280
-
281
- | Parameter | Type | Description |
282
- | ------ | ------ | ------ |
283
- | `onData` | [`FlowOnDataListener`](/api/type-aliases/FlowOnDataListener.md)\<`Map`\<`K`, `V`\>\> | Callback invoked with the computed data on each execution |
284
- | `onError?` | [`FlowOnErrorListener`](/api/type-aliases/FlowOnErrorListener.md) | Optional callback for handling errors during execution |
285
- | `onPending?` | [`FlowOnPendingListener`](/api/type-aliases/FlowOnPendingListener.md) | Optional callback invoked when async dependencies are pending |
286
-
287
- #### Returns
288
-
289
- [`FlowEffect`](/api/interfaces/FlowEffect.md)
290
-
291
- A function to dispose the subscription and stop receiving updates
292
-
293
- #### Inherited from
294
-
295
- [`FlowState`](/api/interfaces/FlowState.md).[`subscribe`](/api/interfaces/FlowState.md#subscribe)
296
-
297
- ***
298
-
299
- ### trigger()
300
-
301
- ```ts
302
- trigger(): void;
303
- ```
304
-
305
- Defined in: [api/base/flowObservable.ts:27](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowObservable.ts#L27)
306
-
307
- Manually triggers notifications to all dependents.
308
-
309
- Forces all dependents of this observable to be notified and re-executed, even if the
310
- value hasn't actually changed. Useful for imperatively triggering updates when the
311
- reactive system cannot detect changes automatically.
312
-
313
- #### Returns
314
-
315
- `void`
316
-
317
- #### Inherited from
318
-
319
- [`FlowState`](/api/interfaces/FlowState.md).[`trigger`](/api/interfaces/FlowState.md#trigger)
320
-
321
- ***
322
-
323
- ### update()
324
-
325
- ```ts
326
- update(key, value): V | undefined;
327
- ```
328
-
329
- Defined in: [api/nodes/collections/flowMap.ts:70](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/collections/flowMap.ts#L70)
330
-
331
- Updates an existing key-value pair in the map.
332
- Emits an "update" action to $lastAction.
333
-
334
- #### Parameters
335
-
336
- | Parameter | Type | Description |
337
- | ------ | ------ | ------ |
338
- | `key` | `K` | The key to update (must exist) |
339
- | `value` | `V` | The new value |
340
-
341
- #### Returns
342
-
343
- `V` \| `undefined`
344
-
345
- The previous value
346
-
347
- ***
348
-
349
- ### watch()
350
-
351
- ```ts
352
- watch(tracker): void;
353
- ```
354
-
355
- Defined in: [api/base/flowObservable.ts:18](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowObservable.ts#L18)
356
-
357
- Establishes a reactive dependency without reading the value.
358
-
359
- Registers this observable as a dependency of the given tracker, allowing it to be notified
360
- when changes occur. This enables dependency tracking without accessing the actual value.
361
-
362
- #### Parameters
363
-
364
- | Parameter | Type | Description |
365
- | ------ | ------ | ------ |
366
- | `tracker` | [`FlowTracker`](/api/interfaces/FlowTracker.md) | Tracker that records this observable as a dependency |
367
-
368
- #### Returns
369
-
370
- `void`
371
-
372
- #### Inherited from
373
-
374
- [`FlowState`](/api/interfaces/FlowState.md).[`watch`](/api/interfaces/FlowState.md#watch)
@@ -1,155 +0,0 @@
1
- [@ersbeth/picoflow](/api/index.md) / FlowObservable
2
-
3
- # Interface: FlowObservable\<T\>
4
-
5
- Defined in: [api/base/flowObservable.ts:9](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowObservable.ts#L9)
6
-
7
- Contract for reactive primitives that emit changes and notify their dependents in the reactivity graph.
8
-
9
- ## Extends
10
-
11
- - [`FlowDisposable`](/api/interfaces/FlowDisposable.md).[`FlowSubscribable`](/api/interfaces/FlowSubscribable.md)\<`T`\>
12
-
13
- ## Extended by
14
-
15
- - [`FlowSignal`](/api/interfaces/FlowSignal.md)
16
- - [`FlowValue`](/api/interfaces/FlowValue.md)
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
- [`FlowDisposable`](/api/interfaces/FlowDisposable.md).[`disposed`](/api/interfaces/FlowDisposable.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
- [`FlowDisposable`](/api/interfaces/FlowDisposable.md).[`dispose`](/api/interfaces/FlowDisposable.md#dispose)
73
-
74
- ***
75
-
76
- ### subscribe()
77
-
78
- ```ts
79
- subscribe(
80
- onData,
81
- onError?,
82
- onPending?): FlowEffect;
83
- ```
84
-
85
- Defined in: [api/base/flowSubscribable.ts:82](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowSubscribable.ts#L82)
86
-
87
- Subscribes to this observable with lifecycle callbacks.
88
-
89
- Creates an active subscription that executes immediately and then re-executes whenever
90
- the observable's dependencies change. The subscription remains active until the returned
91
- disposal function is called. The `onData` callback receives the computed value, while
92
- `onError` handles errors and `onPending` signals async operations in progress.
93
-
94
- #### Parameters
95
-
96
- | Parameter | Type | Description |
97
- | ------ | ------ | ------ |
98
- | `onData` | [`FlowOnDataListener`](/api/type-aliases/FlowOnDataListener.md)\<`T`\> | Callback invoked with the computed data on each execution |
99
- | `onError?` | [`FlowOnErrorListener`](/api/type-aliases/FlowOnErrorListener.md) | Optional callback for handling errors during execution |
100
- | `onPending?` | [`FlowOnPendingListener`](/api/type-aliases/FlowOnPendingListener.md) | Optional callback invoked when async dependencies are pending |
101
-
102
- #### Returns
103
-
104
- [`FlowEffect`](/api/interfaces/FlowEffect.md)
105
-
106
- A function to dispose the subscription and stop receiving updates
107
-
108
- #### Inherited from
109
-
110
- [`FlowSubscribable`](/api/interfaces/FlowSubscribable.md).[`subscribe`](/api/interfaces/FlowSubscribable.md#subscribe)
111
-
112
- ***
113
-
114
- ### trigger()
115
-
116
- ```ts
117
- trigger(): void;
118
- ```
119
-
120
- Defined in: [api/base/flowObservable.ts:27](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowObservable.ts#L27)
121
-
122
- Manually triggers notifications to all dependents.
123
-
124
- Forces all dependents of this observable to be notified and re-executed, even if the
125
- value hasn't actually changed. Useful for imperatively triggering updates when the
126
- reactive system cannot detect changes automatically.
127
-
128
- #### Returns
129
-
130
- `void`
131
-
132
- ***
133
-
134
- ### watch()
135
-
136
- ```ts
137
- watch(tracker): void;
138
- ```
139
-
140
- Defined in: [api/base/flowObservable.ts:18](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowObservable.ts#L18)
141
-
142
- Establishes a reactive dependency without reading the value.
143
-
144
- Registers this observable as a dependency of the given tracker, allowing it to be notified
145
- when changes occur. This enables dependency tracking without accessing the actual value.
146
-
147
- #### Parameters
148
-
149
- | Parameter | Type | Description |
150
- | ------ | ------ | ------ |
151
- | `tracker` | [`FlowTracker`](/api/interfaces/FlowTracker.md) | Tracker that records this observable as a dependency |
152
-
153
- #### Returns
154
-
155
- `void`
@@ -1,156 +0,0 @@
1
- [@ersbeth/picoflow](/api/index.md) / FlowSignal
2
-
3
- # Interface: FlowSignal
4
-
5
- Defined in: [api/nodes/flowSignal.ts:13](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/nodes/flowSignal.ts#L13)
6
-
7
- Manual trigger that notifies subscribers without carrying data.
8
-
9
- Unlike reactive state or derivations, signals don't hold values. They serve as event emitters
10
- that notify dependents when explicitly triggered. Use signals for side effects that should run
11
- in response to manual actions rather than data changes.
12
-
13
- ## Extends
14
-
15
- - [`FlowObservable`](/api/interfaces/FlowObservable.md)\<`void`\>
16
-
17
- ## Accessors
18
-
19
- ### disposed
20
-
21
- #### Get Signature
22
-
23
- ```ts
24
- get disposed(): boolean;
25
- ```
26
-
27
- Defined in: [api/base/flowDisposable.ts:17](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowDisposable.ts#L17)
28
-
29
- Indicates whether this resource has been disposed.
30
-
31
- Returns `true` if `dispose()` has been called, `false` otherwise. Once disposed,
32
- the resource is no longer usable and any operations on it will throw errors.
33
-
34
- ##### Returns
35
-
36
- `boolean`
37
-
38
- #### Inherited from
39
-
40
- [`FlowObservable`](/api/interfaces/FlowObservable.md).[`disposed`](/api/interfaces/FlowObservable.md#disposed)
41
-
42
- ## Methods
43
-
44
- ### dispose()
45
-
46
- ```ts
47
- dispose(): void;
48
- ```
49
-
50
- Defined in: [api/base/flowDisposable.ts:27](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowDisposable.ts#L27)
51
-
52
- Releases all resources held by this disposable object.
53
-
54
- Cleans up all subscriptions, dependencies, and internal state. After calling this method,
55
- the resource enters a disposed state and cannot be reused. Any subsequent operations will
56
- throw errors. This method should be called when you no longer need the reactive primitive
57
- to prevent memory leaks.
58
-
59
- #### Returns
60
-
61
- `void`
62
-
63
- #### Inherited from
64
-
65
- [`FlowObservable`](/api/interfaces/FlowObservable.md).[`dispose`](/api/interfaces/FlowObservable.md#dispose)
66
-
67
- ***
68
-
69
- ### subscribe()
70
-
71
- ```ts
72
- subscribe(
73
- onData,
74
- onError?,
75
- onPending?): FlowEffect;
76
- ```
77
-
78
- Defined in: [api/base/flowSubscribable.ts:82](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowSubscribable.ts#L82)
79
-
80
- Subscribes to this observable with lifecycle callbacks.
81
-
82
- Creates an active subscription that executes immediately and then re-executes whenever
83
- the observable's dependencies change. The subscription remains active until the returned
84
- disposal function is called. The `onData` callback receives the computed value, while
85
- `onError` handles errors and `onPending` signals async operations in progress.
86
-
87
- #### Parameters
88
-
89
- | Parameter | Type | Description |
90
- | ------ | ------ | ------ |
91
- | `onData` | [`FlowOnDataListener`](/api/type-aliases/FlowOnDataListener.md)\<`void`\> | Callback invoked with the computed data on each execution |
92
- | `onError?` | [`FlowOnErrorListener`](/api/type-aliases/FlowOnErrorListener.md) | Optional callback for handling errors during execution |
93
- | `onPending?` | [`FlowOnPendingListener`](/api/type-aliases/FlowOnPendingListener.md) | Optional callback invoked when async dependencies are pending |
94
-
95
- #### Returns
96
-
97
- [`FlowEffect`](/api/interfaces/FlowEffect.md)
98
-
99
- A function to dispose the subscription and stop receiving updates
100
-
101
- #### Inherited from
102
-
103
- [`FlowObservable`](/api/interfaces/FlowObservable.md).[`subscribe`](/api/interfaces/FlowObservable.md#subscribe)
104
-
105
- ***
106
-
107
- ### trigger()
108
-
109
- ```ts
110
- trigger(): void;
111
- ```
112
-
113
- Defined in: [api/base/flowObservable.ts:27](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowObservable.ts#L27)
114
-
115
- Manually triggers notifications to all dependents.
116
-
117
- Forces all dependents of this observable to be notified and re-executed, even if the
118
- value hasn't actually changed. Useful for imperatively triggering updates when the
119
- reactive system cannot detect changes automatically.
120
-
121
- #### Returns
122
-
123
- `void`
124
-
125
- #### Inherited from
126
-
127
- [`FlowObservable`](/api/interfaces/FlowObservable.md).[`trigger`](/api/interfaces/FlowObservable.md#trigger)
128
-
129
- ***
130
-
131
- ### watch()
132
-
133
- ```ts
134
- watch(tracker): void;
135
- ```
136
-
137
- Defined in: [api/base/flowObservable.ts:18](https://gitlab.com/ersbeth-web/picoflow/-/blob/4e864254f0eac72524c3be40b9e41d799a16e020/src/api/base/flowObservable.ts#L18)
138
-
139
- Establishes a reactive dependency without reading the value.
140
-
141
- Registers this observable as a dependency of the given tracker, allowing it to be notified
142
- when changes occur. This enables dependency tracking without accessing the actual value.
143
-
144
- #### Parameters
145
-
146
- | Parameter | Type | Description |
147
- | ------ | ------ | ------ |
148
- | `tracker` | [`FlowTracker`](/api/interfaces/FlowTracker.md) | Tracker that records this observable as a dependency |
149
-
150
- #### Returns
151
-
152
- `void`
153
-
154
- #### Inherited from
155
-
156
- [`FlowObservable`](/api/interfaces/FlowObservable.md).[`watch`](/api/interfaces/FlowObservable.md#watch)