@ersbeth/picoflow 0.0.1 → 0.2.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 (169) hide show
  1. package/api/doc/index.md +1 -1
  2. package/api/doc/picoflow.array.md +55 -0
  3. package/api/doc/picoflow.constant.md +55 -0
  4. package/api/doc/picoflow.derivation.md +1 -1
  5. package/api/doc/picoflow.effect.md +1 -1
  6. package/api/doc/picoflow.flowarray._constructor_.md +49 -0
  7. package/api/doc/picoflow.flowarray._lastaction.md +13 -0
  8. package/api/doc/picoflow.flowarray.clear.md +17 -0
  9. package/api/doc/picoflow.flowarray.dispose.md +55 -0
  10. package/api/doc/picoflow.flowarray.get.md +19 -0
  11. package/api/doc/picoflow.flowarray.length.md +13 -0
  12. package/api/doc/picoflow.flowarray.md +273 -0
  13. package/api/doc/picoflow.flowarray.pop.md +17 -0
  14. package/api/doc/picoflow.flowarray.push.md +53 -0
  15. package/api/doc/picoflow.flowarray.set.md +53 -0
  16. package/api/doc/picoflow.flowarray.setitem.md +69 -0
  17. package/api/doc/picoflow.flowarray.shift.md +17 -0
  18. package/api/doc/picoflow.flowarray.splice.md +85 -0
  19. package/api/doc/picoflow.flowarray.unshift.md +53 -0
  20. package/api/doc/picoflow.flowarrayaction.md +37 -0
  21. package/api/doc/picoflow.flowconstant._constructor_.md +49 -0
  22. package/api/doc/picoflow.flowconstant.get.md +25 -0
  23. package/api/doc/picoflow.flowconstant.md +88 -0
  24. package/api/doc/picoflow.flowderivation._constructor_.md +2 -2
  25. package/api/doc/picoflow.flowderivation.get.md +2 -2
  26. package/api/doc/picoflow.flowderivation.md +2 -2
  27. package/api/doc/picoflow.flowdisposable.dispose.md +55 -0
  28. package/api/doc/picoflow.flowdisposable.md +43 -0
  29. package/api/doc/picoflow.floweffect._constructor_.md +7 -2
  30. package/api/doc/picoflow.floweffect.dispose.md +3 -3
  31. package/api/doc/picoflow.floweffect.disposed.md +1 -1
  32. package/api/doc/picoflow.floweffect.md +4 -4
  33. package/api/doc/picoflow.flowgetter.md +2 -2
  34. package/api/doc/picoflow.flowmap._lastdeleted.md +1 -1
  35. package/api/doc/picoflow.flowmap._lastset.md +1 -1
  36. package/api/doc/picoflow.flowmap.delete.md +6 -2
  37. package/api/doc/picoflow.flowmap.md +5 -7
  38. package/api/doc/picoflow.flowmap.setat.md +6 -2
  39. package/api/doc/picoflow.flowobservable.get.md +3 -3
  40. package/api/doc/picoflow.flowobservable.md +18 -4
  41. package/api/doc/picoflow.flowobservable.subscribe.md +55 -0
  42. package/api/doc/picoflow.flowresource._constructor_.md +2 -18
  43. package/api/doc/picoflow.flowresource.fetch.md +1 -1
  44. package/api/doc/picoflow.flowresource.get.md +4 -4
  45. package/api/doc/picoflow.flowresource.md +4 -4
  46. package/api/doc/picoflow.flowresourceasync._constructor_.md +49 -0
  47. package/api/doc/picoflow.flowresourceasync.fetch.md +27 -0
  48. package/api/doc/picoflow.flowresourceasync.get.md +23 -0
  49. package/api/doc/picoflow.flowresourceasync.md +100 -0
  50. package/api/doc/picoflow.flowsignal.dispose.md +42 -8
  51. package/api/doc/picoflow.flowsignal.disposed.md +2 -2
  52. package/api/doc/picoflow.flowsignal.md +8 -7
  53. package/api/doc/picoflow.flowsignal.trigger.md +3 -7
  54. package/api/doc/picoflow.flowstate.md +4 -52
  55. package/api/doc/picoflow.flowstate.set.md +5 -5
  56. package/api/doc/picoflow.flowstream._constructor_.md +3 -19
  57. package/api/doc/picoflow.flowstream.dispose.md +1 -1
  58. package/api/doc/picoflow.flowstream.get.md +4 -4
  59. package/api/doc/picoflow.flowstream.md +5 -5
  60. package/api/doc/picoflow.flowstreamasync._constructor_.md +54 -0
  61. package/api/doc/picoflow.flowstreamasync.dispose.md +21 -0
  62. package/api/doc/picoflow.flowstreamasync.get.md +23 -0
  63. package/api/doc/picoflow.flowstreamasync.md +100 -0
  64. package/api/doc/picoflow.flowstreamdisposer.md +13 -0
  65. package/api/doc/picoflow.flowstreamsetter.md +13 -0
  66. package/api/doc/picoflow.flowstreamupdater.md +19 -0
  67. package/api/doc/picoflow.flowwatcher.md +1 -1
  68. package/api/doc/picoflow.isdisposable.md +55 -0
  69. package/api/doc/picoflow.map.md +1 -1
  70. package/api/doc/picoflow.md +149 -13
  71. package/api/doc/picoflow.resource.md +2 -18
  72. package/api/doc/picoflow.resourceasync.md +55 -0
  73. package/api/doc/picoflow.signal.md +1 -1
  74. package/api/doc/picoflow.state.md +3 -3
  75. package/api/doc/picoflow.stream.md +2 -18
  76. package/api/doc/picoflow.streamasync.md +55 -0
  77. package/api/picoflow.public.api.md +192 -0
  78. package/api-extractor.json +2 -1
  79. package/dist/picoflow.js +513 -305
  80. package/dist/types/advanced/array.d.ts +116 -0
  81. package/dist/types/advanced/array.d.ts.map +1 -0
  82. package/dist/types/advanced/index.d.ts +9 -0
  83. package/dist/types/advanced/index.d.ts.map +1 -0
  84. package/dist/types/{map.d.ts → advanced/map.d.ts} +12 -12
  85. package/dist/types/advanced/map.d.ts.map +1 -0
  86. package/dist/types/advanced/resource.d.ts +39 -0
  87. package/dist/types/advanced/resource.d.ts.map +1 -0
  88. package/dist/types/{resource.d.ts → advanced/resourceAsync.d.ts} +6 -11
  89. package/dist/types/advanced/resourceAsync.d.ts.map +1 -0
  90. package/dist/types/advanced/stream.d.ts +59 -0
  91. package/dist/types/advanced/stream.d.ts.map +1 -0
  92. package/dist/types/advanced/streamAsync.d.ts +43 -0
  93. package/dist/types/advanced/streamAsync.d.ts.map +1 -0
  94. package/dist/types/basic/constant.d.ts +32 -0
  95. package/dist/types/basic/constant.d.ts.map +1 -0
  96. package/dist/types/basic/derivation.d.ts +40 -0
  97. package/dist/types/basic/derivation.d.ts.map +1 -0
  98. package/dist/types/basic/disposable.d.ts +23 -0
  99. package/dist/types/basic/disposable.d.ts.map +1 -0
  100. package/dist/types/basic/effect.d.ts +56 -0
  101. package/dist/types/basic/effect.d.ts.map +1 -0
  102. package/dist/types/basic/index.d.ts +11 -0
  103. package/dist/types/basic/index.d.ts.map +1 -0
  104. package/dist/types/basic/observable.d.ts +34 -0
  105. package/dist/types/basic/observable.d.ts.map +1 -0
  106. package/dist/types/basic/signal.d.ts +40 -0
  107. package/dist/types/basic/signal.d.ts.map +1 -0
  108. package/dist/types/basic/state.d.ts +26 -0
  109. package/dist/types/basic/state.d.ts.map +1 -0
  110. package/dist/types/creators.d.ts +38 -13
  111. package/dist/types/creators.d.ts.map +1 -1
  112. package/dist/types/index.d.ts +4 -9
  113. package/dist/types/index.d.ts.map +1 -1
  114. package/package.json +1 -1
  115. package/src/advanced/array.ts +224 -0
  116. package/src/advanced/index.ts +12 -0
  117. package/src/{map.ts → advanced/map.ts} +14 -14
  118. package/src/advanced/resource.ts +56 -0
  119. package/src/{resource.ts → advanced/resourceAsync.ts} +9 -16
  120. package/src/advanced/stream.ts +87 -0
  121. package/src/advanced/streamAsync.ts +82 -0
  122. package/src/basic/constant.ts +64 -0
  123. package/src/basic/derivation.ts +86 -0
  124. package/src/basic/disposable.ts +27 -0
  125. package/src/basic/effect.ts +96 -0
  126. package/src/basic/index.ts +10 -0
  127. package/src/basic/observable.ts +51 -0
  128. package/src/basic/signal.ts +117 -0
  129. package/src/basic/state.ts +39 -0
  130. package/src/creators.ts +66 -15
  131. package/src/index.ts +26 -11
  132. package/test/array.test.ts +620 -0
  133. package/test/constant.test.ts +46 -0
  134. package/test/derivation.test.ts +30 -6
  135. package/test/effect.test.ts +29 -0
  136. package/test/map.test.ts +38 -0
  137. package/test/resource.test.ts +18 -16
  138. package/test/resourceAsync.test.ts +108 -0
  139. package/test/signal.test.ts +18 -1
  140. package/test/state.test.ts +107 -2
  141. package/test/stream.test.ts +38 -13
  142. package/test/streamAsync.test.ts +194 -0
  143. package/tsconfig.json +3 -1
  144. package/api/doc/picoflow.flowdisposer.md +0 -13
  145. package/api/doc/picoflow.flowsetter.md +0 -13
  146. package/api/doc/picoflow.flowstate._constructor_.md +0 -49
  147. package/api/doc/picoflow.flowstate.get.md +0 -23
  148. package/api/doc/picoflow.flowupdater.md +0 -19
  149. package/api/picoflow.api.md +0 -145
  150. package/dist/types/derivation.d.ts +0 -58
  151. package/dist/types/derivation.d.ts.map +0 -1
  152. package/dist/types/effect.d.ts +0 -108
  153. package/dist/types/effect.d.ts.map +0 -1
  154. package/dist/types/map.d.ts.map +0 -1
  155. package/dist/types/observable.d.ts +0 -40
  156. package/dist/types/observable.d.ts.map +0 -1
  157. package/dist/types/resource.d.ts.map +0 -1
  158. package/dist/types/signal.d.ts +0 -111
  159. package/dist/types/signal.d.ts.map +0 -1
  160. package/dist/types/state.d.ts +0 -39
  161. package/dist/types/state.d.ts.map +0 -1
  162. package/dist/types/stream.d.ts +0 -71
  163. package/dist/types/stream.d.ts.map +0 -1
  164. package/src/derivation.ts +0 -96
  165. package/src/effect.ts +0 -152
  166. package/src/observable.ts +0 -50
  167. package/src/signal.ts +0 -166
  168. package/src/state.ts +0 -52
  169. package/src/stream.ts +0 -99
