@ersbeth/picoflow 0.0.1 → 0.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 (143) hide show
  1. package/api/doc/index.md +1 -1
  2. package/api/doc/picoflow.constant.md +55 -0
  3. package/api/doc/picoflow.derivation.md +1 -1
  4. package/api/doc/picoflow.effect.md +1 -1
  5. package/api/doc/picoflow.flowconstant._constructor_.md +49 -0
  6. package/api/doc/picoflow.flowconstant.get.md +25 -0
  7. package/api/doc/picoflow.flowconstant.md +88 -0
  8. package/api/doc/picoflow.flowderivation._constructor_.md +2 -2
  9. package/api/doc/picoflow.flowderivation.get.md +2 -2
  10. package/api/doc/picoflow.flowderivation.md +2 -2
  11. package/api/doc/picoflow.floweffect._constructor_.md +7 -2
  12. package/api/doc/picoflow.floweffect.dispose.md +3 -3
  13. package/api/doc/picoflow.floweffect.disposed.md +1 -1
  14. package/api/doc/picoflow.floweffect.md +4 -4
  15. package/api/doc/picoflow.flowgetter.md +2 -2
  16. package/api/doc/picoflow.flowmap._lastdeleted.md +1 -1
  17. package/api/doc/picoflow.flowmap._lastset.md +1 -1
  18. package/api/doc/picoflow.flowmap.delete.md +6 -2
  19. package/api/doc/picoflow.flowmap.md +5 -7
  20. package/api/doc/picoflow.flowmap.setat.md +6 -2
  21. package/api/doc/picoflow.flowobservable.get.md +3 -3
  22. package/api/doc/picoflow.flowobservable.md +18 -4
  23. package/api/doc/picoflow.flowobservable.subscribe.md +55 -0
  24. package/api/doc/picoflow.flowresource._constructor_.md +2 -18
  25. package/api/doc/picoflow.flowresource.fetch.md +1 -1
  26. package/api/doc/picoflow.flowresource.get.md +4 -4
  27. package/api/doc/picoflow.flowresource.md +4 -4
  28. package/api/doc/picoflow.flowresourceasync._constructor_.md +49 -0
  29. package/api/doc/picoflow.flowresourceasync.fetch.md +27 -0
  30. package/api/doc/picoflow.flowresourceasync.get.md +23 -0
  31. package/api/doc/picoflow.flowresourceasync.md +100 -0
  32. package/api/doc/picoflow.flowsignal.dispose.md +3 -7
  33. package/api/doc/picoflow.flowsignal.disposed.md +2 -2
  34. package/api/doc/picoflow.flowsignal.md +5 -5
  35. package/api/doc/picoflow.flowsignal.trigger.md +3 -7
  36. package/api/doc/picoflow.flowstate.md +4 -52
  37. package/api/doc/picoflow.flowstate.set.md +5 -5
  38. package/api/doc/picoflow.flowstream._constructor_.md +3 -19
  39. package/api/doc/picoflow.flowstream.dispose.md +1 -1
  40. package/api/doc/picoflow.flowstream.get.md +4 -4
  41. package/api/doc/picoflow.flowstream.md +5 -5
  42. package/api/doc/picoflow.flowstreamasync._constructor_.md +54 -0
  43. package/api/doc/picoflow.flowstreamasync.dispose.md +21 -0
  44. package/api/doc/picoflow.flowstreamasync.get.md +23 -0
  45. package/api/doc/picoflow.flowstreamasync.md +100 -0
  46. package/api/doc/picoflow.flowstreamdisposer.md +13 -0
  47. package/api/doc/picoflow.flowstreamsetter.md +13 -0
  48. package/api/doc/picoflow.flowstreamupdater.md +19 -0
  49. package/api/doc/picoflow.flowwatcher.md +1 -1
  50. package/api/doc/picoflow.map.md +1 -1
  51. package/api/doc/picoflow.md +80 -14
  52. package/api/doc/picoflow.resource.md +2 -18
  53. package/api/doc/picoflow.resourceasync.md +55 -0
  54. package/api/doc/picoflow.signal.md +1 -1
  55. package/api/doc/picoflow.state.md +3 -3
  56. package/api/doc/picoflow.stream.md +2 -18
  57. package/api/doc/picoflow.streamasync.md +55 -0
  58. package/api/picoflow.public.api.md +131 -0
  59. package/api-extractor.json +2 -1
  60. package/dist/picoflow.js +326 -302
  61. package/dist/types/advanced/index.d.ts +7 -0
  62. package/dist/types/advanced/index.d.ts.map +1 -0
  63. package/dist/types/{map.d.ts → advanced/map.d.ts} +12 -12
  64. package/dist/types/advanced/map.d.ts.map +1 -0
  65. package/dist/types/advanced/resource.d.ts +39 -0
  66. package/dist/types/advanced/resource.d.ts.map +1 -0
  67. package/dist/types/{resource.d.ts → advanced/resourceAsync.d.ts} +6 -11
  68. package/dist/types/advanced/resourceAsync.d.ts.map +1 -0
  69. package/dist/types/advanced/stream.d.ts +59 -0
  70. package/dist/types/advanced/stream.d.ts.map +1 -0
  71. package/dist/types/advanced/streamAsync.d.ts +43 -0
  72. package/dist/types/advanced/streamAsync.d.ts.map +1 -0
  73. package/dist/types/basic/constant.d.ts +32 -0
  74. package/dist/types/basic/constant.d.ts.map +1 -0
  75. package/dist/types/basic/derivation.d.ts +40 -0
  76. package/dist/types/basic/derivation.d.ts.map +1 -0
  77. package/dist/types/basic/effect.d.ts +56 -0
  78. package/dist/types/basic/effect.d.ts.map +1 -0
  79. package/dist/types/basic/index.d.ts +9 -0
  80. package/dist/types/basic/index.d.ts.map +1 -0
  81. package/dist/types/basic/observable.d.ts +34 -0
  82. package/dist/types/basic/observable.d.ts.map +1 -0
  83. package/dist/types/basic/signal.d.ts +37 -0
  84. package/dist/types/basic/signal.d.ts.map +1 -0
  85. package/dist/types/basic/state.d.ts +26 -0
  86. package/dist/types/basic/state.d.ts.map +1 -0
  87. package/dist/types/creators.d.ts +29 -13
  88. package/dist/types/creators.d.ts.map +1 -1
  89. package/dist/types/index.d.ts +3 -9
  90. package/dist/types/index.d.ts.map +1 -1
  91. package/package.json +1 -1
  92. package/src/advanced/index.ts +10 -0
  93. package/src/{map.ts → advanced/map.ts} +14 -14
  94. package/src/advanced/resource.ts +56 -0
  95. package/src/{resource.ts → advanced/resourceAsync.ts} +9 -16
  96. package/src/advanced/stream.ts +87 -0
  97. package/src/advanced/streamAsync.ts +82 -0
  98. package/src/basic/constant.ts +64 -0
  99. package/src/basic/derivation.ts +86 -0
  100. package/src/basic/effect.ts +96 -0
  101. package/src/basic/index.ts +8 -0
  102. package/src/basic/observable.ts +51 -0
  103. package/src/basic/signal.ts +105 -0
  104. package/src/basic/state.ts +39 -0
  105. package/src/creators.ts +54 -15
  106. package/src/index.ts +21 -11
  107. package/test/constant.test.ts +46 -0
  108. package/test/derivation.test.ts +30 -6
  109. package/test/effect.test.ts +29 -0
  110. package/test/map.test.ts +38 -0
  111. package/test/resource.test.ts +18 -16
  112. package/test/resourceAsync.test.ts +108 -0
  113. package/test/signal.test.ts +18 -1
  114. package/test/state.test.ts +107 -2
  115. package/test/stream.test.ts +38 -13
  116. package/test/streamAsync.test.ts +194 -0
  117. package/tsconfig.json +3 -1
  118. package/api/doc/picoflow.flowdisposer.md +0 -13
  119. package/api/doc/picoflow.flowsetter.md +0 -13
  120. package/api/doc/picoflow.flowstate._constructor_.md +0 -49
  121. package/api/doc/picoflow.flowstate.get.md +0 -23
  122. package/api/doc/picoflow.flowupdater.md +0 -19
  123. package/api/picoflow.api.md +0 -145
  124. package/dist/types/derivation.d.ts +0 -58
  125. package/dist/types/derivation.d.ts.map +0 -1
  126. package/dist/types/effect.d.ts +0 -108
  127. package/dist/types/effect.d.ts.map +0 -1
  128. package/dist/types/map.d.ts.map +0 -1
  129. package/dist/types/observable.d.ts +0 -40
  130. package/dist/types/observable.d.ts.map +0 -1
  131. package/dist/types/resource.d.ts.map +0 -1
  132. package/dist/types/signal.d.ts +0 -111
  133. package/dist/types/signal.d.ts.map +0 -1
  134. package/dist/types/state.d.ts +0 -39
  135. package/dist/types/state.d.ts.map +0 -1
  136. package/dist/types/stream.d.ts +0 -71
  137. package/dist/types/stream.d.ts.map +0 -1
  138. package/src/derivation.ts +0 -96
  139. package/src/effect.ts +0 -152
  140. package/src/observable.ts +0 -50
  141. package/src/signal.ts +0 -166
  142. package/src/state.ts +0 -52
  143. package/src/stream.ts +0 -99
