effect 2.2.0 → 2.2.2
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/Cause.js.map +1 -1
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/Either.js +1 -1
- package/dist/cjs/Either.js.map +1 -1
- package/dist/cjs/Exit.js.map +1 -1
- package/dist/cjs/HashMap.js.map +1 -1
- package/dist/cjs/HashSet.js.map +1 -1
- package/dist/cjs/List.js.map +1 -1
- package/dist/cjs/ReadonlyArray.js.map +1 -1
- package/dist/cjs/ReadonlyRecord.js.map +1 -1
- package/dist/cjs/STM.js.map +1 -1
- package/dist/cjs/internal/cause.js.map +1 -1
- package/dist/cjs/internal/channel.js +3 -3
- package/dist/cjs/internal/channel.js.map +1 -1
- package/dist/cjs/internal/core-effect.js +7 -7
- package/dist/cjs/internal/core-effect.js.map +1 -1
- package/dist/cjs/internal/core.js +1 -1
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/groupBy.js.map +1 -1
- package/dist/cjs/internal/hashMap.js.map +1 -1
- package/dist/cjs/internal/hashSet.js.map +1 -1
- package/dist/cjs/internal/scopedRef.js +4 -5
- package/dist/cjs/internal/scopedRef.js.map +1 -1
- package/dist/cjs/internal/stm/stm.js.map +1 -1
- package/dist/cjs/internal/stream.js +1 -4
- package/dist/cjs/internal/stream.js.map +1 -1
- package/dist/cjs/internal/trie.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/dts/Cause.d.ts +6 -4
- package/dist/dts/Cause.d.ts.map +1 -1
- package/dist/dts/Chunk.d.ts +16 -16
- package/dist/dts/Chunk.d.ts.map +1 -1
- package/dist/dts/Effect.d.ts +31 -31
- package/dist/dts/Effect.d.ts.map +1 -1
- package/dist/dts/Either.d.ts +9 -9
- package/dist/dts/Either.d.ts.map +1 -1
- package/dist/dts/Exit.d.ts +3 -2
- package/dist/dts/Exit.d.ts.map +1 -1
- package/dist/dts/GroupBy.d.ts +6 -6
- package/dist/dts/GroupBy.d.ts.map +1 -1
- package/dist/dts/HashMap.d.ts +5 -4
- package/dist/dts/HashMap.d.ts.map +1 -1
- package/dist/dts/HashSet.d.ts +6 -5
- package/dist/dts/HashSet.d.ts.map +1 -1
- package/dist/dts/List.d.ts +9 -8
- package/dist/dts/List.d.ts.map +1 -1
- package/dist/dts/Option.d.ts +7 -7
- package/dist/dts/Option.d.ts.map +1 -1
- package/dist/dts/ReadonlyArray.d.ts +25 -23
- package/dist/dts/ReadonlyArray.d.ts.map +1 -1
- package/dist/dts/ReadonlyRecord.d.ts +5 -4
- package/dist/dts/ReadonlyRecord.d.ts.map +1 -1
- package/dist/dts/STM.d.ts +28 -26
- package/dist/dts/STM.d.ts.map +1 -1
- package/dist/dts/SortedSet.d.ts +3 -3
- package/dist/dts/SortedSet.d.ts.map +1 -1
- package/dist/dts/Stream.d.ts +37 -37
- package/dist/dts/Stream.d.ts.map +1 -1
- package/dist/dts/Trie.d.ts +4 -4
- package/dist/dts/Trie.d.ts.map +1 -1
- package/dist/dts/internal/hashMap.d.ts.map +1 -1
- package/dist/dts/internal/stm/stm.d.ts.map +1 -1
- package/dist/dts/internal/version.d.ts +1 -1
- package/dist/esm/Cause.js.map +1 -1
- package/dist/esm/Effect.js.map +1 -1
- package/dist/esm/Either.js +1 -1
- package/dist/esm/Either.js.map +1 -1
- package/dist/esm/Exit.js.map +1 -1
- package/dist/esm/HashMap.js.map +1 -1
- package/dist/esm/HashSet.js.map +1 -1
- package/dist/esm/List.js.map +1 -1
- package/dist/esm/ReadonlyArray.js.map +1 -1
- package/dist/esm/ReadonlyRecord.js.map +1 -1
- package/dist/esm/STM.js.map +1 -1
- package/dist/esm/internal/cause.js.map +1 -1
- package/dist/esm/internal/channel.js +3 -3
- package/dist/esm/internal/channel.js.map +1 -1
- package/dist/esm/internal/core-effect.js +7 -7
- package/dist/esm/internal/core-effect.js.map +1 -1
- package/dist/esm/internal/core.js +1 -1
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/groupBy.js.map +1 -1
- package/dist/esm/internal/hashMap.js.map +1 -1
- package/dist/esm/internal/hashSet.js.map +1 -1
- package/dist/esm/internal/scopedRef.js +4 -5
- package/dist/esm/internal/scopedRef.js.map +1 -1
- package/dist/esm/internal/stm/stm.js.map +1 -1
- package/dist/esm/internal/stream.js +1 -4
- package/dist/esm/internal/stream.js.map +1 -1
- package/dist/esm/internal/trie.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/package.json +1 -1
- package/src/Cause.ts +6 -4
- package/src/Chunk.ts +20 -20
- package/src/Effect.ts +67 -72
- package/src/Either.ts +17 -21
- package/src/Exit.ts +3 -2
- package/src/GroupBy.ts +6 -6
- package/src/HashMap.ts +5 -4
- package/src/HashSet.ts +8 -7
- package/src/List.ts +11 -10
- package/src/Option.ts +8 -8
- package/src/ReadonlyArray.ts +44 -38
- package/src/ReadonlyRecord.ts +13 -10
- package/src/STM.ts +47 -46
- package/src/SortedSet.ts +5 -5
- package/src/Stream.ts +51 -51
- package/src/Trie.ts +4 -4
- package/src/internal/cause.ts +16 -7
- package/src/internal/channel.ts +21 -17
- package/src/internal/core-effect.ts +160 -162
- package/src/internal/core.ts +30 -34
- package/src/internal/groupBy.ts +2 -1
- package/src/internal/hashMap.ts +5 -4
- package/src/internal/hashSet.ts +9 -8
- package/src/internal/scopedRef.ts +34 -54
- package/src/internal/stm/stm.ts +104 -124
- package/src/internal/stream.ts +106 -97
- package/src/internal/trie.ts +3 -2
- package/src/internal/version.ts +1 -1
package/src/STM.ts
CHANGED
|
@@ -14,7 +14,7 @@ import * as stm from "./internal/stm/stm.js"
|
|
|
14
14
|
import type * as Option from "./Option.js"
|
|
15
15
|
import type { Pipeable } from "./Pipeable.js"
|
|
16
16
|
import type { Predicate, Refinement } from "./Predicate.js"
|
|
17
|
-
import type
|
|
17
|
+
import type { Covariant, NoInfer } from "./Types.js"
|
|
18
18
|
import type * as Unify from "./Unify.js"
|
|
19
19
|
|
|
20
20
|
/**
|
|
@@ -140,9 +140,9 @@ export declare namespace STM {
|
|
|
140
140
|
*/
|
|
141
141
|
export interface Variance<out R, out E, out A> {
|
|
142
142
|
readonly [STMTypeId]: {
|
|
143
|
-
readonly _R:
|
|
144
|
-
readonly _E:
|
|
145
|
-
readonly _A:
|
|
143
|
+
readonly _R: Covariant<R>
|
|
144
|
+
readonly _E: Covariant<E>
|
|
145
|
+
readonly _A: Covariant<A>
|
|
146
146
|
}
|
|
147
147
|
}
|
|
148
148
|
}
|
|
@@ -550,7 +550,7 @@ export const eventually: <R, E, A>(self: STM<R, E, A>) => STM<R, E, A> = stm.eve
|
|
|
550
550
|
* @category constructors
|
|
551
551
|
*/
|
|
552
552
|
export const every: {
|
|
553
|
-
<A, R, E>(predicate: (a: A) => STM<R, E, boolean>): (iterable: Iterable<A>) => STM<R, E, boolean>
|
|
553
|
+
<A, R, E>(predicate: (a: NoInfer<A>) => STM<R, E, boolean>): (iterable: Iterable<A>) => STM<R, E, boolean>
|
|
554
554
|
<A, R, E>(iterable: Iterable<A>, predicate: (a: A) => STM<R, E, boolean>): STM<R, E, boolean>
|
|
555
555
|
} = stm.every
|
|
556
556
|
|
|
@@ -562,7 +562,7 @@ export const every: {
|
|
|
562
562
|
* @category constructors
|
|
563
563
|
*/
|
|
564
564
|
export const exists: {
|
|
565
|
-
<A, R, E>(predicate: (a: A) => STM<R, E, boolean>): (iterable: Iterable<A>) => STM<R, E, boolean>
|
|
565
|
+
<A, R, E>(predicate: (a: NoInfer<A>) => STM<R, E, boolean>): (iterable: Iterable<A>) => STM<R, E, boolean>
|
|
566
566
|
<A, R, E>(iterable: Iterable<A>, predicate: (a: A) => STM<R, E, boolean>): STM<R, E, boolean>
|
|
567
567
|
} = stm.exists
|
|
568
568
|
|
|
@@ -597,7 +597,7 @@ export const fiberId: STM<never, never, FiberId.FiberId> = stm.fiberId
|
|
|
597
597
|
* @category constructors
|
|
598
598
|
*/
|
|
599
599
|
export const filter: {
|
|
600
|
-
<A, R, E>(predicate: (a: A) => STM<R, E, boolean>): (iterable: Iterable<A>) => STM<R, E, Array<A>>
|
|
600
|
+
<A, R, E>(predicate: (a: NoInfer<A>) => STM<R, E, boolean>): (iterable: Iterable<A>) => STM<R, E, Array<A>>
|
|
601
601
|
<A, R, E>(iterable: Iterable<A>, predicate: (a: A) => STM<R, E, boolean>): STM<R, E, Array<A>>
|
|
602
602
|
} = stm.filter
|
|
603
603
|
|
|
@@ -609,7 +609,7 @@ export const filter: {
|
|
|
609
609
|
* @category constructors
|
|
610
610
|
*/
|
|
611
611
|
export const filterNot: {
|
|
612
|
-
<A, R, E>(predicate: (a: A) => STM<R, E, boolean>): (iterable: Iterable<A>) => STM<R, E, Array<A>>
|
|
612
|
+
<A, R, E>(predicate: (a: NoInfer<A>) => STM<R, E, boolean>): (iterable: Iterable<A>) => STM<R, E, Array<A>>
|
|
613
613
|
<A, R, E>(iterable: Iterable<A>, predicate: (a: A) => STM<R, E, boolean>): STM<R, E, Array<A>>
|
|
614
614
|
} = stm.filterNot
|
|
615
615
|
|
|
@@ -620,10 +620,13 @@ export const filterNot: {
|
|
|
620
620
|
* @category filtering
|
|
621
621
|
*/
|
|
622
622
|
export const filterOrDie: {
|
|
623
|
-
<A, B extends A>(
|
|
624
|
-
|
|
623
|
+
<A, B extends A>(
|
|
624
|
+
refinement: Refinement<NoInfer<A>, B>,
|
|
625
|
+
defect: LazyArg<unknown>
|
|
626
|
+
): <R, E>(self: STM<R, E, A>) => STM<R, E, B>
|
|
627
|
+
<A>(predicate: Predicate<NoInfer<A>>, defect: LazyArg<unknown>): <R, E>(self: STM<R, E, A>) => STM<R, E, A>
|
|
625
628
|
<R, E, A, B extends A>(self: STM<R, E, A>, refinement: Refinement<A, B>, defect: LazyArg<unknown>): STM<R, E, B>
|
|
626
|
-
<R, E, A
|
|
629
|
+
<R, E, A>(self: STM<R, E, A>, predicate: Predicate<A>, defect: LazyArg<unknown>): STM<R, E, A>
|
|
627
630
|
} = stm.filterOrDie
|
|
628
631
|
|
|
629
632
|
/**
|
|
@@ -634,10 +637,10 @@ export const filterOrDie: {
|
|
|
634
637
|
* @category filtering
|
|
635
638
|
*/
|
|
636
639
|
export const filterOrDieMessage: {
|
|
637
|
-
<A, B extends A>(refinement: Refinement<A
|
|
638
|
-
<A
|
|
640
|
+
<A, B extends A>(refinement: Refinement<NoInfer<A>, B>, message: string): <R, E>(self: STM<R, E, A>) => STM<R, E, B>
|
|
641
|
+
<A>(predicate: Predicate<NoInfer<A>>, message: string): <R, E>(self: STM<R, E, A>) => STM<R, E, A>
|
|
639
642
|
<R, E, A, B extends A>(self: STM<R, E, A>, refinement: Refinement<A, B>, message: string): STM<R, E, B>
|
|
640
|
-
<R, E, A
|
|
643
|
+
<R, E, A>(self: STM<R, E, A>, predicate: Predicate<A>, message: string): STM<R, E, A>
|
|
641
644
|
} = stm.filterOrDieMessage
|
|
642
645
|
|
|
643
646
|
/**
|
|
@@ -647,24 +650,24 @@ export const filterOrDieMessage: {
|
|
|
647
650
|
* @category filtering
|
|
648
651
|
*/
|
|
649
652
|
export const filterOrElse: {
|
|
650
|
-
<A, B extends A,
|
|
651
|
-
refinement: Refinement<A
|
|
652
|
-
orElse: (a:
|
|
653
|
-
): <R, E>(self: STM<R, E, A>) => STM<R2 | R, E2 | E, B |
|
|
654
|
-
<A,
|
|
655
|
-
predicate: Predicate<
|
|
656
|
-
orElse: (a:
|
|
657
|
-
): <R, E>(self: STM<R, E, A>) => STM<R2 | R, E2 | E, A |
|
|
658
|
-
<R, E, A, B extends A,
|
|
653
|
+
<A, B extends A, R2, E2, C>(
|
|
654
|
+
refinement: Refinement<NoInfer<A>, B>,
|
|
655
|
+
orElse: (a: NoInfer<A>) => STM<R2, E2, C>
|
|
656
|
+
): <R, E>(self: STM<R, E, A>) => STM<R2 | R, E2 | E, B | C>
|
|
657
|
+
<A, R2, E2, B>(
|
|
658
|
+
predicate: Predicate<NoInfer<A>>,
|
|
659
|
+
orElse: (a: NoInfer<A>) => STM<R2, E2, B>
|
|
660
|
+
): <R, E>(self: STM<R, E, A>) => STM<R2 | R, E2 | E, A | B>
|
|
661
|
+
<R, E, A, B extends A, R2, E2, C>(
|
|
659
662
|
self: STM<R, E, A>,
|
|
660
663
|
refinement: Refinement<A, B>,
|
|
661
|
-
orElse: (a:
|
|
662
|
-
): STM<R | R2, E | E2, B |
|
|
663
|
-
<R, E, A,
|
|
664
|
+
orElse: (a: A) => STM<R2, E2, C>
|
|
665
|
+
): STM<R | R2, E | E2, B | C>
|
|
666
|
+
<R, E, A, R2, E2, B>(
|
|
664
667
|
self: STM<R, E, A>,
|
|
665
|
-
predicate: Predicate<
|
|
666
|
-
orElse: (a:
|
|
667
|
-
): STM<R | R2, E | E2, A |
|
|
668
|
+
predicate: Predicate<A>,
|
|
669
|
+
orElse: (a: A) => STM<R2, E2, B>
|
|
670
|
+
): STM<R | R2, E | E2, A | B>
|
|
668
671
|
} = stm.filterOrElse
|
|
669
672
|
|
|
670
673
|
/**
|
|
@@ -674,24 +677,20 @@ export const filterOrElse: {
|
|
|
674
677
|
* @category filtering
|
|
675
678
|
*/
|
|
676
679
|
export const filterOrFail: {
|
|
677
|
-
<A, B extends A,
|
|
678
|
-
refinement: Refinement<A
|
|
679
|
-
orFailWith: (a:
|
|
680
|
+
<A, B extends A, E2>(
|
|
681
|
+
refinement: Refinement<NoInfer<A>, B>,
|
|
682
|
+
orFailWith: (a: NoInfer<A>) => E2
|
|
680
683
|
): <R, E>(self: STM<R, E, A>) => STM<R, E2 | E, B>
|
|
681
|
-
<A,
|
|
682
|
-
predicate: Predicate<
|
|
683
|
-
orFailWith: (a:
|
|
684
|
+
<A, E2>(
|
|
685
|
+
predicate: Predicate<NoInfer<A>>,
|
|
686
|
+
orFailWith: (a: NoInfer<A>) => E2
|
|
684
687
|
): <R, E>(self: STM<R, E, A>) => STM<R, E2 | E, A>
|
|
685
|
-
<R, E, A, B extends A,
|
|
688
|
+
<R, E, A, B extends A, E2>(
|
|
686
689
|
self: STM<R, E, A>,
|
|
687
690
|
refinement: Refinement<A, B>,
|
|
688
|
-
orFailWith: (a:
|
|
691
|
+
orFailWith: (a: A) => E2
|
|
689
692
|
): STM<R, E | E2, B>
|
|
690
|
-
<R, E, A,
|
|
691
|
-
self: STM<R, E, A>,
|
|
692
|
-
predicate: Predicate<X>,
|
|
693
|
-
orFailWith: (a: Y) => E2
|
|
694
|
-
): STM<R, E | E2, A>
|
|
693
|
+
<R, E, A, E2>(self: STM<R, E, A>, predicate: Predicate<A>, orFailWith: (a: A) => E2): STM<R, E | E2, A>
|
|
695
694
|
} = stm.filterOrFail
|
|
696
695
|
|
|
697
696
|
/**
|
|
@@ -1723,7 +1722,9 @@ export const retry: STM<never, never, never> = core.retry
|
|
|
1723
1722
|
* @category mutations
|
|
1724
1723
|
*/
|
|
1725
1724
|
export const retryUntil: {
|
|
1725
|
+
<A, B extends A>(refinement: Refinement<NoInfer<A>, B>): <R, E>(self: STM<R, E, A>) => STM<R, E, B>
|
|
1726
1726
|
<A>(predicate: Predicate<A>): <R, E>(self: STM<R, E, A>) => STM<R, E, A>
|
|
1727
|
+
<R, E, A, B extends A>(self: STM<R, E, A>, refinement: Refinement<A, B>): STM<R, E, B>
|
|
1727
1728
|
<R, E, A>(self: STM<R, E, A>, predicate: Predicate<A>): STM<R, E, A>
|
|
1728
1729
|
} = stm.retryUntil
|
|
1729
1730
|
|
|
@@ -1817,8 +1818,8 @@ export const sync: <A>(evaluate: () => A) => STM<never, never, A> = core.sync
|
|
|
1817
1818
|
* @category sequencing
|
|
1818
1819
|
*/
|
|
1819
1820
|
export const tap: {
|
|
1820
|
-
<A,
|
|
1821
|
-
<R, E, A,
|
|
1821
|
+
<A, R2, E2, _>(f: (a: A) => STM<R2, E2, _>): <R, E>(self: STM<R, E, A>) => STM<R2 | R, E2 | E, A>
|
|
1822
|
+
<R, E, A, R2, E2, _>(self: STM<R, E, A>, f: (a: A) => STM<R2, E2, _>): STM<R | R2, E | E2, A>
|
|
1822
1823
|
} = stm.tap
|
|
1823
1824
|
|
|
1824
1825
|
/**
|
|
@@ -1850,8 +1851,8 @@ export const tapBoth: {
|
|
|
1850
1851
|
* @category sequencing
|
|
1851
1852
|
*/
|
|
1852
1853
|
export const tapError: {
|
|
1853
|
-
<E,
|
|
1854
|
-
<R, A, E,
|
|
1854
|
+
<E, R2, E2, _>(f: (error: NoInfer<E>) => STM<R2, E2, _>): <R, A>(self: STM<R, E, A>) => STM<R2 | R, E | E2, A>
|
|
1855
|
+
<R, A, E, R2, E2, _>(self: STM<R, E, A>, f: (error: E) => STM<R2, E2, _>): STM<R | R2, E | E2, A>
|
|
1855
1856
|
} = stm.tapError
|
|
1856
1857
|
|
|
1857
1858
|
const try_: {
|
package/src/SortedSet.ts
CHANGED
|
@@ -13,7 +13,7 @@ import { pipeArguments } from "./Pipeable.js"
|
|
|
13
13
|
import type { Predicate } from "./Predicate.js"
|
|
14
14
|
import { hasProperty } from "./Predicate.js"
|
|
15
15
|
import * as RBT from "./RedBlackTree.js"
|
|
16
|
-
import type
|
|
16
|
+
import type { Invariant, NoInfer } from "./Types.js"
|
|
17
17
|
|
|
18
18
|
const TypeId: unique symbol = Symbol.for("effect/SortedSet")
|
|
19
19
|
|
|
@@ -29,7 +29,7 @@ export type TypeId = typeof TypeId
|
|
|
29
29
|
*/
|
|
30
30
|
export interface SortedSet<in out A> extends Iterable<A>, Equal.Equal, Pipeable, Inspectable {
|
|
31
31
|
readonly [TypeId]: {
|
|
32
|
-
readonly _A:
|
|
32
|
+
readonly _A: Invariant<A>
|
|
33
33
|
}
|
|
34
34
|
/** @internal */
|
|
35
35
|
readonly keyTree: RBT.RedBlackTree<A, boolean>
|
|
@@ -279,9 +279,9 @@ export const map: {
|
|
|
279
279
|
* @category filtering
|
|
280
280
|
*/
|
|
281
281
|
export const partition: {
|
|
282
|
-
<
|
|
283
|
-
predicate: (a: A) => boolean
|
|
284
|
-
): (self: SortedSet<
|
|
282
|
+
<A>(
|
|
283
|
+
predicate: (a: NoInfer<A>) => boolean
|
|
284
|
+
): (self: SortedSet<A>) => [excluded: SortedSet<A>, satisfying: SortedSet<A>]
|
|
285
285
|
<A>(self: SortedSet<A>, predicate: (a: A) => boolean): [excluded: SortedSet<A>, satisfying: SortedSet<A>]
|
|
286
286
|
} = Dual.dual(
|
|
287
287
|
2,
|
package/src/Stream.ts
CHANGED
|
@@ -29,7 +29,7 @@ import type * as Emit from "./StreamEmit.js"
|
|
|
29
29
|
import type * as HaltStrategy from "./StreamHaltStrategy.js"
|
|
30
30
|
import type * as Take from "./Take.js"
|
|
31
31
|
import type * as Tracer from "./Tracer.js"
|
|
32
|
-
import type
|
|
32
|
+
import type { Covariant, NoInfer } from "./Types.js"
|
|
33
33
|
import type * as Unify from "./Unify.js"
|
|
34
34
|
|
|
35
35
|
/**
|
|
@@ -115,9 +115,9 @@ export declare namespace Stream {
|
|
|
115
115
|
*/
|
|
116
116
|
export interface Variance<out R, out E, out A> {
|
|
117
117
|
readonly [StreamTypeId]: {
|
|
118
|
-
_R:
|
|
119
|
-
_E:
|
|
120
|
-
_A:
|
|
118
|
+
_R: Covariant<R>
|
|
119
|
+
_E: Covariant<E>
|
|
120
|
+
_A: Covariant<A>
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
123
|
|
|
@@ -995,7 +995,7 @@ export const dropRight: {
|
|
|
995
995
|
* @category utils
|
|
996
996
|
*/
|
|
997
997
|
export const dropUntil: {
|
|
998
|
-
<
|
|
998
|
+
<A>(predicate: Predicate<NoInfer<A>>): <R, E>(self: Stream<R, E, A>) => Stream<R, E, A>
|
|
999
999
|
<R, E, A>(self: Stream<R, E, A>, predicate: Predicate<A>): Stream<R, E, A>
|
|
1000
1000
|
} = internal.dropUntil
|
|
1001
1001
|
|
|
@@ -1007,12 +1007,12 @@ export const dropUntil: {
|
|
|
1007
1007
|
* @category utils
|
|
1008
1008
|
*/
|
|
1009
1009
|
export const dropUntilEffect: {
|
|
1010
|
-
<A,
|
|
1011
|
-
predicate: (a:
|
|
1010
|
+
<A, R2, E2>(
|
|
1011
|
+
predicate: (a: NoInfer<A>) => Effect.Effect<R2, E2, boolean>
|
|
1012
1012
|
): <R, E>(self: Stream<R, E, A>) => Stream<R2 | R, E2 | E, A>
|
|
1013
|
-
<R, E, A,
|
|
1013
|
+
<R, E, A, R2, E2>(
|
|
1014
1014
|
self: Stream<R, E, A>,
|
|
1015
|
-
predicate: (a:
|
|
1015
|
+
predicate: (a: NoInfer<A>) => Effect.Effect<R2, E2, boolean>
|
|
1016
1016
|
): Stream<R | R2, E | E2, A>
|
|
1017
1017
|
} = internal.dropUntilEffect
|
|
1018
1018
|
|
|
@@ -1024,7 +1024,7 @@ export const dropUntilEffect: {
|
|
|
1024
1024
|
* @category utils
|
|
1025
1025
|
*/
|
|
1026
1026
|
export const dropWhile: {
|
|
1027
|
-
<
|
|
1027
|
+
<A>(predicate: Predicate<NoInfer<A>>): <R, E>(self: Stream<R, E, A>) => Stream<R, E, A>
|
|
1028
1028
|
<R, E, A>(self: Stream<R, E, A>, predicate: Predicate<A>): Stream<R, E, A>
|
|
1029
1029
|
} = internal.dropWhile
|
|
1030
1030
|
|
|
@@ -1036,12 +1036,12 @@ export const dropWhile: {
|
|
|
1036
1036
|
* @category utils
|
|
1037
1037
|
*/
|
|
1038
1038
|
export const dropWhileEffect: {
|
|
1039
|
-
<A,
|
|
1040
|
-
predicate: (a:
|
|
1039
|
+
<A, R2, E2>(
|
|
1040
|
+
predicate: (a: NoInfer<A>) => Effect.Effect<R2, E2, boolean>
|
|
1041
1041
|
): <R, E>(self: Stream<R, E, A>) => Stream<R2 | R, E2 | E, A>
|
|
1042
|
-
<R, E, A,
|
|
1042
|
+
<R, E, A, R2, E2>(
|
|
1043
1043
|
self: Stream<R, E, A>,
|
|
1044
|
-
predicate: (a:
|
|
1044
|
+
predicate: (a: NoInfer<A>) => Effect.Effect<R2, E2, boolean>
|
|
1045
1045
|
): Stream<R | R2, E | E2, A>
|
|
1046
1046
|
} = internal.dropWhileEffect
|
|
1047
1047
|
|
|
@@ -1175,8 +1175,8 @@ export const failCauseSync: <E>(evaluate: LazyArg<Cause.Cause<E>>) => Stream<nev
|
|
|
1175
1175
|
* @category filtering
|
|
1176
1176
|
*/
|
|
1177
1177
|
export const filter: {
|
|
1178
|
-
<A, B extends A>(refinement: Refinement<A
|
|
1179
|
-
<
|
|
1178
|
+
<A, B extends A>(refinement: Refinement<NoInfer<A>, B>): <R, E>(self: Stream<R, E, A>) => Stream<R, E, B>
|
|
1179
|
+
<A>(predicate: Predicate<NoInfer<A>>): <R, E>(self: Stream<R, E, A>) => Stream<R, E, A>
|
|
1180
1180
|
<R, E, A, B extends A>(self: Stream<R, E, A>, refinement: Refinement<A, B>): Stream<R, E, B>
|
|
1181
1181
|
<R, E, A>(self: Stream<R, E, A>, predicate: Predicate<A>): Stream<R, E, A>
|
|
1182
1182
|
} = internal.filter
|
|
@@ -1188,12 +1188,12 @@ export const filter: {
|
|
|
1188
1188
|
* @category filtering
|
|
1189
1189
|
*/
|
|
1190
1190
|
export const filterEffect: {
|
|
1191
|
-
<A,
|
|
1192
|
-
f: (a:
|
|
1191
|
+
<A, R2, E2>(
|
|
1192
|
+
f: (a: NoInfer<A>) => Effect.Effect<R2, E2, boolean>
|
|
1193
1193
|
): <R, E>(self: Stream<R, E, A>) => Stream<R2 | R, E2 | E, A>
|
|
1194
|
-
<R, E, A,
|
|
1194
|
+
<R, E, A, R2, E2>(
|
|
1195
1195
|
self: Stream<R, E, A>,
|
|
1196
|
-
f: (a:
|
|
1196
|
+
f: (a: NoInfer<A>) => Effect.Effect<R2, E2, boolean>
|
|
1197
1197
|
): Stream<R | R2, E | E2, A>
|
|
1198
1198
|
} = internal.filterEffect
|
|
1199
1199
|
|
|
@@ -1270,8 +1270,8 @@ export const finalizer: <R, _>(finalizer: Effect.Effect<R, never, _>) => Stream<
|
|
|
1270
1270
|
* @category elements
|
|
1271
1271
|
*/
|
|
1272
1272
|
export const find: {
|
|
1273
|
-
<A, B extends A>(refinement: Refinement<A
|
|
1274
|
-
<
|
|
1273
|
+
<A, B extends A>(refinement: Refinement<NoInfer<A>, B>): <R, E>(self: Stream<R, E, A>) => Stream<R, E, B>
|
|
1274
|
+
<A>(predicate: Predicate<NoInfer<A>>): <R, E>(self: Stream<R, E, A>) => Stream<R, E, A>
|
|
1275
1275
|
<R, E, A, B extends A>(self: Stream<R, E, A>, refinement: Refinement<A, B>): Stream<R, E, B>
|
|
1276
1276
|
<R, E, A>(self: Stream<R, E, A>, predicate: Predicate<A>): Stream<R, E, A>
|
|
1277
1277
|
} = internal.find
|
|
@@ -1284,12 +1284,12 @@ export const find: {
|
|
|
1284
1284
|
* @category elements
|
|
1285
1285
|
*/
|
|
1286
1286
|
export const findEffect: {
|
|
1287
|
-
<A,
|
|
1288
|
-
predicate: (a:
|
|
1287
|
+
<A, R2, E2>(
|
|
1288
|
+
predicate: (a: NoInfer<A>) => Effect.Effect<R2, E2, boolean>
|
|
1289
1289
|
): <R, E>(self: Stream<R, E, A>) => Stream<R2 | R, E2 | E, A>
|
|
1290
|
-
<R, E, A,
|
|
1290
|
+
<R, E, A, R2, E2>(
|
|
1291
1291
|
self: Stream<R, E, A>,
|
|
1292
|
-
predicate: (a:
|
|
1292
|
+
predicate: (a: NoInfer<A>) => Effect.Effect<R2, E2, boolean>
|
|
1293
1293
|
): Stream<R | R2, E | E2, A>
|
|
1294
1294
|
} = internal.findEffect
|
|
1295
1295
|
|
|
@@ -2480,7 +2480,7 @@ export const paginateEffect: <S, R, E, A>(
|
|
|
2480
2480
|
*/
|
|
2481
2481
|
export const partition: {
|
|
2482
2482
|
<C extends A, B extends A, A = C>(
|
|
2483
|
-
refinement: Refinement<A
|
|
2483
|
+
refinement: Refinement<NoInfer<A>, B>,
|
|
2484
2484
|
options?: {
|
|
2485
2485
|
bufferSize?: number | undefined
|
|
2486
2486
|
}
|
|
@@ -2520,7 +2520,7 @@ export const partition: {
|
|
|
2520
2520
|
*/
|
|
2521
2521
|
export const partitionEither: {
|
|
2522
2522
|
<A, R2, E2, A2, A3>(
|
|
2523
|
-
predicate: (a: A) => Effect.Effect<R2, E2, Either.Either<A2, A3>>,
|
|
2523
|
+
predicate: (a: NoInfer<A>) => Effect.Effect<R2, E2, Either.Either<A2, A3>>,
|
|
2524
2524
|
options?: {
|
|
2525
2525
|
readonly bufferSize?: number | undefined
|
|
2526
2526
|
}
|
|
@@ -3527,7 +3527,7 @@ export const someOrFail: {
|
|
|
3527
3527
|
* @category utils
|
|
3528
3528
|
*/
|
|
3529
3529
|
export const split: {
|
|
3530
|
-
<
|
|
3530
|
+
<A>(predicate: Predicate<NoInfer<A>>): <R, E>(self: Stream<R, E, A>) => Stream<R, E, Chunk.Chunk<A>>
|
|
3531
3531
|
<R, E, A>(self: Stream<R, E, A>, predicate: Predicate<A>): Stream<R, E, Chunk.Chunk<A>>
|
|
3532
3532
|
} = internal.split
|
|
3533
3533
|
|
|
@@ -3605,7 +3605,7 @@ export const takeRight: {
|
|
|
3605
3605
|
* @category utils
|
|
3606
3606
|
*/
|
|
3607
3607
|
export const takeUntil: {
|
|
3608
|
-
<
|
|
3608
|
+
<A>(predicate: Predicate<NoInfer<A>>): <R, E>(self: Stream<R, E, A>) => Stream<R, E, A>
|
|
3609
3609
|
<R, E, A>(self: Stream<R, E, A>, predicate: Predicate<A>): Stream<R, E, A>
|
|
3610
3610
|
} = internal.takeUntil
|
|
3611
3611
|
|
|
@@ -3618,7 +3618,7 @@ export const takeUntil: {
|
|
|
3618
3618
|
*/
|
|
3619
3619
|
export const takeUntilEffect: {
|
|
3620
3620
|
<A, R2, E2>(
|
|
3621
|
-
predicate: (a: A) => Effect.Effect<R2, E2, boolean>
|
|
3621
|
+
predicate: (a: NoInfer<A>) => Effect.Effect<R2, E2, boolean>
|
|
3622
3622
|
): <R, E>(self: Stream<R, E, A>) => Stream<R2 | R, E2 | E, A>
|
|
3623
3623
|
<R, E, A, R2, E2>(
|
|
3624
3624
|
self: Stream<R, E, A>,
|
|
@@ -3634,8 +3634,8 @@ export const takeUntilEffect: {
|
|
|
3634
3634
|
* @category utils
|
|
3635
3635
|
*/
|
|
3636
3636
|
export const takeWhile: {
|
|
3637
|
-
<A, B extends A>(refinement: Refinement<A
|
|
3638
|
-
<
|
|
3637
|
+
<A, B extends A>(refinement: Refinement<NoInfer<A>, B>): <R, E>(self: Stream<R, E, A>) => Stream<R, E, B>
|
|
3638
|
+
<A>(predicate: Predicate<NoInfer<A>>): <R, E>(self: Stream<R, E, A>) => Stream<R, E, A>
|
|
3639
3639
|
<R, E, A, B extends A>(self: Stream<R, E, A>, refinement: Refinement<A, B>): Stream<R, E, B>
|
|
3640
3640
|
<R, E, A>(self: Stream<R, E, A>, predicate: Predicate<A>): Stream<R, E, A>
|
|
3641
3641
|
} = internal.takeWhile
|
|
@@ -3647,12 +3647,12 @@ export const takeWhile: {
|
|
|
3647
3647
|
* @category sequencing
|
|
3648
3648
|
*/
|
|
3649
3649
|
export const tap: {
|
|
3650
|
-
<A,
|
|
3651
|
-
f: (a:
|
|
3650
|
+
<A, R2, E2, _>(
|
|
3651
|
+
f: (a: NoInfer<A>) => Effect.Effect<R2, E2, _>
|
|
3652
3652
|
): <R, E>(self: Stream<R, E, A>) => Stream<R2 | R, E2 | E, A>
|
|
3653
|
-
<R, E, A,
|
|
3653
|
+
<R, E, A, R2, E2, _>(
|
|
3654
3654
|
self: Stream<R, E, A>,
|
|
3655
|
-
f: (a:
|
|
3655
|
+
f: (a: NoInfer<A>) => Effect.Effect<R2, E2, _>
|
|
3656
3656
|
): Stream<R | R2, E | E2, A>
|
|
3657
3657
|
} = internal.tap
|
|
3658
3658
|
|
|
@@ -3664,17 +3664,17 @@ export const tap: {
|
|
|
3664
3664
|
* @category sequencing
|
|
3665
3665
|
*/
|
|
3666
3666
|
export const tapBoth: {
|
|
3667
|
-
<E,
|
|
3667
|
+
<E, R2, E2, X1, A, R3, E3, X2>(
|
|
3668
3668
|
options: {
|
|
3669
|
-
readonly onFailure: (e:
|
|
3670
|
-
readonly onSuccess: (a:
|
|
3669
|
+
readonly onFailure: (e: NoInfer<E>) => Effect.Effect<R2, E2, X1>
|
|
3670
|
+
readonly onSuccess: (a: NoInfer<A>) => Effect.Effect<R3, E3, X2>
|
|
3671
3671
|
}
|
|
3672
3672
|
): <R>(self: Stream<R, E, A>) => Stream<R | R2 | R3, E | E2 | E3, A>
|
|
3673
|
-
<R, E, A,
|
|
3673
|
+
<R, E, A, R2, E2, X1, R3, E3, X2>(
|
|
3674
3674
|
self: Stream<R, E, A>,
|
|
3675
3675
|
options: {
|
|
3676
|
-
readonly onFailure: (e:
|
|
3677
|
-
readonly onSuccess: (a:
|
|
3676
|
+
readonly onFailure: (e: NoInfer<E>) => Effect.Effect<R2, E2, X1>
|
|
3677
|
+
readonly onSuccess: (a: NoInfer<A>) => Effect.Effect<R3, E3, X2>
|
|
3678
3678
|
}
|
|
3679
3679
|
): Stream<R | R2 | R3, E | E2 | E3, A>
|
|
3680
3680
|
} = internal.tapBoth
|
|
@@ -3686,12 +3686,12 @@ export const tapBoth: {
|
|
|
3686
3686
|
* @category sequencing
|
|
3687
3687
|
*/
|
|
3688
3688
|
export const tapError: {
|
|
3689
|
-
<E,
|
|
3690
|
-
f: (error:
|
|
3689
|
+
<E, R2, E2, _>(
|
|
3690
|
+
f: (error: NoInfer<E>) => Effect.Effect<R2, E2, _>
|
|
3691
3691
|
): <R, A>(self: Stream<R, E, A>) => Stream<R2 | R, E | E2, A>
|
|
3692
|
-
<R, A, E,
|
|
3692
|
+
<R, A, E, R2, E2, _>(
|
|
3693
3693
|
self: Stream<R, E, A>,
|
|
3694
|
-
f: (error:
|
|
3694
|
+
f: (error: E) => Effect.Effect<R2, E2, _>
|
|
3695
3695
|
): Stream<R | R2, E | E2, A>
|
|
3696
3696
|
} = internal.tapError
|
|
3697
3697
|
|
|
@@ -3703,12 +3703,12 @@ export const tapError: {
|
|
|
3703
3703
|
* @category utils
|
|
3704
3704
|
*/
|
|
3705
3705
|
export const tapErrorCause: {
|
|
3706
|
-
<E,
|
|
3707
|
-
f: (cause: Cause.Cause<
|
|
3706
|
+
<E, R2, E2, _>(
|
|
3707
|
+
f: (cause: Cause.Cause<NoInfer<E>>) => Effect.Effect<R2, E2, _>
|
|
3708
3708
|
): <R, A>(self: Stream<R, E, A>) => Stream<R2 | R, E | E2, A>
|
|
3709
|
-
<R, A, E,
|
|
3709
|
+
<R, A, E, R2, E2, _>(
|
|
3710
3710
|
self: Stream<R, E, A>,
|
|
3711
|
-
f: (cause: Cause.Cause<
|
|
3711
|
+
f: (cause: Cause.Cause<E>) => Effect.Effect<R2, E2, _>
|
|
3712
3712
|
): Stream<R | R2, E | E2, A>
|
|
3713
3713
|
} = internal.tapErrorCause
|
|
3714
3714
|
|
package/src/Trie.ts
CHANGED
|
@@ -20,7 +20,7 @@ import type { Inspectable } from "./Inspectable.js"
|
|
|
20
20
|
import * as TR from "./internal/trie.js"
|
|
21
21
|
import type { Option } from "./Option.js"
|
|
22
22
|
import type { Pipeable } from "./Pipeable.js"
|
|
23
|
-
import type
|
|
23
|
+
import type { Covariant, NoInfer } from "./Types.js"
|
|
24
24
|
|
|
25
25
|
const TypeId: unique symbol = TR.TrieTypeId as TypeId
|
|
26
26
|
|
|
@@ -36,7 +36,7 @@ export type TypeId = typeof TypeId
|
|
|
36
36
|
*/
|
|
37
37
|
export interface Trie<in out Value> extends Iterable<[string, Value]>, Equal, Pipeable, Inspectable {
|
|
38
38
|
readonly [TypeId]: {
|
|
39
|
-
readonly _Value:
|
|
39
|
+
readonly _Value: Covariant<Value>
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
|
|
@@ -589,8 +589,8 @@ export const map: {
|
|
|
589
589
|
* @category filtering
|
|
590
590
|
*/
|
|
591
591
|
export const filter: {
|
|
592
|
-
<A, B extends A>(f: (a: A
|
|
593
|
-
<
|
|
592
|
+
<A, B extends A>(f: (a: NoInfer<A>, k: string) => a is B): (self: Trie<A>) => Trie<B>
|
|
593
|
+
<A>(f: (a: NoInfer<A>, k: string) => boolean): (self: Trie<A>) => Trie<A>
|
|
594
594
|
<A, B extends A>(self: Trie<A>, f: (a: A, k: string) => a is B): Trie<B>
|
|
595
595
|
<A>(self: Trie<A>, f: (a: A, k: string) => boolean): Trie<A>
|
|
596
596
|
} = TR.filter
|
package/src/internal/cause.ts
CHANGED
|
@@ -9,11 +9,12 @@ import * as HashSet from "../HashSet.js"
|
|
|
9
9
|
import { NodeInspectSymbol, toJSON } from "../Inspectable.js"
|
|
10
10
|
import * as Option from "../Option.js"
|
|
11
11
|
import { pipeArguments } from "../Pipeable.js"
|
|
12
|
-
import { hasProperty, isFunction
|
|
12
|
+
import { hasProperty, isFunction } from "../Predicate.js"
|
|
13
|
+
import type { Predicate, Refinement } from "../Predicate.js"
|
|
13
14
|
import * as ReadonlyArray from "../ReadonlyArray.js"
|
|
14
|
-
import * as OpCodes from "./opCodes/cause.js"
|
|
15
|
-
|
|
16
15
|
import type { ParentSpan, Span } from "../Tracer.js"
|
|
16
|
+
import type { NoInfer } from "../Types.js"
|
|
17
|
+
import * as OpCodes from "./opCodes/cause.js"
|
|
17
18
|
|
|
18
19
|
// -----------------------------------------------------------------------------
|
|
19
20
|
// Models
|
|
@@ -643,10 +644,18 @@ export const find = dual<
|
|
|
643
644
|
// -----------------------------------------------------------------------------
|
|
644
645
|
|
|
645
646
|
/** @internal */
|
|
646
|
-
export const filter
|
|
647
|
-
<E
|
|
648
|
-
|
|
649
|
-
|
|
647
|
+
export const filter: {
|
|
648
|
+
<E, EB extends E>(
|
|
649
|
+
refinement: Refinement<Cause.Cause<NoInfer<E>>, Cause.Cause<EB>>
|
|
650
|
+
): (self: Cause.Cause<E>) => Cause.Cause<EB>
|
|
651
|
+
<E>(predicate: Predicate<Cause.Cause<NoInfer<E>>>): (self: Cause.Cause<E>) => Cause.Cause<E>
|
|
652
|
+
<E, EB extends E>(self: Cause.Cause<E>, refinement: Refinement<Cause.Cause<E>, Cause.Cause<EB>>): Cause.Cause<EB>
|
|
653
|
+
<E>(self: Cause.Cause<E>, predicate: Predicate<Cause.Cause<E>>): Cause.Cause<E>
|
|
654
|
+
} = dual(
|
|
655
|
+
2,
|
|
656
|
+
<E>(self: Cause.Cause<E>, predicate: Predicate<Cause.Cause<E>>): Cause.Cause<E> =>
|
|
657
|
+
reduceWithContext(self, void 0, FilterCauseReducer(predicate))
|
|
658
|
+
)
|
|
650
659
|
|
|
651
660
|
// -----------------------------------------------------------------------------
|
|
652
661
|
// Evaluation
|
package/src/internal/channel.ts
CHANGED
|
@@ -1246,21 +1246,25 @@ export const mergeAllWith = (
|
|
|
1246
1246
|
),
|
|
1247
1247
|
onSuccess: Either.match({
|
|
1248
1248
|
onLeft: (outDone) =>
|
|
1249
|
-
Effect.raceWith(
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1249
|
+
Effect.raceWith(
|
|
1250
|
+
Effect.interruptible(Deferred.await(errorSignal)),
|
|
1251
|
+
Effect.interruptible(withPermits(concurrencyN)(Effect.unit)),
|
|
1252
|
+
{
|
|
1253
|
+
onSelfDone: (_, permitAcquisition) => Effect.as(Fiber.interrupt(permitAcquisition), false),
|
|
1254
|
+
onOtherDone: (_, failureAwait) =>
|
|
1255
|
+
Effect.zipRight(
|
|
1256
|
+
Fiber.interrupt(failureAwait),
|
|
1257
|
+
pipe(
|
|
1258
|
+
Ref.get(lastDone),
|
|
1259
|
+
Effect.flatMap(Option.match({
|
|
1260
|
+
onNone: () => Queue.offer(queue, Effect.succeed(Either.left(outDone))),
|
|
1261
|
+
onSome: (lastDone) => Queue.offer(queue, Effect.succeed(Either.left(f(lastDone, outDone))))
|
|
1262
|
+
})),
|
|
1263
|
+
Effect.as(false)
|
|
1264
|
+
)
|
|
1261
1265
|
)
|
|
1262
|
-
|
|
1263
|
-
|
|
1266
|
+
}
|
|
1267
|
+
),
|
|
1264
1268
|
onRight: (channel) =>
|
|
1265
1269
|
_mergeStrategy.match(mergeStrategy, {
|
|
1266
1270
|
onBackPressure: () =>
|
|
@@ -1273,7 +1277,7 @@ export const mergeAllWith = (
|
|
|
1273
1277
|
Effect.flatMap((pull) =>
|
|
1274
1278
|
Effect.race(
|
|
1275
1279
|
evaluatePull(pull),
|
|
1276
|
-
Deferred.await(errorSignal)
|
|
1280
|
+
Effect.interruptible(Deferred.await(errorSignal))
|
|
1277
1281
|
)
|
|
1278
1282
|
),
|
|
1279
1283
|
Effect.scoped
|
|
@@ -1306,8 +1310,8 @@ export const mergeAllWith = (
|
|
|
1306
1310
|
Effect.flatMap((pull) =>
|
|
1307
1311
|
pipe(
|
|
1308
1312
|
evaluatePull(pull),
|
|
1309
|
-
Effect.race(Deferred.await(errorSignal)),
|
|
1310
|
-
Effect.race(Deferred.await(canceler))
|
|
1313
|
+
Effect.race(Effect.interruptible(Deferred.await(errorSignal))),
|
|
1314
|
+
Effect.race(Effect.interruptible(Deferred.await(canceler)))
|
|
1311
1315
|
)
|
|
1312
1316
|
),
|
|
1313
1317
|
Effect.scoped
|