@@ -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; [FlowMap](./picoflow.flowmap.md) &gt; [delete](./picoflow.flowmap.delete.md)
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowMap](./picoflow.flowmap.md) &gt; [delete](./picoflow.flowmap.delete.md)
4
4
 
5
5
  ## FlowMap.delete() method
6
6
 
@@ -51,7 +51,11 @@ The key to delete.
51
51
 
52
52
  void
53
53
 
54
+ ## Exceptions
55
+
56
+ If the FlowMap instance is disposed.
57
+
54
58
  ## Remarks
55
59
 
56
- This method removes the key from the internal map, emits the deleted key and its corresponding value via [FlowMap.$lastDeleted](./picoflow.flowmap._lastdeleted.md)<!-- -->, and notifies subscribers of the change.
60
+ Removes the key from the internal map, emits the deleted key and its value via [FlowMap.$lastDeleted](./picoflow.flowmap._lastdeleted.md)<!-- -->, and notifies all subscribers of the change.
57
61
 
@@ -1,10 +1,10 @@
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; [FlowMap](./picoflow.flowmap.md)
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowMap](./picoflow.flowmap.md)
4
4
 
5
5
  ## FlowMap class
6
6
 
7
- Represents a reactive map of states that extends [FlowState](./picoflow.flowstate.md) for a Map of key/value pairs.
7
+ Represents a reactive map of states extending [FlowState](./picoflow.flowstate.md) for a Map of key/value pairs.
8
8
 
