@planet-matrix/mobius-model 0.3.0 → 0.5.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 (91) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +30 -1
  3. package/dist/index.js +4 -2
  4. package/dist/index.js.map +22 -4
  5. package/package.json +3 -3
  6. package/scripts/build.ts +4 -4
  7. package/src/basic/README.md +144 -0
  8. package/src/basic/array.ts +872 -0
  9. package/src/basic/bigint.ts +114 -0
  10. package/src/basic/boolean.ts +180 -0
  11. package/src/basic/enhance.ts +10 -0
  12. package/src/basic/error.ts +51 -0
  13. package/src/basic/function.ts +453 -0
  14. package/src/basic/helper.ts +276 -0
  15. package/src/basic/index.ts +17 -0
  16. package/src/basic/is.ts +320 -0
  17. package/src/basic/number.ts +178 -0
  18. package/src/basic/object.ts +140 -0
  19. package/src/basic/promise.ts +464 -0
  20. package/src/basic/regexp.ts +7 -0
  21. package/src/basic/stream.ts +140 -0
  22. package/src/basic/string.ts +308 -0
  23. package/src/basic/symbol.ts +164 -0
  24. package/src/basic/temporal.ts +224 -0
  25. package/src/encoding/README.md +105 -0
  26. package/src/encoding/base64.ts +98 -0
  27. package/src/encoding/index.ts +1 -0
  28. package/src/index.ts +4 -0
  29. package/src/random/README.md +109 -0
  30. package/src/random/index.ts +1 -0
  31. package/src/random/uuid.ts +103 -0
  32. package/src/type/README.md +330 -0
  33. package/src/type/array.ts +5 -0
  34. package/src/type/boolean.ts +471 -0
  35. package/src/type/class.ts +419 -0
  36. package/src/type/function.ts +1519 -0
  37. package/src/type/helper.ts +135 -0
  38. package/src/type/index.ts +14 -0
  39. package/src/type/intersection.ts +93 -0
  40. package/src/type/is.ts +247 -0
  41. package/src/type/iteration.ts +233 -0
  42. package/src/type/number.ts +732 -0
  43. package/src/type/object.ts +788 -0
  44. package/src/type/path.ts +73 -0
  45. package/src/type/string.ts +1004 -0
  46. package/src/type/tuple.ts +2424 -0
  47. package/src/type/union.ts +108 -0
  48. package/tests/unit/basic/array.spec.ts +290 -0
  49. package/tests/unit/basic/bigint.spec.ts +50 -0
  50. package/tests/unit/basic/boolean.spec.ts +74 -0
  51. package/tests/unit/basic/error.spec.ts +32 -0
  52. package/tests/unit/basic/function.spec.ts +175 -0
  53. package/tests/unit/basic/helper.spec.ts +118 -0
  54. package/tests/unit/basic/number.spec.ts +74 -0
  55. package/tests/unit/basic/object.spec.ts +46 -0
  56. package/tests/unit/basic/promise.spec.ts +232 -0
  57. package/tests/unit/basic/regexp.spec.ts +11 -0
  58. package/tests/unit/basic/stream.spec.ts +120 -0
  59. package/tests/unit/basic/string.spec.ts +74 -0
  60. package/tests/unit/basic/symbol.spec.ts +72 -0
  61. package/tests/unit/basic/temporal.spec.ts +78 -0
  62. package/tests/unit/encoding/base64.spec.ts +40 -0
  63. package/tests/unit/random/uuid.spec.ts +37 -0
  64. package/dist/index.d.ts +0 -2
  65. package/dist/index.d.ts.map +0 -1
  66. package/dist/reactor/index.d.ts +0 -3
  67. package/dist/reactor/index.d.ts.map +0 -1
  68. package/dist/reactor/reactor-core/flags.d.ts +0 -99
  69. package/dist/reactor/reactor-core/flags.d.ts.map +0 -1
  70. package/dist/reactor/reactor-core/index.d.ts +0 -4
  71. package/dist/reactor/reactor-core/index.d.ts.map +0 -1
  72. package/dist/reactor/reactor-core/primitive.d.ts +0 -276
  73. package/dist/reactor/reactor-core/primitive.d.ts.map +0 -1
  74. package/dist/reactor/reactor-core/reactive-system.d.ts +0 -241
  75. package/dist/reactor/reactor-core/reactive-system.d.ts.map +0 -1
  76. package/dist/reactor/reactor-operators/branch.d.ts +0 -19
  77. package/dist/reactor/reactor-operators/branch.d.ts.map +0 -1
  78. package/dist/reactor/reactor-operators/convert.d.ts +0 -30
  79. package/dist/reactor/reactor-operators/convert.d.ts.map +0 -1
  80. package/dist/reactor/reactor-operators/create.d.ts +0 -26
  81. package/dist/reactor/reactor-operators/create.d.ts.map +0 -1
  82. package/dist/reactor/reactor-operators/filter.d.ts +0 -269
  83. package/dist/reactor/reactor-operators/filter.d.ts.map +0 -1
  84. package/dist/reactor/reactor-operators/index.d.ts +0 -8
  85. package/dist/reactor/reactor-operators/index.d.ts.map +0 -1
  86. package/dist/reactor/reactor-operators/join.d.ts +0 -48
  87. package/dist/reactor/reactor-operators/join.d.ts.map +0 -1
  88. package/dist/reactor/reactor-operators/map.d.ts +0 -165
  89. package/dist/reactor/reactor-operators/map.d.ts.map +0 -1
  90. package/dist/reactor/reactor-operators/utility.d.ts +0 -48
  91. package/dist/reactor/reactor-operators/utility.d.ts.map +0 -1
