@ersbeth/picoflow 0.2.4 → 1.0.1

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 (248) hide show
  1. package/.cursor/plans/update-js-e795d61b.plan.md +567 -0
  2. package/.gitlab-ci.yml +24 -0
  3. package/.vscode/settings.json +3 -3
  4. package/CHANGELOG.md +51 -0
  5. package/IMPLEMENTATION_GUIDE.md +1578 -0
  6. package/README.md +9 -134
  7. package/biome.json +32 -32
  8. package/dist/picoflow.js +610 -436
  9. package/dist/types/advanced/array.d.ts +0 -6
  10. package/dist/types/advanced/array.d.ts.map +1 -1
  11. package/dist/types/advanced/index.d.ts +5 -5
  12. package/dist/types/advanced/index.d.ts.map +1 -1
  13. package/dist/types/advanced/map.d.ts +114 -23
  14. package/dist/types/advanced/map.d.ts.map +1 -1
  15. package/dist/types/advanced/resource.d.ts +51 -12
  16. package/dist/types/advanced/resource.d.ts.map +1 -1
  17. package/dist/types/advanced/resourceAsync.d.ts +28 -13
  18. package/dist/types/advanced/resourceAsync.d.ts.map +1 -1
  19. package/dist/types/advanced/stream.d.ts +74 -16
  20. package/dist/types/advanced/stream.d.ts.map +1 -1
  21. package/dist/types/advanced/streamAsync.d.ts +69 -15
  22. package/dist/types/advanced/streamAsync.d.ts.map +1 -1
  23. package/dist/types/basic/constant.d.ts +44 -16
  24. package/dist/types/basic/constant.d.ts.map +1 -1
  25. package/dist/types/basic/derivation.d.ts +73 -24
  26. package/dist/types/basic/derivation.d.ts.map +1 -1
  27. package/dist/types/basic/disposable.d.ts +65 -6
  28. package/dist/types/basic/disposable.d.ts.map +1 -1
  29. package/dist/types/basic/effect.d.ts +27 -16
  30. package/dist/types/basic/effect.d.ts.map +1 -1
  31. package/dist/types/basic/index.d.ts +7 -8
  32. package/dist/types/basic/index.d.ts.map +1 -1
  33. package/dist/types/basic/observable.d.ts +62 -13
  34. package/dist/types/basic/observable.d.ts.map +1 -1
  35. package/dist/types/basic/signal.d.ts +35 -6
  36. package/dist/types/basic/signal.d.ts.map +1 -1
  37. package/dist/types/basic/state.d.ts +25 -4
  38. package/dist/types/basic/state.d.ts.map +1 -1
  39. package/dist/types/basic/trackingContext.d.ts +33 -0
  40. package/dist/types/basic/trackingContext.d.ts.map +1 -0
  41. package/dist/types/creators.d.ts +271 -26
  42. package/dist/types/creators.d.ts.map +1 -1
  43. package/dist/types/index.d.ts +60 -7
  44. package/dist/types/index.d.ts.map +1 -1
  45. package/dist/types/solid/converters.d.ts +5 -5
  46. package/dist/types/solid/converters.d.ts.map +1 -1
  47. package/dist/types/solid/index.d.ts +2 -2
  48. package/dist/types/solid/index.d.ts.map +1 -1
  49. package/dist/types/solid/primitives.d.ts +96 -4
  50. package/dist/types/solid/primitives.d.ts.map +1 -1
  51. package/docs/.vitepress/config.mts +110 -0
  52. package/docs/api/classes/FlowArray.md +489 -0
  53. package/docs/api/classes/FlowConstant.md +350 -0
  54. package/docs/api/classes/FlowDerivation.md +334 -0
  55. package/docs/api/classes/FlowEffect.md +100 -0
  56. package/docs/api/classes/FlowMap.md +512 -0
  57. package/docs/api/classes/FlowObservable.md +306 -0
  58. package/docs/api/classes/FlowResource.md +380 -0
  59. package/docs/api/classes/FlowResourceAsync.md +362 -0
  60. package/docs/api/classes/FlowSignal.md +160 -0
  61. package/docs/api/classes/FlowState.md +368 -0
  62. package/docs/api/classes/FlowStream.md +367 -0
  63. package/docs/api/classes/FlowStreamAsync.md +364 -0
  64. package/docs/api/classes/SolidDerivation.md +75 -0
  65. package/docs/api/classes/SolidResource.md +91 -0
  66. package/docs/api/classes/SolidState.md +71 -0
  67. package/docs/api/classes/TrackingContext.md +33 -0
  68. package/docs/api/functions/array.md +58 -0
  69. package/docs/api/functions/constant.md +45 -0
  70. package/docs/api/functions/derivation.md +53 -0
  71. package/docs/api/functions/effect.md +49 -0
  72. package/docs/api/functions/from.md +220 -0
  73. package/docs/api/functions/isDisposable.md +49 -0
  74. package/docs/api/functions/map.md +57 -0
  75. package/docs/api/functions/resource.md +52 -0
  76. package/docs/api/functions/resourceAsync.md +50 -0
  77. package/docs/api/functions/signal.md +36 -0
  78. package/docs/api/functions/state.md +47 -0
  79. package/docs/api/functions/stream.md +53 -0
  80. package/docs/api/functions/streamAsync.md +50 -0
  81. package/docs/api/index.md +118 -0
  82. package/docs/api/interfaces/FlowDisposable.md +65 -0
  83. package/docs/api/interfaces/SolidObservable.md +19 -0
  84. package/docs/api/type-aliases/FlowArrayAction.md +49 -0
  85. package/docs/api/type-aliases/FlowStreamDisposer.md +15 -0
  86. package/docs/api/type-aliases/FlowStreamSetter.md +27 -0
  87. package/docs/api/type-aliases/FlowStreamUpdater.md +32 -0
  88. package/docs/api/type-aliases/NotPromise.md +18 -0
  89. package/docs/api/type-aliases/SolidGetter.md +17 -0
  90. package/docs/api/typedoc-sidebar.json +1 -0
  91. package/docs/examples/examples.md +2313 -0
  92. package/docs/examples/patterns.md +649 -0
  93. package/docs/guide/advanced/disposal.md +426 -0
  94. package/docs/guide/advanced/solidjs.md +221 -0
  95. package/docs/guide/advanced/upgrading.md +464 -0
  96. package/docs/guide/introduction/concepts.md +56 -0
  97. package/docs/guide/introduction/conventions.md +61 -0
  98. package/docs/guide/introduction/getting-started.md +134 -0
  99. package/docs/guide/introduction/lifecycle.md +371 -0
  100. package/docs/guide/primitives/array.md +400 -0
  101. package/docs/guide/primitives/constant.md +380 -0
  102. package/docs/guide/primitives/derivations.md +348 -0
  103. package/docs/guide/primitives/effects.md +458 -0
  104. package/docs/guide/primitives/map.md +387 -0
  105. package/docs/guide/primitives/overview.md +175 -0
  106. package/docs/guide/primitives/resources.md +858 -0
  107. package/docs/guide/primitives/signal.md +259 -0
  108. package/docs/guide/primitives/state.md +368 -0
  109. package/docs/guide/primitives/streams.md +931 -0
  110. package/docs/index.md +47 -0
  111. package/docs/public/logo.svg +1 -0
  112. package/package.json +57 -41
  113. package/src/advanced/array.ts +208 -210
  114. package/src/advanced/index.ts +7 -7
  115. package/src/advanced/map.ts +178 -68
  116. package/src/advanced/resource.ts +87 -43
  117. package/src/advanced/resourceAsync.ts +62 -42
  118. package/src/advanced/stream.ts +113 -50
  119. package/src/advanced/streamAsync.ts +120 -61
  120. package/src/basic/constant.ts +82 -49
  121. package/src/basic/derivation.ts +128 -84
  122. package/src/basic/disposable.ts +74 -15
  123. package/src/basic/effect.ts +85 -77
  124. package/src/basic/index.ts +7 -8
  125. package/src/basic/observable.ts +94 -36
  126. package/src/basic/signal.ts +133 -105
  127. package/src/basic/state.ts +46 -25
  128. package/src/basic/trackingContext.ts +45 -0
  129. package/src/creators.ts +297 -54
  130. package/src/index.ts +96 -43
  131. package/src/solid/converters.ts +186 -67
  132. package/src/solid/index.ts +8 -2
  133. package/src/solid/primitives.ts +167 -65
  134. package/test/array.test.ts +592 -612
  135. package/test/constant.test.ts +31 -33
  136. package/test/derivation.test.ts +531 -536
  137. package/test/effect.test.ts +21 -21
  138. package/test/map.test.ts +233 -137
  139. package/test/resource.test.ts +119 -121
  140. package/test/resourceAsync.test.ts +98 -100
  141. package/test/signal.test.ts +51 -55
  142. package/test/state.test.ts +186 -168
  143. package/test/stream.test.ts +189 -189
  144. package/test/streamAsync.test.ts +186 -186
  145. package/tsconfig.json +19 -18
  146. package/typedoc.json +37 -0
  147. package/vite.config.ts +23 -23
  148. package/vitest.config.ts +7 -7
  149. package/api/doc/index.md +0 -31
  150. package/api/doc/picoflow.array.md +0 -55
  151. package/api/doc/picoflow.constant.md +0 -55
  152. package/api/doc/picoflow.derivation.md +0 -55
  153. package/api/doc/picoflow.effect.md +0 -55
  154. package/api/doc/picoflow.flowarray._constructor_.md +0 -49
  155. package/api/doc/picoflow.flowarray._lastaction.md +0 -13
  156. package/api/doc/picoflow.flowarray.clear.md +0 -17
  157. package/api/doc/picoflow.flowarray.dispose.md +0 -55
  158. package/api/doc/picoflow.flowarray.get.md +0 -19
  159. package/api/doc/picoflow.flowarray.length.md +0 -13
  160. package/api/doc/picoflow.flowarray.md +0 -273
  161. package/api/doc/picoflow.flowarray.pop.md +0 -17
  162. package/api/doc/picoflow.flowarray.push.md +0 -53
  163. package/api/doc/picoflow.flowarray.set.md +0 -53
  164. package/api/doc/picoflow.flowarray.setitem.md +0 -69
  165. package/api/doc/picoflow.flowarray.shift.md +0 -17
  166. package/api/doc/picoflow.flowarray.splice.md +0 -85
  167. package/api/doc/picoflow.flowarray.unshift.md +0 -53
  168. package/api/doc/picoflow.flowarrayaction.md +0 -37
  169. package/api/doc/picoflow.flowconstant._constructor_.md +0 -49
  170. package/api/doc/picoflow.flowconstant.get.md +0 -25
  171. package/api/doc/picoflow.flowconstant.md +0 -88
  172. package/api/doc/picoflow.flowderivation._constructor_.md +0 -49
  173. package/api/doc/picoflow.flowderivation.get.md +0 -23
  174. package/api/doc/picoflow.flowderivation.md +0 -86
  175. package/api/doc/picoflow.flowdisposable.dispose.md +0 -55
  176. package/api/doc/picoflow.flowdisposable.md +0 -43
  177. package/api/doc/picoflow.floweffect._constructor_.md +0 -54
  178. package/api/doc/picoflow.floweffect.dispose.md +0 -21
  179. package/api/doc/picoflow.floweffect.disposed.md +0 -13
  180. package/api/doc/picoflow.floweffect.md +0 -131
  181. package/api/doc/picoflow.flowgetter.md +0 -15
  182. package/api/doc/picoflow.flowmap._lastdeleted.md +0 -21
  183. package/api/doc/picoflow.flowmap._lastset.md +0 -21
  184. package/api/doc/picoflow.flowmap.delete.md +0 -61
  185. package/api/doc/picoflow.flowmap.md +0 -133
  186. package/api/doc/picoflow.flowmap.setat.md +0 -77
  187. package/api/doc/picoflow.flowobservable.get.md +0 -19
  188. package/api/doc/picoflow.flowobservable.md +0 -68
  189. package/api/doc/picoflow.flowobservable.subscribe.md +0 -55
  190. package/api/doc/picoflow.flowresource._constructor_.md +0 -49
  191. package/api/doc/picoflow.flowresource.fetch.md +0 -27
  192. package/api/doc/picoflow.flowresource.get.md +0 -23
  193. package/api/doc/picoflow.flowresource.md +0 -100
  194. package/api/doc/picoflow.flowresourceasync._constructor_.md +0 -49
  195. package/api/doc/picoflow.flowresourceasync.fetch.md +0 -27
  196. package/api/doc/picoflow.flowresourceasync.get.md +0 -23
  197. package/api/doc/picoflow.flowresourceasync.md +0 -100
  198. package/api/doc/picoflow.flowsignal.dispose.md +0 -59
  199. package/api/doc/picoflow.flowsignal.disposed.md +0 -18
  200. package/api/doc/picoflow.flowsignal.md +0 -112
  201. package/api/doc/picoflow.flowsignal.trigger.md +0 -21
  202. package/api/doc/picoflow.flowstate.md +0 -52
  203. package/api/doc/picoflow.flowstate.set.md +0 -61
  204. package/api/doc/picoflow.flowstream._constructor_.md +0 -49
  205. package/api/doc/picoflow.flowstream.dispose.md +0 -21
  206. package/api/doc/picoflow.flowstream.get.md +0 -23
  207. package/api/doc/picoflow.flowstream.md +0 -100
  208. package/api/doc/picoflow.flowstreamasync._constructor_.md +0 -54
  209. package/api/doc/picoflow.flowstreamasync.dispose.md +0 -21
  210. package/api/doc/picoflow.flowstreamasync.get.md +0 -23
  211. package/api/doc/picoflow.flowstreamasync.md +0 -100
  212. package/api/doc/picoflow.flowstreamdisposer.md +0 -13
  213. package/api/doc/picoflow.flowstreamsetter.md +0 -13
  214. package/api/doc/picoflow.flowstreamupdater.md +0 -19
  215. package/api/doc/picoflow.flowwatcher.md +0 -15
  216. package/api/doc/picoflow.from.md +0 -55
  217. package/api/doc/picoflow.from_1.md +0 -55
  218. package/api/doc/picoflow.from_2.md +0 -55
  219. package/api/doc/picoflow.from_3.md +0 -55
  220. package/api/doc/picoflow.from_4.md +0 -55
  221. package/api/doc/picoflow.from_5.md +0 -55
  222. package/api/doc/picoflow.isdisposable.md +0 -55
  223. package/api/doc/picoflow.map.md +0 -59
  224. package/api/doc/picoflow.md +0 -544
  225. package/api/doc/picoflow.resource.md +0 -55
  226. package/api/doc/picoflow.resourceasync.md +0 -55
  227. package/api/doc/picoflow.signal.md +0 -19
  228. package/api/doc/picoflow.solidderivation._constructor_.md +0 -49
  229. package/api/doc/picoflow.solidderivation.get.md +0 -13
  230. package/api/doc/picoflow.solidderivation.md +0 -94
  231. package/api/doc/picoflow.solidgetter.md +0 -13
  232. package/api/doc/picoflow.solidobservable.get.md +0 -13
  233. package/api/doc/picoflow.solidobservable.md +0 -57
  234. package/api/doc/picoflow.solidresource._constructor_.md +0 -49
  235. package/api/doc/picoflow.solidresource.get.md +0 -13
  236. package/api/doc/picoflow.solidresource.latest.md +0 -13
  237. package/api/doc/picoflow.solidresource.md +0 -157
  238. package/api/doc/picoflow.solidresource.refetch.md +0 -13
  239. package/api/doc/picoflow.solidresource.state.md +0 -13
  240. package/api/doc/picoflow.solidstate._constructor_.md +0 -49
  241. package/api/doc/picoflow.solidstate.get.md +0 -13
  242. package/api/doc/picoflow.solidstate.md +0 -115
  243. package/api/doc/picoflow.solidstate.set.md +0 -13
  244. package/api/doc/picoflow.state.md +0 -55
  245. package/api/doc/picoflow.stream.md +0 -55
  246. package/api/doc/picoflow.streamasync.md +0 -55
  247. package/api/picoflow.public.api.md +0 -244
  248. package/api-extractor.json +0 -61