9
9
  **Signature:**
10
10
 
@@ -15,13 +15,11 @@ export declare class FlowMap<K, V> extends FlowState<Map<K, V>>
15
15
 
16
16
  ## Remarks
17
17
 
18
- FlowMap wraps a native Map and provides reactive signals for fine-grained tracking of updates to the map. In addition to the reactive capabilities inherited from FlowState, it exposes two public signals:
18
+ FlowMap wraps a native Map and provides reactive signals for fine-grained tracking of updates to the map. In addition to the reactive capabilities inherited from FlowState, it exposes two reactive signals:
19
19
 
20
- \*\*$lastSet\*\*: A FlowState that holds the most recent key-value pair that was set.
20
+ • $lastSet: Holds the most recent key-value pair that was set. • $lastDeleted: Holds the most recent key-value pair that was deleted.
21
21
 
22
- \*\*$lastDeleted\*\*: A FlowState that holds the most recent key-value pair that was deleted.
23
-
24
- Use [FlowMap.setAt()](./picoflow.flowmap.setat.md) to set a key-value pair and [FlowMap.delete()](./picoflow.flowmap.delete.md) to remove a key.
22
+ Use [FlowMap.setAt()](./picoflow.flowmap.setat.md) to add or update a key-value pair and [FlowMap.delete()](./picoflow.flowmap.delete.md) to remove a key.
25
23
 
