effect 3.6.8 → 3.7.1
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/Array.js +2 -2
- package/dist/cjs/Array.js.map +1 -1
- package/dist/cjs/Config.js +8 -1
- package/dist/cjs/Config.js.map +1 -1
- package/dist/cjs/Context.js +9 -1
- package/dist/cjs/Context.js.map +1 -1
- package/dist/cjs/Effect.js +26 -4
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/Fiber.js.map +1 -1
- package/dist/cjs/FiberHandle.js +20 -8
- package/dist/cjs/FiberHandle.js.map +1 -1
- package/dist/cjs/FiberMap.js +22 -11
- package/dist/cjs/FiberMap.js.map +1 -1
- package/dist/cjs/FiberSet.js +23 -9
- package/dist/cjs/FiberSet.js.map +1 -1
- package/dist/cjs/Micro.js +15 -2
- package/dist/cjs/Micro.js.map +1 -1
- package/dist/cjs/Stream.js +30 -2
- package/dist/cjs/Stream.js.map +1 -1
- package/dist/cjs/internal/config.js +7 -1
- package/dist/cjs/internal/config.js.map +1 -1
- package/dist/cjs/internal/context.js +8 -1
- package/dist/cjs/internal/context.js.map +1 -1
- package/dist/cjs/internal/effect/circular.js +3 -1
- package/dist/cjs/internal/effect/circular.js.map +1 -1
- package/dist/cjs/internal/fiberRuntime.js +23 -15
- package/dist/cjs/internal/fiberRuntime.js.map +1 -1
- package/dist/cjs/internal/stream.js +7 -4
- package/dist/cjs/internal/stream.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/dts/Array.d.ts +9 -9
- package/dist/dts/Array.d.ts.map +1 -1
- package/dist/dts/Config.d.ts +7 -0
- package/dist/dts/Config.d.ts.map +1 -1
- package/dist/dts/Context.d.ts +12 -0
- package/dist/dts/Context.d.ts.map +1 -1
- package/dist/dts/Effect.d.ts +88 -8
- package/dist/dts/Effect.d.ts.map +1 -1
- package/dist/dts/Fiber.d.ts +5 -1
- package/dist/dts/Fiber.d.ts.map +1 -1
- package/dist/dts/FiberHandle.d.ts +7 -0
- package/dist/dts/FiberHandle.d.ts.map +1 -1
- package/dist/dts/FiberMap.d.ts +7 -0
- package/dist/dts/FiberMap.d.ts.map +1 -1
- package/dist/dts/FiberSet.d.ts +17 -5
- package/dist/dts/FiberSet.d.ts.map +1 -1
- package/dist/dts/Micro.d.ts +6 -0
- package/dist/dts/Micro.d.ts.map +1 -1
- package/dist/dts/Stream.d.ts +30 -0
- package/dist/dts/Stream.d.ts.map +1 -1
- package/dist/dts/internal/stream.d.ts +0 -1
- package/dist/dts/internal/stream.d.ts.map +1 -1
- package/dist/esm/Array.js +2 -2
- package/dist/esm/Array.js.map +1 -1
- package/dist/esm/Config.js +7 -0
- package/dist/esm/Config.js.map +1 -1
- package/dist/esm/Context.js +8 -0
- package/dist/esm/Context.js.map +1 -1
- package/dist/esm/Effect.js +22 -0
- package/dist/esm/Effect.js.map +1 -1
- package/dist/esm/Fiber.js.map +1 -1
- package/dist/esm/FiberHandle.js +20 -8
- package/dist/esm/FiberHandle.js.map +1 -1
- package/dist/esm/FiberMap.js +22 -11
- package/dist/esm/FiberMap.js.map +1 -1
- package/dist/esm/FiberSet.js +23 -9
- package/dist/esm/FiberSet.js.map +1 -1
- package/dist/esm/Micro.js +13 -1
- package/dist/esm/Micro.js.map +1 -1
- package/dist/esm/Stream.js +27 -0
- package/dist/esm/Stream.js.map +1 -1
- package/dist/esm/internal/config.js +5 -0
- package/dist/esm/internal/config.js.map +1 -1
- package/dist/esm/internal/context.js +7 -0
- package/dist/esm/internal/context.js.map +1 -1
- package/dist/esm/internal/effect/circular.js +2 -0
- package/dist/esm/internal/effect/circular.js.map +1 -1
- package/dist/esm/internal/fiberRuntime.js +20 -13
- package/dist/esm/internal/fiberRuntime.js.map +1 -1
- package/dist/esm/internal/stream.js +4 -1
- package/dist/esm/internal/stream.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/package.json +1 -1
- package/src/Array.ts +41 -10
- package/src/Config.ts +8 -0
- package/src/Context.ts +13 -0
- package/src/Effect.ts +174 -21
- package/src/Fiber.ts +8 -1
- package/src/FiberHandle.ts +46 -10
- package/src/FiberMap.ts +48 -13
- package/src/FiberSet.ts +65 -24
- package/src/Micro.ts +14 -1
- package/src/Stream.ts +36 -0
- package/src/internal/config.ts +10 -0
- package/src/internal/context.ts +12 -0
- package/src/internal/effect/circular.ts +91 -0
- package/src/internal/fiberRuntime.ts +101 -30
- package/src/internal/stream.ts +19 -1
- package/src/internal/version.ts +1 -1
package/dist/dts/Effect.d.ts
CHANGED
|
@@ -427,6 +427,7 @@ export declare const all: <const Arg extends Iterable<Effect<any, any, any>> | R
|
|
|
427
427
|
readonly batching?: boolean | "inherit" | undefined;
|
|
428
428
|
readonly discard?: boolean | undefined;
|
|
429
429
|
readonly mode?: "default" | "validate" | "either" | undefined;
|
|
430
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
430
431
|
}>(arg: Arg, options?: O) => All.Return<Arg, O>;
|
|
431
432
|
/**
|
|
432
433
|
* Data-last variant of `Effect.all`.
|
|
@@ -443,6 +444,7 @@ export declare const allWith: <O extends {
|
|
|
443
444
|
readonly batching?: boolean | "inherit" | undefined;
|
|
444
445
|
readonly discard?: boolean | undefined;
|
|
445
446
|
readonly mode?: "default" | "validate" | "either" | undefined;
|
|
447
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
446
448
|
}>(options?: O) => <const Arg extends Iterable<Effect<any, any, any>> | Record<string, Effect<any, any, any>>>(arg: Arg) => All.Return<Arg, O>;
|
|
447
449
|
/**
|
|
448
450
|
* @since 2.0.0
|
|
@@ -516,6 +518,7 @@ export declare namespace All {
|
|
|
516
518
|
readonly batching?: boolean | "inherit" | undefined;
|
|
517
519
|
readonly discard?: boolean | undefined;
|
|
518
520
|
readonly mode?: "default" | "validate" | "either" | undefined;
|
|
521
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
519
522
|
}> = [Arg] extends [ReadonlyArray<EffectAny>] ? ReturnTuple<Arg, IsDiscard<O>, ExtractMode<O>> : [Arg] extends [Iterable<EffectAny>] ? ReturnIterable<Arg, IsDiscard<O>, ExtractMode<O>> : [Arg] extends [Record<string, EffectAny>] ? ReturnObject<Arg, IsDiscard<O>, ExtractMode<O>> : never;
|
|
520
523
|
}
|
|
521
524
|
/**
|
|
@@ -528,6 +531,7 @@ export declare namespace All {
|
|
|
528
531
|
export declare const allSuccesses: <X extends Effect<any, any, any>>(elements: Iterable<X>, options?: {
|
|
529
532
|
readonly concurrency?: Concurrency | undefined;
|
|
530
533
|
readonly batching?: boolean | "inherit" | undefined;
|
|
534
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
531
535
|
} | undefined) => Effect<Array<Effect.Success<X>>, never, Effect.Context<X>>;
|
|
532
536
|
/**
|
|
533
537
|
* Drops all elements until the effectful predicate returns true.
|
|
@@ -571,10 +575,12 @@ export declare const exists: {
|
|
|
571
575
|
<A, E, R>(f: (a: A, i: number) => Effect<boolean, E, R>, options?: {
|
|
572
576
|
readonly concurrency?: Concurrency | undefined;
|
|
573
577
|
readonly batching?: boolean | "inherit" | undefined;
|
|
578
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
574
579
|
} | undefined): (elements: Iterable<A>) => Effect<boolean, E, R>;
|
|
575
580
|
<A, E, R>(elements: Iterable<A>, f: (a: A, i: number) => Effect<boolean, E, R>, options?: {
|
|
576
581
|
readonly concurrency?: Concurrency | undefined;
|
|
577
582
|
readonly batching?: boolean | "inherit" | undefined;
|
|
583
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
578
584
|
} | undefined): Effect<boolean, E, R>;
|
|
579
585
|
};
|
|
580
586
|
/**
|
|
@@ -588,11 +594,13 @@ export declare const filter: {
|
|
|
588
594
|
readonly concurrency?: Concurrency | undefined;
|
|
589
595
|
readonly batching?: boolean | "inherit" | undefined;
|
|
590
596
|
readonly negate?: boolean | undefined;
|
|
597
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
591
598
|
} | undefined): (elements: Iterable<A>) => Effect<Array<A>, E, R>;
|
|
592
599
|
<A, E, R>(elements: Iterable<A>, f: (a: NoInfer<A>, i: number) => Effect<boolean, E, R>, options?: {
|
|
593
600
|
readonly concurrency?: Concurrency | undefined;
|
|
594
601
|
readonly batching?: boolean | "inherit" | undefined;
|
|
595
602
|
readonly negate?: boolean | undefined;
|
|
603
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
596
604
|
} | undefined): Effect<Array<A>, E, R>;
|
|
597
605
|
};
|
|
598
606
|
/**
|
|
@@ -644,21 +652,25 @@ export declare const forEach: {
|
|
|
644
652
|
readonly concurrency?: Concurrency | undefined;
|
|
645
653
|
readonly batching?: boolean | "inherit" | undefined;
|
|
646
654
|
readonly discard?: false | undefined;
|
|
655
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
647
656
|
} | undefined): (self: S) => Effect<RA.ReadonlyArray.With<S, B>, E, R>;
|
|
648
657
|
<A, B, E, R>(f: (a: A, i: number) => Effect<B, E, R>, options: {
|
|
649
658
|
readonly concurrency?: Concurrency | undefined;
|
|
650
659
|
readonly batching?: boolean | "inherit" | undefined;
|
|
651
660
|
readonly discard: true;
|
|
661
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
652
662
|
}): (self: Iterable<A>) => Effect<void, E, R>;
|
|
653
663
|
<B, E, R, S extends Iterable<any>>(self: S, f: (a: RA.ReadonlyArray.Infer<S>, i: number) => Effect<B, E, R>, options?: {
|
|
654
664
|
readonly concurrency?: Concurrency | undefined;
|
|
655
665
|
readonly batching?: boolean | "inherit" | undefined;
|
|
656
666
|
readonly discard?: false | undefined;
|
|
667
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
657
668
|
} | undefined): Effect<RA.ReadonlyArray.With<S, B>, E, R>;
|
|
658
669
|
<A, B, E, R>(self: Iterable<A>, f: (a: A, i: number) => Effect<B, E, R>, options: {
|
|
659
670
|
readonly concurrency?: Concurrency | undefined;
|
|
660
671
|
readonly batching?: boolean | "inherit" | undefined;
|
|
661
672
|
readonly discard: true;
|
|
673
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
662
674
|
}): Effect<void, E, R>;
|
|
663
675
|
};
|
|
664
676
|
/**
|
|
@@ -680,10 +692,12 @@ export declare const mergeAll: {
|
|
|
680
692
|
<Z, Eff extends Effect<any, any, any>>(zero: Z, f: (z: Z, a: Effect.Success<Eff>, i: number) => Z, options?: {
|
|
681
693
|
readonly concurrency?: Concurrency | undefined;
|
|
682
694
|
readonly batching?: boolean | "inherit" | undefined;
|
|
695
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
683
696
|
} | undefined): (elements: Iterable<Eff>) => Effect<Z, Effect.Error<Eff>, Effect.Context<Eff>>;
|
|
684
697
|
<Eff extends Effect<any, any, any>, Z>(elements: Iterable<Eff>, zero: Z, f: (z: Z, a: Effect.Success<Eff>, i: number) => Z, options?: {
|
|
685
698
|
readonly concurrency?: Concurrency | undefined;
|
|
686
699
|
readonly batching?: boolean | "inherit" | undefined;
|
|
700
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
687
701
|
} | undefined): Effect<Z, Effect.Error<Eff>, Effect.Context<Eff>>;
|
|
688
702
|
};
|
|
689
703
|
/**
|
|
@@ -697,10 +711,12 @@ export declare const partition: {
|
|
|
697
711
|
<A, B, E, R>(f: (a: A, i: number) => Effect<B, E, R>, options?: {
|
|
698
712
|
readonly concurrency?: Concurrency | undefined;
|
|
699
713
|
readonly batching?: boolean | "inherit" | undefined;
|
|
714
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
700
715
|
} | undefined): (elements: Iterable<A>) => Effect<[excluded: Array<E>, satisfying: Array<B>], never, R>;
|
|
701
716
|
<A, B, E, R>(elements: Iterable<A>, f: (a: A, i: number) => Effect<B, E, R>, options?: {
|
|
702
717
|
readonly concurrency?: Concurrency | undefined;
|
|
703
718
|
readonly batching?: boolean | "inherit" | undefined;
|
|
719
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
704
720
|
} | undefined): Effect<[excluded: Array<E>, satisfying: Array<B>], never, R>;
|
|
705
721
|
};
|
|
706
722
|
/**
|
|
@@ -724,10 +740,12 @@ export declare const reduceEffect: {
|
|
|
724
740
|
<Z, E, R, Eff extends Effect<any, any, any>>(zero: Effect<Z, E, R>, f: (acc: NoInfer<Z>, a: Effect.Success<Eff>, i: number) => Z, options?: {
|
|
725
741
|
readonly concurrency?: Concurrency | undefined;
|
|
726
742
|
readonly batching?: boolean | "inherit" | undefined;
|
|
743
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
727
744
|
} | undefined): (elements: Iterable<Eff>) => Effect<Z, E | Effect.Error<Eff>, R | Effect.Context<Eff>>;
|
|
728
745
|
<Eff extends Effect<any, any, any>, Z, E, R>(elements: Iterable<Eff>, zero: Effect<Z, E, R>, f: (acc: NoInfer<Z>, a: Effect.Success<Eff>, i: number) => Z, options?: {
|
|
729
746
|
readonly concurrency?: Concurrency | undefined;
|
|
730
747
|
readonly batching?: boolean | "inherit" | undefined;
|
|
748
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
731
749
|
} | undefined): Effect<Z, E | Effect.Error<Eff>, R | Effect.Context<Eff>>;
|
|
732
750
|
};
|
|
733
751
|
/**
|
|
@@ -779,21 +797,25 @@ export declare const replicateEffect: {
|
|
|
779
797
|
readonly concurrency?: Concurrency | undefined;
|
|
780
798
|
readonly batching?: boolean | "inherit" | undefined;
|
|
781
799
|
readonly discard?: false | undefined;
|
|
800
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
782
801
|
}): <A, E, R>(self: Effect<A, E, R>) => Effect<Array<A>, E, R>;
|
|
783
802
|
(n: number, options: {
|
|
784
803
|
readonly concurrency?: Concurrency | undefined;
|
|
785
804
|
readonly batching?: boolean | "inherit" | undefined;
|
|
786
805
|
readonly discard: true;
|
|
806
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
787
807
|
}): <A, E, R>(self: Effect<A, E, R>) => Effect<void, E, R>;
|
|
788
808
|
<A, E, R>(self: Effect<A, E, R>, n: number, options?: {
|
|
789
809
|
readonly concurrency?: Concurrency | undefined;
|
|
790
810
|
readonly batching?: boolean | "inherit" | undefined;
|
|
791
811
|
readonly discard?: false | undefined;
|
|
812
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
792
813
|
}): Effect<Array<A>, E, R>;
|
|
793
814
|
<A, E, R>(self: Effect<A, E, R>, n: number, options: {
|
|
794
815
|
readonly concurrency?: Concurrency | undefined;
|
|
795
816
|
readonly batching?: boolean | "inherit" | undefined;
|
|
796
817
|
readonly discard: true;
|
|
818
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
797
819
|
}): Effect<void, E, R>;
|
|
798
820
|
};
|
|
799
821
|
/**
|
|
@@ -831,21 +853,25 @@ export declare const validateAll: {
|
|
|
831
853
|
readonly concurrency?: Concurrency | undefined;
|
|
832
854
|
readonly batching?: boolean | "inherit" | undefined;
|
|
833
855
|
readonly discard?: false | undefined;
|
|
856
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
834
857
|
} | undefined): (elements: Iterable<A>) => Effect<Array<B>, Array<E>, R>;
|
|
835
858
|
<A, B, E, R>(f: (a: A, i: number) => Effect<B, E, R>, options: {
|
|
836
859
|
readonly concurrency?: Concurrency | undefined;
|
|
837
860
|
readonly batching?: boolean | "inherit" | undefined;
|
|
838
861
|
readonly discard: true;
|
|
862
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
839
863
|
}): (elements: Iterable<A>) => Effect<void, Array<E>, R>;
|
|
840
864
|
<A, B, E, R>(elements: Iterable<A>, f: (a: A, i: number) => Effect<B, E, R>, options?: {
|
|
841
865
|
readonly concurrency?: Concurrency | undefined;
|
|
842
866
|
readonly batching?: boolean | "inherit" | undefined;
|
|
843
867
|
readonly discard?: false | undefined;
|
|
868
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
844
869
|
} | undefined): Effect<Array<B>, Array<E>, R>;
|
|
845
870
|
<A, B, E, R>(elements: Iterable<A>, f: (a: A, i: number) => Effect<B, E, R>, options: {
|
|
846
871
|
readonly concurrency?: Concurrency | undefined;
|
|
847
872
|
readonly batching?: boolean | "inherit" | undefined;
|
|
848
873
|
readonly discard: true;
|
|
874
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
849
875
|
}): Effect<void, Array<E>, R>;
|
|
850
876
|
};
|
|
851
877
|
/**
|
|
@@ -872,10 +898,12 @@ export declare const validateFirst: {
|
|
|
872
898
|
<A, B, E, R>(f: (a: A, i: number) => Effect<B, E, R>, options?: {
|
|
873
899
|
readonly concurrency?: Concurrency | undefined;
|
|
874
900
|
readonly batching?: boolean | "inherit" | undefined;
|
|
901
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
875
902
|
} | undefined): (elements: Iterable<A>) => Effect<B, Array<E>, R>;
|
|
876
903
|
<A, B, E, R>(elements: Iterable<A>, f: (a: A, i: number) => Effect<B, E, R>, options?: {
|
|
877
904
|
readonly concurrency?: Concurrency | undefined;
|
|
878
905
|
readonly batching?: boolean | "inherit" | undefined;
|
|
906
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
879
907
|
} | undefined): Effect<B, Array<E>, R>;
|
|
880
908
|
};
|
|
881
909
|
/**
|
|
@@ -1217,9 +1245,9 @@ export declare const catchSomeDefect: {
|
|
|
1217
1245
|
export declare const catchTag: {
|
|
1218
1246
|
<K extends E extends {
|
|
1219
1247
|
_tag: string;
|
|
1220
|
-
} ? E["_tag"] : never, E, A1, E1, R1>(k: K, f: (e: Extract<E, {
|
|
1248
|
+
} ? E["_tag"] : never, E, A1, E1, R1>(k: K, f: (e: NoInfer<Extract<E, {
|
|
1221
1249
|
_tag: K;
|
|
1222
|
-
}
|
|
1250
|
+
}>>) => Effect<A1, E1, R1>): <A, R>(self: Effect<A, E, R>) => Effect<A1 | A, E1 | Exclude<E, {
|
|
1223
1251
|
_tag: K;
|
|
1224
1252
|
}>, R1 | R>;
|
|
1225
1253
|
<A, E, R, K extends E extends {
|
|
@@ -2592,6 +2620,50 @@ export declare const bind: {
|
|
|
2592
2620
|
[K in N | keyof A]: K extends keyof A ? A[K] : B;
|
|
2593
2621
|
}, E1 | E2, R1 | R2>;
|
|
2594
2622
|
};
|
|
2623
|
+
/**
|
|
2624
|
+
* `bindAll` combines `Effect.all` with `Effect.bind`. It is useful
|
|
2625
|
+
* when you want to concurrently run multiple effects and then combine their
|
|
2626
|
+
* results in a Do notation pipeline.
|
|
2627
|
+
*
|
|
2628
|
+
* @example
|
|
2629
|
+
* import { Effect, Either, pipe } from "effect"
|
|
2630
|
+
*
|
|
2631
|
+
* const result = pipe(
|
|
2632
|
+
* Effect.Do,
|
|
2633
|
+
* Effect.bind("x", () => Effect.succeed(2)),
|
|
2634
|
+
* Effect.bindAll(({ x }) => ({
|
|
2635
|
+
* a: Effect.succeed(x),
|
|
2636
|
+
* b: Effect.fail("oops"),
|
|
2637
|
+
* }), { concurrency: 2, mode: "either" })
|
|
2638
|
+
* )
|
|
2639
|
+
* assert.deepStrictEqual(Effect.runSync(result), { x: 2, a: Either.right(2), b: Either.left("oops") })
|
|
2640
|
+
*
|
|
2641
|
+
* @category do notation
|
|
2642
|
+
* @since 3.7.0
|
|
2643
|
+
*/
|
|
2644
|
+
export declare const bindAll: {
|
|
2645
|
+
<A extends object, X extends Record<string, Effect<any, any, any>>, O extends {
|
|
2646
|
+
readonly concurrency?: Concurrency | undefined;
|
|
2647
|
+
readonly batching?: boolean | "inherit" | undefined;
|
|
2648
|
+
readonly mode?: "default" | "validate" | "either" | undefined;
|
|
2649
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
2650
|
+
}>(f: (a: A) => [Extract<keyof X, keyof A>] extends [never] ? X : `Duplicate keys`, options?: undefined | O): <E1, R1>(self: Effect<A, E1, R1>) => [All.ReturnObject<X, false, All.ExtractMode<O>>] extends [Effect<infer Success, infer Error, infer Context>] ? Effect<{
|
|
2651
|
+
[K in keyof A | keyof Success]: K extends keyof A ? A[K] : K extends keyof Success ? Success[K] : never;
|
|
2652
|
+
}, E1 | Error, R1 | Context> : never;
|
|
2653
|
+
<A extends object, X extends Record<string, Effect<any, any, any>>, O extends {
|
|
2654
|
+
readonly concurrency?: Concurrency | undefined;
|
|
2655
|
+
readonly batching?: boolean | "inherit" | undefined;
|
|
2656
|
+
readonly mode?: "default" | "validate" | "either" | undefined;
|
|
2657
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
2658
|
+
}, E1, R1>(self: Effect<A, E1, R1>, f: (a: A) => [Extract<keyof X, keyof A>] extends [never] ? X : `Duplicate keys`, options?: undefined | {
|
|
2659
|
+
readonly concurrency?: Concurrency | undefined;
|
|
2660
|
+
readonly batching?: boolean | "inherit" | undefined;
|
|
2661
|
+
readonly mode?: "default" | "validate" | "either" | undefined;
|
|
2662
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
2663
|
+
}): [All.ReturnObject<X, false, All.ExtractMode<O>>] extends [Effect<infer Success, infer Error, infer Context>] ? Effect<{
|
|
2664
|
+
[K in keyof A | keyof Success]: K extends keyof A ? A[K] : K extends keyof Success ? Success[K] : never;
|
|
2665
|
+
}, E1 | Error, R1 | Context> : never;
|
|
2666
|
+
};
|
|
2595
2667
|
/**
|
|
2596
2668
|
* The "do simulation" in Effect allows you to write code in a more declarative style, similar to the "do notation" in other programming languages. It provides a way to define variables and perform operations on them using functions like `bind` and `let`.
|
|
2597
2669
|
*
|
|
@@ -3148,9 +3220,9 @@ export declare const tapError: {
|
|
|
3148
3220
|
export declare const tapErrorTag: {
|
|
3149
3221
|
<K extends E extends {
|
|
3150
3222
|
_tag: string;
|
|
3151
|
-
} ? E["_tag"] : never, E, A1, E1, R1>(k: K, f: (e: Extract<E, {
|
|
3223
|
+
} ? E["_tag"] : never, E, A1, E1, R1>(k: K, f: (e: NoInfer<Extract<E, {
|
|
3152
3224
|
_tag: K;
|
|
3153
|
-
}
|
|
3225
|
+
}>>) => Effect<A1, E1, R1>): <A, R>(self: Effect<A, E, R>) => Effect<A, E | E1, R1 | R>;
|
|
3154
3226
|
<A, E, R, K extends E extends {
|
|
3155
3227
|
_tag: string;
|
|
3156
3228
|
} ? E["_tag"] : never, A1, E1, R1>(self: Effect<A, E, R>, k: K, f: (e: Extract<E, {
|
|
@@ -4065,16 +4137,14 @@ export declare const runSyncExit: <A, E>(effect: Effect<A, E>) => Exit.Exit<A, E
|
|
|
4065
4137
|
*/
|
|
4066
4138
|
export declare const validate: {
|
|
4067
4139
|
<B, E1, R1>(that: Effect<B, E1, R1>, options?: {
|
|
4068
|
-
/**
|
|
4069
|
-
* @since 2.0.0
|
|
4070
|
-
* @category supervision & fibers
|
|
4071
|
-
*/
|
|
4072
4140
|
readonly concurrent?: boolean | undefined;
|
|
4073
4141
|
readonly batching?: boolean | "inherit" | undefined;
|
|
4142
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
4074
4143
|
} | undefined): <A, E, R>(self: Effect<A, E, R>) => Effect<[A, B], E1 | E, R1 | R>;
|
|
4075
4144
|
<A, E, R, B, E1, R1>(self: Effect<A, E, R>, that: Effect<B, E1, R1>, options?: {
|
|
4076
4145
|
readonly concurrent?: boolean | undefined;
|
|
4077
4146
|
readonly batching?: boolean | "inherit" | undefined;
|
|
4147
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
4078
4148
|
} | undefined): Effect<[A, B], E | E1, R | R1>;
|
|
4079
4149
|
};
|
|
4080
4150
|
/**
|
|
@@ -4088,10 +4158,12 @@ export declare const validateWith: {
|
|
|
4088
4158
|
<B, E1, R1, A, C>(that: Effect<B, E1, R1>, f: (a: A, b: B) => C, options?: {
|
|
4089
4159
|
readonly concurrent?: boolean | undefined;
|
|
4090
4160
|
readonly batching?: boolean | "inherit" | undefined;
|
|
4161
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
4091
4162
|
} | undefined): <E, R>(self: Effect<A, E, R>) => Effect<C, E1 | E, R1 | R>;
|
|
4092
4163
|
<A, E, R, B, E1, R1, C>(self: Effect<A, E, R>, that: Effect<B, E1, R1>, f: (a: A, b: B) => C, options?: {
|
|
4093
4164
|
readonly concurrent?: boolean | undefined;
|
|
4094
4165
|
readonly batching?: boolean | "inherit" | undefined;
|
|
4166
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
4095
4167
|
} | undefined): Effect<C, E | E1, R | R1>;
|
|
4096
4168
|
};
|
|
4097
4169
|
/**
|
|
@@ -4151,10 +4223,12 @@ export declare const zip: {
|
|
|
4151
4223
|
<A2, E2, R2>(that: Effect<A2, E2, R2>, options?: {
|
|
4152
4224
|
readonly concurrent?: boolean | undefined;
|
|
4153
4225
|
readonly batching?: boolean | "inherit" | undefined;
|
|
4226
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
4154
4227
|
} | undefined): <A, E, R>(self: Effect<A, E, R>) => Effect<[A, A2], E2 | E, R2 | R>;
|
|
4155
4228
|
<A, E, R, A2, E2, R2>(self: Effect<A, E, R>, that: Effect<A2, E2, R2>, options?: {
|
|
4156
4229
|
readonly concurrent?: boolean | undefined;
|
|
4157
4230
|
readonly batching?: boolean | "inherit" | undefined;
|
|
4231
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
4158
4232
|
} | undefined): Effect<[A, A2], E | E2, R | R2>;
|
|
4159
4233
|
};
|
|
4160
4234
|
/**
|
|
@@ -4181,10 +4255,12 @@ export declare const zipLeft: {
|
|
|
4181
4255
|
<A2, E2, R2>(that: Effect<A2, E2, R2>, options?: {
|
|
4182
4256
|
readonly concurrent?: boolean | undefined;
|
|
4183
4257
|
readonly batching?: boolean | "inherit" | undefined;
|
|
4258
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
4184
4259
|
} | undefined): <A, E, R>(self: Effect<A, E, R>) => Effect<A, E2 | E, R2 | R>;
|
|
4185
4260
|
<A, E, R, A2, E2, R2>(self: Effect<A, E, R>, that: Effect<A2, E2, R2>, options?: {
|
|
4186
4261
|
readonly concurrent?: boolean | undefined;
|
|
4187
4262
|
readonly batching?: boolean | "inherit" | undefined;
|
|
4263
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
4188
4264
|
} | undefined): Effect<A, E | E2, R | R2>;
|
|
4189
4265
|
};
|
|
4190
4266
|
/**
|
|
@@ -4211,10 +4287,12 @@ export declare const zipRight: {
|
|
|
4211
4287
|
<A2, E2, R2>(that: Effect<A2, E2, R2>, options?: {
|
|
4212
4288
|
readonly concurrent?: boolean | undefined;
|
|
4213
4289
|
readonly batching?: boolean | "inherit" | undefined;
|
|
4290
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
4214
4291
|
}): <A, E, R>(self: Effect<A, E, R>) => Effect<A2, E2 | E, R2 | R>;
|
|
4215
4292
|
<A, E, R, A2, E2, R2>(self: Effect<A, E, R>, that: Effect<A2, E2, R2>, options?: {
|
|
4216
4293
|
readonly concurrent?: boolean | undefined;
|
|
4217
4294
|
readonly batching?: boolean | "inherit" | undefined;
|
|
4295
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
4218
4296
|
}): Effect<A2, E2 | E, R2 | R>;
|
|
4219
4297
|
};
|
|
4220
4298
|
/**
|
|
@@ -4254,10 +4332,12 @@ export declare const zipWith: {
|
|
|
4254
4332
|
<A2, E2, R2, A, B>(that: Effect<A2, E2, R2>, f: (a: A, b: A2) => B, options?: {
|
|
4255
4333
|
readonly concurrent?: boolean | undefined;
|
|
4256
4334
|
readonly batching?: boolean | "inherit" | undefined;
|
|
4335
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
4257
4336
|
}): <E, R>(self: Effect<A, E, R>) => Effect<B, E2 | E, R2 | R>;
|
|
4258
4337
|
<A, E, R, A2, E2, R2, B>(self: Effect<A, E, R>, that: Effect<A2, E2, R2>, f: (a: A, b: A2) => B, options?: {
|
|
4259
4338
|
readonly concurrent?: boolean | undefined;
|
|
4260
4339
|
readonly batching?: boolean | "inherit" | undefined;
|
|
4340
|
+
readonly concurrentFinalizers?: boolean | undefined;
|
|
4261
4341
|
}): Effect<B, E2 | E, R2 | R>;
|
|
4262
4342
|
};
|
|
4263
4343
|
/**
|