@typed/fx 1.11.9 → 1.11.10
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/RefSubject.d.ts.map +1 -1
- package/dist/RefSubject.js +13 -3
- package/dist/RefSubject.js.map +1 -1
- package/dist/_internal.d.ts +7 -2
- package/dist/_internal.d.ts.map +1 -1
- package/dist/_internal.js +34 -3
- package/dist/_internal.js.map +1 -1
- package/dist/catchAllCause.d.ts.map +1 -1
- package/dist/catchAllCause.js +3 -22
- package/dist/catchAllCause.js.map +1 -1
- package/dist/cjs/RefSubject.d.ts.map +1 -1
- package/dist/cjs/RefSubject.js +13 -3
- package/dist/cjs/RefSubject.js.map +1 -1
- package/dist/cjs/catchAllCause.d.ts.map +1 -1
- package/dist/cjs/catchAllCause.js +2 -21
- package/dist/cjs/catchAllCause.js.map +1 -1
- package/dist/cjs/combineAll.d.ts.map +1 -1
- package/dist/cjs/combineAll.js +1 -3
- package/dist/cjs/combineAll.js.map +1 -1
- package/dist/cjs/exhaustMap.d.ts.map +1 -1
- package/dist/cjs/exhaustMap.js +2 -21
- package/dist/cjs/exhaustMap.js.map +1 -1
- package/dist/cjs/exhaustMapCause.d.ts.map +1 -1
- package/dist/cjs/exhaustMapCause.js +2 -19
- package/dist/cjs/exhaustMapCause.js.map +1 -1
- package/dist/cjs/exhaustMapLatest.d.ts.map +1 -1
- package/dist/cjs/exhaustMapLatest.js +2 -71
- package/dist/cjs/exhaustMapLatest.js.map +1 -1
- package/dist/cjs/exhaustMapLatestCause.d.ts.map +1 -1
- package/dist/cjs/exhaustMapLatestCause.js +2 -69
- package/dist/cjs/exhaustMapLatestCause.js.map +1 -1
- package/dist/cjs/flatMap.d.ts.map +1 -1
- package/dist/cjs/flatMap.js +2 -20
- package/dist/cjs/flatMap.js.map +1 -1
- package/dist/cjs/helpers.d.ts +10 -0
- package/dist/cjs/helpers.d.ts.map +1 -0
- package/dist/cjs/helpers.js +103 -0
- package/dist/cjs/helpers.js.map +1 -0
- package/dist/cjs/multicast.d.ts +1 -1
- package/dist/cjs/multicast.d.ts.map +1 -1
- package/dist/cjs/multicast.js +14 -6
- package/dist/cjs/multicast.js.map +1 -1
- package/dist/cjs/switchMap.d.ts.map +1 -1
- package/dist/cjs/switchMap.js +2 -17
- package/dist/cjs/switchMap.js.map +1 -1
- package/dist/cjs/switchMapCause.d.ts.map +1 -1
- package/dist/cjs/switchMapCause.js +3 -13
- package/dist/cjs/switchMapCause.js.map +1 -1
- package/dist/cjs/switchMatch.d.ts.map +1 -1
- package/dist/cjs/switchMatch.js +2 -12
- package/dist/cjs/switchMatch.js.map +1 -1
- package/dist/cjs/throttle.d.ts.map +1 -1
- package/dist/cjs/throttle.js +2 -19
- package/dist/cjs/throttle.js.map +1 -1
- package/dist/combineAll.d.ts.map +1 -1
- package/dist/combineAll.js +1 -3
- package/dist/combineAll.js.map +1 -1
- package/dist/exhaustMap.d.ts.map +1 -1
- package/dist/exhaustMap.js +2 -21
- package/dist/exhaustMap.js.map +1 -1
- package/dist/exhaustMapCause.d.ts.map +1 -1
- package/dist/exhaustMapCause.js +3 -20
- package/dist/exhaustMapCause.js.map +1 -1
- package/dist/exhaustMapLatest.d.ts.map +1 -1
- package/dist/exhaustMapLatest.js +2 -48
- package/dist/exhaustMapLatest.js.map +1 -1
- package/dist/exhaustMapLatestCause.d.ts.map +1 -1
- package/dist/exhaustMapLatestCause.js +3 -47
- package/dist/exhaustMapLatestCause.js.map +1 -1
- package/dist/flatMap.d.ts.map +1 -1
- package/dist/flatMap.js +2 -20
- package/dist/flatMap.js.map +1 -1
- package/dist/helpers.d.ts +10 -0
- package/dist/helpers.d.ts.map +1 -0
- package/dist/helpers.js +95 -0
- package/dist/helpers.js.map +1 -0
- package/dist/multicast.d.ts +1 -1
- package/dist/multicast.d.ts.map +1 -1
- package/dist/multicast.js +14 -6
- package/dist/multicast.js.map +1 -1
- package/dist/switchMap.d.ts.map +1 -1
- package/dist/switchMap.js +2 -17
- package/dist/switchMap.js.map +1 -1
- package/dist/switchMapCause.d.ts.map +1 -1
- package/dist/switchMapCause.js +4 -14
- package/dist/switchMapCause.js.map +1 -1
- package/dist/switchMatch.d.ts.map +1 -1
- package/dist/switchMatch.js +3 -13
- package/dist/switchMatch.js.map +1 -1
- package/dist/throttle.d.ts.map +1 -1
- package/dist/throttle.js +3 -20
- package/dist/throttle.js.map +1 -1
- package/dist/tsconfig.cjs.build.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/RefSubject.test.ts +3 -1
- package/src/RefSubject.ts +32 -17
- package/src/catchAllCause.ts +5 -44
- package/src/combineAll.ts +1 -3
- package/src/exhaustMap.ts +3 -41
- package/src/exhaustMapCause.ts +3 -39
- package/src/exhaustMapLatest.ts +3 -72
- package/src/exhaustMapLatestCause.ts +3 -70
- package/src/flatMap.ts +3 -46
- package/src/helpers.ts +171 -0
- package/src/multicast.test.ts +25 -0
- package/src/multicast.ts +21 -14
- package/src/switchMap.ts +3 -35
- package/src/switchMapCause.ts +5 -40
- package/src/switchMatch.ts +9 -42
- package/src/throttle.ts +5 -33
- package/tsconfig.build.tsbuildinfo +1 -1
package/dist/multicast.js
CHANGED
|
@@ -15,9 +15,8 @@ export class MulticastFx {
|
|
|
15
15
|
};
|
|
16
16
|
this.observers = [];
|
|
17
17
|
this.addTrace = (trace) => {
|
|
18
|
-
return
|
|
18
|
+
return Traced(this.fx, trace);
|
|
19
19
|
};
|
|
20
|
-
this.error = (cause) => Effect.suspend(() => Effect.forEachDiscard(this.observers.slice(0), (observer) => this.runError(observer, cause)));
|
|
21
20
|
this.run = this.run.bind(this);
|
|
22
21
|
this.event = this.event.bind(this);
|
|
23
22
|
this.error = this.error.bind(this);
|
|
@@ -26,19 +25,28 @@ export class MulticastFx {
|
|
|
26
25
|
const { observers } = this;
|
|
27
26
|
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
28
27
|
const that = this;
|
|
29
|
-
return Effect.
|
|
28
|
+
return Effect.gen(function* ($) {
|
|
30
29
|
const context = yield* $(Effect.context());
|
|
31
30
|
const observer = { sink, context };
|
|
32
31
|
if (observers.push(observer) === 1) {
|
|
33
|
-
that.fiber = yield* $(Effect.forkDaemon(
|
|
32
|
+
that.fiber = yield* $(Effect.forkDaemon(that.fx.run(that)));
|
|
34
33
|
}
|
|
35
34
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
36
|
-
yield* $(Effect.ensuring(
|
|
37
|
-
})
|
|
35
|
+
yield* $(Effect.ensuring(Fiber.await(that.fiber), that.removeSink(sink)));
|
|
36
|
+
});
|
|
38
37
|
}
|
|
39
38
|
event(a) {
|
|
39
|
+
if (this.observers.length === 0) {
|
|
40
|
+
return Effect.unit();
|
|
41
|
+
}
|
|
40
42
|
return Effect.suspend(() => Effect.forEachDiscard(this.observers.slice(0), (observer) => this.runEvent(observer, a)));
|
|
41
43
|
}
|
|
44
|
+
error(cause) {
|
|
45
|
+
if (this.observers.length === 0) {
|
|
46
|
+
return Effect.unit();
|
|
47
|
+
}
|
|
48
|
+
return Effect.suspend(() => Effect.forEachDiscard(this.observers.slice(0), (observer) => this.runError(observer, cause)));
|
|
49
|
+
}
|
|
42
50
|
runEvent(observer, a) {
|
|
43
51
|
return Effect.catchAllCause(Effect.provideContext(observer.sink.event(a), observer.context), () => this.removeSink(observer.sink));
|
|
44
52
|
}
|
package/dist/multicast.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multicast.js","sourceRoot":"","sources":["../src/multicast.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAGhD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAE1C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAE9C,MAAM,UAAU,SAAS,CAAU,EAAe;IAChD,OAAO,IAAI,WAAW,CAAC,EAAE,CAAC,CAAA;AAC5B,CAAC;AAOD,MAAM,OAAO,WAAW;IAUtB,YAAqB,EAAe;QAAf,OAAE,GAAF,EAAE,CAAa;QAT3B,QAAU,GAAG;YACpB,EAAE,EAAE,QAAQ;YACZ,EAAE,EAAE,QAAQ;YACZ,EAAE,EAAE,QAAQ;SACb,CAAA;QAES,cAAS,GAAwC,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"multicast.js","sourceRoot":"","sources":["../src/multicast.ts"],"names":[],"mappings":"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"}
|
package/dist/switchMap.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switchMap.d.ts","sourceRoot":"","sources":["../src/switchMap.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"switchMap.d.ts","sourceRoot":"","sources":["../src/switchMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAQ,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAIvC,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAC1C,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACf,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GACzB,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAIvB;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAChD,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACf,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GACpC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAEvB;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAEhG;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAChD,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,GACrC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAEvB"}
|
package/dist/switchMap.js
CHANGED
|
@@ -1,23 +1,8 @@
|
|
|
1
|
-
import { pipe } from '@effect/data/Function';
|
|
2
1
|
import { Fx, Sink } from './Fx.js';
|
|
3
|
-
import { Cause, Effect, Fiber, Runtime } from './externals.js';
|
|
4
2
|
import { fromEffect } from './fromEffect.js';
|
|
3
|
+
import { withSwitch } from './helpers.js';
|
|
5
4
|
export function switchMap(fx, f) {
|
|
6
|
-
return Fx((sink) =>
|
|
7
|
-
const runFork = Runtime.runFork(yield* $(Effect.runtime()));
|
|
8
|
-
let ref;
|
|
9
|
-
const switchEvent = (a) => Effect.gen(function* ($) {
|
|
10
|
-
if (ref) {
|
|
11
|
-
yield* $(Fiber.interruptFork(ref));
|
|
12
|
-
}
|
|
13
|
-
ref = runFork(pipe(f(a).run(Sink(sink.event, (cause) => Cause.isInterruptedOnly(cause) ? Effect.unit() : sink.error(cause))), Effect.zipLeft(Effect.sync(() => (ref = undefined))), Effect.catchAllCause((cause) => Cause.isInterruptedOnly(cause) ? Effect.unit() : sink.error(cause))));
|
|
14
|
-
});
|
|
15
|
-
yield* $(fx.run(Sink(switchEvent, sink.error)));
|
|
16
|
-
// Wait for the last fiber to finish
|
|
17
|
-
if (ref) {
|
|
18
|
-
yield* $(Fiber.join(ref));
|
|
19
|
-
}
|
|
20
|
-
}));
|
|
5
|
+
return Fx((sink) => withSwitch((fork) => fx.run(Sink((a) => fork(f(a).run(sink)), sink.error))));
|
|
21
6
|
}
|
|
22
7
|
export function switchMapEffect(fx, f) {
|
|
23
8
|
return switchMap(fx, (a) => fromEffect(f(a)));
|
package/dist/switchMap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switchMap.js","sourceRoot":"","sources":["../src/switchMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"switchMap.js","sourceRoot":"","sources":["../src/switchMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAElC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,UAAU,SAAS,CACvB,EAAe,EACf,CAA0B;IAE1B,OAAO,EAAE,CAAC,CAAK,IAAyB,EAAE,EAAE,CAC1C,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAC5E,CAAA;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,EAAe,EACf,CAAqC;IAErC,OAAO,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC/C,CAAC;AAED,MAAM,UAAU,YAAY,CAAkB,EAA2B;IACvE,OAAO,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;AAChC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,EAAsC;IAEtC,OAAO,eAAe,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;AACtC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switchMapCause.d.ts","sourceRoot":"","sources":["../src/switchMapCause.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"switchMapCause.d.ts","sourceRoot":"","sources":["../src/switchMapCause.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAU,MAAM,gBAAgB,CAAA;AAMtD,wBAAgB,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAC/C,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACf,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAC1C,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAEvB;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EACrD,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACf,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GACrD,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAEvB;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAC/C,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACf,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GACzB,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAIvB;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EACrD,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACf,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GACxC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAEvB"}
|
package/dist/switchMapCause.js
CHANGED
|
@@ -1,21 +1,11 @@
|
|
|
1
1
|
import { pipe } from '@effect/data/Function';
|
|
2
|
-
import {
|
|
3
|
-
import { Cause, Effect, Either, Fiber, RefS, Runtime } from './externals.js';
|
|
2
|
+
import { Cause, Either } from './externals.js';
|
|
4
3
|
import { failCause } from './failCause.js';
|
|
5
4
|
import { fromEffect } from './fromEffect.js';
|
|
5
|
+
import { succeed } from './succeed.js';
|
|
6
|
+
import { switchMatchCause } from './switchMatch.js';
|
|
6
7
|
export function switchMapCause(fx, f) {
|
|
7
|
-
return
|
|
8
|
-
const runFork = Runtime.runFork(yield* $(Effect.runtime()));
|
|
9
|
-
const ref = yield* $(RefS.make(null));
|
|
10
|
-
const reset = RefS.set(ref, null);
|
|
11
|
-
const switchError = (cause) => RefS.updateEffect(ref, (currentFiber) => pipe(currentFiber ? Fiber.interruptFork(currentFiber) : Effect.unit(), Effect.map(() => pipe(f(cause).run(Sink(sink.event, (cause) => Cause.isInterruptedOnly(cause) ? Effect.unit() : sink.error(cause))), Effect.zipLeft(reset), Effect.catchAllCause((cause) => Cause.isInterruptedOnly(cause) ? Effect.unit() : sink.error(cause)), runFork))));
|
|
12
|
-
yield* $(fx.run(Sink(sink.event, switchError)));
|
|
13
|
-
// Wait for the last fiber to finish
|
|
14
|
-
const fiber = yield* $(RefS.get(ref));
|
|
15
|
-
if (fiber) {
|
|
16
|
-
yield* $(Fiber.join(fiber));
|
|
17
|
-
}
|
|
18
|
-
}));
|
|
8
|
+
return switchMatchCause(fx, f, succeed);
|
|
19
9
|
}
|
|
20
10
|
export function switchMapCauseEffect(fx, f) {
|
|
21
11
|
return switchMapCause(fx, (a) => fromEffect(f(a)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switchMapCause.js","sourceRoot":"","sources":["../src/switchMapCause.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"switchMapCause.js","sourceRoot":"","sources":["../src/switchMapCause.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAG5C,OAAO,EAAE,KAAK,EAAU,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAEnD,MAAM,UAAU,cAAc,CAC5B,EAAe,EACf,CAA2C;IAE3C,OAAO,gBAAgB,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,EAAe,EACf,CAAsD;IAEtD,OAAO,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACpD,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,EAAe,EACf,CAA0B;IAE1B,OAAO,cAAc,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAClC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAC9D,CAAA;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,EAAe,EACf,CAAyC;IAEzC,OAAO,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACpD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switchMatch.d.ts","sourceRoot":"","sources":["../src/switchMatch.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAQ,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"switchMatch.d.ts","sourceRoot":"","sources":["../src/switchMatch.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAQ,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAU,MAAM,gBAAgB,CAAA;AAKtD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAC5D,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACf,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAC3C,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GACzB,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAWjC;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EACvD,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACf,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAC9B,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GACzB,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAMjC;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAClE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACf,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EACtD,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GACpC,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAMjC;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAC7D,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACf,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EACzC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GACpC,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAMjC"}
|
package/dist/switchMatch.js
CHANGED
|
@@ -1,21 +1,11 @@
|
|
|
1
1
|
import { pipe } from '@effect/data/Function';
|
|
2
2
|
import { Fx, Sink } from './Fx.js';
|
|
3
|
-
import { Cause,
|
|
3
|
+
import { Cause, Either } from './externals.js';
|
|
4
4
|
import { failCause } from './failCause.js';
|
|
5
5
|
import { fromEffect } from './fromEffect.js';
|
|
6
|
+
import { withSwitch } from './helpers.js';
|
|
6
7
|
export function switchMatchCause(fx, f, g) {
|
|
7
|
-
return Fx((sink) =>
|
|
8
|
-
const runFork = Runtime.runFork(yield* $(Effect.runtime()));
|
|
9
|
-
const ref = yield* $(RefS.make(null));
|
|
10
|
-
const reset = RefS.set(ref, null);
|
|
11
|
-
const switchWith = (f) => RefS.updateEffect(ref, (currentFiber) => pipe(currentFiber ? Fiber.interruptFork(currentFiber) : Effect.unit(), Effect.map(() => pipe(f().run(Sink(sink.event, (cause) => Cause.isInterruptedOnly(cause) ? Effect.unit() : sink.error(cause))), Effect.zipLeft(reset), Effect.catchAllCause((cause) => Cause.isInterruptedOnly(cause) ? Effect.unit() : sink.error(cause)), runFork))));
|
|
12
|
-
yield* $(fx.run(Sink((a) => switchWith(() => g(a)), (cause) => switchWith(() => f(cause)))));
|
|
13
|
-
// Wait for the last fiber to finish
|
|
14
|
-
const fiber = yield* $(RefS.get(ref));
|
|
15
|
-
if (fiber) {
|
|
16
|
-
yield* $(Fiber.join(fiber));
|
|
17
|
-
}
|
|
18
|
-
}));
|
|
8
|
+
return Fx((sink) => withSwitch((fork) => fx.run(Sink((a) => fork(g(a).run(sink)), (cause) => fork(f(cause).run(sink))))));
|
|
19
9
|
}
|
|
20
10
|
export function switchMatch(fx, f, g) {
|
|
21
11
|
return switchMatchCause(fx, (cause) => pipe(cause, Cause.failureOrCause, Either.match(f, failCause)), g);
|
package/dist/switchMatch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switchMatch.js","sourceRoot":"","sources":["../src/switchMatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAE5C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"switchMatch.js","sourceRoot":"","sources":["../src/switchMatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAE5C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,KAAK,EAAU,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,UAAU,gBAAgB,CAC9B,EAAe,EACf,CAA2C,EAC3C,CAA0B;IAE1B,OAAO,EAAE,CAAC,CAAK,IAA8B,EAAE,EAAE,CAC/C,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE,CAClB,EAAE,CAAC,GAAG,CACJ,IAAI,CACF,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAC3B,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CACpC,CACF,CACF,CACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,EAAe,EACf,CAA8B,EAC9B,CAA0B;IAE1B,OAAO,gBAAgB,CACrB,EAAE,EACF,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EACxE,CAAC,CACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,EAAe,EACf,CAAsD,EACtD,CAAqC;IAErC,OAAO,gBAAgB,CACrB,EAAE,EACF,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACvB,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACxB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,EAAe,EACf,CAAyC,EACzC,CAAqC;IAErC,OAAO,WAAW,CAChB,EAAE,EACF,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACvB,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACxB,CAAA;AACH,CAAC"}
|
package/dist/throttle.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"throttle.d.ts","sourceRoot":"","sources":["../src/throttle.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"throttle.d.ts","sourceRoot":"","sources":["../src/throttle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAQ,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,QAAQ,EAAU,MAAM,gBAAgB,CAAA;AAGjD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAM3F"}
|
package/dist/throttle.js
CHANGED
|
@@ -1,24 +1,7 @@
|
|
|
1
|
-
import { pipe } from '@effect/data/Function';
|
|
2
1
|
import { Fx, Sink } from './Fx.js';
|
|
3
|
-
import {
|
|
2
|
+
import { Effect } from './externals.js';
|
|
3
|
+
import { withExhaust } from './helpers.js';
|
|
4
4
|
export function throttle(fx, duration) {
|
|
5
|
-
return Fx((sink) => Effect.
|
|
6
|
-
const runFork = Runtime.runFork(yield* $(Effect.runtime()));
|
|
7
|
-
const ref = yield* $(Ref.make(void 0));
|
|
8
|
-
const reset = Ref.set(ref, void 0);
|
|
9
|
-
const throttleEvent = (a) => Effect.gen(function* ($) {
|
|
10
|
-
const currentFiber = yield* $(Ref.get(ref));
|
|
11
|
-
if (currentFiber) {
|
|
12
|
-
return;
|
|
13
|
-
}
|
|
14
|
-
yield* $(Ref.set(ref, pipe(sink.event(a), Effect.zipLeft(Effect.delay(reset, duration)), runFork)));
|
|
15
|
-
});
|
|
16
|
-
yield* $(fx.run(Sink(throttleEvent, sink.error)));
|
|
17
|
-
// Wait for the last fiber to finish
|
|
18
|
-
const fiber = yield* $(Ref.get(ref));
|
|
19
|
-
if (fiber) {
|
|
20
|
-
yield* $(Fiber.join(fiber));
|
|
21
|
-
}
|
|
22
|
-
}));
|
|
5
|
+
return Fx((sink) => withExhaust((fork) => fx.run(Sink((a) => fork(Effect.zipLeft(sink.event(a), Effect.sleep(duration))), sink.error))));
|
|
23
6
|
}
|
|
24
7
|
//# sourceMappingURL=throttle.js.map
|
package/dist/throttle.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"throttle.js","sourceRoot":"","sources":["../src/throttle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"throttle.js","sourceRoot":"","sources":["../src/throttle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,EAAY,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1C,MAAM,UAAU,QAAQ,CAAU,EAAe,EAAE,QAA2B;IAC5E,OAAO,EAAE,CAAC,CAAK,IAAoB,EAAE,EAAE,CACrC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CACnB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAC7F,CACF,CAAA;AACH,CAAC"}
|