26
24
  ## Properties
27
25
 
@@ -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; [FlowMap](./picoflow.flowmap.md) &gt; [setAt](./picoflow.flowmap.setat.md)
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowMap](./picoflow.flowmap.md) &gt; [setAt](./picoflow.flowmap.setat.md)
4
4
 
5
5
  ## FlowMap.setAt() method
6
6
 
@@ -67,7 +67,11 @@ The value to set.
67
67
 
68
68
  void
69
69
 
70
+ ## Exceptions
71
+
72
+ If the FlowMap instance is disposed.
73
+
70
74
  ## Remarks
71
75
 
72
- This method updates the internal map with the given key and value, emits the new key-value pair via [FlowMap.$lastSet](./picoflow.flowmap._lastset.md)<!-- -->, and notifies subscribers of the change.
76
+ Updates the internal map, emits the key-value pair via [FlowMap.$lastSet](./picoflow.flowmap._lastset.md)<!-- -->, and notifies all subscribers of the change.
73
77
 
@@ -1,10 +1,10 @@
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; [FlowObservable](./picoflow.flowobservable.md) &gt; [get](./picoflow.flowobservable.get.md)
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowObservable](./picoflow.flowobservable.md) &gt; [get](./picoflow.flowobservable.get.md)
4
4
 
5
5
  ## FlowObservable.get() method
6
6
 
7
- Retrieves the current value of the observable.
7
+ Retrieves the current value stored in the observable. Subclasses must override this method to provide the current value.
8
8
 
9
9
  **Signature:**
10
10
 
@@ -15,5 +15,5 @@ abstract get(): T;
15
15
 
16
16
  T
17
17
 
18
- The current value.
18
+ The current value of type T.
19
19
 
@@ -1,10 +1,10 @@
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; [FlowObservable](./picoflow.flowobservable.md)
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowObservable](./picoflow.flowobservable.md)
4
4
 
5
5
  ## FlowObservable class
6
6
 
7
- Represents a reactive observable that carries a value.
7
+ Represents a reactive observable that holds and tracks a value.
8
8
 
9
9
  **Signature:**
10
10
 
@@ -15,7 +15,7 @@ export declare abstract class FlowObservable<T> extends FlowSignal
15
15
 
16
16
  ## Remarks
17
17
 
18
- A FlowObservable extends the basic FlowSignal to store a value. Subclasses must implement the abstract [FlowObservable.get()](./picoflow.flowobservable.get.md) method to return the current value.
18
+ Subclasses must implement the [FlowObservable.get()](./picoflow.flowobservable.get.md) method to return the current value.
19
19
 
20
20
  ## Methods
21
21
 
@@ -47,7 +47,21 @@ Description
47
47
 
48
48
  </td><td>
49
49
 
50
- Retrieves the current value of the observable.
50
+ Retrieves the current value stored in the observable. Subclasses must override this method to provide the current value.
51
+
52
+
53
+ </td></tr>
54
+ <tr><td>
55
+
56
+ [subscribe(listener)](./picoflow.flowobservable.subscribe.md)
57
+
58
+
59
+ </td><td>
60
+
61
+
62
+ </td><td>
63
+
64
+ Subscribes a listener function to changes of the observable. The listener is executed immediately with the current value and on subsequent updates.
51
65
 
