@typed/fx 1.27.3 → 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 +27 -22
- 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 +29 -20
- 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 +55 -39
- 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
|
@@ -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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withKey.js","sourceRoot":"","sources":["../../../src/internal/withKey.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAA;AAC7D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAIvC,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,IAAI,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,MAAM,UAAU,OAAO,CACrB,EAAe,EACf,OAAwC;IAExC,OAAO,IAAI,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;AACjC,CAAC;AAED,MAAM,OAAmD,SAAQ,MAAuC;IACjF;IAA0B;IAA/C,YAAqB,EAAe,EAAW,OAAwC;QACrF,KAAK,EAAE,CAAA;QADY,OAAE,GAAF,EAAE,CAAa;QAAW,YAAO,GAAP,OAAO,CAAiC;IAEvF,CAAC;IAED,GAAG,CAAK,IAA8B;QACpC,OAAO,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAChD,CAAC;CACF;AAED,SAAS,UAAU,CACjB,EAAe,EACf,OAAwC,EACxC,IAA8B;IAE9B,OAAO,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE;QAC7B,IAAI,QAAQ,GAAsC,MAAM,CAAC,IAAI,EAAE,CAAA;QAE/D,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAC1B,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAChC,CAAC,KAAK,EAAE,EAAE,CACR,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC
|
|
1
|
+
{"version":3,"file":"withKey.js","sourceRoot":"","sources":["../../../src/internal/withKey.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@typed/fx",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.28.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -10,13 +10,14 @@
|
|
|
10
10
|
"sideEffects": [],
|
|
11
11
|
"author": "Typed contributors",
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@effect/schema": "^0.
|
|
14
|
-
"@effect/typeclass": "0.
|
|
15
|
-
"effect": "^
|
|
13
|
+
"@effect/schema": "^0.66.10",
|
|
14
|
+
"@effect/typeclass": "0.24.7",
|
|
15
|
+
"effect": "^3.0.7",
|
|
16
|
+
"fast-check": "^3.18.0",
|
|
16
17
|
"fast-deep-equal": "^3.1.3",
|
|
17
|
-
"@typed/async-data": "0.
|
|
18
|
-
"@typed/context": "0.
|
|
19
|
-
"@typed/guard": "0.
|
|
18
|
+
"@typed/async-data": "0.8.0",
|
|
19
|
+
"@typed/context": "0.26.0",
|
|
20
|
+
"@typed/guard": "0.2.0"
|
|
20
21
|
},
|
|
21
22
|
"peerDependencies": {
|
|
22
23
|
"@effect/typeclass": "0.22.12",
|
package/src/Emitter.ts
CHANGED
|
@@ -3,11 +3,12 @@
|
|
|
3
3
|
* @since 1.20.0
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { ExecutionStrategy, type Scope } from "effect"
|
|
7
6
|
import * as Cause from "effect/Cause"
|
|
8
7
|
import * as Effect from "effect/Effect"
|
|
8
|
+
import * as ExecutionStrategy from "effect/ExecutionStrategy"
|
|
9
9
|
import type * as Exit from "effect/Exit"
|
|
10
10
|
import * as Runtime from "effect/Runtime"
|
|
11
|
+
import type * as Scope from "effect/Scope"
|
|
11
12
|
import { withScope } from "./internal/helpers.js"
|
|
12
13
|
import * as Sink from "./Sink.js"
|
|
13
14
|
|
package/src/Form.ts
CHANGED
|
@@ -266,7 +266,7 @@ export function derive<
|
|
|
266
266
|
return Object.assign(form, {
|
|
267
267
|
persist: Effect.matchEffect(form.decoded, {
|
|
268
268
|
onFailure: (error: Fx.Error<typeof input> | ParseError) =>
|
|
269
|
-
isParseError(error) ? Effect.
|
|
269
|
+
isParseError(error) ? Effect.void : input.onFailure(Cause.fail(error)),
|
|
270
270
|
onSuccess: (a: O) => input.onSuccess(a)
|
|
271
271
|
})
|
|
272
272
|
})
|
|
@@ -292,7 +292,7 @@ export function deriveInput<
|
|
|
292
292
|
return Object.assign(form, {
|
|
293
293
|
persist: Effect.matchEffect(form, {
|
|
294
294
|
onFailure: (error: E | ParseError) =>
|
|
295
|
-
isParseError(error) ? Effect.
|
|
295
|
+
isParseError(error) ? Effect.void : input.onFailure(Cause.fail(error)),
|
|
296
296
|
onSuccess: (a: I) => input.onSuccess(a)
|
|
297
297
|
})
|
|
298
298
|
})
|
|
@@ -333,7 +333,7 @@ class FormImpl<Entries extends Form.AnyEntries> extends FxEffectBase<
|
|
|
333
333
|
this._fx = hold(
|
|
334
334
|
core.skipRepeatsWith(
|
|
335
335
|
core.struct(this.entries as any) as Fx<Form.Input<Entries>, Form.Error<Entries> | ParseError>,
|
|
336
|
-
make(S.
|
|
336
|
+
make(S.encodedSchema(this.schema))
|
|
337
337
|
)
|
|
338
338
|
)
|
|
339
339
|
}
|
|
@@ -375,7 +375,7 @@ function buildSchema<Entries extends Form.AnyEntries>(
|
|
|
375
375
|
}
|
|
376
376
|
}
|
|
377
377
|
|
|
378
|
-
return S.
|
|
378
|
+
return S.Struct(schemas) as any
|
|
379
379
|
}
|
|
380
380
|
|
|
381
381
|
type DeriveEntries<R, E, I extends Readonly<Record<PropertyKey, any>>, O extends Readonly<Record<keyof I, any>>> = {
|
|
@@ -397,29 +397,25 @@ const deriveMakeEntries = <
|
|
|
397
397
|
case "TypeLiteral": {
|
|
398
398
|
const propertySignatures = ast.propertySignatures
|
|
399
399
|
|
|
400
|
-
return Effect.gen(function*(
|
|
400
|
+
return Effect.gen(function*() {
|
|
401
401
|
const entries: any = {}
|
|
402
402
|
|
|
403
403
|
for (const prop of propertySignatures) {
|
|
404
404
|
const nested = propOf(input, prop.name)
|
|
405
|
-
const ast = prop.isOptional ? AST.
|
|
405
|
+
const ast = prop.isOptional ? AST.Union.make([prop.type, AST.undefinedKeyword]) : prop.type
|
|
406
406
|
|
|
407
407
|
if (prop.type._tag === "TypeLiteral") {
|
|
408
408
|
entries[prop.name] = Form(
|
|
409
|
-
(yield*
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
ast
|
|
413
|
-
)
|
|
409
|
+
(yield* deriveMakeEntries(
|
|
410
|
+
nested,
|
|
411
|
+
ast
|
|
414
412
|
)) as any
|
|
415
413
|
)
|
|
416
414
|
} else {
|
|
417
|
-
entries[prop.name] = yield*
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
})(nested as Fx<any, E, R>)
|
|
422
|
-
)
|
|
415
|
+
entries[prop.name] = yield* FormEntry.derive<any, any, any>({
|
|
416
|
+
name: prop.name,
|
|
417
|
+
schema: S.make(ast)
|
|
418
|
+
})(nested as Fx<any, E, R>)
|
|
423
419
|
}
|
|
424
420
|
}
|
|
425
421
|
|
|
@@ -447,29 +443,25 @@ const deriveMakeInputEntries = <
|
|
|
447
443
|
case "TypeLiteral": {
|
|
448
444
|
const propertySignatures = ast.propertySignatures
|
|
449
445
|
|
|
450
|
-
return Effect.gen(function*(
|
|
446
|
+
return Effect.gen(function*() {
|
|
451
447
|
const entries: any = {}
|
|
452
448
|
|
|
453
449
|
for (const prop of propertySignatures) {
|
|
454
|
-
const ast = prop.isOptional ? AST.
|
|
450
|
+
const ast = prop.isOptional ? AST.Union.make([prop.type, AST.undefinedKeyword]) : prop.type
|
|
455
451
|
const nested = propOf(input, prop.name)
|
|
456
452
|
|
|
457
453
|
if (prop.type._tag === "TypeLiteral") {
|
|
458
454
|
entries[prop.name] = Form(
|
|
459
|
-
(yield*
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
ast
|
|
463
|
-
)
|
|
455
|
+
(yield* deriveMakeInputEntries(
|
|
456
|
+
nested,
|
|
457
|
+
ast
|
|
464
458
|
)) as any
|
|
465
459
|
)
|
|
466
460
|
} else {
|
|
467
|
-
entries[prop.name] = yield*
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
})(nested as Fx<any, E, R>)
|
|
472
|
-
)
|
|
461
|
+
entries[prop.name] = yield* FormEntry.deriveInput<any, any, any>({
|
|
462
|
+
name: prop.name,
|
|
463
|
+
schema: S.make(ast)
|
|
464
|
+
})(nested as Fx<any, E, R>)
|
|
473
465
|
}
|
|
474
466
|
}
|
|
475
467
|
|
package/src/FormEntry.ts
CHANGED
|
@@ -81,7 +81,7 @@ export function derive<R, I, O>(options: FormEntryOptions<R, I, O>): MakeFormEnt
|
|
|
81
81
|
|
|
82
82
|
return Effect.map(
|
|
83
83
|
RefSubject.make(initial, {
|
|
84
|
-
eq: Equivalence.make(Schema.
|
|
84
|
+
eq: Equivalence.make(Schema.encodedSchema(options.schema))
|
|
85
85
|
}),
|
|
86
86
|
(inputRef): FormEntry<R, E, I, O> | FormEntry.Derived<R, R2, E, I, O> => {
|
|
87
87
|
if (RefSubject.isRefSubject<O, E, R2>(input)) {
|
|
@@ -118,7 +118,7 @@ export function deriveInput<R, I, O>(options: FormEntryOptions<R, I, O>): MakeIn
|
|
|
118
118
|
const initial: Fx.Fx<I, E | ParseError, R2> = Effect.isEffect(input) ? Fx.fromEffect(input) : input
|
|
119
119
|
|
|
120
120
|
return Effect.map(
|
|
121
|
-
RefSubject.make(initial, { eq: Equivalence.make(Schema.
|
|
121
|
+
RefSubject.make(initial, { eq: Equivalence.make(Schema.encodedSchema(options.schema)) }),
|
|
122
122
|
(inputRef): FormEntry<R, E, I, O> | FormEntry.Derived<R, R2, E, I, O> => {
|
|
123
123
|
if (RefSubject.isRefSubject<R2, E, O>(input)) {
|
|
124
124
|
const persist: Effect.Effect<O, ParseError | E, R | R2> = Effect.flatMap(
|