@typed/fx 1.22.2 → 1.24.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.
- package/dist/cjs/AsyncData.js.map +1 -1
- package/dist/cjs/Form.js.map +1 -1
- package/dist/cjs/FormEntry.js.map +1 -1
- package/dist/cjs/Fx.js +1 -1
- package/dist/cjs/Fx.js.map +1 -1
- package/dist/cjs/Idle.js.map +1 -1
- package/dist/cjs/Match.js.map +1 -1
- package/dist/cjs/Pull.js +5 -3
- package/dist/cjs/Pull.js.map +1 -1
- package/dist/cjs/RefArray.js.map +1 -1
- package/dist/cjs/RefChunk.js.map +1 -1
- package/dist/cjs/RefHashSet.js.map +1 -1
- package/dist/cjs/RefSubject.js +3 -2
- package/dist/cjs/RefSubject.js.map +1 -1
- package/dist/cjs/Sink.js.map +1 -1
- package/dist/cjs/Subject.js.map +1 -1
- package/dist/cjs/Versioned.js.map +1 -1
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/helpers.js.map +1 -1
- package/dist/cjs/internal/keyed.js +1 -1
- package/dist/cjs/internal/keyed.js.map +1 -1
- package/dist/cjs/internal/provide.js.map +1 -1
- package/dist/cjs/internal/share.js.map +1 -1
- package/dist/cjs/internal/sync-producer.js.map +1 -1
- package/dist/dts/AsyncData.d.ts +53 -53
- package/dist/dts/AsyncData.d.ts.map +1 -1
- package/dist/dts/Emitter.d.ts +7 -7
- package/dist/dts/Emitter.d.ts.map +1 -1
- package/dist/dts/Form.d.ts +14 -14
- package/dist/dts/Form.d.ts.map +1 -1
- package/dist/dts/FormEntry.d.ts +11 -11
- package/dist/dts/FormEntry.d.ts.map +1 -1
- package/dist/dts/Fx.d.ts +417 -417
- package/dist/dts/Fx.d.ts.map +1 -1
- package/dist/dts/Guard.d.ts +21 -21
- package/dist/dts/Guard.d.ts.map +1 -1
- package/dist/dts/Idle.d.ts +12 -12
- package/dist/dts/Idle.d.ts.map +1 -1
- package/dist/dts/Match.d.ts +16 -16
- package/dist/dts/Match.d.ts.map +1 -1
- package/dist/dts/Pull.d.ts +5 -5
- package/dist/dts/Pull.d.ts.map +1 -1
- package/dist/dts/Push.d.ts +40 -40
- package/dist/dts/Push.d.ts.map +1 -1
- package/dist/dts/RefArray.d.ts +59 -59
- package/dist/dts/RefArray.d.ts.map +1 -1
- package/dist/dts/RefChunk.d.ts +45 -45
- package/dist/dts/RefChunk.d.ts.map +1 -1
- package/dist/dts/RefHashMap.d.ts +35 -35
- package/dist/dts/RefHashMap.d.ts.map +1 -1
- package/dist/dts/RefHashSet.d.ts +17 -17
- package/dist/dts/RefHashSet.d.ts.map +1 -1
- package/dist/dts/RefSubject.d.ts +136 -136
- package/dist/dts/RefSubject.d.ts.map +1 -1
- package/dist/dts/Sink.d.ts +63 -63
- package/dist/dts/Sink.d.ts.map +1 -1
- package/dist/dts/Stream.d.ts +11 -11
- package/dist/dts/Stream.d.ts.map +1 -1
- package/dist/dts/Subject.d.ts +13 -13
- package/dist/dts/Subject.d.ts.map +1 -1
- package/dist/dts/Typeclass.d.ts +1 -1
- package/dist/dts/Typeclass.d.ts.map +1 -1
- package/dist/dts/Versioned.d.ts +33 -33
- package/dist/dts/Versioned.d.ts.map +1 -1
- package/dist/dts/index.d.ts +1 -1
- package/dist/dts/internal/DeferredRef.d.ts +8 -8
- package/dist/dts/internal/DeferredRef.d.ts.map +1 -1
- package/dist/dts/internal/core.d.ts +191 -191
- package/dist/dts/internal/core.d.ts.map +1 -1
- package/dist/dts/internal/effect-loop-operator.d.ts +6 -6
- package/dist/dts/internal/effect-loop-operator.d.ts.map +1 -1
- package/dist/dts/internal/effect-operator.d.ts +16 -16
- package/dist/dts/internal/effect-operator.d.ts.map +1 -1
- package/dist/dts/internal/effect-producer.d.ts +13 -13
- package/dist/dts/internal/effect-producer.d.ts.map +1 -1
- package/dist/dts/internal/helpers.d.ts +26 -26
- package/dist/dts/internal/helpers.d.ts.map +1 -1
- package/dist/dts/internal/keyed.d.ts +1 -1
- package/dist/dts/internal/keyed.d.ts.map +1 -1
- package/dist/dts/internal/loop-operator.d.ts +2 -2
- package/dist/dts/internal/loop-operator.d.ts.map +1 -1
- package/dist/dts/internal/operator.d.ts +2 -2
- package/dist/dts/internal/operator.d.ts.map +1 -1
- package/dist/dts/internal/protos.d.ts +12 -12
- package/dist/dts/internal/protos.d.ts.map +1 -1
- package/dist/dts/internal/provide.d.ts +15 -15
- package/dist/dts/internal/provide.d.ts.map +1 -1
- package/dist/dts/internal/share.d.ts +11 -11
- package/dist/dts/internal/share.d.ts.map +1 -1
- package/dist/dts/internal/sync-operator.d.ts +2 -2
- package/dist/dts/internal/sync-operator.d.ts.map +1 -1
- package/dist/dts/internal/sync-producer.d.ts +6 -6
- package/dist/dts/internal/sync-producer.d.ts.map +1 -1
- package/dist/dts/internal/withKey.d.ts +1 -1
- package/dist/dts/internal/withKey.d.ts.map +1 -1
- package/dist/esm/AsyncData.js.map +1 -1
- package/dist/esm/Form.js.map +1 -1
- package/dist/esm/FormEntry.js.map +1 -1
- package/dist/esm/Fx.js +1 -1
- package/dist/esm/Fx.js.map +1 -1
- package/dist/esm/Idle.js.map +1 -1
- package/dist/esm/Match.js.map +1 -1
- package/dist/esm/Pull.js +3 -3
- package/dist/esm/Pull.js.map +1 -1
- package/dist/esm/RefArray.js.map +1 -1
- package/dist/esm/RefChunk.js.map +1 -1
- package/dist/esm/RefHashSet.js.map +1 -1
- package/dist/esm/RefSubject.js +3 -1
- package/dist/esm/RefSubject.js.map +1 -1
- package/dist/esm/Sink.js.map +1 -1
- package/dist/esm/Subject.js.map +1 -1
- package/dist/esm/Versioned.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/helpers.js.map +1 -1
- package/dist/esm/internal/keyed.js +1 -1
- package/dist/esm/internal/keyed.js.map +1 -1
- package/dist/esm/internal/provide.js.map +1 -1
- package/dist/esm/internal/share.js.map +1 -1
- package/dist/esm/internal/sync-producer.js.map +1 -1
- package/package.json +6 -6
- package/src/AsyncData.ts +142 -144
- package/src/Emitter.ts +13 -13
- package/src/Form.ts +55 -55
- package/src/FormEntry.ts +39 -39
- package/src/Fx.ts +788 -789
- package/src/Guard.ts +43 -43
- package/src/Idle.ts +26 -26
- package/src/Match.ts +60 -61
- package/src/Pull.ts +42 -43
- package/src/Push.ts +195 -195
- package/src/RefArray.ts +121 -119
- package/src/RefChunk.ts +98 -97
- package/src/RefHashMap.ts +79 -79
- package/src/RefHashSet.ts +40 -39
- package/src/RefSubject.ts +574 -565
- package/src/Sink.ts +303 -303
- package/src/Stream.ts +27 -27
- package/src/Subject.ts +48 -46
- package/src/Typeclass.ts +2 -2
- package/src/Versioned.ts +97 -97
- package/src/index.ts +1 -1
- package/src/internal/DeferredRef.ts +7 -7
- package/src/internal/core.ts +768 -781
- package/src/internal/effect-loop-operator.ts +7 -7
- package/src/internal/effect-operator.ts +23 -23
- package/src/internal/effect-producer.ts +38 -38
- package/src/internal/helpers.ts +51 -51
- package/src/internal/keyed.ts +21 -21
- package/src/internal/loop-operator.ts +2 -2
- package/src/internal/operator.ts +2 -2
- package/src/internal/protos.ts +15 -15
- package/src/internal/provide.ts +27 -27
- package/src/internal/share.ts +25 -25
- package/src/internal/sync-operator.ts +4 -4
- package/src/internal/sync-producer.ts +15 -15
- package/src/internal/withKey.ts +13 -13
package/src/RefHashMap.ts
CHANGED
|
@@ -17,8 +17,8 @@ import * as RefSubject from "./RefSubject.js"
|
|
|
17
17
|
* @since 1.18.0
|
|
18
18
|
* @category models
|
|
19
19
|
*/
|
|
20
|
-
export interface RefHashMap<out
|
|
21
|
-
extends RefSubject.RefSubject<
|
|
20
|
+
export interface RefHashMap<in out K, in out V, in out E = never, out R = never>
|
|
21
|
+
extends RefSubject.RefSubject<HashMap.HashMap<K, V>, E, R>
|
|
22
22
|
{}
|
|
23
23
|
|
|
24
24
|
/**
|
|
@@ -26,16 +26,16 @@ export interface RefHashMap<out R, in out E, in out K, in out V>
|
|
|
26
26
|
* @since 1.18.0
|
|
27
27
|
* @category constructors
|
|
28
28
|
*/
|
|
29
|
-
export function make<
|
|
30
|
-
initial: Effect.Effect<
|
|
31
|
-
): Effect.Effect<
|
|
32
|
-
export function make<
|
|
33
|
-
initial: Fx.Fx<
|
|
34
|
-
): Effect.Effect<
|
|
29
|
+
export function make<K, V, E, R>(
|
|
30
|
+
initial: Effect.Effect<HashMap.HashMap<K, V>, E, R>
|
|
31
|
+
): Effect.Effect<RefHashMap<K, V, E>, never, R | Scope.Scope>
|
|
32
|
+
export function make<K, V, E, R>(
|
|
33
|
+
initial: Fx.Fx<HashMap.HashMap<K, V>, E, R>
|
|
34
|
+
): Effect.Effect<RefHashMap<K, V, E>, never, R | Scope.Scope>
|
|
35
35
|
|
|
36
|
-
export function make<
|
|
37
|
-
initial: Effect.Effect<
|
|
38
|
-
): Effect.Effect<
|
|
36
|
+
export function make<K, V, E, R>(
|
|
37
|
+
initial: Effect.Effect<HashMap.HashMap<K, V>, E, R> | Fx.Fx<HashMap.HashMap<K, V>, E, R>
|
|
38
|
+
): Effect.Effect<RefHashMap<K, V, E>, never, R | Scope.Scope> {
|
|
39
39
|
return RefSubject.make(initial)
|
|
40
40
|
}
|
|
41
41
|
|
|
@@ -59,7 +59,7 @@ export const tagged: <K, V>() => {
|
|
|
59
59
|
*/
|
|
60
60
|
export function of<K, V>(
|
|
61
61
|
map: HashMap.HashMap<K, V>
|
|
62
|
-
): Effect.Effect<
|
|
62
|
+
): Effect.Effect<RefHashMap<K, V>, never, Scope.Scope> {
|
|
63
63
|
return make(Effect.succeed(map))
|
|
64
64
|
}
|
|
65
65
|
|
|
@@ -69,9 +69,9 @@ export function of<K, V>(
|
|
|
69
69
|
* @category computed
|
|
70
70
|
*/
|
|
71
71
|
export const has: {
|
|
72
|
-
<K>(key: K): <R, E, V>(refHashMap: RefHashMap<
|
|
73
|
-
<
|
|
74
|
-
} = dual(2, function has<
|
|
72
|
+
<K>(key: K): <R, E, V>(refHashMap: RefHashMap<K, V, E, R>) => RefSubject.Computed<boolean, E, R>
|
|
73
|
+
<K, V, E, R>(refHashMap: RefHashMap<K, V, E, R>, key: K): RefSubject.Computed<boolean, E, R>
|
|
74
|
+
} = dual(2, function has<K, V, E, R>(refHashMap: RefHashMap<K, V, E, R>, key: K): RefSubject.Computed<boolean, E, R> {
|
|
75
75
|
return RefSubject.map(refHashMap, HashMap.has(key))
|
|
76
76
|
})
|
|
77
77
|
|
|
@@ -81,15 +81,15 @@ export const has: {
|
|
|
81
81
|
* @category computed
|
|
82
82
|
*/
|
|
83
83
|
export const hasHash: {
|
|
84
|
-
<K>(key: K, hash: number): <R, E, V>(refHashMap: RefHashMap<
|
|
85
|
-
<
|
|
84
|
+
<K>(key: K, hash: number): <R, E, V>(refHashMap: RefHashMap<K, V, E, R>) => RefSubject.Computed<boolean, E, R>
|
|
85
|
+
<K, V, E, R>(refHashMap: RefHashMap<K, V, E, R>, key: K, hash: number): RefSubject.Computed<boolean, E, R>
|
|
86
86
|
} = dual(
|
|
87
87
|
3,
|
|
88
|
-
function hasHash<
|
|
89
|
-
refHashMap: RefHashMap<
|
|
88
|
+
function hasHash<K, V, E, R>(
|
|
89
|
+
refHashMap: RefHashMap<K, V, E, R>,
|
|
90
90
|
key: K,
|
|
91
91
|
hash: number
|
|
92
|
-
): RefSubject.Computed<
|
|
92
|
+
): RefSubject.Computed<boolean, E, R> {
|
|
93
93
|
return RefSubject.map(refHashMap, HashMap.hasHash(key, hash))
|
|
94
94
|
}
|
|
95
95
|
)
|
|
@@ -99,7 +99,7 @@ export const hasHash: {
|
|
|
99
99
|
* @since 1.18.0
|
|
100
100
|
* @category computed
|
|
101
101
|
*/
|
|
102
|
-
export function isEmpty<
|
|
102
|
+
export function isEmpty<K, V, E, R>(refHashMap: RefHashMap<K, V, E, R>): RefSubject.Computed<boolean, E, R> {
|
|
103
103
|
return RefSubject.map(refHashMap, HashMap.isEmpty)
|
|
104
104
|
}
|
|
105
105
|
|
|
@@ -108,7 +108,7 @@ export function isEmpty<R, E, K, V>(refHashMap: RefHashMap<R, E, K, V>): RefSubj
|
|
|
108
108
|
* @since 1.18.0
|
|
109
109
|
* @category computed
|
|
110
110
|
*/
|
|
111
|
-
export function keySet<
|
|
111
|
+
export function keySet<K, V, E, R>(refHashMap: RefHashMap<K, V, E, R>): RefSubject.Computed<HashSet.HashSet<K>, E, R> {
|
|
112
112
|
return RefSubject.map(refHashMap, HashMap.keySet)
|
|
113
113
|
}
|
|
114
114
|
|
|
@@ -117,7 +117,7 @@ export function keySet<R, E, K, V>(refHashMap: RefHashMap<R, E, K, V>): RefSubje
|
|
|
117
117
|
* @since 1.18.0
|
|
118
118
|
* @category computed
|
|
119
119
|
*/
|
|
120
|
-
export function keys<
|
|
120
|
+
export function keys<K, V, E, R>(refHashMap: RefHashMap<K, V, E, R>): RefSubject.Computed<Iterable<K>, E, R> {
|
|
121
121
|
return RefSubject.map(refHashMap, HashMap.keys)
|
|
122
122
|
}
|
|
123
123
|
|
|
@@ -129,12 +129,12 @@ export function keys<R, E, K, V>(refHashMap: RefHashMap<R, E, K, V>): RefSubject
|
|
|
129
129
|
export const map: {
|
|
130
130
|
<K, V>(
|
|
131
131
|
f: (v: V, k: K) => V
|
|
132
|
-
): <
|
|
133
|
-
<
|
|
134
|
-
} = dual(2, function map<
|
|
135
|
-
refHashMap: RefHashMap<
|
|
132
|
+
): <E, R>(refHashMap: RefHashMap<K, V, E, R>) => Effect.Effect<HashMap.HashMap<K, V>, E, R>
|
|
133
|
+
<K, V, E, R>(refHashMap: RefHashMap<K, V, E, R>, f: (v: V, k: K) => V): Effect.Effect<HashMap.HashMap<K, V>, E, R>
|
|
134
|
+
} = dual(2, function map<K, V, E, R>(
|
|
135
|
+
refHashMap: RefHashMap<K, V, E, R>,
|
|
136
136
|
f: (v: V, k: K) => V
|
|
137
|
-
): Effect.Effect<
|
|
137
|
+
): Effect.Effect<HashMap.HashMap<K, V>, E, R> {
|
|
138
138
|
return RefSubject.update(refHashMap, HashMap.map(f))
|
|
139
139
|
})
|
|
140
140
|
|
|
@@ -147,17 +147,17 @@ export const modify: {
|
|
|
147
147
|
<K, V>(
|
|
148
148
|
key: K,
|
|
149
149
|
f: (v: V) => V
|
|
150
|
-
): <
|
|
151
|
-
<
|
|
152
|
-
refHashMap: RefHashMap<
|
|
150
|
+
): <E, R>(refHashMap: RefHashMap<K, V, E, R>) => Effect.Effect<HashMap.HashMap<K, V>, E, R>
|
|
151
|
+
<K, V, E, R>(
|
|
152
|
+
refHashMap: RefHashMap<K, V, E, R>,
|
|
153
153
|
key: K,
|
|
154
154
|
f: (v: V) => V
|
|
155
|
-
): Effect.Effect<
|
|
156
|
-
} = dual(3, function map<
|
|
157
|
-
refHashMap: RefHashMap<
|
|
155
|
+
): Effect.Effect<HashMap.HashMap<K, V>, E, R>
|
|
156
|
+
} = dual(3, function map<K, V, E, R>(
|
|
157
|
+
refHashMap: RefHashMap<K, V, E, R>,
|
|
158
158
|
key: K,
|
|
159
159
|
f: (v: V) => V
|
|
160
|
-
): Effect.Effect<
|
|
160
|
+
): Effect.Effect<HashMap.HashMap<K, V>, E, R> {
|
|
161
161
|
return RefSubject.update(refHashMap, HashMap.modify(key, f))
|
|
162
162
|
})
|
|
163
163
|
|
|
@@ -170,17 +170,17 @@ export const modifyAt: {
|
|
|
170
170
|
<K, V>(
|
|
171
171
|
key: K,
|
|
172
172
|
f: HashMap.HashMap.UpdateFn<V>
|
|
173
|
-
): <
|
|
174
|
-
<
|
|
175
|
-
self: RefHashMap<
|
|
173
|
+
): <E, R>(self: RefHashMap<K, V, E, R>) => Effect.Effect<HashMap.HashMap<K, V>, E, R>
|
|
174
|
+
<K, V, E, R>(
|
|
175
|
+
self: RefHashMap<K, V, E, R>,
|
|
176
176
|
key: K,
|
|
177
177
|
f: HashMap.HashMap.UpdateFn<V>
|
|
178
|
-
): Effect.Effect<
|
|
179
|
-
} = dual(3, function modifyAt<
|
|
180
|
-
self: RefHashMap<
|
|
178
|
+
): Effect.Effect<HashMap.HashMap<K, V>, E, R>
|
|
179
|
+
} = dual(3, function modifyAt<K, V, E, R>(
|
|
180
|
+
self: RefHashMap<K, V, E, R>,
|
|
181
181
|
key: K,
|
|
182
182
|
f: HashMap.HashMap.UpdateFn<V>
|
|
183
|
-
): Effect.Effect<
|
|
183
|
+
): Effect.Effect<HashMap.HashMap<K, V>, E, R> {
|
|
184
184
|
return RefSubject.update(self, HashMap.modifyAt(key, f))
|
|
185
185
|
})
|
|
186
186
|
|
|
@@ -194,19 +194,19 @@ export const modifyHash: {
|
|
|
194
194
|
key: K,
|
|
195
195
|
hash: number,
|
|
196
196
|
f: HashMap.HashMap.UpdateFn<V>
|
|
197
|
-
): <
|
|
198
|
-
<
|
|
199
|
-
self: RefHashMap<
|
|
197
|
+
): <E, R>(self: RefHashMap<K, V, E, R>) => Effect.Effect<HashMap.HashMap<K, V>, E, R>
|
|
198
|
+
<K, V, E, R>(
|
|
199
|
+
self: RefHashMap<K, V, E, R>,
|
|
200
200
|
key: K,
|
|
201
201
|
hash: number,
|
|
202
202
|
f: HashMap.HashMap.UpdateFn<V>
|
|
203
|
-
): Effect.Effect<
|
|
204
|
-
} = dual(4, function modifyAt<
|
|
205
|
-
self: RefHashMap<
|
|
203
|
+
): Effect.Effect<HashMap.HashMap<K, V>, E, R>
|
|
204
|
+
} = dual(4, function modifyAt<K, V, E, R>(
|
|
205
|
+
self: RefHashMap<K, V, E, R>,
|
|
206
206
|
key: K,
|
|
207
207
|
hash: number,
|
|
208
208
|
f: HashMap.HashMap.UpdateFn<V>
|
|
209
|
-
): Effect.Effect<
|
|
209
|
+
): Effect.Effect<HashMap.HashMap<K, V>, E, R> {
|
|
210
210
|
return RefSubject.update(self, HashMap.modifyHash(key, hash, f))
|
|
211
211
|
})
|
|
212
212
|
|
|
@@ -219,17 +219,17 @@ export const reduce: {
|
|
|
219
219
|
<K, V, B>(
|
|
220
220
|
seed: B,
|
|
221
221
|
f: (acc: B, a: V, k: K) => B
|
|
222
|
-
): <
|
|
223
|
-
<
|
|
224
|
-
refHashMap: RefHashMap<
|
|
222
|
+
): <E, R>(refHashMap: RefHashMap<K, V, E, R>) => RefSubject.Computed<B, E, R>
|
|
223
|
+
<K, V, E, R, B>(
|
|
224
|
+
refHashMap: RefHashMap<K, V, E, R>,
|
|
225
225
|
seed: B,
|
|
226
226
|
f: (acc: B, a: V, k: K) => B
|
|
227
|
-
): RefSubject.Computed<
|
|
228
|
-
} = dual(3, function reduce<
|
|
229
|
-
refHashMap: RefHashMap<
|
|
227
|
+
): RefSubject.Computed<B, E, R>
|
|
228
|
+
} = dual(3, function reduce<K, V, E, R, B>(
|
|
229
|
+
refHashMap: RefHashMap<K, V, E, R>,
|
|
230
230
|
seed: B,
|
|
231
231
|
f: (acc: B, a: V, k: K) => B
|
|
232
|
-
): RefSubject.Computed<
|
|
232
|
+
): RefSubject.Computed<B, E, R> {
|
|
233
233
|
return RefSubject.map(refHashMap, HashMap.reduce(seed, f))
|
|
234
234
|
})
|
|
235
235
|
|
|
@@ -239,9 +239,9 @@ export const reduce: {
|
|
|
239
239
|
* @category combinators
|
|
240
240
|
*/
|
|
241
241
|
export const remove: {
|
|
242
|
-
<K>(key: K): <R, E, V>(refHashMap: RefHashMap<
|
|
243
|
-
<
|
|
244
|
-
} = dual(2, function remove<
|
|
242
|
+
<K>(key: K): <R, E, V>(refHashMap: RefHashMap<K, V, E, R>) => Effect.Effect<HashMap.HashMap<K, V>, E, R>
|
|
243
|
+
<K, V, E, R>(refHashMap: RefHashMap<K, V, E, R>, key: K): Effect.Effect<HashMap.HashMap<K, V>, E, R>
|
|
244
|
+
} = dual(2, function remove<K, V, E, R>(refHashMap: RefHashMap<K, V, E, R>, key: K) {
|
|
245
245
|
return RefSubject.update(refHashMap, HashMap.remove(key))
|
|
246
246
|
})
|
|
247
247
|
|
|
@@ -251,9 +251,9 @@ export const remove: {
|
|
|
251
251
|
* @category combinators
|
|
252
252
|
*/
|
|
253
253
|
export const removeMany: {
|
|
254
|
-
<K>(key: Iterable<K>): <R, E, V>(refHashMap: RefHashMap<
|
|
255
|
-
<
|
|
256
|
-
} = dual(2, function removeMany<
|
|
254
|
+
<K>(key: Iterable<K>): <R, E, V>(refHashMap: RefHashMap<K, V, E, R>) => Effect.Effect<HashMap.HashMap<K, V>, E, R>
|
|
255
|
+
<K, V, E, R>(refHashMap: RefHashMap<K, V, E, R>, key: Iterable<K>): Effect.Effect<HashMap.HashMap<K, V>, E, R>
|
|
256
|
+
} = dual(2, function removeMany<K, V, E, R>(refHashMap: RefHashMap<K, V, E, R>, key: Iterable<K>) {
|
|
257
257
|
return RefSubject.update(refHashMap, HashMap.removeMany(key))
|
|
258
258
|
})
|
|
259
259
|
|
|
@@ -266,9 +266,9 @@ export const set: {
|
|
|
266
266
|
<K, V>(
|
|
267
267
|
key: K,
|
|
268
268
|
value: V
|
|
269
|
-
): <
|
|
270
|
-
<
|
|
271
|
-
} = dual(3, function set<
|
|
269
|
+
): <E, R>(refHashMap: RefHashMap<K, V, E, R>) => Effect.Effect<HashMap.HashMap<K, V>, E, R>
|
|
270
|
+
<K, V, E, R>(refHashMap: RefHashMap<K, V, E, R>, key: K, value: V): Effect.Effect<HashMap.HashMap<K, V>, E, R>
|
|
271
|
+
} = dual(3, function set<K, V, E, R>(refHashMap: RefHashMap<K, V, E, R>, key: K, value: V) {
|
|
272
272
|
return RefSubject.update(refHashMap, HashMap.set(key, value))
|
|
273
273
|
})
|
|
274
274
|
|
|
@@ -277,7 +277,7 @@ export const set: {
|
|
|
277
277
|
* @since 1.18.0
|
|
278
278
|
* @category computed
|
|
279
279
|
*/
|
|
280
|
-
export function size<
|
|
280
|
+
export function size<K, V, E, R>(refHashMap: RefHashMap<K, V, E, R>): RefSubject.Computed<number, E, R> {
|
|
281
281
|
return RefSubject.map(refHashMap, HashMap.size)
|
|
282
282
|
}
|
|
283
283
|
|
|
@@ -286,7 +286,7 @@ export function size<R, E, K, V>(refHashMap: RefHashMap<R, E, K, V>): RefSubject
|
|
|
286
286
|
* @since 1.18.0
|
|
287
287
|
* @category computed
|
|
288
288
|
*/
|
|
289
|
-
export function values<
|
|
289
|
+
export function values<K, V, E, R>(refHashMap: RefHashMap<K, V, E, R>): RefSubject.Computed<Iterable<V>, E, R> {
|
|
290
290
|
return RefSubject.map(refHashMap, HashMap.values)
|
|
291
291
|
}
|
|
292
292
|
|
|
@@ -295,9 +295,9 @@ export function values<R, E, K, V>(refHashMap: RefHashMap<R, E, K, V>): RefSubje
|
|
|
295
295
|
* @since 1.18.0
|
|
296
296
|
* @category computed
|
|
297
297
|
*/
|
|
298
|
-
export function valuesSet<
|
|
299
|
-
refHashMap: RefHashMap<
|
|
300
|
-
): RefSubject.Computed<
|
|
298
|
+
export function valuesSet<K, V, E, R>(
|
|
299
|
+
refHashMap: RefHashMap<K, V, E, R>
|
|
300
|
+
): RefSubject.Computed<HashSet.HashSet<V>, E, R> {
|
|
301
301
|
return RefSubject.map(values(refHashMap), HashSet.fromIterable)
|
|
302
302
|
}
|
|
303
303
|
|
|
@@ -306,9 +306,9 @@ export function valuesSet<R, E, K, V>(
|
|
|
306
306
|
* @since 1.18.0
|
|
307
307
|
* @category computed
|
|
308
308
|
*/
|
|
309
|
-
export function compact<
|
|
310
|
-
refHashMap: RefHashMap<
|
|
311
|
-
): RefSubject.Computed<
|
|
309
|
+
export function compact<K, V, E, R>(
|
|
310
|
+
refHashMap: RefHashMap<K, Option<V>, E, R>
|
|
311
|
+
): RefSubject.Computed<HashMap.HashMap<K, V>, E, R> {
|
|
312
312
|
return RefSubject.map(refHashMap, HashMap.compact)
|
|
313
313
|
}
|
|
314
314
|
|
|
@@ -317,9 +317,9 @@ export function compact<R, E, K, V>(
|
|
|
317
317
|
* @category filtered
|
|
318
318
|
*/
|
|
319
319
|
export const get: {
|
|
320
|
-
<K>(key: K): <R, E, V>(refHashMap: RefHashMap<
|
|
321
|
-
<
|
|
322
|
-
} = dual(2, function get<
|
|
320
|
+
<K>(key: K): <R, E, V>(refHashMap: RefHashMap<K, V, E, R>) => RefSubject.Filtered<R, E, V>
|
|
321
|
+
<K, V, E, R>(refHashMap: RefHashMap<K, V, E, R>, key: K): RefSubject.Filtered<R, E, V>
|
|
322
|
+
} = dual(2, function get<K, V, E, R>(refHashMap: RefHashMap<K, V, E, R>, key: K) {
|
|
323
323
|
return RefSubject.filterMap(refHashMap, HashMap.get(key))
|
|
324
324
|
})
|
|
325
325
|
|
|
@@ -328,8 +328,8 @@ export const get: {
|
|
|
328
328
|
* @category filtered
|
|
329
329
|
*/
|
|
330
330
|
export const getHash: {
|
|
331
|
-
<K>(key: K, hash: number): <R, E, V>(refHashMap: RefHashMap<
|
|
332
|
-
<
|
|
333
|
-
} = dual(2, function get<
|
|
331
|
+
<K>(key: K, hash: number): <R, E, V>(refHashMap: RefHashMap<K, V, E, R>) => RefSubject.Filtered<R, E, V>
|
|
332
|
+
<K, V, E, R>(refHashMap: RefHashMap<K, V, E, R>, key: K, hash: number): RefSubject.Filtered<R, E, V>
|
|
333
|
+
} = dual(2, function get<K, V, E, R>(refHashMap: RefHashMap<K, V, E, R>, key: K) {
|
|
334
334
|
return RefSubject.filterMap(refHashMap, HashMap.get(key))
|
|
335
335
|
})
|
package/src/RefHashSet.ts
CHANGED
|
@@ -16,14 +16,16 @@ import * as RefSubject from "./RefSubject.js"
|
|
|
16
16
|
* @since 1.18.0
|
|
17
17
|
* @category models
|
|
18
18
|
*/
|
|
19
|
-
export interface RefHashSet<out
|
|
19
|
+
export interface RefHashSet<in out A, in out E = never, out R = never>
|
|
20
|
+
extends RefSubject.RefSubject<HashSet.HashSet<A>, E, R>
|
|
21
|
+
{}
|
|
20
22
|
|
|
21
23
|
/**
|
|
22
24
|
* @since 1.18.0
|
|
23
25
|
*/
|
|
24
|
-
export function make<
|
|
25
|
-
initial: Effect.Effect<
|
|
26
|
-
): Effect.Effect<R | Scope.Scope
|
|
26
|
+
export function make<A, E, R>(
|
|
27
|
+
initial: Effect.Effect<HashSet.HashSet<A>, E, R> | Fx.Fx<HashSet.HashSet<A>, E, R>
|
|
28
|
+
): Effect.Effect<RefHashSet<A, E>, never, R | Scope.Scope> {
|
|
27
29
|
return RefSubject.make(
|
|
28
30
|
initial
|
|
29
31
|
)
|
|
@@ -48,9 +50,9 @@ export const tagged: <A>() => {
|
|
|
48
50
|
* @category combinators
|
|
49
51
|
*/
|
|
50
52
|
export const add: {
|
|
51
|
-
<A>(value: A): <
|
|
52
|
-
<
|
|
53
|
-
} = dual(2, function add<
|
|
53
|
+
<A>(value: A): <E, R>(ref: RefHashSet<A, E, R>) => Effect.Effect<HashSet.HashSet<A>, E, R>
|
|
54
|
+
<A, E, R>(ref: RefHashSet<A, E, R>, value: A): Effect.Effect<HashSet.HashSet<A>, E, R>
|
|
55
|
+
} = dual(2, function add<A, E, R>(ref: RefHashSet<A, E, R>, value: A) {
|
|
54
56
|
return RefSubject.update(ref, HashSet.add(value))
|
|
55
57
|
})
|
|
56
58
|
|
|
@@ -62,9 +64,9 @@ export const add: {
|
|
|
62
64
|
export const appendAll: {
|
|
63
65
|
<A>(
|
|
64
66
|
value: Iterable<A>
|
|
65
|
-
): <
|
|
66
|
-
<
|
|
67
|
-
} = dual(2, function appendAll<
|
|
67
|
+
): <E, R>(ref: RefHashSet<A, E, R>) => Effect.Effect<HashSet.HashSet<A>, E, R>
|
|
68
|
+
<A, E, R>(ref: RefHashSet<A, E, R>, value: Iterable<A>): Effect.Effect<HashSet.HashSet<A>, E, R>
|
|
69
|
+
} = dual(2, function appendAll<A, E, R>(ref: RefHashSet<A, E, R>, value: Iterable<A>) {
|
|
68
70
|
return RefSubject.update(ref, (set) =>
|
|
69
71
|
HashSet.mutate(set, (set) => {
|
|
70
72
|
for (const a of value) {
|
|
@@ -81,12 +83,12 @@ export const appendAll: {
|
|
|
81
83
|
export const filterValues: {
|
|
82
84
|
<A>(
|
|
83
85
|
predicate: (a: A) => boolean
|
|
84
|
-
): <
|
|
85
|
-
<
|
|
86
|
-
ref: RefHashSet<
|
|
86
|
+
): <E, R>(ref: RefHashSet<A, E, R>) => RefSubject.Computed<HashSet.HashSet<A>, E, R>
|
|
87
|
+
<A, E, R>(
|
|
88
|
+
ref: RefHashSet<A, E, R>,
|
|
87
89
|
predicate: (a: A) => boolean
|
|
88
|
-
): RefSubject.Computed<
|
|
89
|
-
} = dual(2, function filterValues<
|
|
90
|
+
): RefSubject.Computed<HashSet.HashSet<A>, E, R>
|
|
91
|
+
} = dual(2, function filterValues<A, E, R>(ref: RefHashSet<A, E, R>, predicate: (a: A) => boolean) {
|
|
90
92
|
return RefSubject.map(ref, HashSet.filter(predicate))
|
|
91
93
|
})
|
|
92
94
|
|
|
@@ -95,7 +97,7 @@ export const filterValues: {
|
|
|
95
97
|
* @since 1.18.0
|
|
96
98
|
* @category computed
|
|
97
99
|
*/
|
|
98
|
-
export const size = <
|
|
100
|
+
export const size = <A, E, R>(ref: RefHashSet<A, E, R>): RefSubject.Computed<number, E, R> =>
|
|
99
101
|
RefSubject.map(ref, HashSet.size)
|
|
100
102
|
|
|
101
103
|
/**
|
|
@@ -106,12 +108,12 @@ export const size = <R, E, A>(ref: RefHashSet<R, E, A>): RefSubject.Computed<R,
|
|
|
106
108
|
export const map: {
|
|
107
109
|
<A>(
|
|
108
110
|
f: (a: A) => A
|
|
109
|
-
): <
|
|
110
|
-
<
|
|
111
|
-
ref: RefHashSet<
|
|
111
|
+
): <E, R>(ref: RefHashSet<A, E, R>) => RefSubject.Computed<HashSet.HashSet<A>, E, R>
|
|
112
|
+
<A, E, R>(
|
|
113
|
+
ref: RefHashSet<A, E, R>,
|
|
112
114
|
f: (a: A) => A
|
|
113
|
-
): RefSubject.Computed<
|
|
114
|
-
} = dual(2, function mapValues<
|
|
115
|
+
): RefSubject.Computed<HashSet.HashSet<A>, E, R>
|
|
116
|
+
} = dual(2, function mapValues<A, E, R>(ref: RefHashSet<A, E, R>, f: (a: A) => A) {
|
|
115
117
|
return RefSubject.update(ref, HashSet.map(f))
|
|
116
118
|
})
|
|
117
119
|
|
|
@@ -123,14 +125,14 @@ export const map: {
|
|
|
123
125
|
export const mapValues: {
|
|
124
126
|
<A, B>(
|
|
125
127
|
f: (a: A) => B
|
|
126
|
-
): <
|
|
127
|
-
<
|
|
128
|
-
ref: RefHashSet<
|
|
128
|
+
): <E, R>(ref: RefHashSet<A, E, R>) => RefSubject.Computed<ReadonlyArray<B>, E, R>
|
|
129
|
+
<A, E, R, B>(
|
|
130
|
+
ref: RefHashSet<A, E, R>,
|
|
129
131
|
f: (a: A) => B
|
|
130
|
-
): RefSubject.Computed<
|
|
132
|
+
): RefSubject.Computed<ReadonlyArray<B>, E, R>
|
|
131
133
|
} = dual(
|
|
132
134
|
2,
|
|
133
|
-
function mapValues<
|
|
135
|
+
function mapValues<A, E, R, B>(ref: RefHashSet<A, E, R>, f: (a: A) => B) {
|
|
134
136
|
return RefSubject.map(ref, HashSet.map(f))
|
|
135
137
|
}
|
|
136
138
|
)
|
|
@@ -143,15 +145,14 @@ export const mapValues: {
|
|
|
143
145
|
export const partition: {
|
|
144
146
|
<A, B extends A>(
|
|
145
147
|
predicate: (a: A) => a is B
|
|
146
|
-
): <
|
|
147
|
-
ref: RefHashSet<
|
|
148
|
-
) => RefSubject.Computed<
|
|
149
|
-
<
|
|
150
|
-
|
|
151
|
-
E
|
|
152
|
-
readonly [HashSet.HashSet<A>, HashSet.HashSet<A>]
|
|
148
|
+
): <E, R>(
|
|
149
|
+
ref: RefHashSet<A, E, R>
|
|
150
|
+
) => RefSubject.Computed<readonly [ReadonlyArray<B>, HashSet.HashSet<A>], E, R>
|
|
151
|
+
<A, E, R>(ref: RefHashSet<A, E, R>, predicate: (a: A) => boolean): RefSubject.Computed<
|
|
152
|
+
readonly [ReadonlyArray<A>, HashSet.HashSet<A>],
|
|
153
|
+
E
|
|
153
154
|
>
|
|
154
|
-
} = dual(2, function partition<
|
|
155
|
+
} = dual(2, function partition<A, E, R>(ref: RefHashSet<A, E, R>, predicate: (a: A) => boolean) {
|
|
155
156
|
return RefSubject.map(ref, HashSet.partition(predicate))
|
|
156
157
|
})
|
|
157
158
|
|
|
@@ -164,15 +165,15 @@ export const reduce: {
|
|
|
164
165
|
<A, B>(
|
|
165
166
|
b: B,
|
|
166
167
|
f: (b: B, a: A) => B
|
|
167
|
-
): <
|
|
168
|
-
<
|
|
169
|
-
ref: RefHashSet<
|
|
168
|
+
): <E, R>(ref: RefHashSet<A, E, R>) => RefSubject.Computed<B, E, R>
|
|
169
|
+
<A, E, R, B>(
|
|
170
|
+
ref: RefHashSet<A, E, R>,
|
|
170
171
|
b: B,
|
|
171
172
|
f: (b: B, a: A) => B
|
|
172
|
-
): RefSubject.Computed<
|
|
173
|
+
): RefSubject.Computed<B, E, R>
|
|
173
174
|
} = dual(
|
|
174
175
|
3,
|
|
175
|
-
function reduce<
|
|
176
|
+
function reduce<A, E, R, B>(ref: RefHashSet<A, E, R>, b: B, f: (b: B, a: A) => B) {
|
|
176
177
|
return RefSubject.map(ref, HashSet.reduce(b, f))
|
|
177
178
|
}
|
|
178
179
|
)
|