52
66
 
53
67
  </td></tr>
@@ -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; [FlowObservable](./picoflow.flowobservable.md) &gt; [subscribe](./picoflow.flowobservable.subscribe.md)
4
+
5
+ ## FlowObservable.subscribe() method
6
+
7
+ Subscribes a listener function to changes of the observable. The listener is executed immediately with the current value and on subsequent updates.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ subscribe(listener: (value: T) => void): () => void;
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
+ listener
36
+
37
+
38
+ </td><td>
39
+
40
+ (value: T) =&gt; void
41
+
42
+
43
+ </td><td>
44
+
45
+ A callback function that receives the new value.
46
+
47
+
48
+ </td></tr>
49
+ </tbody></table>
50
+ **Returns:**
51
+
52
+ () =&gt; void
53
+
54
+ A disposer function to cancel the subscription.
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; [FlowResource](./picoflow.flowresource.md) &gt; [(constructor)](./picoflow.flowresource._constructor_.md)
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowResource](./picoflow.flowresource.md) &gt; [(constructor)](./picoflow.flowresource._constructor_.md)
4
4
 
5
5
  ## FlowResource.(constructor)
6
6
 
@@ -9,7 +9,7 @@ Creates a new FlowResource.
9
9
  **Signature:**
10
10
 
11
11
  ```typescript
12
- constructor(fetch: () => Promise<T>, initial: T);
12
+ constructor(fetch: () => Promise<T>);
13
13
  ```
14
14
 
15
15
  ## Parameters
@@ -45,21 +45,5 @@ fetch
45
45
  An asynchronous function that retrieves the resource's 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>
@@ -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; [FlowResource](./picoflow.flowresource.md) &gt; [fetch](./picoflow.flowresource.fetch.md)
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowResource](./picoflow.flowresource.md) &gt; [fetch](./picoflow.flowresource.fetch.md)
4
4
 
5
5
  ## FlowResource.fetch() method
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; [FlowResource](./picoflow.flowresource.md) &gt; [get](./picoflow.flowresource.get.md)
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowResource](./picoflow.flowresource.md) &gt; [get](./picoflow.flowresource.get.md)
4
4
 
5
5
  ## FlowResource.get() method
6
6
 
@@ -9,13 +9,13 @@ Retrieves the current resource value.
9
9
  **Signature:**
10
10
 
11
11
  ```typescript
12
- get(): T;
12
+ get(): T | undefined;
13
13
  ```
14
14
  **Returns:**
15
15
 
16
- T
16
+ T \| undefined
17
17
 
18
- The current value.
18
+ The current value, or undefined if the resource has not been fetched yet.
19
19
 
20
20
  ## Exceptions
21
21
 
@@ -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; [FlowResource](./picoflow.flowresource.md)
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowResource](./picoflow.flowresource.md)
4
4
 
5
5
  ## FlowResource class
6
6
 
@@ -9,9 +9,9 @@ Represents a reactive resource that asynchronously fetches its value.
9
9
  **Signature:**
10
10
 
11
11
  ```typescript
12
- export declare class FlowResource<T> extends FlowObservable<T>
12
+ export declare class FlowResource<T> extends FlowObservable<T | undefined>
13
13
  ```
14
- **Extends:** [FlowObservable](./picoflow.flowobservable.md)<!-- -->&lt;T&gt;
14
+ **Extends:** [FlowObservable](./picoflow.flowobservable.md)<!-- -->&lt;T \| undefined&gt;
15
15
 
16
16
  ## Remarks
17
17
 
@@ -37,7 +37,7 @@ Description
37
37
  </th></tr></thead>
38
38
  <tbody><tr><td>
39
39
 
40
- [(constructor)(fetch, initial)](./picoflow.flowresource._constructor_.md)
40
+ [(constructor)(fetch)](./picoflow.flowresource._constructor_.md)
41
41
 
42
42
 
43
43
  </td><td>
