@ersbeth/picoflow 0.0.1 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/api/doc/index.md +1 -1
  2. package/api/doc/picoflow.constant.md +55 -0
  3. package/api/doc/picoflow.derivation.md +1 -1
  4. package/api/doc/picoflow.effect.md +1 -1
  5. package/api/doc/picoflow.flowconstant._constructor_.md +49 -0
  6. package/api/doc/picoflow.flowconstant.get.md +25 -0
  7. package/api/doc/picoflow.flowconstant.md +88 -0
  8. package/api/doc/picoflow.flowderivation._constructor_.md +2 -2
  9. package/api/doc/picoflow.flowderivation.get.md +2 -2
  10. package/api/doc/picoflow.flowderivation.md +2 -2
  11. package/api/doc/picoflow.floweffect._constructor_.md +7 -2
  12. package/api/doc/picoflow.floweffect.dispose.md +3 -3
  13. package/api/doc/picoflow.floweffect.disposed.md +1 -1
  14. package/api/doc/picoflow.floweffect.md +4 -4
  15. package/api/doc/picoflow.flowgetter.md +2 -2
  16. package/api/doc/picoflow.flowmap._lastdeleted.md +1 -1
  17. package/api/doc/picoflow.flowmap._lastset.md +1 -1
  18. package/api/doc/picoflow.flowmap.delete.md +6 -2
  19. package/api/doc/picoflow.flowmap.md +5 -7
  20. package/api/doc/picoflow.flowmap.setat.md +6 -2
  21. package/api/doc/picoflow.flowobservable.get.md +3 -3
  22. package/api/doc/picoflow.flowobservable.md +18 -4
  23. package/api/doc/picoflow.flowobservable.subscribe.md +55 -0
  24. package/api/doc/picoflow.flowresource._constructor_.md +2 -18
  25. package/api/doc/picoflow.flowresource.fetch.md +1 -1
  26. package/api/doc/picoflow.flowresource.get.md +4 -4
  27. package/api/doc/picoflow.flowresource.md +4 -4
  28. package/api/doc/picoflow.flowresourceasync._constructor_.md +49 -0
  29. package/api/doc/picoflow.flowresourceasync.fetch.md +27 -0
  30. package/api/doc/picoflow.flowresourceasync.get.md +23 -0
  31. package/api/doc/picoflow.flowresourceasync.md +100 -0
  32. package/api/doc/picoflow.flowsignal.dispose.md +3 -7
  33. package/api/doc/picoflow.flowsignal.disposed.md +2 -2
  34. package/api/doc/picoflow.flowsignal.md +5 -5
  35. package/api/doc/picoflow.flowsignal.trigger.md +3 -7
  36. package/api/doc/picoflow.flowstate.md +4 -52
  37. package/api/doc/picoflow.flowstate.set.md +5 -5
  38. package/api/doc/picoflow.flowstream._constructor_.md +3 -19
  39. package/api/doc/picoflow.flowstream.dispose.md +1 -1
  40. package/api/doc/picoflow.flowstream.get.md +4 -4
  41. package/api/doc/picoflow.flowstream.md +5 -5
  42. package/api/doc/picoflow.flowstreamasync._constructor_.md +54 -0
  43. package/api/doc/picoflow.flowstreamasync.dispose.md +21 -0
  44. package/api/doc/picoflow.flowstreamasync.get.md +23 -0
  45. package/api/doc/picoflow.flowstreamasync.md +100 -0
  46. package/api/doc/picoflow.flowstreamdisposer.md +13 -0
  47. package/api/doc/picoflow.flowstreamsetter.md +13 -0
  48. package/api/doc/picoflow.flowstreamupdater.md +19 -0
  49. package/api/doc/picoflow.flowwatcher.md +1 -1
  50. package/api/doc/picoflow.map.md +1 -1
  51. package/api/doc/picoflow.md +80 -14
  52. package/api/doc/picoflow.resource.md +2 -18
  53. package/api/doc/picoflow.resourceasync.md +55 -0
  54. package/api/doc/picoflow.signal.md +1 -1
  55. package/api/doc/picoflow.state.md +3 -3
  56. package/api/doc/picoflow.stream.md +2 -18
  57. package/api/doc/picoflow.streamasync.md +55 -0
  58. package/api/picoflow.public.api.md +131 -0
  59. package/api-extractor.json +2 -1
  60. package/dist/picoflow.js +326 -302
  61. package/dist/types/advanced/index.d.ts +7 -0
  62. package/dist/types/advanced/index.d.ts.map +1 -0
  63. package/dist/types/{map.d.ts → advanced/map.d.ts} +12 -12
  64. package/dist/types/advanced/map.d.ts.map +1 -0
  65. package/dist/types/advanced/resource.d.ts +39 -0
  66. package/dist/types/advanced/resource.d.ts.map +1 -0
  67. package/dist/types/{resource.d.ts → advanced/resourceAsync.d.ts} +6 -11
  68. package/dist/types/advanced/resourceAsync.d.ts.map +1 -0
  69. package/dist/types/advanced/stream.d.ts +59 -0
  70. package/dist/types/advanced/stream.d.ts.map +1 -0
  71. package/dist/types/advanced/streamAsync.d.ts +43 -0
  72. package/dist/types/advanced/streamAsync.d.ts.map +1 -0
  73. package/dist/types/basic/constant.d.ts +32 -0
  74. package/dist/types/basic/constant.d.ts.map +1 -0
  75. package/dist/types/basic/derivation.d.ts +40 -0
  76. package/dist/types/basic/derivation.d.ts.map +1 -0
  77. package/dist/types/basic/effect.d.ts +56 -0
  78. package/dist/types/basic/effect.d.ts.map +1 -0
  79. package/dist/types/basic/index.d.ts +9 -0
  80. package/dist/types/basic/index.d.ts.map +1 -0
  81. package/dist/types/basic/observable.d.ts +34 -0
  82. package/dist/types/basic/observable.d.ts.map +1 -0
  83. package/dist/types/basic/signal.d.ts +37 -0
  84. package/dist/types/basic/signal.d.ts.map +1 -0
  85. package/dist/types/basic/state.d.ts +26 -0
  86. package/dist/types/basic/state.d.ts.map +1 -0
  87. package/dist/types/creators.d.ts +29 -13
  88. package/dist/types/creators.d.ts.map +1 -1
  89. package/dist/types/index.d.ts +3 -9
  90. package/dist/types/index.d.ts.map +1 -1
  91. package/package.json +1 -1
  92. package/src/advanced/index.ts +10 -0
  93. package/src/{map.ts → advanced/map.ts} +14 -14
  94. package/src/advanced/resource.ts +56 -0
  95. package/src/{resource.ts → advanced/resourceAsync.ts} +9 -16
  96. package/src/advanced/stream.ts +87 -0
  97. package/src/advanced/streamAsync.ts +82 -0
  98. package/src/basic/constant.ts +64 -0
  99. package/src/basic/derivation.ts +86 -0
  100. package/src/basic/effect.ts +96 -0
  101. package/src/basic/index.ts +8 -0
  102. package/src/basic/observable.ts +51 -0
  103. package/src/basic/signal.ts +105 -0
  104. package/src/basic/state.ts +39 -0
  105. package/src/creators.ts +54 -15
  106. package/src/index.ts +21 -11
  107. package/test/constant.test.ts +46 -0
  108. package/test/derivation.test.ts +30 -6
  109. package/test/effect.test.ts +29 -0
  110. package/test/map.test.ts +38 -0
  111. package/test/resource.test.ts +18 -16
  112. package/test/resourceAsync.test.ts +108 -0
  113. package/test/signal.test.ts +18 -1
  114. package/test/state.test.ts +107 -2
  115. package/test/stream.test.ts +38 -13
  116. package/test/streamAsync.test.ts +194 -0
  117. package/tsconfig.json +3 -1
  118. package/api/doc/picoflow.flowdisposer.md +0 -13
  119. package/api/doc/picoflow.flowsetter.md +0 -13
  120. package/api/doc/picoflow.flowstate._constructor_.md +0 -49
  121. package/api/doc/picoflow.flowstate.get.md +0 -23
  122. package/api/doc/picoflow.flowupdater.md +0 -19
  123. package/api/picoflow.api.md +0 -145
  124. package/dist/types/derivation.d.ts +0 -58
  125. package/dist/types/derivation.d.ts.map +0 -1
  126. package/dist/types/effect.d.ts +0 -108
  127. package/dist/types/effect.d.ts.map +0 -1
  128. package/dist/types/map.d.ts.map +0 -1
  129. package/dist/types/observable.d.ts +0 -40
  130. package/dist/types/observable.d.ts.map +0 -1
  131. package/dist/types/resource.d.ts.map +0 -1
  132. package/dist/types/signal.d.ts +0 -111
  133. package/dist/types/signal.d.ts.map +0 -1
  134. package/dist/types/state.d.ts +0 -39
  135. package/dist/types/state.d.ts.map +0 -1
  136. package/dist/types/stream.d.ts +0 -71
  137. package/dist/types/stream.d.ts.map +0 -1
  138. package/src/derivation.ts +0 -96
  139. package/src/effect.ts +0 -152
  140. package/src/observable.ts +0 -50
  141. package/src/signal.ts +0 -166
  142. package/src/state.ts +0 -52
  143. package/src/stream.ts +0 -99