@@ -0,0 +1,23 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowStreamAsync](./picoflow.flowstreamasync.md) &gt; [get](./picoflow.flowstreamasync.get.md)
4
+
5
+ ## FlowStreamAsync.get() method
6
+
7
+ Retrieves the current value of the stream as a Promise.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ get(): Promise<T>;
13
+ ```
14
+ **Returns:**
15
+
16
+ Promise&lt;T&gt;
17
+
18
+ A Promise that resolves to the current value.
19
+
20
+ ## Exceptions
21
+
22
+ Error if the stream is disposed.
23
+
@@ -0,0 +1,100 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowStreamAsync](./picoflow.flowstreamasync.md)
4
+
5
+ ## FlowStreamAsync class
6
+
7
+ Represents an asynchronous reactive stream that updates its value based on an updater function.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ export declare class FlowStreamAsync<T> extends FlowObservable<Promise<T>>
13
+ ```
14
+ **Extends:** [FlowObservable](./picoflow.flowobservable.md)<!-- -->&lt;Promise&lt;T&gt;&gt;
15
+
16
+ ## Remarks
17
+
18
+ A FlowStreamAsync extends FlowObservable and encapsulates a mechanism for asynchronously updating its value. The updater is invoked during construction with a setter, and its returned disposer is called upon disposal. Note: The stream's current value may be undefined until it is set.
19
+
20
+ ## Constructors
21
+
22
+ <table><thead><tr><th>
23
+
24
+ Constructor
25
+
26
+
27
+ </th><th>
28
+
29
+ Modifiers
30
+
31
+
32
+ </th><th>
33
+
34
+ Description
35
+
36
+
37
+ </th></tr></thead>
38
+ <tbody><tr><td>
39
+
40
+ [(constructor)(updater)](./picoflow.flowstreamasync._constructor_.md)
41
+
42
+
43
+ </td><td>
44
+
45
+
46
+ </td><td>
47
+
48
+ Creates a new asynchronous FlowStream.
49
+
50
+
51
+ </td></tr>
52
+ </tbody></table>
53
+
54
+ ## Methods
55
+
56
+ <table><thead><tr><th>
57
+
58
+ Method
59
+
60
+
61
+ </th><th>
62
+
63
+ Modifiers
64
+
65
+
66
+ </th><th>
67
+
68
+ Description
69
+
70
+
71
+ </th></tr></thead>
72
+ <tbody><tr><td>
73
+
74
+ [dispose()](./picoflow.flowstreamasync.dispose.md)
75
+
76
+
77
+ </td><td>
78
+
79
+
80
+ </td><td>
81
+
82
+ Disposes the stream, releasing all resources.
83
+
84
+
85
+ </td></tr>
86
+ <tr><td>
87
+
88
+ [get()](./picoflow.flowstreamasync.get.md)
89
+
90
+
91
+ </td><td>
92
+
93
+
94
+ </td><td>
95
+
96
+ Retrieves the current value of the stream as a Promise.
97
+
98
+
99
+ </td></tr>
100
+ </tbody></table>
@@ -0,0 +1,13 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowStreamDisposer](./picoflow.flowstreamdisposer.md)
4
+
5
+ ## FlowStreamDisposer type
6
+
7
+ A function type that disposes of a resource.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ export type FlowStreamDisposer = () => void;
13
+ ```
@@ -0,0 +1,13 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowStreamSetter](./picoflow.flowstreamsetter.md)
4
+
5
+ ## FlowStreamSetter type
6
+
7
+ A function type that sets a new value for the reactive stream.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ export type FlowStreamSetter<T> = (value: T) => void;
13
+ ```
@@ -0,0 +1,19 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowStreamUpdater](./picoflow.flowstreamupdater.md)
4
+
5
+ ## FlowStreamUpdater type
6
+
7
+ A function type that updates a stream and returns a disposer for cleanup.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ export type FlowStreamUpdater<T> = (set: FlowStreamSetter<T>) => FlowStreamDisposer;
13
+ ```
14
+ **References:** [FlowStreamSetter](./picoflow.flowstreamsetter.md)<!-- -->, [FlowStreamDisposer](./picoflow.flowstreamdisposer.md)
15
+
16
+ ## Remarks
17
+
18
+ The updater receives a setter function to update the stream's value. It should return a disposer function to release any resources or subscriptions.
19
+
@@ -1,6 +1,6 @@
1
1
  <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
2
 
3
- [Home](./index.md) &gt; [picoflow](./picoflow.md) &gt; [FlowWatcher](./picoflow.flowwatcher.md)
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowWatcher](./picoflow.flowwatcher.md)
4
4
 
5
5
  ## FlowWatcher type
6
6
 
@@ -1,6 +1,6 @@
1
1
  <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
2
 
3
- [Home](./index.md) &gt; [picoflow](./picoflow.md) &gt; [map](./picoflow.map.md)
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [map](./picoflow.map.md)
4
4
 
5
5
  ## map() function
6
6
 
@@ -1,6 +1,6 @@
1
1
  <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
2
 
3
- [Home](./index.md) &gt; [picoflow](./picoflow.md)
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md)
4
4
 
5
5
  ## picoflow package
6
6
 
@@ -21,6 +21,17 @@ Description
21
21
  </th></tr></thead>
22
22
  <tbody><tr><td>
23
23
 
24
+ [FlowConstant](./picoflow.flowconstant.md)
25
+
26
+
27
+ </td><td>
28
+
29
+ Represents a reactive and immutable constant value computed lazily upon first access.
30
+
31
+
32
+ </td></tr>
33
+ <tr><td>
34
+
24
35
  [FlowDerivation](./picoflow.flowderivation.md)
25
36
 
26
37
 
@@ -37,7 +48,7 @@ Represents a reactive derivation whose value is computed based on other reactive
37
48
 
38
49
  </td><td>
39
50
 
40
- Represents a reactive effect that executes a sideeffect function based on its tracked dependencies.
51
+ Represents a reactive effect that executes side-effect functions based on its tracked dependencies.
41
52
 
42
53
 
43
54
  </td></tr>
@@ -48,7 +59,7 @@ Represents a reactive effect that executes a side‐effect function based on its
48
59
 
49
60
  </td><td>
50
61
 
51
- Represents a reactive map of states that extends [FlowState](./picoflow.flowstate.md) for a Map of key/value pairs.
62
+ Represents a reactive map of states extending [FlowState](./picoflow.flowstate.md) for a Map of key/value pairs.
52
63
 
53
64
 
54
65
  </td></tr>
@@ -62,6 +73,17 @@ Represents a reactive map of states that extends [FlowState](./picoflow.flowstat
62
73
  Represents a reactive resource that asynchronously fetches its value.
63
74
 
64
75
 
76
+ </td></tr>
77
+ <tr><td>
78
+
79
+ [FlowResourceAsync](./picoflow.flowresourceasync.md)
80
+
81
+
82
+ </td><td>
83
+
84
+ Represents a reactive resource that asynchronously fetches its value.
85
+
86
+
65
87
  </td></tr>
66
88
  <tr><td>
67
89
 
@@ -95,6 +117,17 @@ Represents a reactive state that holds a mutable value.
95
117
  Represents a reactive stream that updates its value based on an updater function.
96
118
 
97
119
 
120
+ </td></tr>
121
+ <tr><td>
122
+
123
+ [FlowStreamAsync](./picoflow.flowstreamasync.md)
124
+
125
+
126
+ </td><td>
127
+
128
+ Represents an asynchronous reactive stream that updates its value based on an updater function.
129
+
130
+
98
131
  </td></tr>
99
132
  </tbody></table>
100
133
 
@@ -118,7 +151,7 @@ Description
118
151
 
119
152
  </td><td>
120
153
 
121
- Represents a reactive observable that carries a value.
154
+ Represents a reactive observable that holds and tracks a value.
122
155
 
123
156
 
124
157
  </td></tr>
@@ -139,6 +172,17 @@ Description
139
172
  </th></tr></thead>
140
173
  <tbody><tr><td>
141
174
 
175
+ [constant(value)](./picoflow.constant.md)
176
+
177
+
178
+ </td><td>
179
+
180
+ Creates a new reactive constant.
181
+
182
+
183
+ </td></tr>
184
+ <tr><td>
185
+
142
186
  [derivation(fn)](./picoflow.derivation.md)
143
187
 
144
188
 
@@ -172,7 +216,7 @@ Creates a new reactive map state.
172
216
  </td></tr>
173
217
  <tr><td>
174
218
 
175
- [resource(fn, initial)](./picoflow.resource.md)
219
+ [resource(fn)](./picoflow.resource.md)
176
220
 
177
221
 
178
222
  </td><td>
@@ -180,6 +224,17 @@ Creates a new reactive map state.
180
224
  Creates a new reactive resource that asynchronously fetches its value.
181
225
 
182
226
 
227
+ </td></tr>
228
+ <tr><td>
229
+
230
+ [resourceAsync(fn)](./picoflow.resourceasync.md)
231
+
232
+
233
+ </td><td>
234
+
235
+ Creates a new reactive asynchronous resource that fetches its value.
236
+
237
+
183
238
  </td></tr>
184
239
  <tr><td>
185
240
 
@@ -205,7 +260,7 @@ Creates a new reactive state holding a value.
205
260
  </td></tr>
206
261
  <tr><td>
207
262
 
208
- [stream(updater, initial)](./picoflow.stream.md)
263
+ [stream(updater)](./picoflow.stream.md)
209
264
 
210
265
 
211
266
  </td><td>
@@ -213,6 +268,17 @@ Creates a new reactive state holding a value.
213
268
  Creates a new reactive stream.
214
269
 
215
270
 
271
+ </td></tr>
272
+ <tr><td>
273
+
274
+ [streamAsync(updater)](./picoflow.streamasync.md)
275
+
276
+
277
+ </td><td>
278
+
279
+ Creates a new reactive asynchronous stream.
280
+
281
+
216
282
  </td></tr>
217
283
  </tbody></table>
218
284
 
@@ -231,45 +297,45 @@ Description
231
297
  </th></tr></thead>
232
298
  <tbody><tr><td>
233
299
 
234
- [FlowDisposer](./picoflow.flowdisposer.md)
300
+ [FlowGetter](./picoflow.flowgetter.md)
235
301
 
236
302
 
237
303
  </td><td>
238
304
 
239
- A function that disposes of a resource.
305
+ A function that retrieves the current value from a FlowObservable.
240
306
 
241
307
 
242
308
  </td></tr>
243
309
  <tr><td>
244
310
 
245
- [FlowGetter](./picoflow.flowgetter.md)
311
+ [FlowStreamDisposer](./picoflow.flowstreamdisposer.md)
246
312
 
247
313
 
248
314
  </td><td>
249
315
 
250
- A function for retrieving the current value from a FlowObservable.
316
+ A function type that disposes of a resource.
251
317
 
252
318
 
253
319
  </td></tr>
254
320
  <tr><td>
255
321
 
256
- [FlowSetter](./picoflow.flowsetter.md)
322
+ [FlowStreamSetter](./picoflow.flowstreamsetter.md)
257
323
 
258
324
 
259
325
  </td><td>
260
326
 
261
- A function that sets a new value.
327
+ A function type that sets a new value for the reactive stream.
262
328
 
263
329
 
264
330
  </td></tr>
265
331
  <tr><td>
266
332
 
267
- [FlowUpdater](./picoflow.flowupdater.md)
333
+ [FlowStreamUpdater](./picoflow.flowstreamupdater.md)
268
334
 
269
335
 
270
336
  </td><td>
271
337
 
272
- A function that performs updates on a stream.
338
+ A function type that updates a stream and returns a disposer for cleanup.
273
339
 
274
340
 
275
341
  </td></tr>
@@ -1,6 +1,6 @@
1
1
  <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
2
 
3
- [Home](./index.md) &gt; [picoflow](./picoflow.md) &gt; [resource](./picoflow.resource.md)
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [resource](./picoflow.resource.md)
4
4
 
5
5
  ## resource() function
6
6
 
@@ -9,7 +9,7 @@ Creates a new reactive resource that asynchronously fetches its value.
9
9
  **Signature:**
10
10
 
11
11
  ```typescript