@@ -0,0 +1,49 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowResourceAsync](./picoflow.flowresourceasync.md) &gt; [(constructor)](./picoflow.flowresourceasync._constructor_.md)
4
+
5
+ ## FlowResourceAsync.(constructor)
6
+
7
+ Creates a new FlowResource.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ constructor(fetch: () => Promise<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
+ fetch
36
+
37
+
38
+ </td><td>
39
+
40
+ () =&gt; Promise&lt;T&gt;
41
+
42
+
43
+ </td><td>
44
+
45
+ An asynchronous function that retrieves the resource's value.
46
+
47
+
48
+ </td></tr>
49
+ </tbody></table>
@@ -0,0 +1,27 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowResourceAsync](./picoflow.flowresourceasync.md) &gt; [fetch](./picoflow.flowresourceasync.fetch.md)
4
+
5
+ ## FlowResourceAsync.fetch() method
6
+
7
+ Asynchronously fetches a new value for the resource.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ fetch(): Promise<void>;
13
+ ```
14
+ **Returns:**
15
+
16
+ Promise&lt;void&gt;
17
+
18
+ A Promise that resolves when the fetch operation is complete.
19
+
20
+ ## Exceptions
21
+
22
+ Error if the resource is disposed.
23
+
24
+ ## Remarks
25
+
26
+ Executes the internal fetch function. If the fetched value differs from the current one, updates the resource's value and notifies subscribers.
27
+
@@ -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; [FlowResourceAsync](./picoflow.flowresourceasync.md) &gt; [get](./picoflow.flowresourceasync.get.md)
4
+
5
+ ## FlowResourceAsync.get() method
6
+
7
+ Retrieves the current resource value.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ get(): Promise<T>;
13
+ ```
14
+ **Returns:**
15
+
16
+ Promise&lt;T&gt;
17
+
18
+ The current value, or undefined if the resource has not been fetched yet.
19
+
20
+ ## Exceptions
21
+
22
+ Error if the resource 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; [FlowResourceAsync](./picoflow.flowresourceasync.md)
4
+
5
+ ## FlowResourceAsync class
6
+
7
+ Represents a reactive resource that asynchronously fetches its value.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ export declare class FlowResourceAsync<T> extends FlowObservable<Promise<T>>
13
+ ```
14
+ **Extends:** [FlowObservable](./picoflow.flowobservable.md)<!-- -->&lt;Promise&lt;T&gt;&gt;
15
+
16
+ ## Remarks
17
+
18
+ A FlowResource extends FlowObservable and encapsulates an asynchronous fetch function. It is used to retrieve and update its value asynchronously. When the fetch is executed, if the new value differs from the current value, the resource is updated and its subscribers are notified.
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)(fetch)](./picoflow.flowresourceasync._constructor_.md)
41
+
42
+
43
+ </td><td>
44
+
45
+
46
+ </td><td>
47
+
48
+ Creates a new FlowResource.
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
+ [fetch()](./picoflow.flowresourceasync.fetch.md)
75
+
76
+
77
+ </td><td>
78
+
79
+
80
+ </td><td>
81
+
82
+ Asynchronously fetches a new value for the resource.
83
+
84
+
85
+ </td></tr>
86
+ <tr><td>
87
+
88
+ [get()](./picoflow.flowresourceasync.get.md)
89
+
90
+
91
+ </td><td>
92
+
93
+
94
+ </td><td>
95
+
96
+ Retrieves the current resource value.
97
+
98
+
99
+ </td></tr>
100
+ </tbody></table>
@@ -1,25 +1,59 @@
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; [FlowSignal](./picoflow.flowsignal.md) &gt; [dispose](./picoflow.flowsignal.dispose.md)
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowSignal](./picoflow.flowsignal.md) &gt; [dispose](./picoflow.flowsignal.dispose.md)
4
4
 
5
5
  ## FlowSignal.dispose() method
6
6
 
7
- Disposes the signal.
7
+ Disposes the FlowSignal. Cleans up all registered effects, listeners, and dependencies. Once disposed, further usage of the signal will throw an error.
8
8
 
9
9
  **Signature:**
10
10
 
11
11
  ```typescript
