effect 2.1.2 → 2.2.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.
Files changed (134) hide show
  1. package/dist/cjs/Cause.js.map +1 -1
  2. package/dist/cjs/Effect.js.map +1 -1
  3. package/dist/cjs/Either.js +1 -1
  4. package/dist/cjs/Either.js.map +1 -1
  5. package/dist/cjs/Exit.js.map +1 -1
  6. package/dist/cjs/FiberMap.js +59 -3
  7. package/dist/cjs/FiberMap.js.map +1 -1
  8. package/dist/cjs/FiberSet.js +55 -3
  9. package/dist/cjs/FiberSet.js.map +1 -1
  10. package/dist/cjs/HashMap.js.map +1 -1
  11. package/dist/cjs/HashSet.js.map +1 -1
  12. package/dist/cjs/List.js.map +1 -1
  13. package/dist/cjs/ReadonlyArray.js.map +1 -1
  14. package/dist/cjs/ReadonlyRecord.js.map +1 -1
  15. package/dist/cjs/STM.js.map +1 -1
  16. package/dist/cjs/internal/cause.js.map +1 -1
  17. package/dist/cjs/internal/core-effect.js +7 -7
  18. package/dist/cjs/internal/core-effect.js.map +1 -1
  19. package/dist/cjs/internal/core.js +1 -1
  20. package/dist/cjs/internal/core.js.map +1 -1
  21. package/dist/cjs/internal/fiberId.js +11 -3
  22. package/dist/cjs/internal/fiberId.js.map +1 -1
  23. package/dist/cjs/internal/groupBy.js.map +1 -1
  24. package/dist/cjs/internal/hashMap.js.map +1 -1
  25. package/dist/cjs/internal/hashSet.js.map +1 -1
  26. package/dist/cjs/internal/schedule.js +11 -1
  27. package/dist/cjs/internal/schedule.js.map +1 -1
  28. package/dist/cjs/internal/stm/stm.js.map +1 -1
  29. package/dist/cjs/internal/stream.js +1 -4
  30. package/dist/cjs/internal/stream.js.map +1 -1
  31. package/dist/cjs/internal/trie.js.map +1 -1
  32. package/dist/cjs/internal/version.js +1 -1
  33. package/dist/dts/Cause.d.ts +6 -4
  34. package/dist/dts/Cause.d.ts.map +1 -1
  35. package/dist/dts/Chunk.d.ts +16 -16
  36. package/dist/dts/Chunk.d.ts.map +1 -1
  37. package/dist/dts/Effect.d.ts +31 -31
  38. package/dist/dts/Effect.d.ts.map +1 -1
  39. package/dist/dts/Either.d.ts +9 -9
  40. package/dist/dts/Either.d.ts.map +1 -1
  41. package/dist/dts/Exit.d.ts +3 -2
  42. package/dist/dts/Exit.d.ts.map +1 -1
  43. package/dist/dts/FiberMap.d.ts +42 -5
  44. package/dist/dts/FiberMap.d.ts.map +1 -1
  45. package/dist/dts/FiberSet.d.ts +36 -1
  46. package/dist/dts/FiberSet.d.ts.map +1 -1
  47. package/dist/dts/GroupBy.d.ts +6 -6
  48. package/dist/dts/GroupBy.d.ts.map +1 -1
  49. package/dist/dts/HashMap.d.ts +5 -4
  50. package/dist/dts/HashMap.d.ts.map +1 -1
  51. package/dist/dts/HashSet.d.ts +6 -5
  52. package/dist/dts/HashSet.d.ts.map +1 -1
  53. package/dist/dts/List.d.ts +9 -8
  54. package/dist/dts/List.d.ts.map +1 -1
  55. package/dist/dts/Option.d.ts +7 -7
  56. package/dist/dts/Option.d.ts.map +1 -1
  57. package/dist/dts/ReadonlyArray.d.ts +25 -23
  58. package/dist/dts/ReadonlyArray.d.ts.map +1 -1
  59. package/dist/dts/ReadonlyRecord.d.ts +5 -4
  60. package/dist/dts/ReadonlyRecord.d.ts.map +1 -1
  61. package/dist/dts/STM.d.ts +28 -26
  62. package/dist/dts/STM.d.ts.map +1 -1
  63. package/dist/dts/SortedSet.d.ts +3 -3
  64. package/dist/dts/SortedSet.d.ts.map +1 -1
  65. package/dist/dts/Stream.d.ts +37 -37
  66. package/dist/dts/Stream.d.ts.map +1 -1
  67. package/dist/dts/Trie.d.ts +4 -4
  68. package/dist/dts/Trie.d.ts.map +1 -1
  69. package/dist/dts/internal/hashMap.d.ts.map +1 -1
  70. package/dist/dts/internal/stm/stm.d.ts.map +1 -1
  71. package/dist/dts/internal/version.d.ts +1 -1
  72. package/dist/esm/Cause.js.map +1 -1
  73. package/dist/esm/Effect.js.map +1 -1
  74. package/dist/esm/Either.js +1 -1
  75. package/dist/esm/Either.js.map +1 -1
  76. package/dist/esm/Exit.js.map +1 -1
  77. package/dist/esm/FiberMap.js +54 -1
  78. package/dist/esm/FiberMap.js.map +1 -1
  79. package/dist/esm/FiberSet.js +50 -1
  80. package/dist/esm/FiberSet.js.map +1 -1
  81. package/dist/esm/HashMap.js.map +1 -1
  82. package/dist/esm/HashSet.js.map +1 -1
  83. package/dist/esm/List.js.map +1 -1
  84. package/dist/esm/ReadonlyArray.js.map +1 -1
  85. package/dist/esm/ReadonlyRecord.js.map +1 -1
  86. package/dist/esm/STM.js.map +1 -1
  87. package/dist/esm/internal/cause.js.map +1 -1
  88. package/dist/esm/internal/core-effect.js +7 -7
  89. package/dist/esm/internal/core-effect.js.map +1 -1
  90. package/dist/esm/internal/core.js +1 -1
  91. package/dist/esm/internal/core.js.map +1 -1
  92. package/dist/esm/internal/fiberId.js +11 -3
  93. package/dist/esm/internal/fiberId.js.map +1 -1
  94. package/dist/esm/internal/groupBy.js.map +1 -1
  95. package/dist/esm/internal/hashMap.js.map +1 -1
  96. package/dist/esm/internal/hashSet.js.map +1 -1
  97. package/dist/esm/internal/schedule.js +11 -1
  98. package/dist/esm/internal/schedule.js.map +1 -1
  99. package/dist/esm/internal/stm/stm.js.map +1 -1
  100. package/dist/esm/internal/stream.js +1 -4
  101. package/dist/esm/internal/stream.js.map +1 -1
  102. package/dist/esm/internal/trie.js.map +1 -1
  103. package/dist/esm/internal/version.js +1 -1
  104. package/package.json +1 -1
  105. package/src/Cause.ts +6 -4
  106. package/src/Chunk.ts +20 -20
  107. package/src/Effect.ts +67 -72
  108. package/src/Either.ts +17 -21
  109. package/src/Exit.ts +3 -2
  110. package/src/FiberMap.ts +97 -16
  111. package/src/FiberSet.ts +86 -13
  112. package/src/GroupBy.ts +6 -6
  113. package/src/HashMap.ts +5 -4
  114. package/src/HashSet.ts +8 -7
  115. package/src/List.ts +11 -10
  116. package/src/Option.ts +8 -8
  117. package/src/ReadonlyArray.ts +44 -38
  118. package/src/ReadonlyRecord.ts +13 -10
  119. package/src/STM.ts +47 -46
  120. package/src/SortedSet.ts +5 -5
  121. package/src/Stream.ts +51 -51
  122. package/src/Trie.ts +4 -4
  123. package/src/internal/cause.ts +16 -7
  124. package/src/internal/core-effect.ts +160 -162
  125. package/src/internal/core.ts +30 -34
  126. package/src/internal/fiberId.ts +18 -17
  127. package/src/internal/groupBy.ts +2 -1
  128. package/src/internal/hashMap.ts +5 -4
  129. package/src/internal/hashSet.ts +9 -8
  130. package/src/internal/schedule.ts +15 -12
  131. package/src/internal/stm/stm.ts +104 -124
  132. package/src/internal/stream.ts +106 -97
  133. package/src/internal/trie.ts +3 -2
  134. package/src/internal/version.ts +1 -1
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 * as Types from "./Types.js"
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: Types.Covariant<R>
119
- _E: Types.Covariant<E>
120
- _A: Types.Covariant<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
- <B extends A, A = B>(predicate: Predicate<A>): <R, E>(self: Stream<R, E, B>) => Stream<R, E, B>
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, X extends A, R2, E2>(
1011
- predicate: (a: X) => Effect.Effect<R2, E2, boolean>
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, X extends A, R2, E2>(
1013
+ <R, E, A, R2, E2>(
1014
1014
  self: Stream<R, E, A>,
1015
- predicate: (a: X) => Effect.Effect<R2, E2, boolean>
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
- <B extends A, A = B>(predicate: Predicate<A>): <R, E>(self: Stream<R, E, B>) => Stream<R, E, B>
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, X extends A, R2, E2>(
1040
- predicate: (a: X) => Effect.Effect<R2, E2, boolean>
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, X extends A, R2, E2>(
1042
+ <R, E, A, R2, E2>(
1043
1043
  self: Stream<R, E, A>,
1044
- predicate: (a: X) => Effect.Effect<R2, E2, boolean>
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, B>): <R, E>(self: Stream<R, E, A>) => Stream<R, E, B>
1179
- <B extends A, A = B>(predicate: Predicate<A>): <R, E>(self: Stream<R, E, B>) => Stream<R, E, B>
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, X extends A, R2, E2>(
1192
- f: (a: X) => Effect.Effect<R2, E2, boolean>
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, X extends A, R2, E2>(
1194
+ <R, E, A, R2, E2>(
1195
1195
  self: Stream<R, E, A>,
1196
- f: (a: X) => Effect.Effect<R2, E2, boolean>
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, B>): <R, E>(self: Stream<R, E, A>) => Stream<R, E, B>
1274
- <B extends A, A = B>(predicate: Predicate<A>): <R, E>(self: Stream<R, E, B>) => Stream<R, E, B>
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, X extends A, R2, E2>(
1288
- predicate: (a: X) => Effect.Effect<R2, E2, boolean>
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, X extends A, R2, E2>(
1290
+ <R, E, A, R2, E2>(
1291
1291
  self: Stream<R, E, A>,
1292
- predicate: (a: X) => Effect.Effect<R2, E2, boolean>
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, B>,
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
- <B extends A, A = B>(predicate: Predicate<A>): <R, E>(self: Stream<R, E, B>) => Stream<R, E, Chunk.Chunk<B>>
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
- <B extends A, A = B>(predicate: Predicate<A>): <R, E>(self: Stream<R, E, B>) => Stream<R, E, B>
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, B>): <R, E>(self: Stream<R, E, A>) => Stream<R, E, B>
3638
- <B extends A, A = B>(predicate: Predicate<A>): <R, E>(self: Stream<R, E, B>) => Stream<R, E, B>
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, X extends A, R2, E2, _>(
3651
- f: (a: X) => Effect.Effect<R2, E2, _>
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, X extends A, R2, E2, _>(
3653
+ <R, E, A, R2, E2, _>(
3654
3654
  self: Stream<R, E, A>,
3655
- f: (a: X) => Effect.Effect<R2, E2, _>
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, XE extends E, A, XA extends A, R2, E2, X, R3, E3, X1>(
3667
+ <E, R2, E2, X1, A, R3, E3, X2>(
3668
3668
  options: {
3669
- readonly onFailure: (e: XE) => Effect.Effect<R2, E2, X>
3670
- readonly onSuccess: (a: XA) => Effect.Effect<R3, E3, X1>
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, XE extends E, XA extends A, R2, E2, X, R3, E3, X1>(
3673
+ <R, E, A, R2, E2, X1, R3, E3, X2>(
3674
3674
  self: Stream<R, E, A>,
3675
3675
  options: {
3676
- readonly onFailure: (e: XE) => Effect.Effect<R2, E2, X>
3677
- readonly onSuccess: (a: XA) => Effect.Effect<R3, E3, X1>
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, X extends E, R2, E2, _>(
3690
- f: (error: X) => Effect.Effect<R2, E2, _>
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, X extends E, R2, E2, _>(
3692
+ <R, A, E, R2, E2, _>(
3693
3693
  self: Stream<R, E, A>,
3694
- f: (error: X) => Effect.Effect<R2, E2, _>
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, X extends E, R2, E2, _>(
3707
- f: (cause: Cause.Cause<X>) => Effect.Effect<R2, E2, _>
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, X extends E, R2, E2, _>(
3709
+ <R, A, E, R2, E2, _>(
3710
3710
  self: Stream<R, E, A>,
3711
- f: (cause: Cause.Cause<X>) => Effect.Effect<R2, E2, _>
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 * as Types from "./Types.js"
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: Types.Covariant<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, k: string) => a is B): (self: Trie<A>) => Trie<B>
593
- <B extends A, A = B>(f: (a: A, k: string) => boolean): (self: Trie<B>) => Trie<B>
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
@@ -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, type Predicate } from "../Predicate.js"
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 = dual<
647
- <E>(predicate: Predicate<Cause.Cause<E>>) => (self: Cause.Cause<E>) => Cause.Cause<E>,
648
- <E>(self: Cause.Cause<E>, predicate: Predicate<Cause.Cause<E>>) => Cause.Cause<E>
649
- >(2, (self, predicate) => reduceWithContext(self, void 0, FilterCauseReducer(predicate)))
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