12
- export declare function resource<T>(fn: () => Promise<T>, initial: T): FlowResource<T>;
12
+ export declare function resource<T>(fn: () => Promise<T>): FlowResource<T>;
13
13
  ```
14
14
 
15
15
  ## Parameters
@@ -45,22 +45,6 @@ fn
45
45
  An asynchronous function that fetches the resource value.
46
46
 
47
47
 
48
- </td></tr>
49
- <tr><td>
50
-
51
- initial
52
-
53
-
54
- </td><td>
55
-
56
- T
57
-
58
-
59
- </td><td>
60
-
61
- The initial value of the resource.
62
-
63
-
64
48
  </td></tr>
65
49
  </tbody></table>
66
50
  **Returns:**
@@ -0,0 +1,55 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [resourceAsync](./picoflow.resourceasync.md)
4
+
5
+ ## resourceAsync() function
6
+
7
+ Creates a new reactive asynchronous resource that fetches its value.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ export declare function resourceAsync<T>(fn: () => Promise<T>): FlowResourceAsync<T>;
13
+ ```
14
+
15
+ ## Parameters
16
+
17
+ <table><thead><tr><th>
18
+
19
+ Parameter
20
+
21
+
22
+ </th><th>
23
+
24
+ Type
25
+
26
+
27
+ </th><th>
28
+
29
+ Description
30
+
31
+
32
+ </th></tr></thead>
33
+ <tbody><tr><td>
34
+
35
+ fn
36
+
37
+
38
+ </td><td>
39
+
40
+ () =&gt; Promise&lt;T&gt;
41
+
42
+
43
+ </td><td>
44
+
45
+ An asynchronous function that fetches the resource value.
46
+
47
+
48
+ </td></tr>
49
+ </tbody></table>
50
+ **Returns:**
51
+
52
+ [FlowResourceAsync](./picoflow.flowresourceasync.md)<!-- -->&lt;T&gt;
53
+
54
+ A new instance of [FlowResourceAsync](./picoflow.flowresourceasync.md)<!-- -->.
55
+
@@ -1,6 +1,6 @@
1
1
  <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