@@ -1,269 +0,0 @@
1
- import type { Signal, SignalValueInitializer, ValueReactor } from "../reactor-core/index.ts";
2
- export interface CurrentOptions<V> {
3
- target: ValueReactor<V>;
4
- }
5
- /**
6
- * Returns a Signal that holds the current value of the target ValueReactor.
7
- */
8
- export declare const current: <V>(options: CurrentOptions<V>) => Signal<V>;
9
- export interface NextOptions<V> {
10
- target: ValueReactor<V>;
11
- valueInitializer: SignalValueInitializer<V>;
12
- }
13
- /**
14
- * Returns a Signal that holds the next value of the target ValueReactor
15
- * after the initial value.
16
- *
17
- * The Signal will update its value only once, upon the next change of
18
- * the target ValueReactor, and then it will not update anymore.
19
- */
20
- export declare const next: <V>(options: NextOptions<V>) => Signal<V>;
21
- export interface FilterInitializingFalsyValueGetterContext<V> {
22
- isInitializingRun: true;
23
- targetValue: V;
24
- }
25
- export interface FilterUpdatingFalsyValueGetterContext<V> {
26
- isInitializingRun: false;
27
- targetValue: V;
28
- previousValue: V;
29
- }
30
- export type FilterFalsyValueGetterContextOf<V> = FilterInitializingFalsyValueGetterContext<V> | FilterUpdatingFalsyValueGetterContext<V>;
31
- export interface FilterOptions<V> {
32
- target: ValueReactor<V>;
33
- truthyPredicate: (value: V) => boolean;
34
- falsyValueGetter: (context: FilterFalsyValueGetterContextOf<V>) => V;
35
- }
36
- /**
37
- * Returns a Signal that only updates its value from the target
38
- * ValueReactor when the predicate function returns true.
39
- */
40
- export declare const filter: <V>(options: FilterOptions<V>) => Signal<V>;
41
- export interface AuditByCountOptions<V> {
42
- target: ValueReactor<V>;
43
- count: number;
44
- }
45
- /**
46
- * Returns a Signal that updates its value with the latest value from
47
- * the target ValueReactor after every specified count of emissions.
48
- */
49
- export declare const auditByCount: <V>(options: AuditByCountOptions<V>) => Signal<V>;
50
- export interface AuditByTimeOptions<V> {
51
- target: ValueReactor<V>;
52
- time: number;
53
- }
54
- /**
55
- * Returns a Signal that updates its value with the latest value from
56
- * the target ValueReactor at specified time intervals.
57
- */
58
- export declare const auditByTime: <V>(options: AuditByTimeOptions<V>) => Signal<V>;
59
- export interface AuditByTriggerOptions<VTarget, VTrigger> {
60
- target: ValueReactor<VTarget>;
61
- trigger: ValueReactor<VTrigger>;
62
- }
63
- /**
64
- * Returns a Signal that only updates its value when the trigger
65
- * ValueReactor emits a value, using the latest value from the target
66
- * ValueReactor.
67
- */
68
- export declare const auditByTrigger: <VTarget, VTrigger>(options: AuditByTriggerOptions<VTarget, VTrigger>) => Signal<VTarget>;
69
- export interface AuditByToggleOptions<VTarget, VOpen, VClose> {
70
- target: ValueReactor<VTarget>;
71
- open: ValueReactor<VOpen>;
72
- close: ValueReactor<VClose>;
73
- }
74
- /**
75
- * Returns a Signal that updates its value with the latest value from
76
- * the target ValueReactor when the close ValueReactor emits, but only
77
- * if auditing was started by the open ValueReactor.
78
- */
79
- export declare const auditByToggle: <VTarget, VOpen, VClose>(options: AuditByToggleOptions<VTarget, VOpen, VClose>) => Signal<VTarget>;
80
- export interface AuditByDynamicOptions<VTarget, VDynamic> {
81
- target: ValueReactor<VTarget>;
82
- dynamic: (value: VTarget) => ValueReactor<VDynamic>;
83
- }
84
- /**
85
- * Returns a Signal that updates its value with the latest value from
86
- * the target ValueReactor when the ValueReactor returned by the `dynamic`
87
- * function emits. The `dynamic` function is called each time after emitting
88
- * to get a new ValueReactor for the next audit period.
89
- */
90
- export declare const auditByDynamic: <VTarget, VDynamic>(options: AuditByDynamicOptions<VTarget, VDynamic>) => Signal<VTarget>;
91
- export interface DebounceByCountOptions<V> {
92
- target: ValueReactor<V>;
93
- count: number;
94
- }
95
- /**
96
- * Returns a Signal that updates its value with the latest value from
97
- * the target ValueReactor after the specified count of emissions
98
- * without being updated.
99
- */
100
- export declare const debounceByCount: <V>(options: DebounceByCountOptions<V>) => Signal<V>;
101
- export interface DebounceByTimeOptions<V> {
102
- target: ValueReactor<V>;
103
- time: number;
104
- }
105
- /**
106
- * Returns a Signal that updates its value with the latest value from
107
- * the target ValueReactor after the specified time in milliseconds
108
- * has passed since the last update.
109
- */
110
- export declare const debounceByTime: <V>(options: DebounceByTimeOptions<V>) => Signal<V>;
111
- export interface DebounceByTriggerOptions<VTarget, VTrigger> {
112
- target: ValueReactor<VTarget>;
113
- trigger: ValueReactor<VTrigger>;
114
- }
115
- /**
116
- * Returns a Signal that updates its value with the latest value from
117
- * the target ValueReactor whenever the trigger ValueReactor
118
- * emits a value.
119
- */
120
- export declare const debounceByTrigger: <VTarget, VTrigger>(options: DebounceByTriggerOptions<VTarget, VTrigger>) => Signal<VTarget>;
121
- export interface DebounceByToggleOptions<VTarget, VOpen, VClose> {
122
- target: ValueReactor<VTarget>;
123
- open: ValueReactor<VOpen>;
124
- close: ValueReactor<VClose>;
125
- }
126
- /**
127
- * Returns a Signal that updates its value with the latest value from
128
- * the target ValueReactor when the close ValueReactor emits, but only
129
- * if debouncing was started by the open ValueReactor.
130
- */
131
- export declare const debounceByToggle: <VTarget, VOpen, VClose>(options: DebounceByToggleOptions<VTarget, VOpen, VClose>) => Signal<VTarget>;
132
- export interface DebounceByDynamicOptions<VTarget, VDynamic> {
133
- target: ValueReactor<VTarget>;
134
- dynamic: (value: VTarget) => ValueReactor<VDynamic>;
135
- }
136
- /**
137
- * Returns a Signal that updates its value with the latest value from
138
- * the target ValueReactor when the ValueReactor returned by the `dynamic`
139
- * function emits. The `dynamic` function is called each time after emitting
140
- * to get a new ValueReactor for the next debounce period.
141
- */
142
- export declare const debounceByDynamic: <VTarget, VDynamic>(options: DebounceByDynamicOptions<VTarget, VDynamic>) => Signal<VTarget>;
143
- export interface ThrottleByCountOptions<V> {
144
- target: ValueReactor<V>;
145
- count: number;
146
- }
147
- /**
148
- * Returns a Signal that updates its value with the latest value from
149
- * the target ValueReactor at most once every specified count of emissions.
150
- */
151
- export declare const throttleByCount: <V>(options: ThrottleByCountOptions<V>) => Signal<V>;
152
- export interface ThrottleByTimeOptions<V> {
153
- target: ValueReactor<V>;
154
- time: number;
155
- }
156
- /**
157
- * Returns a Signal that updates its value with the latest value from
158
- * the target ValueReactor at most once every specified time in milliseconds.
159
- */
160
- export declare const throttleByTime: <V>(options: ThrottleByTimeOptions<V>) => Signal<V>;
161
- export interface ThrottleByTriggerOptions<VTarget, VTrigger> {
162
- target: ValueReactor<VTarget>;
163
- trigger: ValueReactor<VTrigger>;
164
- }
165
- /**
166
- * Returns a Signal that updates its value with the latest value from
167
- * the target ValueReactor at most once whenever the trigger
168
- * ValueReactor emits.
169
- */
170
- export declare const throttleByTrigger: <VTarget, VTrigger>(options: ThrottleByTriggerOptions<VTarget, VTrigger>) => Signal<VTarget>;
171
- export interface ThrottleByToggleOptions<VTarget, VOpen, VClose> {
172
- target: ValueReactor<VTarget>;
173
- open: ValueReactor<VOpen>;
174
- close: ValueReactor<VClose>;
175
- }
176
- /**
177
- * Returns a Signal that updates its value with the latest value from
178
- * the target ValueReactor when the close ValueReactor emits, but only
179
- * if throttling was started by the open ValueReactor.
180
- */
181
- export declare const throttleByToggle: <VTarget, VOpen, VClose>(options: ThrottleByToggleOptions<VTarget, VOpen, VClose>) => Signal<VTarget>;
182
- export interface ThrottleByDynamicOptions<VTarget, VDynamic> {
183
- target: ValueReactor<VTarget>;
184
- dynamic: (value: VTarget) => ValueReactor<VDynamic>;
185
- }
186
- /**
187
- * Returns a Signal that updates its value with the latest value from
188
- * the target ValueReactor when the ValueReactor returned by the `dynamic`
189
- * function emits. The `dynamic` function is called each time after emitting
190
- * to get a new ValueReactor for the next throttle period.
191
- */
192
- export declare const throttleByDynamic: <VTarget, VDynamic>(options: ThrottleByDynamicOptions<VTarget, VDynamic>) => Signal<VTarget>;
193
- export interface DistinctOptions<V, K> {
194
- target: ValueReactor<V>;
195
- keyGetter?: (value: V) => K;
196
- }
197
- /**
198
- * Returns a Signal that only updates its value with unique values
199
- * from the target ValueReactor, determined by the key returned from
200
- * the keyGetter function.
201
- */
202
- export declare const distinct: <V, K>(options: DistinctOptions<V, K>) => Signal<V>;
203
- export interface DistinctUntilChangedOptions<V, K> {
204
- target: ValueReactor<V>;
205
- keyGetter?: (value: V) => K;
206
- }
207
- /**
208
- * Returns a Signal that only updates its value when the key returned
209
- * from the keyGetter function changes between emissions.
210
- */
211
- export declare const distinctUntilChanged: <V, K>(options: DistinctUntilChangedOptions<V, K>) => Signal<V>;
212
- export interface TakeByPredicateOptions<V> {
213
- target: ValueReactor<V>;
214
- predicate: (value: V) => boolean;
215
- }
216
- /**
217
- * Returns a Signal that updates its value with the latest value from
218
- * the target ValueReactor, but only while the predicate function
219
- * returns true.
220
- */
221
- export declare const takeByPredicate: <V>(options: TakeByPredicateOptions<V>) => Signal<V>;
222
- export interface TakeByCountOptions<V> {
223
- target: ValueReactor<V>;
224
- count: number;
225
- }
226
- /**
227
- * Returns a Signal that updates its value with the latest value from
228
- * the target ValueReactor, but only for the first `count` emissions.
229
- */
230
- export declare const takeByCount: <V>(options: TakeByCountOptions<V>) => Signal<V>;
231
- export interface TakeByTimeOptions<T> {
232
- target: ValueReactor<T>;
233
- time: number;
234
- }
235
- /**
236
- * Returns a Signal that updates its value with the latest value from
237
- * the target ValueReactor, but only for the specified time in milliseconds.
238
- */
239
- export declare const takeByTime: <T>(options: TakeByTimeOptions<T>) => Signal<T>;
240
- export interface TakeByTriggerOptions<VTarget, VTrigger> {
241
- target: ValueReactor<VTarget>;
242
- trigger: ValueReactor<VTrigger>;
243
- }
244
- /**
245
- * Returns a Signal that updates its value with the latest value from
246
- * the target ValueReactor whenever the trigger ValueReactor emits a value.
247
- */
248
- export declare const takeByTrigger: <VTarget, VTrigger>(options: TakeByTriggerOptions<VTarget, VTrigger>) => Signal<VTarget>;
249
- export interface TakeByToggleOptions<VTarget, VOpen, VClose> {
250
- target: ValueReactor<VTarget>;
251
- open: ValueReactor<VOpen>;
252
- close: ValueReactor<VClose>;
253
- }
254
- /**
255
- * Returns a Signal that updates its value with the latest value from
256
- * the target ValueReactor when the close ValueReactor emits, but only
257
- * if taking was started by the open ValueReactor.
258
- */
259
- export declare const takeByToggle: <VTarget, VOpen, VClose>(options: TakeByToggleOptions<VTarget, VOpen, VClose>) => Signal<VTarget>;
260
- export interface TakeUntilTriggerOptions<VTarget, VTrigger> {
261
- target: ValueReactor<VTarget>;
262
- trigger: ValueReactor<VTrigger>;
263
- }
264
- /**
265
- * Returns a Signal that updates its value with the latest value from
266
- * the target ValueReactor until the trigger ValueReactor emits a value.
267
- */
268
- export declare const takeUntilTrigger: <VTarget, VTrigger>(options: TakeUntilTriggerOptions<VTarget, VTrigger>) => Signal<VTarget>;
269
- //# sourceMappingURL=filter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../src/reactor/reactor-operators/filter.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- export * from "./utility.ts";
2
- export * from "./convert.ts";
3
- export * from "./create.ts";
4
- export * from "./join.ts";
5
- export * from "./branch.ts";
6
- export * from "./map.ts";
7
- export * from "./filter.ts";
8
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/reactor/reactor-operators/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA"}
@@ -1,48 +0,0 @@
1
- import type { AnyValueReactorArray, AnyValueReactorObject, GetValuesInArray, GetValuesInObject } from "./utility.ts";
2
- import type { Signal, ValueReactor } from "../reactor-core/index.ts";
3
- export type CombineLatestArray<T extends AnyValueReactorArray> = Signal<GetValuesInArray<T>>;
4
- export interface CombineLatestArrayOptions<T extends AnyValueReactorArray> {
5
- target: T;
6
- }
7
- /**
8
- * Combines multiple ValueReactors into a Signal that emits the latest values
9
- * from each ValueReactor whenever any of them updates.
10
- */
11
- export declare const combineLatestArray: <T extends AnyValueReactorArray>(options: CombineLatestArrayOptions<T>) => CombineLatestArray<T>;
12
- export type CombineLatestObject<T extends AnyValueReactorObject> = Signal<GetValuesInObject<T>>;
13
- export interface CombineLatestObjectOptions<T extends AnyValueReactorObject> {
14
- target: T;
15
- }
16
- /**
17
- * Combines multiple ValueReactors in an object into a Signal that emits the latest values
18
- * from each ValueReactor whenever any of them updates.
19
- */
20
- export declare const combineLatestObject: <T extends AnyValueReactorObject>(options: CombineLatestObjectOptions<T>) => CombineLatestObject<T>;
21
- export type MergeArray<T extends AnyValueReactorArray> = Signal<GetValuesInArray<T>[number]>;
22
- export interface MergeArrayOptions<T extends AnyValueReactorArray> {
23
- target: T;
24
- }
25
- /**
26
- * Merges multiple ValueReactors into a Signal that emits values
27
- * from any of the ValueReactors as they update.
28
- */
29
- export declare const mergeArray: <T extends AnyValueReactorArray>(options: MergeArrayOptions<T>) => MergeArray<T>;
30
- export interface WithLatestFromOptions<T, U> {
31
- target: ValueReactor<T>;
32
- other: ValueReactor<U>;
33
- }
34
- /**
35
- * Combines two ValueReactors into a Signal that emits the latest values
36
- * from the source ValueReactor along with the latest value from the other ValueReactor.
37
- */
38
- export declare const withLatestFrom: <T, U>(options: WithLatestFromOptions<T, U>) => Signal<[T, U]>;
39
- export interface ZipOptions<VA, VB> {
40
- a: ValueReactor<VA>;
41
- b: ValueReactor<VB>;
42
- }
43
- /**
44
- * Zips two ValueReactors into a Signal that emits pairs of values.
45
- * Each time both ValueReactors have new values, a new pair is emitted.
46
- */
47
- export declare const zip: <VA, VB>(options: ZipOptions<VA, VB>) => Signal<[VA, VB]>;
48
- //# sourceMappingURL=join.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"join.d.ts","sourceRoot":"","sources":["../../../src/reactor/reactor-operators/join.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AACpH,OAAO,KAAK,EAAU,MAAM,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAK5E,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,oBAAoB,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7F,MAAM,WAAW,yBAAyB,CAAC,CAAC,SAAS,oBAAoB;IACvE,MAAM,EAAE,CAAC,CAAC;CACX;AACD;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,8FAgBnC,CAAA;AAED,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,qBAAqB,IAAI,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAChG,MAAM,WAAW,0BAA0B,CAAC,CAAC,SAAS,qBAAqB;IACzE,MAAM,EAAE,CAAC,CAAC;CACX;AACD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAAI,CAAC,iGAgBpC,CAAA;AAED,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,oBAAoB,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7F,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,oBAAoB;IAC/D,MAAM,EAAE,CAAC,CAAC;CACX;AACD;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,8EAwB3B,CAAA;AAED,MAAM,WAAW,qBAAqB,CAAC,CAAC,EAAE,CAAC;IACzC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACxB,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;CACxB;AACD;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,EAAE,CAAC,yDAuBlC,CAAA;AAED,MAAM,WAAW,UAAU,CAAC,EAAE,EAAE,EAAE;IAChC,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;CACrB;AACD;;;GAGG;AACH,eAAO,MAAM,GAAG,GAAI,EAAE,EAAE,EAAE,kDAwCzB,CAAA"}
@@ -1,165 +0,0 @@
1
- import type { AnyValueReactor, Signal, ValueOfValueReactor, ValueReactor } from "../reactor-core/index.ts";
2
- export interface TapOptions<R extends AnyValueReactor> {
3
- target: R;
4
- tapper?: ((value: ValueOfValueReactor<R>) => void) | undefined;
5
- }
6
- /**
7
- * Taps into the value changes of a ValueReactor without modifying its value.
8
- */
9
- export declare const tap: <R extends AnyValueReactor>(options: TapOptions<R>) => R;
10
- export interface WithHistoryOptions<V> {
11
- target: ValueReactor<V>;
12
- }
13
- /**
14
- * Creates a signal that maintains a history of values from a ValueReactor.
15
- * The history is stored in an array, with each new value appended to the end.
16
- *
17
- * Note: This implementation does not limit the size of the history array. Use
18
- * with caution to avoid excessive memory usage.
19
- */
20
- export declare const withHistory: <V>(options: WithHistoryOptions<V>) => Signal<V[]>;
21
- export interface BufferByCountOptions<V> {
22
- target: ValueReactor<V>;
23
- count: number;
24
- }
25
- /**
26
- * Buffers values from a ValueReactor and emits them as an array
27
- * when the number of buffered values reaches the specified count.
28
- */
29
- export declare const bufferByCount: <V>(options: BufferByCountOptions<V>) => Signal<V[]>;
30
- export interface BufferByTimeOptions<V> {
31
- target: ValueReactor<V>;
32
- time: number;
33
- }
34
- /**
35
- * Buffers values from a ValueReactor and emits them as an array
36
- * at specified time intervals.
37
- */
38
- export declare const bufferByTime: <V>(options: BufferByTimeOptions<V>) => Signal<V[]>;
39
- export interface BufferByTriggerOptions<VTarget, VTrigger> {
40
- target: ValueReactor<VTarget>;
41
- trigger: ValueReactor<VTrigger>;
42
- }
43
- /**
44
- * Buffers values from a ValueReactor and emits them as an array when the trigger ValueReactor changes.
45
- */
46
- export declare const bufferByTrigger: <VTarget, VTrigger>(options: BufferByTriggerOptions<VTarget, VTrigger>) => Signal<VTarget[]>;
47
- export interface BufferByToggleOptions<VTarget, VOpen, VClose> {
48
- target: ValueReactor<VTarget>;
49
- open: ValueReactor<VOpen>;
50
- close: ValueReactor<VClose>;
51
- }
52
- /**
53
- * Buffers values from a ValueReactor and emits them as an array
54
- * when the open ValueReactor emits a value, and stops buffering
55
- * when the close ValueReactor emits a value.
56
- */
57
- export declare const bufferByToggle: <VTarget, VOpen, VClose>(options: BufferByToggleOptions<VTarget, VOpen, VClose>) => Signal<VTarget[]>;
58
- export interface BufferByDynamicOptions<VTarget, VDynamic> {
59
- target: ValueReactor<VTarget>;
60
- dynamic: (value: VTarget) => ValueReactor<VDynamic>;
61
- }
62
- /**
63
- * Buffers values from a ValueReactor and emits them as an array
64
- * when the ValueReactor returned by the `dynamic` function emits a value.
65
- * The `dynamic` function is called each time the buffer is emitted
66
- * to get a new ValueReactor for the next buffer.
67
- */
68
- export declare const bufferByDynamic: <VTarget, VDynamic>(options: BufferByDynamicOptions<VTarget, VDynamic>) => Signal<VTarget[]>;
69
- export interface GroupToArrayByOptions<V, K> {
70
- target: ValueReactor<V>;
71
- keyGetter: (value: V) => K;
72
- }
73
- /**
74
- * Groups values from a ValueReactor into an array of arrays based on a key
75
- * extracted by the keyGetter function.
76
- */
77
- export declare const groupToArrayBy: <V, K>(options: GroupToArrayByOptions<V, K>) => Signal<V[][]>;
78
- export interface GroupToObjectByOptions<V, K extends string | number | symbol> {
79
- target: ValueReactor<V>;
80
- keyGetter: (value: V) => K;
81
- }
82
- /**
83
- * Groups values from a ValueReactor into an object where each key maps to an array
84
- * of values corresponding to that key.
85
- */
86
- export declare const groupToObjectBy: <V, K extends string | number | symbol>(options: GroupToObjectByOptions<V, K>) => Signal<Record<K, V[]>>;
87
- /**
88
- * Groups values from a ValueReactor into an array of Signals based on a key
89
- * extracted by the keyGetter function.
90
- */
91
- export declare const groupToSignalArrayBy: <V, K>(target: ValueReactor<V>, keyGetter: (value: V) => K) => Signal<Signal<V[]>[]>;
92
- export interface GroupToSignalObjectByOptions<V, K extends string | number | symbol> {
93
- target: ValueReactor<V>;
94
- keyGetter: (value: V) => K;
95
- }
96
- /**
97
- * Groups values from a ValueReactor into a Signal of an object where each key maps to a Signal
98
- * of an array of values corresponding to that key.
99
- */
100
- export declare const groupToSignalObjectBy: <V, K extends string | number | symbol>(options: GroupToSignalObjectByOptions<V, K>) => Signal<Record<K, Signal<V[]>>>;
101
- export interface MapOptions<VTarget, VMapped> {
102
- target: ValueReactor<VTarget>;
103
- mapper: (value: VTarget) => VMapped;
104
- }
105
- /**
106
- * Maps values from a ValueReactor using the provided mapper function and
107
- * emits the mapped values as a new Signal.
108
- */
109
- export declare const map: <VTarget, VMapped>(options: MapOptions<VTarget, VMapped>) => Signal<VMapped>;
110
- export interface ContextualMapInitializingMapperContext<VTarget> {
111
- isInitializingRun: true;
112
- targetValue: VTarget;
113
- }
114
- export interface ContextualMapUpdatingMapperContext<VTarget, VMapped> {
115
- isInitializingRun: false;
116
- targetValue: VTarget;
117
- previousMappedValue: VMapped;
118
- }
119
- export type ContextualMapMapperContextOf<VTarget, VMapped> = ContextualMapInitializingMapperContext<VTarget> | ContextualMapUpdatingMapperContext<VTarget, VMapped>;
120
- export interface ContextualMapOptions<VTarget, VMapped> {
121
- target: ValueReactor<VTarget>;
122
- mapper: (context: ContextualMapMapperContextOf<VTarget, VMapped>) => VMapped;
123
- }
124
- /**
125
- * Maps values from a ValueReactor using the provided contextual mapper function and
126
- * emits the mapped values as a new Signal.
127
- */
128
- export declare const contextualMap: <VTarget, VMapped>(options: ContextualMapOptions<VTarget, VMapped>) => Signal<VMapped>;
129
- export interface MergeMapOptions<VTarget, VMapped> {
130
- target: ValueReactor<VTarget>;
131
- mapper: (value: VTarget) => ValueReactor<VMapped>;
132
- }
133
- /**
134
- * Maps each value from a ValueReactor<T> to a ValueReactor<R> using the provided `mapper`,
135
- * subscribes to every mapped reactor, and merges their emitted values into a single `Signal<R>`.
136
- */
137
- export declare const mergeMap: <VTarget, VMapped>(options: MergeMapOptions<VTarget, VMapped>) => Signal<VMapped>;
138
- export interface SwitchMapOptions<VTarget, VMapped> {
139
- target: ValueReactor<VTarget>;
140
- mapper: (value: VTarget) => ValueReactor<VMapped>;
141
- }
142
- /**
143
- * Maps each value from a ValueReactor<T> to a ValueReactor<R> using the provided `mapper`,
144
- * subscribes only to the latest mapped reactor, and emits its values as a `Signal<R>`.
145
- */
146
- export declare const switchMap: <VTarget, VMapped>(options: SwitchMapOptions<VTarget, VMapped>) => Signal<VMapped>;
147
- export interface ScanOptions<VTarget, VAccumulated> {
148
- target: ValueReactor<VTarget>;
149
- accumulator: (acc: VAccumulated, value: VTarget) => VAccumulated;
150
- seed: VAccumulated;
151
- }
152
- /**
153
- * Accumulates values from a ValueReactor using the provided accumulator function
154
- * and emits the accumulated value as a Signal.
155
- */
156
- export declare const scan: <VTarget, VAccumulated>(options: ScanOptions<VTarget, VAccumulated>) => Signal<VAccumulated>;
157
- export interface PairwiseOptions<V> {
158
- target: ValueReactor<V>;
159
- }
160
- /**
161
- * Emits the previous and current values from a ValueReactor as a tuple.
162
- * The first emitted tuple will have `undefined` as the previous value.
163
- */
164
- export declare const pairwise: <V>(options: PairwiseOptions<V>) => Signal<[V | undefined, V]>;
165
- //# sourceMappingURL=map.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../../src/reactor/reactor-operators/map.ts"],"names":[],"mappings":"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"}
@@ -1,48 +0,0 @@
1
- import type { ValueReactor } from "../reactor-core/index.ts";
2
- export type ValueInitializer<V> = () => V;
3
- /**
4
- * This initializer can be used to create a Signal with an undefined initial value which
5
- * is casted to the desired type T. So the real value getter function will not be called
6
- * until the Signal is actually used.
7
- *
8
- * Every signal should always have a valid value (or value getter which returns a valid value).
9
- * When using the castValueInitializer, the real value should be set as soon as possible.
10
- */
11
- export declare const castValueInitializer: <V>() => ValueInitializer<V>;
12
- export type Unsubscribe = () => void;
13
- export interface SubscribeOptions<V> {
14
- target: ValueReactor<V>;
15
- subscriber: (value: V) => void;
16
- }
17
- /**
18
- * Subscribes to a ValueReactor and invokes the subscriber when the reactor's value
19
- * changes.
20
- *
21
- * The initial value is skipped; the subscriber is called only on subsequent updates.
22
- */
23
- export declare const subscribe: <V>(options: SubscribeOptions<V>) => Unsubscribe;
24
- export type AnyValueReactorArray = Array<ValueReactor<any>>;
25
- export type GetValuesInArray<T extends AnyValueReactorArray> = {
26
- [K in keyof T]: T[K] extends ValueReactor<infer U> ? U : never;
27
- };
28
- export interface GetValuesInArrayOptions<T extends AnyValueReactorArray> {
29
- target: T;
30
- withoutTrack?: boolean;
31
- }
32
- /**
33
- * Gets the current values from an array of ValueReactors.
34
- */
35
- export declare const getValuesInArray: <T extends AnyValueReactorArray>(options: GetValuesInArrayOptions<T>) => GetValuesInArray<T>;
36
- export type AnyValueReactorObject = Record<string, ValueReactor<any>>;
37
- export type GetValuesInObject<T extends AnyValueReactorObject> = {
38
- [K in keyof T]: T[K] extends ValueReactor<infer U> ? U : never;
39
- };
40
- export interface GetValueInObjectOptions<T extends AnyValueReactorObject> {
41
- target: T;
42
- withoutTrack?: boolean;
43
- }
44
- /**
45
- * Gets the current values from an object of ValueReactors.
46
- */
47
- export declare const getValuesInObject: <T extends AnyValueReactorObject>(options: GetValueInObjectOptions<T>) => GetValuesInObject<T>;
48
- //# sourceMappingURL=utility.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utility.d.ts","sourceRoot":"","sources":["../../../src/reactor/reactor-operators/utility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAI5D,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;AAC1C;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,0BAKrC,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,CAAA;AACpC,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACxB,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;CAChC;AACD;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,8CAgB1B,CAAA;AAGD,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5D,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,oBAAoB,IAAI;KAC5D,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;CAC/D,CAAA;AACD,MAAM,WAAW,uBAAuB,CAAC,CAAC,SAAS,oBAAoB;IACrE,MAAM,EAAE,CAAC,CAAC;IACV,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AACD;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,0FAWjC,CAAA;AAGD,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;AACtE,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,qBAAqB,IAAI;KAC9D,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;CAC/D,CAAA;AACD,MAAM,WAAW,uBAAuB,CAAC,CAAC,SAAS,qBAAqB;IACtE,MAAM,EAAE,CAAC,CAAC;IACV,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AACD;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,4FAelC,CAAA"}