@ersbeth/picoflow 0.2.4 → 1.0.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 (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 +62 -25
  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,69 +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; [FlowArray](./picoflow.flowarray.md) &gt; [setItem](./picoflow.flowarray.setitem.md)
4
-
5
- ## FlowArray.setItem() method
6
-
7
- Replaces an item at a specific index.
8
-
9
- **Signature:**
10
-
11
- ```typescript
12
- setItem(index: number, item: T): 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
- index
36
-
37
-
38
- </td><td>
39
-
40
- number
41
-
42
-
43
- </td><td>
44
-
45
- The index of the item to replace.
46
-
47
-
48
- </td></tr>
49
- <tr><td>
50
-
51
- item
52
-
53
-
54
- </td><td>
55
-
56
- T
57
-
58
-
59
- </td><td>
60
-
61
- The new item.
62
-
63
-
64
- </td></tr>
65
- </tbody></table>
66
- **Returns:**
67
-
68
- void
69
-
@@ -1,17 +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; [FlowArray](./picoflow.flowarray.md) &gt; [shift](./picoflow.flowarray.shift.md)
4
-
5
- ## FlowArray.shift() method
6
-
7
- Removes the first item from the array.
8
-
9
- **Signature:**
10
-
11
- ```typescript
12
- shift(): void;
13
- ```
14
- **Returns:**
15
-
16
- void
17
-
@@ -1,85 +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; [FlowArray](./picoflow.flowarray.md) &gt; [splice](./picoflow.flowarray.splice.md)
4
-
5
- ## FlowArray.splice() method
6
-
7
- Changes the content of the array.
8
-
9
- **Signature:**
10
-
11
- ```typescript
12
- splice(start: number, deleteCount: number, ...newItems: T[]): 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
- start
36
-
37
-
38
- </td><td>
39
-
40
- number
41
-
42
-
43
- </td><td>
44
-
45
- The starting index.
46
-
47
-
48
- </td></tr>
49
- <tr><td>
50
-
51
- deleteCount
52
-
53
-
54
- </td><td>
55
-
56
- number
57
-
58
-
59
- </td><td>
60
-
61
- Number of items to remove.
62
-
63
-
64
- </td></tr>
65
- <tr><td>
66
-
67
- newItems
68
-
69
-
70
- </td><td>
71
-
72
- T\[\]
73
-
74
-
75
- </td><td>
76
-
77
- New items to add.
78
-
79
-
80
- </td></tr>
81
- </tbody></table>
82
- **Returns:**
83
-
84
- void
85
-
@@ -1,53 +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; [FlowArray](./picoflow.flowarray.md) &gt; [unshift](./picoflow.flowarray.unshift.md)
4
-
5
- ## FlowArray.unshift() method
6
-
7
- Inserts an item at the beginning of the array.
8
-
9
- **Signature:**
10
-
11
- ```typescript
12
- unshift(item: T): 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
- item
36
-
37
-
38
- </td><td>
39
-
40
- T
41
-
42
-
43
- </td><td>
44
-
45
- The item to insert.
46
-
47
-
48
- </td></tr>
49
- </tbody></table>
50
- **Returns:**
51
-
52
- void
53
-
@@ -1,37 +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; [FlowArrayAction](./picoflow.flowarrayaction.md)
4
-
5
- ## FlowArrayAction type
6
-
7
- Represents the actions that can be performed on a FlowArray.
8
-
9
- **Signature:**
10
-
11
- ```typescript
12
- export type FlowArrayAction<T> = {
13
- type: "set";
14
- items: T[];
15
- } | {
16
- type: "setItem";
17
- index: number;
18
- item: T;
19
- } | {
20
- type: "push";
21
- item: T;
22
- } | {
23
- type: "pop";
24
- } | {
25
- type: "unshift";
26
- item: T;
27
- } | {
28
- type: "shift";
29
- } | {
30
- type: "splice";
31
- start: number;
32
- deleteCount: number;
33
- items: T[];
34
- } | {
35
- type: "clear";
36
- };
37
- ```
@@ -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; [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>
@@ -1,25 +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; [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
-
@@ -1,88 +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; [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,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; [FlowDerivation](./picoflow.flowderivation.md) &gt; [(constructor)](./picoflow.flowderivation._constructor_.md)
4
-
5
- ## FlowDerivation.(constructor)
6
-
7
- Creates a new FlowDerivation.
8
-
9
- **Signature:**
10
-
11
- ```typescript
12
- constructor(compute: (get: FlowGetter, watch: FlowWatcher) => 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
- compute
36
-
37
-
38
- </td><td>
39
-
40
- (get: [FlowGetter](./picoflow.flowgetter.md)<!-- -->, watch: [FlowWatcher](./picoflow.flowwatcher.md)<!-- -->) =&gt; T
41
-
42
-
43
- </td><td>
44
-
45
- A function that computes the derived value. It is provided with two parameters: a getter and a watcher that respect dependency tracking.
46
-
47
-
48
- </td></tr>
49
- </tbody></table>
@@ -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; [FlowDerivation](./picoflow.flowderivation.md) &gt; [get](./picoflow.flowderivation.get.md)
4
-
5
- ## FlowDerivation.get() method
6
-
7
- Gets the current derived value.
8
-
9
- **Signature:**
10
-
11
- ```typescript
12
- get(): T;
13
- ```
14
- **Returns:**
15
-
16
- T
17
-
18
- The current computed value.
19
-
20
- ## Remarks
21
-
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
-
@@ -1,86 +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; [FlowDerivation](./picoflow.flowderivation.md)
4
-
5
- ## FlowDerivation class
6
-
7
- Represents a reactive derivation whose value is computed based on other reactive signals.
8
-
9
- **Signature:**
10
-
11
- ```typescript
12
- export declare class FlowDerivation<T> extends FlowObservable<T>
13
- ```
14
- **Extends:** [FlowObservable](./picoflow.flowobservable.md)<!-- -->&lt;T&gt;
15
-
16
- ## Remarks
17
-
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
-
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)(compute)](./picoflow.flowderivation._constructor_.md)
41
-
42
-
43
- </td><td>
44
-
45
-
46
- </td><td>
47
-
48
- Creates a new FlowDerivation.
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.flowderivation.get.md)
75
-
76
-
77
- </td><td>
78
-
79
-
80
- </td><td>
81
-
82
- Gets the current derived value.
83
-
84
-
85
- </td></tr>
86
- </tbody></table>
@@ -1,55 +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; [FlowDisposable](./picoflow.flowdisposable.md) &gt; [dispose](./picoflow.flowdisposable.dispose.md)
4
-
5
- ## FlowDisposable.dispose() method
6
-
7
- Disposes resources held by this object.
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)_ Options to specify disposal behavior.
48
-
49
-
50
- </td></tr>
51
- </tbody></table>
52
- **Returns:**
53
-
54
- void
55
-
@@ -1,43 +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; [FlowDisposable](./picoflow.flowdisposable.md)
4
-
5
- ## FlowDisposable interface
6
-
7
- Represents an object with a disposable lifecycle.
8
-
9
- **Signature:**
10
-
11
- ```typescript
12
- export interface FlowDisposable
13
- ```
14
-
15
- ## Remarks
16
-
17
- Objects implementing this interface require explicit resource disposal.
18
-
19
- ## Methods
20
-
21
- <table><thead><tr><th>
22
-
23
- Method
24
-
25
-
26
- </th><th>
27
-
28
- Description
29
-
30
-
31
- </th></tr></thead>
32
- <tbody><tr><td>
33
-
34
- [dispose(options)](./picoflow.flowdisposable.dispose.md)
35
-
36
-
37
- </td><td>
38
-
39
- Disposes resources held by this object.
40
-
41
-
42
- </td></tr>
43
- </tbody></table>