2
 
3
- [Home](./index.md) &gt; [picoflow](./picoflow.md) &gt; [signal](./picoflow.signal.md)
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [signal](./picoflow.signal.md)
4
4
 
5
5
  ## signal() function
6
6
 
@@ -1,6 +1,6 @@
1
1
  <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
2
 
3
- [Home](./index.md) &gt; [picoflow](./picoflow.md) &gt; [state](./picoflow.state.md)
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [state](./picoflow.state.md)
4
4
 
5
5
  ## state() function
6
6
 
@@ -9,7 +9,7 @@ Creates a new reactive state holding a value.
9
9
  **Signature:**
10
10
 
11
11
  ```typescript
12
- export declare function state<T>(value: T): FlowState<T>;
12
+ export declare function state<T>(value: T | (() => T)): FlowState<T>;
13
13
  ```
14
14
 
15
15
  ## Parameters
@@ -37,7 +37,7 @@ value
37
37
 
38
38
  </td><td>
39
39
 
40
- T
40
+ T \| (() =&gt; T)
41
41
 
42
42
 
43
43
  </td><td>
@@ -1,6 +1,6 @@
1
1
  <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
2
 
3
- [Home](./index.md) &gt; [picoflow](./picoflow.md) &gt; [stream](./picoflow.stream.md)
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [stream](./picoflow.stream.md)
4
4
 