12
- dispose(): void;
12
+ dispose(options?: {
13
+ self: boolean;
14
+ }): void;
13
15
  ```
16
+
17
+ ## Parameters
18
+
19
+ <table><thead><tr><th>
20
+
21
+ Parameter
22
+
23
+
24
+ </th><th>
25
+
26
+ Type
27
+
28
+
29
+ </th><th>
30
+
31
+ Description
32
+
33
+
34
+ </th></tr></thead>
35
+ <tbody><tr><td>
36
+
37
+ options
38
+
39
+
40
+ </td><td>
41
+
42
+ { self: boolean; }
43
+
44
+
45
+ </td><td>
46
+
47
+ _(Optional)_
48
+
49
+
50
+ </td></tr>
51
+ </tbody></table>
14
52
  **Returns:**
15
53
 
16
54
  void
17
55
 
18
56
  ## Exceptions
19
57
 
20
- Error if the signal is already disposed.
21
-
22
- ## Remarks
23
-
24
- Disposing a signal will dispose all registered effects and listeners, and unregister all dependencies. Once disposed, any further calls to the signal will throw an error.
58
+ If the FlowSignal is already disposed.
25
59
 
@@ -1,10 +1,10 @@
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; [FlowSignal](./picoflow.flowsignal.md) &gt; [disposed](./picoflow.flowsignal.disposed.md)
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowSignal](./picoflow.flowsignal.md) &gt; [disposed](./picoflow.flowsignal.disposed.md)
4
4
 
5
5
  ## FlowSignal.disposed property
6
6
 
7
- Indicates whether the signal has been disposed.
7
+ Indicates whether the FlowSignal has been disposed.
8
8
 
9
9
  **Signature:**
10
10
 
@@ -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; [FlowSignal](./picoflow.flowsignal.md)
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowSignal](./picoflow.flowsignal.md)
4
4
 
5
5
  ## FlowSignal class
6
6
 
@@ -9,12 +9,13 @@ Represents a reactive signal.
9
9
  **Signature:**
10
10
 
11
11
  ```typescript
12
- export declare class FlowSignal
12
+ export declare class FlowSignal implements FlowDisposable
13
13
  ```
14
+ **Implements:** [FlowDisposable](./picoflow.flowdisposable.md)
14
15
 
15
16
  ## Remarks
16
17
 
17
- A FlowSignal allows you to trigger notifications via [FlowSignal.trigger()](./picoflow.flowsignal.trigger.md) and to dispose the signal and all its registered dependencies, listeners, and effects via [FlowSignal.dispose()](./picoflow.flowsignal.dispose.md)<!-- -->.
18
+ Use FlowSignal to create reactive streams that notify listeners and execute associated effects. Signals can be triggered and disposed. Once disposed, interactions with the signal will throw errors.
18
19
 
19
20
  ## Properties
20
21
 
@@ -56,7 +57,7 @@ boolean
56
57
 
57
58
  </td><td>
58
59
 
59
- Indicates whether the signal has been disposed.
60
+ Indicates whether the FlowSignal has been disposed.
60
61
 
61
62
 
62
63
  </td></tr>
@@ -82,7 +83,7 @@ Description
82
83
  </th></tr></thead>
83
84
  <tbody><tr><td>
84
85
 
85
- [dispose()](./picoflow.flowsignal.dispose.md)
86
+ [dispose(options)](./picoflow.flowsignal.dispose.md)
86
87
 
87
88
 
88
89
  </td><td>
@@ -90,7 +91,7 @@ Description
90
91
 
91
92
  </td><td>
92
93
 
93
- Disposes the signal.
94
+ Disposes the FlowSignal. Cleans up all registered effects, listeners, and dependencies. Once disposed, further usage of the signal will throw an error.
94
95
 
95
96
 
96
97
  </td></tr>
@@ -104,7 +105,7 @@ Disposes the signal.
104
105
 
105
106
  </td><td>
106
107
 
107
- Triggers the signal.
108
+ Triggers the FlowSignal. Notifies all registered listeners and schedules execution of associated effects.
108
109
 
109
110
 
110
111
  </td></tr>
@@ -1,10 +1,10 @@
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; [FlowSignal](./picoflow.flowsignal.md) &gt; [trigger](./picoflow.flowsignal.trigger.md)
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowSignal](./picoflow.flowsignal.md) &gt; [trigger](./picoflow.flowsignal.trigger.md)
4
4
 
5
5
  ## FlowSignal.trigger() method
6
6
 
7
- Triggers the signal.
7
+ Triggers the FlowSignal. Notifies all registered listeners and schedules execution of associated effects.
8
8
 
9
9
  **Signature:**
10
10
 
@@ -17,9 +17,5 @@ void
17
17
 
18
18
  ## Exceptions
19
19
 
20
- Error if the signal is disposed.
21
-
22
- ## Remarks
23
-
24
- This method notifies all registered listeners and causes associated effects to execute.
20
+ If the FlowSignal has already been disposed.
25
21