@@ -0,0 +1,131 @@
1
+ ## Public API Report File for "@ersbeth/picoflow"
2
+
3
+ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
4
+
5
+ ```ts
6
+
7
+ // @public
8
+ export function constant<T>(value: T | (() => T)): FlowConstant<T>;
9
+
10
+ // @public
11
+ export function derivation<T>(fn: (get: FlowGetter, watch: FlowWatcher) => T): FlowDerivation<T>;
12
+
13
+ // @public
14
+ export function effect(fn: (get: FlowGetter, watch: FlowWatcher) => void): FlowEffect;
15
+
16
+ // @public
17
+ export class FlowConstant<T> extends FlowObservable<T> {
18
+ constructor(value: T | (() => T));
19
+ get(): T;
20
+ }
21
+
22
+ // @public
23
+ export class FlowDerivation<T> extends FlowObservable<T> {
24
+ constructor(compute: (get: FlowGetter, watch: FlowWatcher) => T);
25
+ get(): T;
26
+ }
27
+
28
+ // @public
29
+ export class FlowEffect {
30
+ constructor(apply: (get: FlowGetter, watch: FlowWatcher) => void);
31
+ dispose(): void;
32
+ get disposed(): boolean;
33
+ }
34
+
35
+ // @public
36
+ export type FlowGetter = <T>(observable: FlowObservable<T>) => T;
37
+
38
+ // @public
39
+ export class FlowMap<K, V> extends FlowState<Map<K, V>> {
40
+ $lastDeleted: FlowState<{
41
+ key?: K;
42
+ value?: V;
43
+ }>;
44
+ $lastSet: FlowState<{
45
+ key?: K;
46
+ value?: V;
47
+ }>;
48
+ delete(key: K): void;
49
+ setAt(key: K, value: V): void;
50
+ }
51
+
52
+ // @public
53
+ export abstract class FlowObservable<T> extends FlowSignal {
54
+ abstract get(): T;
55
+ subscribe(listener: (value: T) => void): () => void;
56
+ }
57
+
58
+ // @public
59
+ export class FlowResource<T> extends FlowObservable<T | undefined> {
60
+ constructor(fetch: () => Promise<T>);
61
+ fetch(): Promise<void>;
62
+ get(): T | undefined;
63
+ }
64
+
65
+ // @public
66
+ export class FlowResourceAsync<T> extends FlowObservable<Promise<T>> {
67
+ constructor(fetch: () => Promise<T>);
68
+ fetch(): Promise<void>;
69
+ get(): Promise<T>;
70
+ }
71
+
72
+ // @public
73
+ export class FlowSignal {
74
+ dispose(): void;
75
+ get disposed(): boolean;
76
+ trigger(): void;
77
+ }
78
+
79
+ // @public
80
+ export class FlowState<T> extends FlowConstant<T> {
81
+ set(value: T | ((current: T) => T)): void;
82
+ }
83
+
84
+ // @public
85
+ export class FlowStream<T> extends FlowObservable<T | undefined> {
86
+ constructor(updater: FlowStreamUpdater<T>);
87
+ dispose(): void;
88
+ get(): T | undefined;
89
+ }
90
+
91
+ // @public
92
+ export class FlowStreamAsync<T> extends FlowObservable<Promise<T>> {
93
+ constructor(updater: FlowStreamUpdater<T>);
94
+ dispose(): void;
95
+ get(): Promise<T>;
96
+ }
97
+
98
+ // @public
99
+ export type FlowStreamDisposer = () => void;
100
+
101
+ // @public
102
+ export type FlowStreamSetter<T> = (value: T) => void;
103
+
104
+ // @public
105
+ export type FlowStreamUpdater<T> = (set: FlowStreamSetter<T>) => FlowStreamDisposer;
106
+
107
+ // @public
108
+ export type FlowWatcher = (signal: FlowSignal) => void;
109
+
110
+ // @public
111
+ export function map<K extends string | number | symbol, V>(initial?: Record<K, V>): FlowMap<K, V>;
112
+
113
+ // @public
114
+ export function resource<T>(fn: () => Promise<T>): FlowResource<T>;
115
+
116
+ // @public
117
+ export function resourceAsync<T>(fn: () => Promise<T>): FlowResourceAsync<T>;
118
+
119
+ // @public
120
+ export function signal(): FlowSignal;
121
+
122
+ // @public
123
+ export function state<T>(value: T | (() => T)): FlowState<T>;
124
+
125
+ // @public
126
+ export function stream<T>(updater: (set: (value: T) => void) => () => void): FlowStream<T>;
127
+
128
+ // @public
129
+ export function streamAsync<T>(updater: (set: (value: T) => void) => () => void): FlowStreamAsync<T>;
130
+
131
+ ```
@@ -6,7 +6,8 @@
6
6
  "apiReport": {
7
7
  "enabled": true,
8
8
  "reportFolder": "<projectFolder>/api/",
9
- "reportTempFolder": "<projectFolder>/api/temp/"
9
+ "reportTempFolder": "<projectFolder>/api/temp/",
10
+ "reportVariants": ["public"]
10
11
  },
11
12
 
12
13
  "docModel": {