@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
package/api/doc/index.md CHANGED
@@ -19,7 +19,7 @@ Description
19
19
  </th></tr></thead>
20
20
  <tbody><tr><td>
21
21
 
22
- [picoflow](./picoflow.md)
22
+ [@ersbeth/picoflow](./picoflow.md)
23
23
 
24
24
 
25
25
  </td><td>
@@ -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; [constant](./picoflow.constant.md)
4
+
5
+ ## constant() function
6
+
7
+ Creates a new reactive constant.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ export declare function constant<T>(value: T | (() => T)): FlowConstant<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
+ value
36
+
37
+
38
+ </td><td>
39
+
40
+ T \| (() =&gt; T)
41
+
42
+
43
+ </td><td>
44
+
45
+ The value or a function that returns the value.
46
+
47
+
48
+ </td></tr>
49
+ </tbody></table>
50
+ **Returns:**
51
+
52
+ [FlowConstant](./picoflow.flowconstant.md)<!-- -->&lt;T&gt;
53
+
54
+ A new instance of [FlowConstant](./picoflow.flowconstant.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; [derivation](./picoflow.derivation.md)
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [derivation](./picoflow.derivation.md)
4
4
 
5
5
  ## derivation() 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; [effect](./picoflow.effect.md)
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [effect](./picoflow.effect.md)
4
4
 
5
5
  ## effect() function
6
6
 
@@ -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; [FlowConstant](./picoflow.flowconstant.md) &gt; [(constructor)](./picoflow.flowconstant._constructor_.md)
4
+
5
+ ## FlowConstant.(constructor)
6
+
7
+ Creates a new FlowConstant instance.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ constructor(value: T | (() => 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
+ value
36
+
37
+
38
+ </td><td>
39
+
40
+ T \| (() =&gt; T)
41
+
42
+
43
+ </td><td>
44
+
45
+ Either a direct value of type T or a function returning a value of type T for lazy initialization.
46
+
47
+
48
+ </td></tr>
49
+ </tbody></table>
@@ -0,0 +1,25 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowConstant](./picoflow.flowconstant.md) &gt; [get](./picoflow.flowconstant.get.md)
4
+
5
+ ## FlowConstant.get() method
6
+
7
+ Retrieves the constant value, computing it lazily if needed.
8
+
9
+ Accessing this method will initialize the value if it has not been computed already. Throws an error if the instance has been disposed or if lazy initialization fails.
10
+
11
+ **Signature:**
12
+
13
+ ```typescript
14
+ get(): T;
15
+ ```
16
+ **Returns:**
17
+
18
+ T
19
+
20
+ The cached constant value.
21
+
22
+ ## Exceptions
23
+
24
+ Error if the constant is disposed or cannot be initialized.
25
+
@@ -0,0 +1,88 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowConstant](./picoflow.flowconstant.md)
4
+
5
+ ## FlowConstant class
6
+
7
+ Represents a reactive and immutable constant value computed lazily upon first access.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ export declare class FlowConstant<T> extends FlowObservable<T>
13
+ ```
14
+ **Extends:** [FlowObservable](./picoflow.flowobservable.md)<!-- -->&lt;T&gt;
15
+
16
+ ## Remarks
17
+
18
+ This class extends FlowObservable and supports initializing the constant using either a direct value or a lazy initializer function. Once computed, the value is cached for all subsequent accesses.
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)(value)](./picoflow.flowconstant._constructor_.md)
41
+
42
+
43
+ </td><td>
44
+
45
+
46
+ </td><td>
47
+
48
+ Creates a new FlowConstant instance.
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
+ [get()](./picoflow.flowconstant.get.md)
75
+
76
+
77
+ </td><td>
78
+
79
+
80
+ </td><td>
81
+
82
+ Retrieves the constant value, computing it lazily if needed.
83
+
84
+ Accessing this method will initialize the value if it has not been computed already. Throws an error if the instance has been disposed or if lazy initialization fails.
85
+
86
+
87
+ </td></tr>
88
+ </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; [FlowDerivation](./picoflow.flowderivation.md) &gt; [(constructor)](./picoflow.flowderivation._constructor_.md)
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowDerivation](./picoflow.flowderivation.md) &gt; [(constructor)](./picoflow.flowderivation._constructor_.md)
4
4
 
5
5
  ## FlowDerivation.(constructor)
6
6
 
@@ -42,7 +42,7 @@ compute
42
42
 
43
43
  </td><td>
44
44
 
45
- A function that computes the derived value. It is provided with a getter and a watcher function to access observables and signals dependencies.
45
+ A function that computes the derived value. It is provided with two parameters: a getter and a watcher that respect dependency tracking.
46
46
 
47
47
 
48
48
  </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; [FlowDerivation](./picoflow.flowderivation.md) &gt; [get](./picoflow.flowderivation.get.md)
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowDerivation](./picoflow.flowderivation.md) &gt; [get](./picoflow.flowderivation.get.md)
4
4
 
5
5
  ## FlowDerivation.get() method
6
6
 
@@ -19,5 +19,5 @@ The current computed value.
19
19
 
20
20
  ## Remarks
21
21
 
22
- This method ensures that the derivation is up-to-date before returning the value.
22
+ This method lazily initializes and updates the derivation if it is marked as dirty. It throws an error if the derivation has been disposed.
23
23
 
@@ -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; [FlowDerivation](./picoflow.flowderivation.md)
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowDerivation](./picoflow.flowderivation.md)
4
4
 
5
5
  ## FlowDerivation class
6
6
 
@@ -15,7 +15,7 @@ export declare class FlowDerivation<T> extends FlowObservable<T>
15
15
 
16
16
  ## Remarks
17
17
 
18
- A FlowDerivation automatically tracks its dependencies and recomputes its value when needed.
18
+ It tracks dependencies automatically and recomputes its value when any dependency changes. Use FlowDerivation to create derived values in a reactive manner. It lazily initializes the computed value, ensuring that computations only occur when necessary.
19
19
 
20
20
  ## Constructors
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; [FlowEffect](./picoflow.floweffect.md) &gt; [(constructor)](./picoflow.floweffect._constructor_.md)
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowEffect](./picoflow.floweffect.md) &gt; [(constructor)](./picoflow.floweffect._constructor_.md)
4
4
 
5
5
  ## FlowEffect.(constructor)
6
6
 
@@ -42,8 +42,13 @@ apply
42
42
 
43
43
  </td><td>
44
44
 
45
- A function that performs the side effect. It receives a getter and a watcher function to access and register dependencies on reactive observables and signals.
45
+ A side-effect function that receives a getter and a watcher to access and register dependencies on reactive observables and signals.
46
46
 
47
47
 
48
48
  </td></tr>
49
49
  </tbody></table>
50
+
51
+ ## Remarks
52
+
53
+ The provided function is executed immediately in a tracked mode to collect dependencies. On subsequent executions, it runs in an untracked mode.
54
+
@@ -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; [FlowEffect](./picoflow.floweffect.md) &gt; [dispose](./picoflow.floweffect.dispose.md)
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowEffect](./picoflow.floweffect.md) &gt; [dispose](./picoflow.floweffect.dispose.md)
4
4
 
5
5
  ## FlowEffect.dispose() method
6
6
 
7
- Disposes the effect, unregistering all its dependencies.
7
+ Disposes the effect, unregistering all its tracked dependencies.
8
8
 
9
9
  **Signature:**
10
10
 
@@ -17,5 +17,5 @@ void
17
17
 
18
18
  ## Remarks
19
19
 
20
- After disposal, the effect should no longer be used. Calling this method on an already disposed effect will throw an error.
20
+ Once disposed, the effect must no longer be used. Trying to dispose an effect that is already disposed will throw an error.
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; [FlowEffect](./picoflow.floweffect.md) &gt; [disposed](./picoflow.floweffect.disposed.md)
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowEffect](./picoflow.floweffect.md) &gt; [disposed](./picoflow.floweffect.disposed.md)
4
4
 
5
5
  ## FlowEffect.disposed property
6
6
 
@@ -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; [FlowEffect](./picoflow.floweffect.md)
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowEffect](./picoflow.floweffect.md)
4
4
 
5
5
  ## FlowEffect class
6
6
 
7
- Represents a reactive effect that executes a sideeffect function based on its tracked dependencies.
7
+ Represents a reactive effect that executes side-effect functions based on its tracked dependencies.
8
8
 
9
9
  **Signature:**
10
10
 
@@ -14,7 +14,7 @@ export declare class FlowEffect
14
14
 
15
15
  ## Remarks
16
16
 
17
- A FlowEffect runs an apply function to perform side effects. The apply function is executed in two modes: Initially, in a tracked mode to register dependencies. Subsequently, in an untracked mode to only re-execute the effect .
17
+ The FlowEffect executes an apply function that performs side effects, running initially in a tracked mode to register dependencies and then in an untracked mode to re-execute the effect on updates.
18
18
 
19
19
  ## Constructors
20
20
 
@@ -124,7 +124,7 @@ Description
124
124
 
125
125
  </td><td>
126
126
 
127
- Disposes the effect, unregistering all its dependencies.
127
+ Disposes the effect, unregistering all its tracked dependencies.
128
128
 
129
129
 
130
130
  </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; [FlowGetter](./picoflow.flowgetter.md)
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowGetter](./picoflow.flowgetter.md)
4
4
 
5
5
  ## FlowGetter type
6
6
 
7
- A function for retrieving the current value from a FlowObservable.
7
+ A function that retrieves the current value from a FlowObservable.
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; [FlowMap](./picoflow.flowmap.md) &gt; [$lastDeleted](./picoflow.flowmap._lastdeleted.md)
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowMap](./picoflow.flowmap.md) &gt; [$lastDeleted](./picoflow.flowmap._lastdeleted.md)
4
4
 
5
5
  ## FlowMap.$lastDeleted property
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; [FlowMap](./picoflow.flowmap.md) &gt; [$lastSet](./picoflow.flowmap._lastset.md)
3
+ [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowMap](./picoflow.flowmap.md) &gt; [$lastSet](./picoflow.flowmap._lastset.md)
4
4
 
5
5
  ## FlowMap.$lastSet property
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; [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