5
5
  ## stream() function
6
6
 
@@ -9,7 +9,7 @@ Creates a new reactive stream.
9
9
  **Signature:**
10
10
 
11
11
  ```typescript
12
- export declare function stream<T>(updater: (set: (value: T) => void) => () => void, initial: T): FlowStream<T>;
12
+ export declare function stream<T>(updater: (set: (value: T) => void) => () => void): FlowStream<T>;
13
13
  ```
14
14
 
15
15
  ## Parameters
@@ -45,22 +45,6 @@ updater
45
45
  A function that receives a setter to update the stream's value. It should return a disposer function to clean up resources.
46
46
 
47
47
 
48
- </td></tr>
49
- <tr><td>
50
-
51
- initial
52
-
53
-
54
- </td><td>
55
-
56
- T
57
-
58
-
59
- </td><td>
60
-
61
- The initial value of the stream.
62
-
63
-
64
48
  </td></tr>
65
49
  </tbody></table>
66
50
  **Returns:**
@@ -0,0 +1,55 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [streamAsync](./picoflow.streamasync.md)
4
+
5
+ ## streamAsync() function
6
+
7
+ Creates a new reactive asynchronous stream.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ export declare function streamAsync<T>(updater: (set: (value: T) => void) => () => void): FlowStreamAsync<T>;
13
+ ```
14
+
15
+ ## Parameters
16
+
17
+ <table><thead><tr><th>
18
+
19
+ Parameter
20
+
21
+
22
+ </th><th>
23
+
24
+ Type
25
+
26
+
27
+ </th><th>
28
+
29
+ Description
30
+
31
+
32
+ </th></tr></thead>
33
+ <tbody><tr><td>
34
+
35
+ updater
36
+
37
+
38
+ </td><td>
39
+
40
+ (set: (value: T) =&gt; void) =&gt; () =&gt; void
41
+
42
+
43
+ </td><td>
44
+
45
+ A function that receives a setter to update the stream's value. It should return a disposer function to clean up resources.
46
+
47
+
48
+ </td></tr>
49
+ </tbody></table>
50
+ **Returns:**
51
+
52
+ [FlowStreamAsync](./picoflow.flowstreamasync.md)<!-- -->&lt;T&gt;
53
+
54
+ A new instance of [FlowStreamAsync](./picoflow.flowstreamasync.md)<!-- -->.
55
+