@typed/fx 1.0.14 → 1.0.16
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/Fx.d.ts +6 -0
- package/dist/Fx.d.ts.map +1 -1
- package/dist/Fx.js.map +1 -1
- package/dist/Subject/HoldSubject.d.ts +1 -1
- package/dist/Subject/HoldSubject.d.ts.map +1 -1
- package/dist/Subject/HoldSubject.js +1 -1
- package/dist/Subject/HoldSubject.js.map +1 -1
- package/dist/Subject/RefSubject.js +2 -2
- package/dist/Subject/RefSubject.js.map +1 -1
- package/dist/Subject/SynchronizedSubject.js +2 -2
- package/dist/Subject/SynchronizedSubject.js.map +1 -1
- package/dist/_internal/RefCounter.js +1 -1
- package/dist/_internal/RefCounter.js.map +1 -1
- package/dist/constructor/at.d.ts +1 -1
- package/dist/constructor/at.d.ts.map +1 -1
- package/dist/constructor/periodic.d.ts +1 -1
- package/dist/constructor/periodic.d.ts.map +1 -1
- package/dist/constructor/service.d.ts +1 -1
- package/dist/constructor/service.d.ts.map +1 -1
- package/dist/constructor/serviceWith.d.ts +1 -1
- package/dist/constructor/serviceWith.d.ts.map +1 -1
- package/dist/constructor/serviceWithEffect.d.ts +1 -1
- package/dist/constructor/serviceWithEffect.d.ts.map +1 -1
- package/dist/constructor/serviceWithFx.d.ts +1 -1
- package/dist/constructor/serviceWithFx.d.ts.map +1 -1
- package/dist/operator/catchTag.d.ts +20 -0
- package/dist/operator/catchTag.d.ts.map +1 -0
- package/dist/operator/catchTag.js +14 -0
- package/dist/operator/catchTag.js.map +1 -0
- package/dist/operator/contramapContext.d.ts +1 -1
- package/dist/operator/contramapContext.d.ts.map +1 -1
- package/dist/operator/contramapContext.js +1 -1
- package/dist/operator/contramapContext.js.map +1 -1
- package/dist/operator/debounce.d.ts +1 -1
- package/dist/operator/debounce.d.ts.map +1 -1
- package/dist/operator/delay.d.ts +1 -1
- package/dist/operator/delay.d.ts.map +1 -1
- package/dist/operator/exhaustMap.d.ts +3 -2
- package/dist/operator/exhaustMap.d.ts.map +1 -1
- package/dist/operator/exhaustMap.js +2 -4
- package/dist/operator/exhaustMap.js.map +1 -1
- package/dist/operator/flatMap.d.ts +3 -1
- package/dist/operator/flatMap.d.ts.map +1 -1
- package/dist/operator/flatMap.js +2 -4
- package/dist/operator/flatMap.js.map +1 -1
- package/dist/operator/hold.d.ts +1 -1
- package/dist/operator/hold.d.ts.map +1 -1
- package/dist/operator/hold.js +1 -1
- package/dist/operator/hold.js.map +1 -1
- package/dist/operator/index.d.ts +1 -0
- package/dist/operator/index.d.ts.map +1 -1
- package/dist/operator/index.js +1 -0
- package/dist/operator/index.js.map +1 -1
- package/dist/operator/map.d.ts +4 -1
- package/dist/operator/map.d.ts.map +1 -1
- package/dist/operator/map.js +2 -3
- package/dist/operator/map.js.map +1 -1
- package/dist/operator/multicast.d.ts +1 -1
- package/dist/operator/multicast.d.ts.map +1 -1
- package/dist/operator/onInterrupt.d.ts +1 -1
- package/dist/operator/onInterrupt.d.ts.map +1 -1
- package/dist/operator/provideContext.d.ts +1 -1
- package/dist/operator/provideContext.d.ts.map +1 -1
- package/dist/operator/provideContext.js +1 -1
- package/dist/operator/provideContext.js.map +1 -1
- package/dist/operator/provideService.d.ts +1 -1
- package/dist/operator/provideService.d.ts.map +1 -1
- package/dist/operator/provideServiceEffect.d.ts +1 -1
- package/dist/operator/provideServiceEffect.d.ts.map +1 -1
- package/dist/operator/skipRepeats.js +1 -1
- package/dist/operator/skipRepeats.js.map +1 -1
- package/dist/operator/switchMap.d.ts +3 -1
- package/dist/operator/switchMap.d.ts.map +1 -1
- package/dist/operator/switchMap.js +2 -4
- package/dist/operator/switchMap.js.map +1 -1
- package/dist/operator/switchMapCause.d.ts +7 -0
- package/dist/operator/switchMapCause.d.ts.map +1 -1
- package/dist/operator/switchMapCause.js +4 -0
- package/dist/operator/switchMapCause.js.map +1 -1
- package/dist/operator/throttle.d.ts +1 -1
- package/dist/operator/throttle.d.ts.map +1 -1
- package/dist/typeclass/Bicovariant.d.ts +1 -0
- package/dist/typeclass/Bicovariant.d.ts.map +1 -1
- package/dist/typeclass/Bicovariant.js +3 -2
- package/dist/typeclass/Bicovariant.js.map +1 -1
- package/dist/typeclass/Covariant.d.ts.map +1 -1
- package/dist/typeclass/Covariant.js +4 -1
- package/dist/typeclass/Covariant.js.map +1 -1
- package/dist/typeclass/SemiProduct.d.ts +3 -0
- package/dist/typeclass/SemiProduct.d.ts.map +1 -1
- package/dist/typeclass/SemiProduct.js +5 -2
- package/dist/typeclass/SemiProduct.js.map +1 -1
- package/package.json +5 -5
- package/src/Fx.ts +6 -0
- package/src/Subject/HoldSubject.test.ts +1 -1
- package/src/Subject/HoldSubject.ts +1 -1
- package/src/Subject/RefSubject.ts +2 -2
- package/src/Subject/SynchronizedSubject.ts +2 -2
- package/src/_internal/RefCounter.ts +1 -1
- package/src/constructor/at.ts +1 -1
- package/src/constructor/periodic.ts +1 -1
- package/src/constructor/service.ts +1 -1
- package/src/constructor/serviceWith.ts +1 -1
- package/src/constructor/serviceWithEffect.ts +1 -1
- package/src/constructor/serviceWithFx.ts +1 -1
- package/src/operator/catchTag.ts +56 -0
- package/src/operator/combine.test.ts +1 -1
- package/src/operator/concatMap.test.ts +1 -1
- package/src/operator/contramapContext.ts +1 -1
- package/src/operator/debounce.test.ts +1 -1
- package/src/operator/debounce.ts +1 -1
- package/src/operator/delay.ts +1 -1
- package/src/operator/exhaustMap.test.ts +1 -1
- package/src/operator/exhaustMap.ts +7 -4
- package/src/operator/exhaustMapLatest.test.ts +1 -1
- package/src/operator/flatMap.test.ts +1 -1
- package/src/operator/flatMap.ts +7 -6
- package/src/operator/flatMapConcurrently.test.ts +1 -1
- package/src/operator/hold.test.ts +1 -1
- package/src/operator/hold.ts +1 -1
- package/src/operator/index.ts +1 -0
- package/src/operator/map.ts +6 -3
- package/src/operator/merge.test.ts +1 -1
- package/src/operator/mergeRace.test.ts +1 -1
- package/src/operator/multicast.test.ts +1 -1
- package/src/operator/multicast.ts +1 -1
- package/src/operator/onInterrupt.ts +1 -1
- package/src/operator/provideContext.ts +1 -1
- package/src/operator/provideService.test.ts +1 -1
- package/src/operator/provideService.ts +1 -1
- package/src/operator/provideServiceEffect.test.ts +1 -1
- package/src/operator/provideServiceEffect.ts +1 -1
- package/src/operator/race.test.ts +1 -1
- package/src/operator/race.ts +1 -1
- package/src/operator/scanEffect.test.ts +1 -1
- package/src/operator/separate.test.ts +1 -1
- package/src/operator/skipRepeats.ts +1 -1
- package/src/operator/snapshot.test.ts +1 -1
- package/src/operator/snapshotEffect.test.ts +1 -1
- package/src/operator/struct.test.ts +1 -1
- package/src/operator/switchMap.test.ts +1 -1
- package/src/operator/switchMap.ts +7 -6
- package/src/operator/switchMapCause.test.ts +1 -1
- package/src/operator/switchMapCause.ts +15 -0
- package/src/operator/switchMatch.test.ts +1 -1
- package/src/operator/throttle.test.ts +1 -1
- package/src/operator/throttle.ts +1 -1
- package/src/operator/zip.test.ts +1 -1
- package/src/typeclass/Bicovariant.ts +8 -2
- package/src/typeclass/Covariant.ts +4 -1
- package/src/typeclass/SemiProduct.ts +11 -5
- package/tsconfig.build.tsbuildinfo +1 -1
|
@@ -3,7 +3,7 @@ import * as Deferred from '@effect/io/Deferred';
|
|
|
3
3
|
import * as Effect from '@effect/io/Effect';
|
|
4
4
|
import type { RuntimeFiber } from '@effect/io/Fiber';
|
|
5
5
|
import type { Scope } from '@effect/io/Scope';
|
|
6
|
-
import type { Context } from '@
|
|
6
|
+
import type { Context } from '@effect/data/Context';
|
|
7
7
|
import { Fx } from '../Fx.js';
|
|
8
8
|
export declare const multicast: <R, E, A>(fx: Fx<R, E, A>) => Fx<R, E, A>;
|
|
9
9
|
export declare class MulticastFx<R, E, A> extends Fx.Variance<R, E, A> implements Fx<R, E, A>, Fx.Sink<never, E, A> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multicast.d.ts","sourceRoot":"","sources":["../../src/operator/multicast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAE3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"multicast.d.ts","sourceRoot":"","sources":["../../src/operator/multicast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAE3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAEnD,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAA;AAG7B,eAAO,MAAM,SAAS,2CAAiE,CAAA;AAEvF,qBAAa,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAC9B,SAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAC3B,YAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAKhC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAHpC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAK;IAC7D,SAAS,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;gBAEpC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAOpC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;IA4B5E,KAAK,CAAC,CAAC,EAAE,CAAC;IAMV,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IASrB,IAAI,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAQ3C;IAED,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,iBAAiB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAI/D,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,iBAAiB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAS1E,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IASvD,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,iBAAiB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAS/D,SAAS,CAAC,OAAO;CAQlB;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC/B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IAC5B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;CACrD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as Effect from '@effect/io/Effect';
|
|
2
2
|
import type { FiberId } from '@effect/io/Fiber/Id';
|
|
3
|
-
import type { HashSet } from '@
|
|
3
|
+
import type { HashSet } from '@effect/data/HashSet';
|
|
4
4
|
import { Fx } from '../Fx.js';
|
|
5
5
|
export declare function onInterrupt<R2, E2, B>(f: (interruptors: HashSet<FiberId>) => Effect.Effect<R2, E2, B>): <R, E, A>(fx: Fx<R, E, A>) => Fx<R2 | R, E2 | E, A>;
|
|
6
6
|
//# sourceMappingURL=onInterrupt.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onInterrupt.d.ts","sourceRoot":"","sources":["../../src/operator/onInterrupt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"onInterrupt.d.ts","sourceRoot":"","sources":["../../src/operator/onInterrupt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAEnD,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAA;AAE7B,wBAAgB,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EACnC,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,uDAGhE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as Context from '@
|
|
1
|
+
import * as Context from '@effect/data/Context';
|
|
2
2
|
import { Fx } from '../Fx.js';
|
|
3
3
|
export declare function provideContext<R>(context: Context.Context<R>): <E, A>(self: Fx<R, E, A>) => Fx<never, E, A>;
|
|
4
4
|
//# sourceMappingURL=provideContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provideContext.d.ts","sourceRoot":"","sources":["../../src/operator/provideContext.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,OAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"provideContext.d.ts","sourceRoot":"","sources":["../../src/operator/provideContext.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAE/C,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAA;AAE7B,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,gDAE5D"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as Effect from '@effect/io/Effect';
|
|
2
2
|
import { pipe } from '@fp-ts/core/Function';
|
|
3
|
-
import * as Context from '@
|
|
3
|
+
import * as Context from '@effect/data/Context';
|
|
4
4
|
import { Fx } from '../Fx.js';
|
|
5
5
|
export function provideContext(context) {
|
|
6
6
|
return (self) => new ProvideContextFx(self, context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provideContext.js","sourceRoot":"","sources":["../../src/operator/provideContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAE3C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,KAAK,OAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"provideContext.js","sourceRoot":"","sources":["../../src/operator/provideContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAE3C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAE/C,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAA;AAE7B,MAAM,UAAU,cAAc,CAAI,OAA2B;IAC3D,OAAO,CAAO,IAAiB,EAAmB,EAAE,CAAC,IAAI,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AAC1F,CAAC;AAED,MAAM,gBAA0B,SAAQ,EAAE,CAAC,QAAqB;IAC9D,YAAqB,IAAiB,EAAW,OAA2B;QAC1E,KAAK,EAAE,CAAA;QADY,SAAI,GAAJ,IAAI,CAAa;QAAW,YAAO,GAAP,OAAO,CAAoB;IAE5E,CAAC;IAED,GAAG,CAAK,IAAuB;QAC7B,OAAO,IAAI,CACT,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EACnB,MAAM,CAAC,gBAAgB,CAA6B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CACjF,CAAA;IACH,CAAC;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type * as Context from '@
|
|
1
|
+
import type * as Context from '@effect/data/Context';
|
|
2
2
|
import { Fx } from '../Fx.js';
|
|
3
3
|
export declare function provideService<S>(tag: Context.Tag<S>): (service: S) => <R, E, A>(self: Fx<S | R, E, A>) => Fx<Exclude<R, S>, E, A>;
|
|
4
4
|
//# sourceMappingURL=provideService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provideService.d.ts","sourceRoot":"","sources":["../../src/operator/provideService.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,OAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"provideService.d.ts","sourceRoot":"","sources":["../../src/operator/provideService.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAEpD,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAA;AAE7B,wBAAgB,cAAc,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,aAClC,CAAC,iEAInB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as Effect from '@effect/io/Effect';
|
|
2
|
-
import type * as Context from '@
|
|
2
|
+
import type * as Context from '@effect/data/Context';
|
|
3
3
|
import { Fx } from '../Fx.js';
|
|
4
4
|
export declare function provideServiceEffect<S, R2, E2>(tag: Context.Tag<S>, service: Effect.Effect<R2, E2, S>): <R, E, A>(self: Fx<S | R, E, A>) => Fx<Exclude<R2, S> | Exclude<R, S>, E2 | E, A>;
|
|
5
5
|
//# sourceMappingURL=provideServiceEffect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provideServiceEffect.d.ts","sourceRoot":"","sources":["../../src/operator/provideServiceEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAG3C,OAAO,KAAK,KAAK,OAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"provideServiceEffect.d.ts","sourceRoot":"","sources":["../../src/operator/provideServiceEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAG3C,OAAO,KAAK,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAEpD,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAA;AAE7B,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAC5C,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EACnB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,qFAIlC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as Effect from '@effect/io/Effect';
|
|
2
2
|
import { pipe } from '@fp-ts/core/Function';
|
|
3
3
|
import * as Option from '@fp-ts/core/Option';
|
|
4
|
-
import { equals } from '@
|
|
4
|
+
import { equals } from '@effect/data/Equal';
|
|
5
5
|
import { Fx } from '../Fx.js';
|
|
6
6
|
export function skipRepeatsWith(equals) {
|
|
7
7
|
return (self) => new SkipRepeatsWithFx(self, equals);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skipRepeats.js","sourceRoot":"","sources":["../../src/operator/skipRepeats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"skipRepeats.js","sourceRoot":"","sources":["../../src/operator/skipRepeats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAE3C,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAA;AAE7B,MAAM,UAAU,eAAe,CAAI,MAAwC;IACzE,OAAO,CAAO,IAAiB,EAAe,EAAE,CAAC,IAAI,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;AACtF,CAAC;AAED,MAAM,UAAU,WAAW,CAAU,EAAe;IAClD,OAAO,IAAI,CACT,EAAE,EACF,eAAe,CAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAC7D,CAAA;AACH,CAAC;AAED,MAAM,iBAA2B,SAAQ,EAAE,CAAC,QAAiB;IAC3D,YAAqB,IAAiB,EAAW,MAAwC;QACvF,KAAK,EAAE,CAAA;QADY,SAAI,GAAJ,IAAI,CAAa;QAAW,WAAM,GAAN,MAAM,CAAkC;IAEzF,CAAC;IAED,GAAG,CAAK,IAAuB;QAC7B,OAAO,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE;YAChC,IAAI,QAAQ,GAAqB,MAAM,CAAC,IAAI,EAAE,CAAA;YAE9C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;gBACnB,GAAG,IAAI;gBACP,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CACX,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE;oBACzB,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE;wBAC9D,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;wBAEzB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;qBACrB;oBAED,OAAO,MAAM,CAAC,IAAI,EAAE,CAAA;gBACtB,CAAC,CAAC;aACL,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;CACF"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import type { FlatMap } from '@fp-ts/core/typeclass/FlatMap';
|
|
1
2
|
import { Fx } from '../Fx.js';
|
|
2
|
-
|
|
3
|
+
import type { FxTypeLambda } from '../typeclass/TypeLambda.js';
|
|
4
|
+
export declare const switchMap: FlatMap<FxTypeLambda>['flatMap'];
|
|
3
5
|
export declare const switchLatest: <R, E, R2, E2, A>(fx: Fx<R, E, Fx<R2, E2, A>>) => Fx<R | R2, E | E2, A>;
|
|
4
6
|
//# sourceMappingURL=switchMap.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switchMap.d.ts","sourceRoot":"","sources":["../../src/operator/switchMap.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"switchMap.d.ts","sourceRoot":"","sources":["../../src/operator/switchMap.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAA;AAE5D,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAA;AAE7B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAE9D,eAAO,MAAM,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,SAAS,CAGtD,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,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,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAC5E,CAAA"}
|
|
@@ -2,12 +2,10 @@ import * as Cause from '@effect/io/Cause';
|
|
|
2
2
|
import * as Effect from '@effect/io/Effect';
|
|
3
3
|
import * as Fiber from '@effect/io/Fiber';
|
|
4
4
|
import * as Ref from '@effect/io/Ref/Synchronized';
|
|
5
|
-
import { flow, pipe, identity } from '@fp-ts/core/Function';
|
|
5
|
+
import { flow, pipe, identity, dual } from '@fp-ts/core/Function';
|
|
6
6
|
import { Fx } from '../Fx.js';
|
|
7
7
|
import { withRefCounter } from '../_internal/RefCounter.js';
|
|
8
|
-
export
|
|
9
|
-
return (fx) => new SwitchMapFx(fx, f);
|
|
10
|
-
}
|
|
8
|
+
export const switchMap = dual(2, (fx, f) => new SwitchMapFx(fx, f));
|
|
11
9
|
export const switchLatest = switchMap(identity);
|
|
12
10
|
class SwitchMapFx extends Fx.Variance {
|
|
13
11
|
constructor(fx, f) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switchMap.js","sourceRoot":"","sources":["../../src/operator/switchMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,KAAK,GAAG,MAAM,6BAA6B,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"switchMap.js","sourceRoot":"","sources":["../../src/operator/switchMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,KAAK,GAAG,MAAM,6BAA6B,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAGjE,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAA;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAG3D,MAAM,CAAC,MAAM,SAAS,GAAqC,IAAI,CAC7D,CAAC,EACD,CAAqB,EAAe,EAAE,CAA0B,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,CAC5F,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GACvB,SAAS,CAAC,QAAQ,CAAC,CAAA;AAErB,MAAM,WACJ,SAAQ,EAAE,CAAC,QAA2B;IAGtC,YAAqB,EAAe,EAAW,CAA0B;QACvE,KAAK,EAAE,CAAA;QADY,OAAE,GAAF,EAAE,CAAa;QAAW,MAAC,GAAD,CAAC,CAAyB;IAEzE,CAAC;IAED,GAAG,CAAK,IAA4B;QAClC,OAAO,cAAc,CACnB,CAAC,EACD,CAAC,OAAO,EAAE,EAAE,CACV,IAAI,CACF,GAAG,CAAC,IAAI,CAAC,IAAiD,CAAC,EAC3D,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC1B,MAAM,QAAQ,GAAG,IAAI,CACnB,QAAQ,EACR,GAAG,CAAC,GAAG,CAA4C,IAAI,CAAC,CACzD,CAAA;YAED,OAAO,IAAI,CAAC,EAAE,CAAC,GAAG,CAChB,EAAE,CAAC,IAAI,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,IAAI,CACF,QAAQ,EACR,GAAG,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,EAAE,CACzB,IAAI,CACF,KAAK;gBACH,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBACvC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;YACpC,6DAA6D;YAC7D,MAAM,CAAC,OAAO,CAAC,CAAC,CAAU,EAAE,EAAE,CAC5B,IAAI,CACF,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CACX,EAAE,CAAC,IAAI,CACL,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAC1C,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAClD,CACF,EACD,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvB,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CACnE,EACD,MAAM,CAAC,UAAU,CAClB,CACF,CACF,CACF,CACF,EACH,IAAI,CAAC,KAAK,EACV,OAAO,CAAC,SAAS,CAClB,CACF,CAAA;QACH,CAAC,CAAC,CACH,EACH,IAAI,CAAC,GAAG,CACT,CAAA;IACH,CAAC;CACF"}
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import type * as Cause from '@effect/io/Cause';
|
|
2
2
|
import { Fx } from '../Fx.js';
|
|
3
3
|
export declare function switchMapCause<E, R2, E2, B>(f: (cause: Cause.Cause<E>) => Fx<R2, E2, B>): <R, A>(fx: Fx<R, E, A>) => Fx<R | R2, E2, A | B>;
|
|
4
|
+
export declare function switchMapCatchTag<K extends E['_tag'] & string, E extends {
|
|
5
|
+
readonly _tag: string;
|
|
6
|
+
}, R2, E2, B>(k: K, f: (e: Extract<E, {
|
|
7
|
+
readonly _tag: K;
|
|
8
|
+
}>) => Fx<R2, E2, B>): <R, A>(fx: Fx<R, E, A>) => Fx<R | R2, E2 | Exclude<E, {
|
|
9
|
+
readonly _tag: K;
|
|
10
|
+
}>, A | B>;
|
|
4
11
|
//# sourceMappingURL=switchMapCause.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switchMapCause.d.ts","sourceRoot":"","sources":["../../src/operator/switchMapCause.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,kBAAkB,CAAA;AAM9C,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"switchMapCause.d.ts","sourceRoot":"","sources":["../../src/operator/switchMapCause.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,kBAAkB,CAAA;AAM9C,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAA;AAK7B,wBAAgB,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EACzC,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAC1C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAElD;AAED,wBAAgB,iBAAiB,CAC/B,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,EAC5B,CAAC,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACnC,EAAE,EACF,EAAE,EACF,CAAC,EAED,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;CAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GACxD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAErF"}
|
|
@@ -4,9 +4,13 @@ import * as Ref from '@effect/io/Ref/Synchronized';
|
|
|
4
4
|
import { flow, pipe } from '@fp-ts/core/Function';
|
|
5
5
|
import { Fx } from '../Fx.js';
|
|
6
6
|
import { withRefCounter } from '../_internal/RefCounter.js';
|
|
7
|
+
import { catchTag_ } from './catchTag.js';
|
|
7
8
|
export function switchMapCause(f) {
|
|
8
9
|
return (fx) => new SwitchMapCauseFx(fx, f);
|
|
9
10
|
}
|
|
11
|
+
export function switchMapCatchTag(k, f) {
|
|
12
|
+
return (fx) => new SwitchMapCauseFx(fx, (cause) => catchTag_(cause, k, f));
|
|
13
|
+
}
|
|
10
14
|
class SwitchMapCauseFx extends Fx.Variance {
|
|
11
15
|
constructor(fx, f) {
|
|
12
16
|
super();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switchMapCause.js","sourceRoot":"","sources":["../../src/operator/switchMapCause.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,KAAK,GAAG,MAAM,6BAA6B,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAA;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAE3D,MAAM,UAAU,cAAc,CAC5B,CAA2C;IAE3C,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;AAC5C,CAAC;AAED,MAAM,gBACJ,SAAQ,EAAE,CAAC,QAA2B;IAGtC,YAAqB,EAAe,EAAW,CAA2C;QACxF,KAAK,EAAE,CAAA;QADY,OAAE,GAAF,EAAE,CAAa;QAAW,MAAC,GAAD,CAAC,CAA0C;IAE1F,CAAC;IAED,GAAG,CAAK,IAA4B;QAClC,OAAO,cAAc,CACnB,CAAC,EACD,CAAC,OAAO,EAAE,EAAE,CACV,IAAI,CACF,GAAG,CAAC,IAAI,CAAC,IAAiD,CAAC,EAC3D,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC1B,MAAM,QAAQ,GAAG,IAAI,CACnB,QAAQ,EACR,GAAG,CAAC,GAAG,CAA4C,IAAI,CAAC,CACzD,CAAA;YAED,OAAO,IAAI,CAAC,EAAE,CAAC,GAAG,CAChB,EAAE,CAAC,IAAI,CACL,IAAI,CAAC,KAAK,EACV,CAAC,KAAK,EAAE,EAAE,CACR,IAAI,CACF,QAAQ,EACR,GAAG,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,EAAE,CACzB,IAAI,CACF,KAAK;gBACH,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBACvC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;YACpC,6DAA6D;YAC7D,MAAM,CAAC,OAAO,CAAC,CAAC,CAAU,EAAE,EAAE,CAC5B,MAAM,CAAC,UAAU,CACf,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CACf,EAAE,CAAC,IAAI,CACL,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAC1C,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAClD,CACF,CACF,CACF,CACF,CACF,CACF,EACH,OAAO,CAAC,SAAS,CAClB,CACF,CAAA;QACH,CAAC,CAAC,CACH,EACH,IAAI,CAAC,GAAG,CACT,CAAA;IACH,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"switchMapCause.js","sourceRoot":"","sources":["../../src/operator/switchMapCause.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,KAAK,GAAG,MAAM,6BAA6B,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAA;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAEzC,MAAM,UAAU,cAAc,CAC5B,CAA2C;IAE3C,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;AAC5C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAO/B,CAAI,EACJ,CAAyD;IAEzD,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,gBAAgB,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AAC5E,CAAC;AAED,MAAM,gBACJ,SAAQ,EAAE,CAAC,QAA2B;IAGtC,YAAqB,EAAe,EAAW,CAA2C;QACxF,KAAK,EAAE,CAAA;QADY,OAAE,GAAF,EAAE,CAAa;QAAW,MAAC,GAAD,CAAC,CAA0C;IAE1F,CAAC;IAED,GAAG,CAAK,IAA4B;QAClC,OAAO,cAAc,CACnB,CAAC,EACD,CAAC,OAAO,EAAE,EAAE,CACV,IAAI,CACF,GAAG,CAAC,IAAI,CAAC,IAAiD,CAAC,EAC3D,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC1B,MAAM,QAAQ,GAAG,IAAI,CACnB,QAAQ,EACR,GAAG,CAAC,GAAG,CAA4C,IAAI,CAAC,CACzD,CAAA;YAED,OAAO,IAAI,CAAC,EAAE,CAAC,GAAG,CAChB,EAAE,CAAC,IAAI,CACL,IAAI,CAAC,KAAK,EACV,CAAC,KAAK,EAAE,EAAE,CACR,IAAI,CACF,QAAQ,EACR,GAAG,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,EAAE,CACzB,IAAI,CACF,KAAK;gBACH,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBACvC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;YACpC,6DAA6D;YAC7D,MAAM,CAAC,OAAO,CAAC,CAAC,CAAU,EAAE,EAAE,CAC5B,MAAM,CAAC,UAAU,CACf,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CACf,EAAE,CAAC,IAAI,CACL,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAC1C,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAClD,CACF,CACF,CACF,CACF,CACF,CACF,EACH,OAAO,CAAC,SAAS,CAClB,CACF,CAAA;QACH,CAAC,CAAC,CACH,EACH,IAAI,CAAC,GAAG,CACT,CAAA;IACH,CAAC;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type * as Duration from '@
|
|
1
|
+
import type * as Duration from '@effect/data/Duration';
|
|
2
2
|
import type { Fx } from '../Fx.js';
|
|
3
3
|
export declare function throttle(duration: Duration.Duration): <R, E, A>(fx: Fx<R, E, A>) => Fx<R, E, A>;
|
|
4
4
|
//# sourceMappingURL=throttle.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"throttle.d.ts","sourceRoot":"","sources":["../../src/operator/throttle.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,QAAQ,MAAM,
|
|
1
|
+
{"version":3,"file":"throttle.d.ts","sourceRoot":"","sources":["../../src/operator/throttle.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,QAAQ,MAAM,uBAAuB,CAAA;AAEtD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAA;AAKlC,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,6CA+BnD"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as B from '@fp-ts/core/typeclass/Bicovariant';
|
|
2
2
|
import type { Fx } from '../Fx.js';
|
|
3
3
|
import type { FxTypeLambda } from './TypeLambda.js';
|
|
4
|
+
export declare const bimap: B.Bicovariant<FxTypeLambda>['bimap'];
|
|
4
5
|
export declare const Bicovariant: B.Bicovariant<FxTypeLambda>;
|
|
5
6
|
export declare const mapLeft: <E1, E2>(f: (e: E1) => E2) => <R, A>(self: Fx<R, E1, A>) => Fx<R, E2, A>;
|
|
6
7
|
//# sourceMappingURL=Bicovariant.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Bicovariant.d.ts","sourceRoot":"","sources":["../../src/typeclass/Bicovariant.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,mCAAmC,CAAA;AAEtD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAA;AAIlC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAEnD,eAAO,MAAM,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,YAAY,CAEnD,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CACrE,CAAA"}
|
|
1
|
+
{"version":3,"file":"Bicovariant.d.ts","sourceRoot":"","sources":["../../src/typeclass/Bicovariant.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,mCAAmC,CAAA;AAEtD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAA;AAIlC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAEnD,eAAO,MAAM,KAAK,EAAE,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,OAAO,CAItD,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,YAAY,CAEnD,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CACrE,CAAA"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { pipe } from '@fp-ts/core/Function';
|
|
1
|
+
import { dual, pipe } from '@fp-ts/core/Function';
|
|
2
2
|
import * as B from '@fp-ts/core/typeclass/Bicovariant';
|
|
3
3
|
import { map } from '../operator/map.js';
|
|
4
4
|
import { mapError } from '../operator/mapError.js';
|
|
5
|
+
export const bimap = dual(3, (self, f, g) => pipe(self, mapError(f), map(g)));
|
|
5
6
|
export const Bicovariant = {
|
|
6
|
-
bimap
|
|
7
|
+
bimap,
|
|
7
8
|
};
|
|
8
9
|
export const mapLeft = B.mapLeft(Bicovariant);
|
|
9
10
|
//# sourceMappingURL=Bicovariant.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Bicovariant.js","sourceRoot":"","sources":["../../src/typeclass/Bicovariant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"Bicovariant.js","sourceRoot":"","sources":["../../src/typeclass/Bicovariant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,CAAC,MAAM,mCAAmC,CAAA;AAGtD,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAIlD,MAAM,CAAC,MAAM,KAAK,GAAyC,IAAI,CAC7D,CAAC,EACD,CAAiB,IAAiB,EAAE,CAAe,EAAE,CAAc,EAAE,EAAE,CACrE,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAClC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAgC;IACtD,KAAK;CACN,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAClB,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Covariant.d.ts","sourceRoot":"","sources":["../../src/typeclass/Covariant.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,iCAAiC,CAAA;AAEpD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAA;AAGlC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAEnD,eAAO,MAAM,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,YAAY,
|
|
1
|
+
{"version":3,"file":"Covariant.d.ts","sourceRoot":"","sources":["../../src/typeclass/Covariant.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,iCAAiC,CAAA;AAEpD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAA;AAGlC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAEnD,eAAO,MAAM,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,YAAY,CAG/C,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CACjE,CAAA;AAEnB,eAAO,MAAM,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EACtB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EACf,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KACd,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAuC,CAAA;AAEnF,QAAA,MAAM,IAAI,EAAE,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EAAE,CAAC,EAChD,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EACzB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KACX,CAAC,CAAC,EAAE,CAAC,EACR,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KACd,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;CAAE,CAAoB,CAAA;AAE/F,OAAO,EAAE,IAAI,IAAI,GAAG,EAAE,CAAA"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import * as C from '@fp-ts/core/typeclass/Covariant';
|
|
2
2
|
import { map } from '../operator/map.js';
|
|
3
|
-
export const Covariant =
|
|
3
|
+
export const Covariant = {
|
|
4
|
+
map,
|
|
5
|
+
imap: C.imap(map),
|
|
6
|
+
};
|
|
4
7
|
export const flap = C.flap(Covariant);
|
|
5
8
|
export const imap = C.imap(Covariant.map);
|
|
6
9
|
const let_ = C.let(Covariant);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Covariant.js","sourceRoot":"","sources":["../../src/typeclass/Covariant.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,iCAAiC,CAAA;AAGpD,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAA;AAIxC,MAAM,CAAC,MAAM,SAAS,GAA8B,
|
|
1
|
+
{"version":3,"file":"Covariant.js","sourceRoot":"","sources":["../../src/typeclass/Covariant.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,iCAAiC,CAAA;AAGpD,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAA;AAIxC,MAAM,CAAC,MAAM,SAAS,GAA8B;IAClD,GAAG;IACH,IAAI,EAAE,CAAC,CAAC,IAAI,CAAe,GAAG,CAAC;CAChC,CAAA;AAED,MAAM,CAAC,MAAM,IAAI,GACf,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AAEnB,MAAM,CAAC,MAAM,IAAI,GAG+B,CAAC,CAAC,IAAI,CAAe,SAAS,CAAC,GAAG,CAAC,CAAA;AAEnF,MAAM,IAAI,GAKqE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;AAE/F,OAAO,EAAE,IAAI,IAAI,GAAG,EAAE,CAAA"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import * as SP from '@fp-ts/core/typeclass/SemiProduct';
|
|
2
|
+
import type { Fx } from '../Fx.js';
|
|
2
3
|
import type { FxTypeLambda } from './TypeLambda.js';
|
|
4
|
+
export declare const product: SP.SemiProduct<FxTypeLambda>['product'];
|
|
5
|
+
export declare const productMany: <R_2, O_2, E_2, A_3>(self: Fx<O_2, E_2, A_3>, collection: Iterable<Fx<O_2, E_2, A_3>>) => Fx<O_2, E_2, [A_3, ...A_3[]]>;
|
|
3
6
|
export declare const SemiProduct: SP.SemiProduct<FxTypeLambda>;
|
|
4
7
|
//# sourceMappingURL=SemiProduct.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SemiProduct.d.ts","sourceRoot":"","sources":["../../src/typeclass/SemiProduct.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SemiProduct.d.ts","sourceRoot":"","sources":["../../src/typeclass/SemiProduct.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,mCAAmC,CAAA;AAEvD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAA;AAIlC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAEnD,eAAO,MAAM,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,SAAS,CAG3D,CAAA;AAED,eAAO,MAAM,WAAW,yHAAuD,CAAA;AAE/E,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,YAAY,CAIpD,CAAA"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
import { dual } from '@fp-ts/core/Function';
|
|
1
2
|
import * as SP from '@fp-ts/core/typeclass/SemiProduct';
|
|
2
3
|
import { combine } from '../operator/combine.js';
|
|
3
4
|
import { Covariant } from './Covariant.js';
|
|
5
|
+
export const product = dual(2, (self, that) => combine(that)(self));
|
|
6
|
+
export const productMany = SP.productMany(Covariant.map, product);
|
|
4
7
|
export const SemiProduct = {
|
|
5
|
-
product
|
|
6
|
-
productMany
|
|
8
|
+
product,
|
|
9
|
+
productMany,
|
|
7
10
|
imap: Covariant.imap,
|
|
8
11
|
};
|
|
9
12
|
//# sourceMappingURL=SemiProduct.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SemiProduct.js","sourceRoot":"","sources":["../../src/typeclass/SemiProduct.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,mCAAmC,CAAA;
|
|
1
|
+
{"version":3,"file":"SemiProduct.js","sourceRoot":"","sources":["../../src/typeclass/SemiProduct.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,KAAK,EAAE,MAAM,mCAAmC,CAAA;AAGvD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAG1C,MAAM,CAAC,MAAM,OAAO,GAA4C,IAAI,CAClE,CAAC,EACD,CAAqB,IAAiB,EAAE,IAAmB,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CACpF,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,CAAe,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;AAE/E,MAAM,CAAC,MAAM,WAAW,GAAiC;IACvD,OAAO;IACP,WAAW;IACX,IAAI,EAAE,SAAS,CAAC,IAAI;CACrB,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@typed/fx",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.16",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -17,11 +17,11 @@
|
|
|
17
17
|
}
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@effect/
|
|
21
|
-
"@
|
|
22
|
-
"@fp-ts/
|
|
20
|
+
"@effect/data": "^0.1.0",
|
|
21
|
+
"@effect/io": "^0.1.11",
|
|
22
|
+
"@fp-ts/core": "^0.2.1"
|
|
23
23
|
},
|
|
24
|
-
"gitHead": "
|
|
24
|
+
"gitHead": "ad0d7e329d68d45bdcdac5635a98f11a5fdd8f07",
|
|
25
25
|
"publishConfig": {
|
|
26
26
|
"access": "public"
|
|
27
27
|
},
|
package/src/Fx.ts
CHANGED
|
@@ -57,6 +57,9 @@ export namespace Fx {
|
|
|
57
57
|
): Sink<R | R2 | R3, E, A> {
|
|
58
58
|
return { event, error, end }
|
|
59
59
|
}
|
|
60
|
+
|
|
61
|
+
export interface Success<A> extends Fx<never, never, A> {}
|
|
62
|
+
export interface IO<E, A> extends Fx<never, E, A> {}
|
|
60
63
|
}
|
|
61
64
|
|
|
62
65
|
export const TypeId = Fx.TypeId
|
|
@@ -66,6 +69,9 @@ export type ResourcesOf<T> = Fx.ResourcesOf<T>
|
|
|
66
69
|
export type ErrorOf<T> = Fx.ErrorsOf<T>
|
|
67
70
|
export type OutputOf<T> = Fx.OutputOf<T>
|
|
68
71
|
|
|
72
|
+
export type Success<A> = Fx.Success<A>
|
|
73
|
+
export type IO<E, A> = Fx.IO<E, A>
|
|
74
|
+
|
|
69
75
|
export type Sink<R, E, A> = Fx.Sink<R, E, A>
|
|
70
76
|
export const Sink = Fx.Sink
|
|
71
77
|
|
|
@@ -2,7 +2,7 @@ import { deepStrictEqual } from 'assert'
|
|
|
2
2
|
|
|
3
3
|
import * as Effect from '@effect/io/Effect'
|
|
4
4
|
import * as Fiber from '@effect/io/Fiber'
|
|
5
|
-
import { millis } from '@
|
|
5
|
+
import { millis } from '@effect/data/Duration'
|
|
6
6
|
import { describe, it } from 'vitest'
|
|
7
7
|
|
|
8
8
|
import { collectAll } from '../run/collectAll.js'
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as Effect from '@effect/io/Effect'
|
|
2
2
|
import { identity } from '@fp-ts/core/Function'
|
|
3
3
|
import { type Option, none } from '@fp-ts/core/Option'
|
|
4
|
-
import { type MutableRef, make } from '@
|
|
4
|
+
import { type MutableRef, make } from '@effect/data/MutableRef'
|
|
5
5
|
|
|
6
6
|
import type { Fx, Sink } from '../Fx.js'
|
|
7
7
|
import { never } from '../constructor/never.js'
|
|
@@ -2,8 +2,8 @@ import * as Effect from '@effect/io/Effect'
|
|
|
2
2
|
import * as Ref from '@effect/io/Ref'
|
|
3
3
|
import { identity, pipe } from '@fp-ts/core/Function'
|
|
4
4
|
import * as Option from '@fp-ts/core/Option'
|
|
5
|
-
import { equals } from '@
|
|
6
|
-
import * as MutableRef from '@
|
|
5
|
+
import { equals } from '@effect/data/Equal'
|
|
6
|
+
import * as MutableRef from '@effect/data/MutableRef'
|
|
7
7
|
|
|
8
8
|
import { Fx } from '../Fx.js'
|
|
9
9
|
|
|
@@ -3,8 +3,8 @@ import * as Ref from '@effect/io/Ref'
|
|
|
3
3
|
import * as Synchronized from '@effect/io/Ref/Synchronized'
|
|
4
4
|
import { identity, pipe } from '@fp-ts/core/Function'
|
|
5
5
|
import * as Option from '@fp-ts/core/Option'
|
|
6
|
-
import { equals } from '@
|
|
7
|
-
import * as MutableRef from '@
|
|
6
|
+
import { equals } from '@effect/data/Equal'
|
|
7
|
+
import * as MutableRef from '@effect/data/MutableRef'
|
|
8
8
|
|
|
9
9
|
import { Fx } from '../Fx.js'
|
|
10
10
|
|
|
@@ -5,7 +5,7 @@ import * as Ref from '@effect/io/Ref'
|
|
|
5
5
|
import * as Schedule from '@effect/io/Schedule'
|
|
6
6
|
import type { Scope } from '@effect/io/Scope'
|
|
7
7
|
import { pipe } from '@fp-ts/core/Function'
|
|
8
|
-
import { millis } from '@
|
|
8
|
+
import { millis } from '@effect/data/Duration'
|
|
9
9
|
|
|
10
10
|
export const asap = pipe(
|
|
11
11
|
Schedule.once(),
|
package/src/constructor/at.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as Effect from '@effect/io/Effect'
|
|
2
2
|
import * as Schedule from '@effect/io/Schedule'
|
|
3
3
|
import { pipe } from '@fp-ts/core/Function'
|
|
4
|
-
import type { Duration } from '@
|
|
4
|
+
import type { Duration } from '@effect/data/Duration'
|
|
5
5
|
|
|
6
6
|
import type { Fx } from '../Fx.js'
|
|
7
7
|
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import * as Cause from '@effect/io/Cause'
|
|
2
|
+
import * as Either from '@fp-ts/core/Either'
|
|
3
|
+
import { pipe } from '@fp-ts/core/Function'
|
|
4
|
+
|
|
5
|
+
import type { Fx } from '../Fx.js'
|
|
6
|
+
import { fail } from '../constructor/fail.js'
|
|
7
|
+
import { failCause } from '../constructor/failCause.js'
|
|
8
|
+
|
|
9
|
+
import { catchAllCause } from './catchAllCause.js'
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
export const catchTag_: <
|
|
15
|
+
K extends E['_tag'] & string,
|
|
16
|
+
E extends { readonly _tag: string },
|
|
17
|
+
R1,
|
|
18
|
+
E1,
|
|
19
|
+
A1,
|
|
20
|
+
>(
|
|
21
|
+
cause: Cause.Cause<E>,
|
|
22
|
+
k: K,
|
|
23
|
+
f: (e: Extract<E, { readonly _tag: K }>) => Fx<R1, E1, A1>,
|
|
24
|
+
) => Fx<R1, E1 | Exclude<E, { readonly _tag: K }>, A1> = <
|
|
25
|
+
K extends E['_tag'] & string,
|
|
26
|
+
E extends { readonly _tag: string },
|
|
27
|
+
R1,
|
|
28
|
+
E1,
|
|
29
|
+
A1,
|
|
30
|
+
>(
|
|
31
|
+
cause: Cause.Cause<E>,
|
|
32
|
+
k: K,
|
|
33
|
+
f: (e: Extract<E, { readonly _tag: K }>) => Fx<R1, E1, A1>,
|
|
34
|
+
) =>
|
|
35
|
+
pipe(
|
|
36
|
+
cause,
|
|
37
|
+
Cause.failureOrCause,
|
|
38
|
+
Either.match(
|
|
39
|
+
(e): Fx<R1, E1 | Exclude<E, { readonly _tag: K }>, A1> =>
|
|
40
|
+
'_tag' in e && e._tag === k
|
|
41
|
+
? f(e as Extract<E, { readonly _tag: K }>)
|
|
42
|
+
: fail(e as Exclude<E, { readonly _tag: K }>),
|
|
43
|
+
failCause,
|
|
44
|
+
),
|
|
45
|
+
)
|
|
46
|
+
|
|
47
|
+
export const catchTag =
|
|
48
|
+
<K extends E['_tag'] & string, E extends { readonly _tag: string }, R1, E1, A1>(
|
|
49
|
+
k: K,
|
|
50
|
+
f: (e: Extract<E, { readonly _tag: K }>) => Fx<R1, E1, A1>,
|
|
51
|
+
) =>
|
|
52
|
+
<R, A>(self: Fx<R, E, A>): Fx<R1 | R, E1 | Exclude<E, { readonly _tag: K }>, A1 | A> =>
|
|
53
|
+
pipe(
|
|
54
|
+
self,
|
|
55
|
+
catchAllCause((cause) => catchTag_(cause, k, f)),
|
|
56
|
+
)
|
|
@@ -2,7 +2,7 @@ import { deepStrictEqual } from 'assert'
|
|
|
2
2
|
|
|
3
3
|
import * as Effect from '@effect/io/Effect'
|
|
4
4
|
import { pipe } from '@fp-ts/core/Function'
|
|
5
|
-
import { millis } from '@
|
|
5
|
+
import { millis } from '@effect/data/Duration'
|
|
6
6
|
import { describe, it } from 'vitest'
|
|
7
7
|
|
|
8
8
|
import { at } from '../constructor/at.js'
|
|
@@ -2,7 +2,7 @@ import { deepStrictEqual } from 'assert'
|
|
|
2
2
|
|
|
3
3
|
import * as Effect from '@effect/io/Effect'
|
|
4
4
|
import { pipe } from '@fp-ts/core/Function'
|
|
5
|
-
import { millis } from '@
|
|
5
|
+
import { millis } from '@effect/data/Duration'
|
|
6
6
|
import { describe, it } from 'vitest'
|
|
7
7
|
|
|
8
8
|
import { at } from '../constructor/at.js'
|
|
@@ -2,7 +2,7 @@ import { deepStrictEqual } from 'assert'
|
|
|
2
2
|
|
|
3
3
|
import * as Effect from '@effect/io/Effect'
|
|
4
4
|
import { pipe } from '@fp-ts/core/Function'
|
|
5
|
-
import * as Duration from '@
|
|
5
|
+
import * as Duration from '@effect/data/Duration'
|
|
6
6
|
import { describe, it } from 'vitest'
|
|
7
7
|
|
|
8
8
|
import { fromArray } from '../constructor/fromArray.js'
|
package/src/operator/debounce.ts
CHANGED
|
@@ -2,7 +2,7 @@ import * as Cause from '@effect/io/Cause'
|
|
|
2
2
|
import * as Effect from '@effect/io/Effect'
|
|
3
3
|
import * as Fiber from '@effect/io/Fiber'
|
|
4
4
|
import { pipe } from '@fp-ts/core/Function'
|
|
5
|
-
import type * as Duration from '@
|
|
5
|
+
import type * as Duration from '@effect/data/Duration'
|
|
6
6
|
|
|
7
7
|
import { Fx } from '../Fx.js'
|
|
8
8
|
import { withRefCounter } from '../_internal/RefCounter.js'
|
package/src/operator/delay.ts
CHANGED