@typed/fx 1.27.4 → 1.28.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 +1 -1
- package/dist/cjs/AsyncData.js.map +1 -1
- package/dist/cjs/Emitter.js +3 -3
- package/dist/cjs/Emitter.js.map +1 -1
- package/dist/cjs/Form.js +15 -15
- package/dist/cjs/Form.js.map +1 -1
- package/dist/cjs/FormEntry.js +3 -3
- package/dist/cjs/FormEntry.js.map +1 -1
- package/dist/cjs/Fx.js +11 -9
- package/dist/cjs/Fx.js.map +1 -1
- package/dist/cjs/Idle.js +8 -8
- package/dist/cjs/Idle.js.map +1 -1
- package/dist/cjs/Match.js +17 -17
- package/dist/cjs/Match.js.map +1 -1
- package/dist/cjs/Pull.js +3 -3
- package/dist/cjs/Pull.js.map +1 -1
- package/dist/cjs/Push.js +1 -1
- package/dist/cjs/Push.js.map +1 -1
- package/dist/cjs/RefArray.js +2 -2
- package/dist/cjs/RefArray.js.map +1 -1
- package/dist/cjs/RefChunk.js +1 -1
- package/dist/cjs/RefChunk.js.map +1 -1
- package/dist/cjs/RefHashMap.js +1 -1
- package/dist/cjs/RefHashMap.js.map +1 -1
- package/dist/cjs/RefHashSet.js +1 -1
- package/dist/cjs/RefHashSet.js.map +1 -1
- package/dist/cjs/RefSubject.js +150 -75
- package/dist/cjs/RefSubject.js.map +1 -1
- package/dist/cjs/Sink.js +14 -14
- package/dist/cjs/Sink.js.map +1 -1
- package/dist/cjs/Stream.js +1 -1
- package/dist/cjs/Stream.js.map +1 -1
- package/dist/cjs/Subject.js +9 -11
- package/dist/cjs/Subject.js.map +1 -1
- package/dist/cjs/Typeclass.js +1 -1
- package/dist/cjs/Typeclass.js.map +1 -1
- package/dist/cjs/Versioned.js +4 -4
- package/dist/cjs/Versioned.js.map +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internal/DeferredRef.js +14 -11
- package/dist/cjs/internal/DeferredRef.js.map +1 -1
- package/dist/cjs/internal/core.js +71 -42
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/diff.js +1 -1
- package/dist/cjs/internal/diff.js.map +1 -1
- package/dist/cjs/internal/effect-loop-operator.js +1 -1
- package/dist/cjs/internal/effect-loop-operator.js.map +1 -1
- package/dist/cjs/internal/effect-operator.js +3 -3
- package/dist/cjs/internal/effect-operator.js.map +1 -1
- package/dist/cjs/internal/effect-producer.js +3 -3
- package/dist/cjs/internal/effect-producer.js.map +1 -1
- package/dist/cjs/internal/helpers.js +63 -42
- package/dist/cjs/internal/helpers.js.map +1 -1
- package/dist/cjs/internal/keyed.js +34 -26
- package/dist/cjs/internal/keyed.js.map +1 -1
- package/dist/cjs/internal/loop-operator.js +1 -1
- package/dist/cjs/internal/loop-operator.js.map +1 -1
- package/dist/cjs/internal/operator.js +1 -1
- package/dist/cjs/internal/operator.js.map +1 -1
- package/dist/cjs/internal/protos.js +1 -1
- package/dist/cjs/internal/protos.js.map +1 -1
- package/dist/cjs/internal/provide.js +1 -1
- package/dist/cjs/internal/provide.js.map +1 -1
- package/dist/cjs/internal/share.js +8 -13
- package/dist/cjs/internal/share.js.map +1 -1
- package/dist/cjs/internal/sync-operator.js +4 -4
- package/dist/cjs/internal/sync-operator.js.map +1 -1
- package/dist/cjs/internal/sync-producer.js +27 -23
- package/dist/cjs/internal/sync-producer.js.map +1 -1
- package/dist/cjs/internal/withKey.js +7 -7
- package/dist/cjs/internal/withKey.js.map +1 -1
- package/dist/dts/AsyncData.d.ts +2 -2
- package/dist/dts/AsyncData.d.ts.map +1 -1
- package/dist/dts/Emitter.d.ts +1 -1
- package/dist/dts/Emitter.d.ts.map +1 -1
- package/dist/dts/Fx.d.ts +39 -13
- package/dist/dts/Fx.d.ts.map +1 -1
- package/dist/dts/Idle.d.ts.map +1 -1
- package/dist/dts/Match.d.ts +1 -1
- package/dist/dts/Match.d.ts.map +1 -1
- package/dist/dts/Push.d.ts +4 -1
- package/dist/dts/Push.d.ts.map +1 -1
- package/dist/dts/RefArray.d.ts +1 -2
- package/dist/dts/RefArray.d.ts.map +1 -1
- package/dist/dts/RefChunk.d.ts.map +1 -1
- package/dist/dts/RefHashMap.d.ts +1 -1
- package/dist/dts/RefHashMap.d.ts.map +1 -1
- package/dist/dts/RefHashSet.d.ts.map +1 -1
- package/dist/dts/RefSubject.d.ts +64 -3
- package/dist/dts/RefSubject.d.ts.map +1 -1
- package/dist/dts/Sink.d.ts +2 -1
- package/dist/dts/Sink.d.ts.map +1 -1
- package/dist/dts/Subject.d.ts +2 -1
- package/dist/dts/Subject.d.ts.map +1 -1
- package/dist/dts/Versioned.d.ts +3 -1
- package/dist/dts/Versioned.d.ts.map +1 -1
- package/dist/dts/internal/DeferredRef.d.ts +6 -4
- package/dist/dts/internal/DeferredRef.d.ts.map +1 -1
- package/dist/dts/internal/core.d.ts +25 -12
- package/dist/dts/internal/core.d.ts.map +1 -1
- package/dist/dts/internal/diff.d.ts +1 -1
- package/dist/dts/internal/diff.d.ts.map +1 -1
- package/dist/dts/internal/effect-operator.d.ts.map +1 -1
- package/dist/dts/internal/helpers.d.ts +8 -6
- package/dist/dts/internal/helpers.d.ts.map +1 -1
- package/dist/dts/internal/keyed.d.ts +2 -2
- package/dist/dts/internal/keyed.d.ts.map +1 -1
- package/dist/dts/internal/loop-operator.d.ts +1 -1
- package/dist/dts/internal/loop-operator.d.ts.map +1 -1
- package/dist/dts/internal/protos.d.ts +1 -1
- package/dist/dts/internal/protos.d.ts.map +1 -1
- package/dist/dts/internal/provide.d.ts.map +1 -1
- package/dist/dts/internal/share.d.ts +1 -1
- package/dist/dts/internal/share.d.ts.map +1 -1
- package/dist/dts/internal/strategies.d.ts.map +1 -1
- package/dist/dts/internal/sync-operator.d.ts.map +1 -1
- package/dist/dts/internal/sync-producer.d.ts +4 -4
- package/dist/dts/internal/sync-producer.d.ts.map +1 -1
- package/dist/esm/Emitter.js +1 -1
- package/dist/esm/Emitter.js.map +1 -1
- package/dist/esm/Form.js +14 -14
- package/dist/esm/Form.js.map +1 -1
- package/dist/esm/FormEntry.js +2 -2
- package/dist/esm/FormEntry.js.map +1 -1
- package/dist/esm/Fx.js +16 -5
- package/dist/esm/Fx.js.map +1 -1
- package/dist/esm/Idle.js +7 -7
- package/dist/esm/Idle.js.map +1 -1
- package/dist/esm/Match.js +17 -17
- package/dist/esm/Match.js.map +1 -1
- package/dist/esm/Pull.js +2 -2
- package/dist/esm/Push.js.map +1 -1
- package/dist/esm/RefArray.js +1 -1
- package/dist/esm/RefArray.js.map +1 -1
- package/dist/esm/RefHashMap.js.map +1 -1
- package/dist/esm/RefSubject.js +140 -59
- package/dist/esm/RefSubject.js.map +1 -1
- package/dist/esm/Sink.js +13 -13
- package/dist/esm/Sink.js.map +1 -1
- package/dist/esm/Subject.js +8 -10
- package/dist/esm/Subject.js.map +1 -1
- package/dist/esm/Versioned.js +1 -1
- package/dist/esm/Versioned.js.map +1 -1
- package/dist/esm/internal/DeferredRef.js +13 -10
- package/dist/esm/internal/DeferredRef.js.map +1 -1
- package/dist/esm/internal/core.js +70 -37
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/diff.js.map +1 -1
- package/dist/esm/internal/effect-operator.js +2 -2
- package/dist/esm/internal/effect-producer.js +1 -1
- package/dist/esm/internal/helpers.js +62 -39
- package/dist/esm/internal/helpers.js.map +1 -1
- package/dist/esm/internal/keyed.js +26 -17
- package/dist/esm/internal/keyed.js.map +1 -1
- package/dist/esm/internal/share.js +7 -12
- package/dist/esm/internal/share.js.map +1 -1
- package/dist/esm/internal/sync-operator.js +3 -3
- package/dist/esm/internal/sync-operator.js.map +1 -1
- package/dist/esm/internal/sync-producer.js +7 -5
- package/dist/esm/internal/sync-producer.js.map +1 -1
- package/dist/esm/internal/withKey.js +6 -6
- package/dist/esm/internal/withKey.js.map +1 -1
- package/package.json +8 -7
- package/src/Emitter.ts +2 -1
- package/src/Form.ts +22 -30
- package/src/FormEntry.ts +2 -2
- package/src/Fx.ts +54 -36
- package/src/Idle.ts +7 -7
- package/src/Match.ts +24 -26
- package/src/Pull.ts +2 -2
- package/src/Push.ts +4 -1
- package/src/RefArray.ts +1 -1
- package/src/RefHashMap.ts +1 -1
- package/src/RefSubject.ts +262 -98
- package/src/Sink.ts +15 -14
- package/src/Subject.ts +19 -14
- package/src/Versioned.ts +4 -2
- package/src/internal/DeferredRef.ts +21 -11
- package/src/internal/core.ts +92 -61
- package/src/internal/diff.ts +1 -1
- package/src/internal/effect-operator.ts +2 -2
- package/src/internal/effect-producer.ts +3 -3
- package/src/internal/helpers.ts +89 -42
- package/src/internal/keyed.ts +47 -42
- package/src/internal/loop-operator.ts +1 -1
- package/src/internal/protos.ts +1 -1
- package/src/internal/share.ts +11 -26
- package/src/internal/sync-operator.ts +3 -3
- package/src/internal/sync-producer.ts +7 -5
- package/src/internal/withKey.ts +6 -6
|
@@ -32,7 +32,7 @@ export function runEffect(producer, f) {
|
|
|
32
32
|
case "FromScheduled":
|
|
33
33
|
return Effect.flatMap(producer.input, (i) => Effect.asyncEffect((resume) => {
|
|
34
34
|
const onFailure = (cause) => Effect.succeed(resume(Effect.failCause(cause)));
|
|
35
|
-
return Effect.
|
|
35
|
+
return Effect.asVoid(Effect.matchCauseEffect(Effect.scheduleFrom(producer.input, i, Schedule.mapEffect(producer.schedule, (a) => Effect.catchAllCause(f(a), onFailure))), { onFailure, onSuccess: () => Effect.succeed(resume(Effect.void)) }));
|
|
36
36
|
}));
|
|
37
37
|
case "Scheduled":
|
|
38
38
|
return Effect.schedule(Effect.flatMap(producer.input, f), producer.schedule);
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { getOption } from "@typed/context";
|
|
2
|
-
import { Equivalence, Unify } from "effect";
|
|
3
2
|
import * as Cause from "effect/Cause";
|
|
3
|
+
import * as Deferred from "effect/Deferred";
|
|
4
4
|
import * as Effect from "effect/Effect";
|
|
5
5
|
import * as Effectable from "effect/Effectable";
|
|
6
6
|
import * as Equal from "effect/Equal";
|
|
7
|
+
import * as Equivalence from "effect/Equivalence";
|
|
7
8
|
import * as ExecutionStrategy from "effect/ExecutionStrategy";
|
|
9
|
+
import * as Exit from "effect/Exit";
|
|
8
10
|
import * as Fiber from "effect/Fiber";
|
|
9
11
|
import * as FiberSet from "effect/FiberSet";
|
|
10
12
|
import * as Option from "effect/Option";
|
|
@@ -12,41 +14,62 @@ import * as Ref from "effect/Ref";
|
|
|
12
14
|
import * as Scope from "effect/Scope";
|
|
13
15
|
import * as SynchronizedRef from "effect/SynchronizedRef";
|
|
14
16
|
import * as TestClock from "effect/TestClock";
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
import * as Unify from "effect/Unify";
|
|
18
|
+
export function withBuffers(size, sink, id) {
|
|
19
|
+
const buffers = indexedBuffers(size, sink, id);
|
|
20
|
+
const onSuccess = (index, value) => buffers.get(index).onSuccess(value);
|
|
21
|
+
const onEnd = (index) => buffers.get(index).onEnd;
|
|
22
|
+
return {
|
|
23
|
+
onSuccess: (i, a) => onSuccess(i, a),
|
|
24
|
+
onEnd: (i) => onEnd(i)
|
|
23
25
|
};
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
return Effect.unit;
|
|
26
|
+
}
|
|
27
|
+
function indexedBuffers(size, sink, id) {
|
|
28
|
+
const buffers = new Map();
|
|
29
|
+
const last = size - 1;
|
|
30
|
+
for (let i = 0; i < size; i++) {
|
|
31
|
+
const deferred = Deferred.unsafeMake(id);
|
|
32
|
+
const state = {
|
|
33
|
+
ready: i === 0,
|
|
34
|
+
deferred
|
|
35
|
+
};
|
|
36
|
+
// First should start immediately
|
|
37
|
+
if (i === 0) {
|
|
38
|
+
Deferred.unsafeDone(deferred, Exit.void);
|
|
38
39
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
buffers.set(i, IndexedBuffer(state, sink, i === last ? Effect.void : Effect.suspend(() => {
|
|
41
|
+
const next = buffers.get(i + 1);
|
|
42
|
+
next.state.ready = true;
|
|
43
|
+
return Deferred.done(next.state.deferred, Exit.void);
|
|
44
|
+
})));
|
|
45
|
+
}
|
|
46
|
+
return buffers;
|
|
47
|
+
}
|
|
48
|
+
function IndexedBuffer(state, sink, onDone) {
|
|
49
|
+
let buffer = [];
|
|
50
|
+
const onSuccess = (value) => {
|
|
51
|
+
if (state.ready) {
|
|
52
|
+
if (buffer.length === 0)
|
|
53
|
+
return sink.onSuccess(value);
|
|
54
|
+
buffer.push(value);
|
|
55
|
+
const effect = Effect.forEach(buffer, sink.onSuccess);
|
|
56
|
+
buffer = [];
|
|
57
|
+
return effect;
|
|
44
58
|
}
|
|
45
59
|
else {
|
|
46
|
-
|
|
60
|
+
buffer.push(value);
|
|
61
|
+
return Effect.void;
|
|
47
62
|
}
|
|
48
63
|
};
|
|
64
|
+
const onEnd = Effect.flatMap(Deferred.await(state.deferred), () => {
|
|
65
|
+
if (buffer.length === 0)
|
|
66
|
+
return onDone;
|
|
67
|
+
const effect = Effect.forEach(buffer, sink.onSuccess);
|
|
68
|
+
buffer = [];
|
|
69
|
+
return Effect.zipRight(effect, onDone);
|
|
70
|
+
});
|
|
49
71
|
return {
|
|
72
|
+
state,
|
|
50
73
|
onSuccess,
|
|
51
74
|
onEnd
|
|
52
75
|
};
|
|
@@ -83,7 +106,7 @@ export function makeForkInScope(scope) {
|
|
|
83
106
|
});
|
|
84
107
|
}
|
|
85
108
|
export function withSwitchFork(f, executionStrategy) {
|
|
86
|
-
return withScopedFork((fork, scope) => Effect.flatMap(SynchronizedRef.make(Fiber.
|
|
109
|
+
return withScopedFork((fork, scope) => Effect.flatMap(SynchronizedRef.make(Fiber.void), (ref) => runSwitchFork(ref, fork, scope, f)), executionStrategy);
|
|
87
110
|
}
|
|
88
111
|
export function runSwitchFork(ref, fork, scope, f) {
|
|
89
112
|
return Effect.zipRight(f((effect) => SynchronizedRef.updateEffect(ref, (fiber) => Effect.zipRight(Fiber.interrupt(fiber), fork(effect))), scope), Effect.flatMap(SynchronizedRef.get(ref), Fiber.join));
|
|
@@ -92,18 +115,18 @@ export function withExhaustFork(f, executionStrategy) {
|
|
|
92
115
|
return withScopedFork((fork, scope) => {
|
|
93
116
|
return Effect.flatMap(SynchronizedRef.make(null), (ref) => Effect.flatMap(f((effect) => SynchronizedRef.updateEffect(ref, (fiber) => fiber
|
|
94
117
|
? Effect.succeed(fiber)
|
|
95
|
-
: fork(Effect.onExit(effect, () => Ref.set(ref, null)))), scope), () => Effect.flatMap(Ref.get(ref), (fiber) => fiber ? Fiber.join(fiber) : Effect.
|
|
118
|
+
: fork(Effect.onExit(effect, () => Ref.set(ref, null)))), scope), () => Effect.flatMap(Ref.get(ref), (fiber) => fiber ? Fiber.join(fiber) : Effect.void)));
|
|
96
119
|
}, executionStrategy);
|
|
97
120
|
}
|
|
98
121
|
export function withExhaustLatestFork(f, executionStrategy) {
|
|
99
122
|
return withScopedFork((fork, scope) => Effect.flatMap(Effect.zip(Ref.make(undefined), Ref.make(Option.none())), ([ref, nextEffect]) => {
|
|
100
123
|
const reset = Ref.set(ref, undefined);
|
|
101
124
|
// Wait for the current fiber to finish
|
|
102
|
-
const awaitNext = Effect.flatMap(Ref.get(ref), (fiber) => fiber ? Fiber.join(fiber) : Effect.
|
|
125
|
+
const awaitNext = Effect.flatMap(Ref.get(ref), (fiber) => fiber ? Fiber.join(fiber) : Effect.void);
|
|
103
126
|
// Run the next value that's be saved for replay if it exists
|
|
104
127
|
const runNext = Effect.flatMap(Ref.get(nextEffect), (next) => {
|
|
105
128
|
if (Option.isNone(next)) {
|
|
106
|
-
return Effect.
|
|
129
|
+
return Effect.void;
|
|
107
130
|
}
|
|
108
131
|
return Effect.all([
|
|
109
132
|
// Clear the next A to be replayed
|
|
@@ -128,7 +151,7 @@ export function withBoundedFork(capacity) {
|
|
|
128
151
|
return withScopedFork((fork, scope) => Effect.flatMap(Ref.make(new Set()).pipe(Effect.zip(Effect.makeSemaphore(capacity))), ([ref, semaphore]) => Effect.flatMap(f((effect) => fork(semaphore.withPermits(1)(effect)).pipe(Effect.tap((fiber) => Ref.update(ref, (set) => set.add(fiber))), Effect.tap((fiber) => Scope.addFinalizer(scope, Ref.update(ref, (set) => {
|
|
129
152
|
set.delete(fiber);
|
|
130
153
|
return set;
|
|
131
|
-
})))), scope), () => Effect.flatMap(Ref.get(ref), (fibers) => fibers.size > 0 ? Fiber.joinAll(fibers) : Effect.
|
|
154
|
+
})))), scope), () => Effect.flatMap(Ref.get(ref), (fibers) => fibers.size > 0 ? Fiber.joinAll(fibers) : Effect.void))), executionStrategy);
|
|
132
155
|
};
|
|
133
156
|
}
|
|
134
157
|
export function withFlattenStrategy(strategy) {
|
|
@@ -187,7 +210,7 @@ export function tupleSink(sink, f, expected) {
|
|
|
187
210
|
return sink.onSuccess(getValues());
|
|
188
211
|
}
|
|
189
212
|
else {
|
|
190
|
-
return Effect.
|
|
213
|
+
return Effect.void;
|
|
191
214
|
}
|
|
192
215
|
});
|
|
193
216
|
});
|
|
@@ -197,7 +220,7 @@ export function withDebounceFork(f, duration) {
|
|
|
197
220
|
onNone: () => Effect.asSome(fork(Effect.delay(effect, duration))),
|
|
198
221
|
onSome: (fiber) => Fiber.interrupt(fiber).pipe(Effect.zipRight(fork(Effect.delay(effect, duration))), Effect.asSome)
|
|
199
222
|
})), scope), () => SynchronizedRef.get(ref).pipe(Effect.flatMap(Option.match({
|
|
200
|
-
onNone: () => Effect.
|
|
223
|
+
onNone: () => Effect.void,
|
|
201
224
|
onSome: Fiber.join
|
|
202
225
|
}))))), ExecutionStrategy.sequential);
|
|
203
226
|
}
|
|
@@ -224,7 +247,7 @@ export class RingBuffer {
|
|
|
224
247
|
forEach(f) {
|
|
225
248
|
switch (this._size) {
|
|
226
249
|
case 0:
|
|
227
|
-
return Effect.
|
|
250
|
+
return Effect.void;
|
|
228
251
|
case 1:
|
|
229
252
|
return f(this._buffer[0], 0);
|
|
230
253
|
case 2:
|
|
@@ -243,7 +266,7 @@ export class RingBuffer {
|
|
|
243
266
|
}
|
|
244
267
|
}
|
|
245
268
|
export function awaitScopeClose(scope) {
|
|
246
|
-
return Effect.asyncEffect((cb) => Scope.addFinalizerExit(scope, () => Effect.sync(() => cb(Effect.
|
|
269
|
+
return Effect.asyncEffect((cb) => Scope.addFinalizerExit(scope, () => Effect.sync(() => cb(Effect.void))));
|
|
247
270
|
}
|
|
248
271
|
export class MulticastEffect extends Effectable.Class {
|
|
249
272
|
effect;
|
|
@@ -268,7 +291,7 @@ export class MulticastEffect extends Effectable.Class {
|
|
|
268
291
|
return Fiber.interruptFork(this._fiber);
|
|
269
292
|
}
|
|
270
293
|
else {
|
|
271
|
-
return Effect.
|
|
294
|
+
return Effect.void;
|
|
272
295
|
}
|
|
273
296
|
});
|
|
274
297
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/internal/helpers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/internal/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as Context from "effect/Context";
|
|
2
|
+
import * as Effect from "effect/Effect";
|
|
3
|
+
import * as ExecutionStrategy from "effect/ExecutionStrategy";
|
|
4
|
+
import * as Exit from "effect/Exit";
|
|
5
|
+
import * as Option from "effect/Option";
|
|
6
|
+
import * as Scope from "effect/Scope";
|
|
2
7
|
import * as RefSubject from "../RefSubject.js";
|
|
3
8
|
import * as Sink from "../Sink.js";
|
|
4
9
|
import { diffIterator } from "./diff.js";
|
|
@@ -33,33 +38,37 @@ function runKeyed(fx, options, sink, id) {
|
|
|
33
38
|
// Uses debounce to avoid glitches
|
|
34
39
|
const scheduleNextEmit = forkDebounce(Effect.suspend(() => sink.onSuccess(getReadyIndices(state))));
|
|
35
40
|
function diffAndPatch(values) {
|
|
36
|
-
return Effect.gen(function* (
|
|
41
|
+
return Effect.gen(function* () {
|
|
37
42
|
const previous = state.previousValues;
|
|
38
43
|
state.previousValues = values;
|
|
39
44
|
let added = false;
|
|
40
|
-
let done = false;
|
|
41
45
|
let scheduled = false;
|
|
46
|
+
let done = false;
|
|
42
47
|
for (const patch of diffIterator(previous, values, options)) {
|
|
43
48
|
if (patch._tag === "Remove") {
|
|
44
|
-
yield*
|
|
49
|
+
yield* removeValue(state, patch);
|
|
45
50
|
}
|
|
46
51
|
else if (patch._tag === "Add") {
|
|
47
52
|
added = true;
|
|
48
|
-
yield*
|
|
53
|
+
yield* addValue(state, values, patch, id, parentScope, options, sink, Effect.suspend(() => {
|
|
49
54
|
if (done === false) {
|
|
50
55
|
scheduled = true;
|
|
51
|
-
return Effect.
|
|
56
|
+
return Effect.void;
|
|
52
57
|
}
|
|
53
58
|
return scheduleNextEmit;
|
|
54
|
-
}))
|
|
59
|
+
}));
|
|
55
60
|
}
|
|
56
61
|
else {
|
|
57
|
-
yield*
|
|
62
|
+
yield* updateValue(state, values, patch);
|
|
58
63
|
}
|
|
59
64
|
}
|
|
60
65
|
done = true;
|
|
61
66
|
if (scheduled || added === false) {
|
|
62
|
-
yield*
|
|
67
|
+
yield* scheduleNextEmit;
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
// Allow fibers to begin running if we're adding Fibers
|
|
71
|
+
yield* Effect.sleep(1);
|
|
63
72
|
}
|
|
64
73
|
});
|
|
65
74
|
}
|
|
@@ -67,7 +76,7 @@ function runKeyed(fx, options, sink, id) {
|
|
|
67
76
|
// Use exhaust to ensure only 1 diff is running at a time
|
|
68
77
|
// Skipping an intermediate changes that occur while diffing
|
|
69
78
|
(values) => Effect.withMaxOpsBeforeYield(diffAndPatch(values), Number.MAX_SAFE_INTEGER)));
|
|
70
|
-
}, options.debounce ||
|
|
79
|
+
}, options.debounce || 1);
|
|
71
80
|
}
|
|
72
81
|
class KeyedEntry {
|
|
73
82
|
value;
|
|
@@ -100,23 +109,23 @@ function getReadyIndices({ entries, indices, previousValues }) {
|
|
|
100
109
|
return output;
|
|
101
110
|
}
|
|
102
111
|
function addValue({ entries, indices }, values, patch, id, parentScope, options, sink, scheduleNextEmit) {
|
|
103
|
-
return Effect.gen(function* (
|
|
112
|
+
return Effect.gen(function* () {
|
|
104
113
|
const value = values[patch.index];
|
|
105
|
-
const childScope = yield*
|
|
106
|
-
const ref = yield*
|
|
114
|
+
const childScope = yield* Scope.fork(parentScope, ExecutionStrategy.sequential);
|
|
115
|
+
const ref = yield* RefSubject.unsafeMake({
|
|
107
116
|
initial: Effect.sync(() => entry.value),
|
|
108
117
|
initialValue: value,
|
|
109
118
|
scope: childScope,
|
|
110
119
|
id
|
|
111
|
-
})
|
|
112
|
-
yield*
|
|
120
|
+
});
|
|
121
|
+
yield* Scope.addFinalizer(childScope, ref.interrupt);
|
|
113
122
|
const entry = new KeyedEntry(value, patch.index, Option.none(), ref, Scope.close(childScope, Exit.interrupt(id)));
|
|
114
123
|
entries.set(patch.key, entry);
|
|
115
124
|
indices.set(patch.index, patch.key);
|
|
116
|
-
yield*
|
|
125
|
+
yield* Effect.forkIn(options.onValue(ref, patch.key).run(Sink.make((cause) => sink.onFailure(cause), (output) => {
|
|
117
126
|
entry.output = Option.some(output);
|
|
118
127
|
return scheduleNextEmit;
|
|
119
|
-
})), parentScope)
|
|
128
|
+
})), parentScope);
|
|
120
129
|
});
|
|
121
130
|
}
|
|
122
131
|
function removeValue({ entries, indices }, patch) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyed.js","sourceRoot":"","sources":["../../../src/internal/keyed.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"keyed.js","sourceRoot":"","sources":["../../../src/internal/keyed.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import { ExecutionStrategy } from "effect";
|
|
2
1
|
import * as Effect from "effect/Effect";
|
|
3
2
|
import * as Fiber from "effect/Fiber";
|
|
4
3
|
import { dual } from "effect/Function";
|
|
5
4
|
import * as MutableRef from "effect/MutableRef";
|
|
6
5
|
import * as Option from "effect/Option";
|
|
7
6
|
import * as Subject from "../Subject.js";
|
|
8
|
-
import { withScopedFork } from "./helpers.js";
|
|
9
7
|
import { FxBase } from "./protos.js";
|
|
10
8
|
export function share(fx, subject) {
|
|
11
9
|
return new Share(fx, subject);
|
|
@@ -30,28 +28,25 @@ export class Share extends FxBase {
|
|
|
30
28
|
this.i1 = i1;
|
|
31
29
|
}
|
|
32
30
|
run(sink) {
|
|
33
|
-
return
|
|
31
|
+
return Effect.zipRight(this.initialize(), Effect.onExit(this.i1.run(sink), () => this._RefCount.decrement() === 0 ? this.interrupt() : Effect.void));
|
|
34
32
|
}
|
|
35
33
|
initialize() {
|
|
36
34
|
return Effect.suspend(() => {
|
|
37
35
|
if (this._RefCount.increment() === 1) {
|
|
38
|
-
return this.i0.run(this.i1).pipe(Effect.
|
|
36
|
+
return this.i0.run(this.i1).pipe(Effect.ensuring(Effect.suspend(() => {
|
|
39
37
|
MutableRef.set(this._FxFiber, Option.none());
|
|
40
38
|
return this.i1.interrupt;
|
|
41
|
-
})), Effect.interruptible, Effect.forkDaemon, Effect.tap((fiber) => Effect.sync(() => MutableRef.set(this._FxFiber, Option.some(fiber))))
|
|
39
|
+
})), Effect.interruptible, Effect.forkDaemon, Effect.tap((fiber) => Effect.sync(() => MutableRef.set(this._FxFiber, Option.some(fiber)))));
|
|
42
40
|
}
|
|
43
41
|
else {
|
|
44
|
-
return
|
|
45
|
-
onNone: () => Effect.unit,
|
|
46
|
-
onSome: Fiber.join
|
|
47
|
-
});
|
|
42
|
+
return Effect.void;
|
|
48
43
|
}
|
|
49
44
|
});
|
|
50
45
|
}
|
|
51
46
|
interrupt() {
|
|
52
|
-
return
|
|
53
|
-
|
|
54
|
-
|
|
47
|
+
return Option.match(MutableRef.getAndSet(this._FxFiber, Option.none()), {
|
|
48
|
+
onNone: () => Effect.void,
|
|
49
|
+
onSome: Fiber.interrupt
|
|
55
50
|
});
|
|
56
51
|
}
|
|
57
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"share.js","sourceRoot":"","sources":["../../../src/internal/share.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"share.js","sourceRoot":"","sources":["../../../src/internal/share.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as ReadonlyArray from "effect/
|
|
1
|
+
import * as ReadonlyArray from "effect/Array";
|
|
2
2
|
import * as Effect from "effect/Effect";
|
|
3
3
|
import { flow } from "effect/Function";
|
|
4
4
|
import * as Option from "effect/Option";
|
|
@@ -43,9 +43,9 @@ export function compileSyncOperatorSink(operator, sink) {
|
|
|
43
43
|
export function compileCauseSyncOperatorSink(operator, sink) {
|
|
44
44
|
return matchSyncOperator(operator, {
|
|
45
45
|
Map: (op) => Sink.make((a) => sink.onFailure(op.f(a)), sink.onSuccess),
|
|
46
|
-
Filter: (op) => Sink.make((a) => op.f(a) ? sink.onFailure(a) : Effect.
|
|
46
|
+
Filter: (op) => Sink.make((a) => op.f(a) ? sink.onFailure(a) : Effect.void, sink.onSuccess),
|
|
47
47
|
FilterMap: (op) => Sink.make((a) => Option.match(op.f(a), {
|
|
48
|
-
onNone: () => Effect.
|
|
48
|
+
onNone: () => Effect.void,
|
|
49
49
|
onSome: sink.onFailure
|
|
50
50
|
}), sink.onSuccess)
|
|
51
51
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-operator.js","sourceRoot":"","sources":["../../../src/internal/sync-operator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,
|
|
1
|
+
{"version":3,"file":"sync-operator.js","sourceRoot":"","sources":["../../../src/internal/sync-operator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as Array from "effect/Array";
|
|
2
|
+
import * as Effect from "effect/Effect";
|
|
3
|
+
import * as Option from "effect/Option";
|
|
2
4
|
const DISCARD = { discard: true };
|
|
3
5
|
export const Success = (value) => ({ _tag: "Success", source: value });
|
|
4
6
|
export const FromSync = (f) => ({ _tag: "FromSync", source: f });
|
|
@@ -19,8 +21,8 @@ export function runReduce(producer, initial, f) {
|
|
|
19
21
|
return matchSyncProducer(producer, {
|
|
20
22
|
Success: (a) => syncOnce(() => f(initial, a)),
|
|
21
23
|
FromSync: (a) => syncOnce(() => f(initial, a())),
|
|
22
|
-
FromArray: (a) => syncOnce(() =>
|
|
23
|
-
FromIterable: (a) => syncOnce(() =>
|
|
24
|
+
FromArray: (a) => syncOnce(() => Array.reduce(a, initial, f)),
|
|
25
|
+
FromIterable: (a) => syncOnce(() => Array.reduce(a, initial, f))
|
|
24
26
|
});
|
|
25
27
|
}
|
|
26
28
|
export function runReduceEffect(producer, initial, f) {
|
|
@@ -33,7 +35,7 @@ export function runReduceEffect(producer, initial, f) {
|
|
|
33
35
|
}
|
|
34
36
|
function arrayToSink(array, sink) {
|
|
35
37
|
if (array.length === 0)
|
|
36
|
-
return Effect.
|
|
38
|
+
return Effect.void;
|
|
37
39
|
else if (array.length === 1)
|
|
38
40
|
return sink.onSuccess(array[0]);
|
|
39
41
|
else {
|
|
@@ -46,7 +48,7 @@ function arrayToSink(array, sink) {
|
|
|
46
48
|
}
|
|
47
49
|
}
|
|
48
50
|
function iterableToSink(array, sink) {
|
|
49
|
-
let effect = Effect.
|
|
51
|
+
let effect = Effect.void;
|
|
50
52
|
for (const item of array) {
|
|
51
53
|
effect = Effect.zipRight(effect, sink.onSuccess(item));
|
|
52
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-producer.js","sourceRoot":"","sources":["../../../src/internal/sync-producer.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"sync-producer.js","sourceRoot":"","sources":["../../../src/internal/sync-producer.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ class WithKey extends FxBase {
|
|
|
23
23
|
function runWithKey(fx, options, sink) {
|
|
24
24
|
return withSwitchFork((fork) => {
|
|
25
25
|
let previous = Option.none();
|
|
26
|
-
const run = fx.run(Sink.make((cause) => sink.onFailure(cause), (value) => Effect.gen(function* (
|
|
26
|
+
const run = fx.run(Sink.make((cause) => sink.onFailure(cause), (value) => Effect.gen(function* () {
|
|
27
27
|
const key = options.getKey(value);
|
|
28
28
|
// We don't need to do anything if the key is the same as the previous one
|
|
29
29
|
if (Option.isSome(previous)) {
|
|
@@ -31,15 +31,15 @@ function runWithKey(fx, options, sink) {
|
|
|
31
31
|
// If the key is the same, we just need to update the value
|
|
32
32
|
if (prev.key === key) {
|
|
33
33
|
prev.value = value;
|
|
34
|
-
yield*
|
|
34
|
+
yield* RefSubject.set(prev.ref, value);
|
|
35
35
|
return;
|
|
36
36
|
}
|
|
37
37
|
else {
|
|
38
38
|
// Otherwise, we need to remove the previous value
|
|
39
|
-
yield*
|
|
39
|
+
yield* prev.ref.interrupt;
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
|
-
const ref = yield*
|
|
42
|
+
const ref = yield* RefSubject.fromEffect(Effect.sync(() => state.value));
|
|
43
43
|
// Create a new state
|
|
44
44
|
const state = {
|
|
45
45
|
value,
|
|
@@ -48,9 +48,9 @@ function runWithKey(fx, options, sink) {
|
|
|
48
48
|
};
|
|
49
49
|
previous = Option.some(state);
|
|
50
50
|
// Create a new listener
|
|
51
|
-
yield*
|
|
51
|
+
yield* fork(options.onValue(state.ref, state.key).run(sink));
|
|
52
52
|
})));
|
|
53
|
-
return Effect.flatMap(run, () => Option.isSome(previous) ? previous.value.ref.interrupt : Effect.
|
|
53
|
+
return Effect.flatMap(run, () => Option.isSome(previous) ? previous.value.ref.interrupt : Effect.void);
|
|
54
54
|
}, ExecutionStrategy.sequential);
|
|
55
55
|
}
|
|
56
56
|
//# sourceMappingURL=withKey.js.map
|