@@ -1,49 +0,0 @@
1
- <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
-
3
- [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowResource](./picoflow.flowresource.md) &gt; [(constructor)](./picoflow.flowresource._constructor_.md)
4
-
5
- ## FlowResource.(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>
@@ -1,27 +0,0 @@
1
- <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
-
3
- [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowResource](./picoflow.flowresource.md) &gt; [fetch](./picoflow.flowresource.fetch.md)
4
-
5
- ## FlowResource.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
-
@@ -1,23 +0,0 @@
1
- <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
-
3
- [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowResource](./picoflow.flowresource.md) &gt; [get](./picoflow.flowresource.get.md)
4
-
5
- ## FlowResource.get() method
6
-
7
- Retrieves the current resource value.
8
-
9
- **Signature:**
10
-
11
- ```typescript
12
- get(): T | undefined;
13
- ```
14
- **Returns:**
15
-
16
- T \| undefined
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
-
@@ -1,100 +0,0 @@
1
- <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
-
3
- [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowResource](./picoflow.flowresource.md)
4
-
5
- ## FlowResource class
6
-
7
- Represents a reactive resource that asynchronously fetches its value.
8
-
9
- **Signature:**
10
-
11
- ```typescript
12
- export declare class FlowResource<T> extends FlowObservable<T | undefined>
13
- ```
14
- **Extends:** [FlowObservable](./picoflow.flowobservable.md)<!-- -->&lt;T \| undefined&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.flowresource._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.flowresource.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.flowresource.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,49 +0,0 @@
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>
@@ -1,27 +0,0 @@
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
-
@@ -1,23 +0,0 @@
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
-
@@ -1,100 +0,0 @@
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,59 +0,0 @@
1
- <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
-
3
- [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowSignal](./picoflow.flowsignal.md) &gt; [dispose](./picoflow.flowsignal.dispose.md)
4
-
5
- ## FlowSignal.dispose() method
6
-
7
- Disposes the FlowSignal. Cleans up all registered effects, listeners, and dependencies. Once disposed, further usage of the signal will throw an error.
8
-
9
- **Signature:**
10
-
11
- ```typescript
12
- dispose(options?: {
13
- self: boolean;
14
- }): void;
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>
52
- **Returns:**
53
-
54
- void
55
-
56
- ## Exceptions
57
-
58
- If the FlowSignal is already disposed.
59
-
@@ -1,18 +0,0 @@
1
- <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
-
3
- [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowSignal](./picoflow.flowsignal.md) &gt; [disposed](./picoflow.flowsignal.disposed.md)
4
-
5
- ## FlowSignal.disposed property
6
-
7
- Indicates whether the FlowSignal has been disposed.
8
-
9
- **Signature:**
10
-
11
- ```typescript
12
- get disposed(): boolean;
13
- ```
14
-
15
- ## Remarks
16
-
17
- Once disposed, the signal should not be used.
18
-
@@ -1,112 +0,0 @@
1
- <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
-
3
- [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowSignal](./picoflow.flowsignal.md)
4
-
5
- ## FlowSignal class
6
-
7
- Represents a reactive signal.
8
-
9
- **Signature:**
10
-
11
- ```typescript
12
- export declare class FlowSignal implements FlowDisposable
13
- ```
14
- **Implements:** [FlowDisposable](./picoflow.flowdisposable.md)
15
-
16
- ## Remarks
17
-
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.
19
-
20
- ## Properties
21
-
22
- <table><thead><tr><th>
23
-
24
- Property
25
-
26
-
27
- </th><th>
28
-
29
- Modifiers
30
-
31
-
32
- </th><th>
33
-
34
- Type
35
-
36
-
37
- </th><th>
38
-
39
- Description
40
-
41
-
42
- </th></tr></thead>
43
- <tbody><tr><td>
44
-
45
- [disposed](./picoflow.flowsignal.disposed.md)
46
-
47
-
48
- </td><td>
49
-
50
- `readonly`
51
-
52
-
53
- </td><td>
54
-
55
- boolean
56
-
57
-
58
- </td><td>
59
-
60
- Indicates whether the FlowSignal has been disposed.
61
-
62
-
63
- </td></tr>
64
- </tbody></table>
65
-
66
- ## Methods
67
-
68
- <table><thead><tr><th>
69
-
70
- Method
71
-
72
-
73
- </th><th>
74
-
75
- Modifiers
76
-
77
-
78
- </th><th>
79
-
80
- Description
81
-
82
-
83
- </th></tr></thead>
84
- <tbody><tr><td>
85
-
86
- [dispose(options)](./picoflow.flowsignal.dispose.md)
87
-
88
-
89
- </td><td>
90
-
91
-
92
- </td><td>
93
-
94
- Disposes the FlowSignal. Cleans up all registered effects, listeners, and dependencies. Once disposed, further usage of the signal will throw an error.
95
-
96
-
97
- </td></tr>
98
- <tr><td>
99
-
100
- [trigger()](./picoflow.flowsignal.trigger.md)
101
-
102
-
103
- </td><td>
104
-
105
-
106
- </td><td>
107
-
108
- Triggers the FlowSignal. Notifies all registered listeners and schedules execution of associated effects.
109
-
110
-
111
- </td></tr>
112
- </tbody></table>
@@ -1,21 +0,0 @@
1
- <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
-
3
- [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowSignal](./picoflow.flowsignal.md) &gt; [trigger](./picoflow.flowsignal.trigger.md)
4
-
5
- ## FlowSignal.trigger() method
6
-
7
- Triggers the FlowSignal. Notifies all registered listeners and schedules execution of associated effects.
8
-
9
- **Signature:**
10
-
11
- ```typescript
12
- trigger(): void;
13
- ```
14
- **Returns:**
15
-
16
- void
17
-
18
- ## Exceptions
19
-
20
- If the FlowSignal has already been disposed.
21
-
@@ -1,52 +0,0 @@
1
- <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
-
3
- [Home](./index.md) &gt; [@ersbeth/picoflow](./picoflow.md) &gt; [FlowState](./picoflow.flowstate.md)
4
-
5
- ## FlowState class
6
-
7
- Represents a reactive state that holds a mutable value.
8
-
9
- **Signature:**
10
-
11
- ```typescript
12
- export declare class FlowState<T> extends FlowConstant<T>
13
- ```
14
- **Extends:** [FlowConstant](./picoflow.flowconstant.md)<!-- -->&lt;T&gt;
15
-
16
- ## Remarks
17
-
18
- FlowState extends FlowConstant, which provides the [FlowConstant.get()](./picoflow.flowconstant.get.md) method to read the current state. Use the [FlowState.set()](./picoflow.flowstate.set.md) method to update the state. When the state is updated, subscribers are notified automatically. This class notifies subscribers only when the value changes.
19
-
20
- ## Methods
21
-
22
- <table><thead><tr><th>
23
-
24
- Method
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
- [set(value)](./picoflow.flowstate.set.md)
41
-
42
-
43
- </td><td>
44
-
45
-
46
- </td><td>
47
-
48
- Updates the state with a new value.
49
-
50
-
51
- </td></tr>
52
- </tbody></table>