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
@@ -31,6 +31,7 @@ import * as HaltStrategy from "../StreamHaltStrategy.js"
31
31
  import type * as Take from "../Take.js"
32
32
  import type * as Tracer from "../Tracer.js"
33
33
  import * as Tuple from "../Tuple.js"
34
+ import type { NoInfer } from "../Types.js"
34
35
  import * as channel from "./channel.js"
35
36
  import * as channelExecutor from "./channel/channelExecutor.js"
36
37
  import * as MergeStrategy from "./channel/mergeStrategy.js"
@@ -2174,33 +2175,33 @@ export const dropRight = dual<
2174
2175
 
2175
2176
  /** @internal */
2176
2177
  export const dropUntil = dual<
2177
- <A, X extends A>(predicate: Predicate<X>) => <R, E>(self: Stream.Stream<R, E, A>) => Stream.Stream<R, E, A>,
2178
- <R, E, A, X extends A>(self: Stream.Stream<R, E, A>, predicate: Predicate<X>) => Stream.Stream<R, E, A>
2178
+ <A>(predicate: Predicate<NoInfer<A>>) => <R, E>(self: Stream.Stream<R, E, A>) => Stream.Stream<R, E, A>,
2179
+ <R, E, A>(self: Stream.Stream<R, E, A>, predicate: Predicate<A>) => Stream.Stream<R, E, A>
2179
2180
  >(
2180
2181
  2,
2181
- <R, E, A, X extends A>(self: Stream.Stream<R, E, A>, predicate: Predicate<X>): Stream.Stream<R, E, A> =>
2182
- drop(dropWhile(self, (a) => !predicate(a as X)), 1)
2182
+ <R, E, A>(self: Stream.Stream<R, E, A>, predicate: Predicate<A>): Stream.Stream<R, E, A> =>
2183
+ drop(dropWhile(self, (a) => !predicate(a)), 1)
2183
2184
  )
2184
2185
 
2185
2186
  /** @internal */
2186
2187
  export const dropUntilEffect = dual<
2187
- <A, X extends A, R2, E2>(
2188
- predicate: (a: X) => Effect.Effect<R2, E2, boolean>
2188
+ <A, R2, E2>(
2189
+ predicate: (a: NoInfer<A>) => Effect.Effect<R2, E2, boolean>
2189
2190
  ) => <R, E>(self: Stream.Stream<R, E, A>) => Stream.Stream<R2 | R, E2 | E, A>,
2190
- <R, E, A, X extends A, R2, E2>(
2191
+ <R, E, A, R2, E2>(
2191
2192
  self: Stream.Stream<R, E, A>,
2192
- predicate: (a: X) => Effect.Effect<R2, E2, boolean>
2193
+ predicate: (a: NoInfer<A>) => Effect.Effect<R2, E2, boolean>
2193
2194
  ) => Stream.Stream<R2 | R, E2 | E, A>
2194
2195
  >(
2195
2196
  2,
2196
- <R, E, A, X extends A, R2, E2>(
2197
+ <R, E, A, R2, E2>(
2197
2198
  self: Stream.Stream<R, E, A>,
2198
- predicate: (a: X) => Effect.Effect<R2, E2, boolean>
2199
+ predicate: (a: NoInfer<A>) => Effect.Effect<R2, E2, boolean>
2199
2200
  ): Stream.Stream<R | R2, E | E2, A> => {
2200
2201
  const loop: Channel.Channel<R2, E, Chunk.Chunk<A>, unknown, E | E2, Chunk.Chunk<A>, unknown> = core.readWith({
2201
2202
  onInput: (input: Chunk.Chunk<A>) =>
2202
2203
  pipe(
2203
- Effect.dropUntil(input, predicate as (a: A) => Effect.Effect<R2, E2, boolean>),
2204
+ Effect.dropUntil(input, predicate),
2204
2205
  Effect.map(Chunk.unsafeFromArray),
2205
2206
  Effect.map((leftover) => {
2206
2207
  const more = Chunk.isEmpty(leftover)
@@ -2223,12 +2224,12 @@ export const dropUntilEffect = dual<
2223
2224
 
2224
2225
  /** @internal */
2225
2226
  export const dropWhile = dual<
2226
- <A, X extends A>(predicate: Predicate<X>) => <R, E>(self: Stream.Stream<R, E, A>) => Stream.Stream<R, E, A>,
2227
- <R, E, A, X extends A>(self: Stream.Stream<R, E, A>, predicate: Predicate<X>) => Stream.Stream<R, E, A>
2228
- >(2, <R, E, A, X extends A>(self: Stream.Stream<R, E, A>, predicate: Predicate<X>): Stream.Stream<R, E, A> => {
2227
+ <A>(predicate: Predicate<NoInfer<A>>) => <R, E>(self: Stream.Stream<R, E, A>) => Stream.Stream<R, E, A>,
2228
+ <R, E, A>(self: Stream.Stream<R, E, A>, predicate: Predicate<A>) => Stream.Stream<R, E, A>
2229
+ >(2, <R, E, A>(self: Stream.Stream<R, E, A>, predicate: Predicate<A>): Stream.Stream<R, E, A> => {
2229
2230
  const loop: Channel.Channel<never, never, Chunk.Chunk<A>, unknown, never, Chunk.Chunk<A>, unknown> = core.readWith({
2230
2231
  onInput: (input: Chunk.Chunk<A>) => {
2231
- const output = Chunk.dropWhile(input, predicate as Predicate<A>)
2232
+ const output = Chunk.dropWhile(input, predicate)
2232
2233
  if (Chunk.isEmpty(output)) {
2233
2234
  return core.suspend(() => loop)
2234
2235
  }
@@ -2245,23 +2246,23 @@ export const dropWhile = dual<
2245
2246
 
2246
2247
  /** @internal */
2247
2248
  export const dropWhileEffect = dual<
2248
- <A, X extends A, R2, E2>(
2249
- predicate: (a: X) => Effect.Effect<R2, E2, boolean>
2249
+ <A, R2, E2>(
2250
+ predicate: (a: NoInfer<A>) => Effect.Effect<R2, E2, boolean>
2250
2251
  ) => <R, E>(self: Stream.Stream<R, E, A>) => Stream.Stream<R2 | R, E2 | E, A>,
2251
- <R, E, A, X extends A, R2, E2>(
2252
+ <R, E, A, R2, E2>(
2252
2253
  self: Stream.Stream<R, E, A>,
2253
- predicate: (a: X) => Effect.Effect<R2, E2, boolean>
2254
+ predicate: (a: A) => Effect.Effect<R2, E2, boolean>
2254
2255
  ) => Stream.Stream<R2 | R, E2 | E, A>
2255
2256
  >(
2256
2257
  2,
2257
- <R, E, A, X extends A, R2, E2>(
2258
+ <R, E, A, R2, E2>(
2258
2259
  self: Stream.Stream<R, E, A>,
2259
- predicate: (a: X) => Effect.Effect<R2, E2, boolean>
2260
+ predicate: (a: A) => Effect.Effect<R2, E2, boolean>
2260
2261
  ): Stream.Stream<R | R2, E | E2, A> => {
2261
2262
  const loop: Channel.Channel<R2, E, Chunk.Chunk<A>, unknown, E | E2, Chunk.Chunk<A>, unknown> = core.readWith({
2262
2263
  onInput: (input: Chunk.Chunk<A>) =>
2263
2264
  pipe(
2264
- Effect.dropWhile(input, predicate as (a: A) => Effect.Effect<R2, E2, boolean>),
2265
+ Effect.dropWhile(input, predicate),
2265
2266
  Effect.map(Chunk.unsafeFromArray),
2266
2267
  Effect.map((leftover) => {
2267
2268
  const more = Chunk.isEmpty(leftover)
@@ -2353,7 +2354,9 @@ export const failCauseSync = <E>(evaluate: LazyArg<Cause.Cause<E>>): Stream.Stre
2353
2354
 
2354
2355
  /** @internal */
2355
2356
  export const filter: {
2356
- <A, B extends A>(refinement: Refinement<A, B>): <R, E>(self: Stream.Stream<R, E, A>) => Stream.Stream<R, E, B>
2357
+ <A, B extends A>(
2358
+ refinement: Refinement<NoInfer<A>, B>
2359
+ ): <R, E>(self: Stream.Stream<R, E, A>) => Stream.Stream<R, E, B>
2357
2360
  <A, B extends A>(predicate: Predicate<B>): <R, E>(self: Stream.Stream<R, E, A>) => Stream.Stream<R, E, A>
2358
2361
  <R, E, A, B extends A>(self: Stream.Stream<R, E, A>, refinement: Refinement<A, B>): Stream.Stream<R, E, B>
2359
2362
  <R, E, A>(self: Stream.Stream<R, E, A>, predicate: Predicate<A>): Stream.Stream<R, E, A>
@@ -2364,18 +2367,18 @@ export const filter: {
2364
2367
 
2365
2368
  /** @internal */
2366
2369
  export const filterEffect = dual<
2367
- <A, X extends A, R2, E2>(
2368
- f: (a: X) => Effect.Effect<R2, E2, boolean>
2370
+ <A, R2, E2>(
2371
+ f: (a: NoInfer<A>) => Effect.Effect<R2, E2, boolean>
2369
2372
  ) => <R, E>(self: Stream.Stream<R, E, A>) => Stream.Stream<R2 | R, E2 | E, A>,
2370
- <R, E, A, X extends A, R2, E2>(
2373
+ <R, E, A, R2, E2>(
2371
2374
  self: Stream.Stream<R, E, A>,
2372
- f: (a: X) => Effect.Effect<R2, E2, boolean>
2375
+ f: (a: A) => Effect.Effect<R2, E2, boolean>
2373
2376
  ) => Stream.Stream<R2 | R, E2 | E, A>
2374
2377
  >(
2375
2378
  2,
2376
- <R, E, A, X extends A, R2, E2>(
2379
+ <R, E, A, R2, E2>(
2377
2380
  self: Stream.Stream<R, E, A>,
2378
- f: (a: X) => Effect.Effect<R2, E2, boolean>
2381
+ f: (a: A) => Effect.Effect<R2, E2, boolean>
2379
2382
  ): Stream.Stream<R | R2, E | E2, A> => {
2380
2383
  const loop = (
2381
2384
  iterator: Iterator<A>
@@ -2389,7 +2392,7 @@ export const filterEffect = dual<
2389
2392
  })
2390
2393
  } else {
2391
2394
  return pipe(
2392
- f(next.value as X),
2395
+ f(next.value),
2393
2396
  Effect.map((bool) =>
2394
2397
  bool ?
2395
2398
  pipe(core.write(Chunk.of(next.value)), core.flatMap(() => loop(iterator))) :
@@ -2526,19 +2529,17 @@ export const finalizer = <R, _>(finalizer: Effect.Effect<R, never, _>): Stream.S
2526
2529
  acquireRelease(Effect.unit, () => finalizer)
2527
2530
 
2528
2531
  /** @internal */
2529
- export const find = dual<
2530
- {
2531
- <A, B extends A>(refinement: Refinement<A, B>): <R, E>(self: Stream.Stream<R, E, A>) => Stream.Stream<R, E, B>
2532
- <A, X extends A>(predicate: Predicate<X>): <R, E>(self: Stream.Stream<R, E, A>) => Stream.Stream<R, E, A>
2533
- },
2534
- {
2535
- <R, E, A, B extends A>(self: Stream.Stream<R, E, A>, refinement: Refinement<A, B>): Stream.Stream<R, E, B>
2536
- <R, E, A, X extends A>(self: Stream.Stream<R, E, A>, predicate: Predicate<X>): Stream.Stream<R, E, A>
2537
- }
2538
- >(2, <R, E, A, X extends A>(self: Stream.Stream<R, E, A>, predicate: Predicate<X>): Stream.Stream<R, E, A> => {
2532
+ export const find: {
2533
+ <A, B extends A>(
2534
+ refinement: Refinement<NoInfer<A>, B>
2535
+ ): <R, E>(self: Stream.Stream<R, E, A>) => Stream.Stream<R, E, B>
2536
+ <A>(predicate: Predicate<NoInfer<A>>): <R, E>(self: Stream.Stream<R, E, A>) => Stream.Stream<R, E, A>
2537
+ <R, E, A, B extends A>(self: Stream.Stream<R, E, A>, refinement: Refinement<A, B>): Stream.Stream<R, E, B>
2538
+ <R, E, A>(self: Stream.Stream<R, E, A>, predicate: Predicate<A>): Stream.Stream<R, E, A>
2539
+ } = dual(2, <R, E, A>(self: Stream.Stream<R, E, A>, predicate: Predicate<A>): Stream.Stream<R, E, A> => {
2539
2540
  const loop: Channel.Channel<R, E, Chunk.Chunk<A>, unknown, E, Chunk.Chunk<A>, unknown> = core.readWith({
2540
2541
  onInput: (input: Chunk.Chunk<A>) =>
2541
- Option.match(Chunk.findFirst(input, predicate as Predicate<A>), {
2542
+ Option.match(Chunk.findFirst(input, predicate), {
2542
2543
  onNone: () => loop,
2543
2544
  onSome: (n) => core.write(Chunk.of(n))
2544
2545
  }),
@@ -2549,24 +2550,24 @@ export const find = dual<
2549
2550
  })
2550
2551
 
2551
2552
  /** @internal */
2552
- export const findEffect = dual<
2553
- <A, X extends A, R2, E2>(
2554
- predicate: (a: X) => Effect.Effect<R2, E2, boolean>
2555
- ) => <R, E>(self: Stream.Stream<R, E, A>) => Stream.Stream<R2 | R, E2 | E, A>,
2556
- <R, E, A, X extends A, R2, E2>(
2553
+ export const findEffect: {
2554
+ <A, R2, E2>(
2555
+ predicate: (a: NoInfer<A>) => Effect.Effect<R2, E2, boolean>
2556
+ ): <R, E>(self: Stream.Stream<R, E, A>) => Stream.Stream<R2 | R, E2 | E, A>
2557
+ <R, E, A, R2, E2>(
2557
2558
  self: Stream.Stream<R, E, A>,
2558
- predicate: (a: X) => Effect.Effect<R2, E2, boolean>
2559
- ) => Stream.Stream<R2 | R, E2 | E, A>
2560
- >(
2559
+ predicate: (a: NoInfer<A>) => Effect.Effect<R2, E2, boolean>
2560
+ ): Stream.Stream<R | R2, E | E2, A>
2561
+ } = dual(
2561
2562
  2,
2562
- <R, E, A, X extends A, R2, E2>(
2563
+ <R, E, A, R2, E2>(
2563
2564
  self: Stream.Stream<R, E, A>,
2564
- predicate: (a: X) => Effect.Effect<R2, E2, boolean>
2565
+ predicate: (a: NoInfer<A>) => Effect.Effect<R2, E2, boolean>
2565
2566
  ): Stream.Stream<R | R2, E | E2, A> => {
2566
2567
  const loop: Channel.Channel<R2, E, Chunk.Chunk<A>, unknown, E | E2, Chunk.Chunk<A>, unknown> = core.readWith({
2567
2568
  onInput: (input: Chunk.Chunk<A>) =>
2568
2569
  pipe(
2569
- Effect.findFirst(input, predicate as (a: A) => Effect.Effect<R2, E2, boolean>),
2570
+ Effect.findFirst(input, predicate),
2570
2571
  Effect.map(Option.match({
2571
2572
  onNone: () => loop,
2572
2573
  onSome: (n) => core.write(Chunk.of(n))
@@ -4380,7 +4381,7 @@ export const peel = dual<
4380
4381
  /** @internal */
4381
4382
  export const partition: {
4382
4383
  <C extends A, B extends A, A = C>(
4383
- refinement: Refinement<A, B>,
4384
+ refinement: Refinement<NoInfer<A>, B>,
4384
4385
  options?: {
4385
4386
  bufferSize?: number | undefined
4386
4387
  }
@@ -4440,7 +4441,7 @@ export const partition: {
4440
4441
  /** @internal */
4441
4442
  export const partitionEither = dual<
4442
4443
  <A, R2, E2, A2, A3>(
4443
- predicate: (a: A) => Effect.Effect<R2, E2, Either.Either<A2, A3>>,
4444
+ predicate: (a: NoInfer<A>) => Effect.Effect<R2, E2, Either.Either<A2, A3>>,
4444
4445
  options?: {
4445
4446
  readonly bufferSize?: number | undefined
4446
4447
  }
@@ -6050,10 +6051,10 @@ export const takeRight = dual<
6050
6051
  })
6051
6052
 
6052
6053
  /** @internal */
6053
- export const takeUntil = dual<
6054
- <A, X extends A>(predicate: Predicate<X>) => <R, E>(self: Stream.Stream<R, E, A>) => Stream.Stream<R, E, A>,
6055
- <R, E, A>(self: Stream.Stream<R, E, A>, predicate: Predicate<A>) => Stream.Stream<R, E, A>
6056
- >(2, <R, E, A>(self: Stream.Stream<R, E, A>, predicate: Predicate<A>): Stream.Stream<R, E, A> => {
6054
+ export const takeUntil: {
6055
+ <A>(predicate: Predicate<NoInfer<A>>): <R, E>(self: Stream.Stream<R, E, A>) => Stream.Stream<R, E, A>
6056
+ <R, E, A>(self: Stream.Stream<R, E, A>, predicate: Predicate<A>): Stream.Stream<R, E, A>
6057
+ } = dual(2, <R, E, A>(self: Stream.Stream<R, E, A>, predicate: Predicate<A>): Stream.Stream<R, E, A> => {
6057
6058
  const loop: Channel.Channel<never, never, Chunk.Chunk<A>, unknown, never, Chunk.Chunk<A>, unknown> = core.readWith({
6058
6059
  onInput: (input: Chunk.Chunk<A>) => {
6059
6060
  const taken = pipe(input, Chunk.takeWhile((a) => !predicate(a)))
@@ -6070,15 +6071,15 @@ export const takeUntil = dual<
6070
6071
  })
6071
6072
 
6072
6073
  /** @internal */
6073
- export const takeUntilEffect = dual<
6074
- <A, X extends A, R2, E2>(
6075
- predicate: (a: X) => Effect.Effect<R2, E2, boolean>
6076
- ) => <R, E>(self: Stream.Stream<R, E, A>) => Stream.Stream<R2 | R, E2 | E, A>,
6074
+ export const takeUntilEffect: {
6075
+ <A, R2, E2>(
6076
+ predicate: (a: NoInfer<A>) => Effect.Effect<R2, E2, boolean>
6077
+ ): <R, E>(self: Stream.Stream<R, E, A>) => Stream.Stream<R2 | R, E2 | E, A>
6077
6078
  <R, E, A, R2, E2>(
6078
6079
  self: Stream.Stream<R, E, A>,
6079
6080
  predicate: (a: A) => Effect.Effect<R2, E2, boolean>
6080
- ) => Stream.Stream<R2 | R, E2 | E, A>
6081
- >(
6081
+ ): Stream.Stream<R | R2, E | E2, A>
6082
+ } = dual(
6082
6083
  2,
6083
6084
  <R, E, A, R2, E2>(
6084
6085
  self: Stream.Stream<R, E, A>,
@@ -6114,8 +6115,10 @@ export const takeUntilEffect = dual<
6114
6115
 
6115
6116
  /** @internal */
6116
6117
  export const takeWhile: {
6117
- <A, B extends A>(refinement: Refinement<A, B>): <R, E>(self: Stream.Stream<R, E, A>) => Stream.Stream<R, E, B>
6118
- <B extends A, A = B>(predicate: Predicate<A>): <R, E>(self: Stream.Stream<R, E, B>) => Stream.Stream<R, E, B>
6118
+ <A, B extends A>(
6119
+ refinement: Refinement<NoInfer<A>, B>
6120
+ ): <R, E>(self: Stream.Stream<R, E, A>) => Stream.Stream<R, E, B>
6121
+ <A>(predicate: Predicate<NoInfer<A>>): <R, E>(self: Stream.Stream<R, E, A>) => Stream.Stream<R, E, A>
6119
6122
  <R, E, A, B extends A>(self: Stream.Stream<R, E, A>, refinement: Refinement<A, B>): Stream.Stream<R, E, B>
6120
6123
  <R, E, A>(self: Stream.Stream<R, E, A>, predicate: Predicate<A>): Stream.Stream<R, E, A>
6121
6124
  } = dual(2, <R, E, A>(self: Stream.Stream<R, E, A>, predicate: Predicate<A>): Stream.Stream<R, E, A> => {
@@ -6135,52 +6138,58 @@ export const takeWhile: {
6135
6138
  })
6136
6139
 
6137
6140
  /** @internal */
6138
- export const tap = dual<
6139
- <A, X extends A, R2, E2, _>(
6140
- f: (a: X) => Effect.Effect<R2, E2, _>
6141
- ) => <R, E>(self: Stream.Stream<R, E, A>) => Stream.Stream<R2 | R, E2 | E, A>,
6141
+ export const tap: {
6142
+ <A, R2, E2, _>(
6143
+ f: (a: NoInfer<A>) => Effect.Effect<R2, E2, _>
6144
+ ): <R, E>(self: Stream.Stream<R, E, A>) => Stream.Stream<R2 | R, E2 | E, A>
6142
6145
  <R, E, A, R2, E2, _>(
6143
6146
  self: Stream.Stream<R, E, A>,
6144
- f: (a: A) => Effect.Effect<R2, E2, _>
6145
- ) => Stream.Stream<R2 | R, E2 | E, A>
6146
- >(
6147
+ f: (a: NoInfer<A>) => Effect.Effect<R2, E2, _>
6148
+ ): Stream.Stream<R | R2, E | E2, A>
6149
+ } = dual(
6147
6150
  2,
6148
6151
  <R, E, A, R2, E2, _>(
6149
6152
  self: Stream.Stream<R, E, A>,
6150
- f: (a: A) => Effect.Effect<R2, E2, _>
6153
+ f: (a: NoInfer<A>) => Effect.Effect<R2, E2, _>
6151
6154
  ): Stream.Stream<R | R2, E | E2, A> => mapEffectSequential(self, (a) => Effect.as(f(a), a))
6152
6155
  )
6153
6156
 
6154
6157
  /** @internal */
6155
- export const tapBoth = dual<
6156
- <E, XE extends E, A, XA extends A, R2, E2, X, R3, E3, X1>(
6158
+ export const tapBoth: {
6159
+ <E, R2, E2, X1, A, R3, E3, X2>(
6157
6160
  options: {
6158
- readonly onFailure: (e: XE) => Effect.Effect<R2, E2, X>
6159
- readonly onSuccess: (a: XA) => Effect.Effect<R3, E3, X1>
6161
+ readonly onFailure: (e: NoInfer<E>) => Effect.Effect<R2, E2, X1>
6162
+ readonly onSuccess: (a: NoInfer<A>) => Effect.Effect<R3, E3, X2>
6160
6163
  }
6161
- ) => <R>(self: Stream.Stream<R, E, A>) => Stream.Stream<R | R2 | R3, E | E2 | E3, A>,
6162
- <R, E, A, XE extends E, XA extends A, R2, E2, X, R3, E3, X1>(
6164
+ ): <R>(self: Stream.Stream<R, E, A>) => Stream.Stream<R | R2 | R3, E | E2 | E3, A>
6165
+ <R, E, A, R2, E2, X1, R3, E3, X2>(
6163
6166
  self: Stream.Stream<R, E, A>,
6164
6167
  options: {
6165
- readonly onFailure: (e: XE) => Effect.Effect<R2, E2, X>
6166
- readonly onSuccess: (a: XA) => Effect.Effect<R3, E3, X1>
6168
+ readonly onFailure: (e: NoInfer<E>) => Effect.Effect<R2, E2, X1>
6169
+ readonly onSuccess: (a: NoInfer<A>) => Effect.Effect<R3, E3, X2>
6167
6170
  }
6168
- ) => Stream.Stream<R | R2 | R3, E | E2 | E3, A>
6169
- >(
6171
+ ): Stream.Stream<R | R2 | R3, E | E2 | E3, A>
6172
+ } = dual(
6170
6173
  2,
6171
- (self, { onFailure, onSuccess }) => pipe(self, tapError(onFailure), tap(onSuccess))
6174
+ <R, E, A, R2, E2, X1, R3, E3, X2>(
6175
+ self: Stream.Stream<R, E, A>,
6176
+ options: {
6177
+ readonly onFailure: (e: NoInfer<E>) => Effect.Effect<R2, E2, X1>
6178
+ readonly onSuccess: (a: NoInfer<A>) => Effect.Effect<R3, E3, X2>
6179
+ }
6180
+ ): Stream.Stream<R | R2 | R3, E | E2 | E3, A> => pipe(self, tapError(options.onFailure), tap(options.onSuccess))
6172
6181
  )
6173
6182
 
6174
6183
  /** @internal */
6175
- export const tapError = dual<
6176
- <E, X extends E, R2, E2, _>(
6177
- f: (error: X) => Effect.Effect<R2, E2, _>
6178
- ) => <R, A>(self: Stream.Stream<R, E, A>) => Stream.Stream<R2 | R, E | E2, A>,
6184
+ export const tapError: {
6185
+ <E, R2, E2, _>(
6186
+ f: (error: NoInfer<E>) => Effect.Effect<R2, E2, _>
6187
+ ): <R, A>(self: Stream.Stream<R, E, A>) => Stream.Stream<R2 | R, E | E2, A>
6179
6188
  <R, A, E, R2, E2, _>(
6180
6189
  self: Stream.Stream<R, E, A>,
6181
6190
  f: (error: E) => Effect.Effect<R2, E2, _>
6182
- ) => Stream.Stream<R2 | R, E | E2, A>
6183
- >(
6191
+ ): Stream.Stream<R | R2, E | E2, A>
6192
+ } = dual(
6184
6193
  2,
6185
6194
  <R, A, E, R2, E2, _>(
6186
6195
  self: Stream.Stream<R, E, A>,
@@ -6190,15 +6199,15 @@ export const tapError = dual<
6190
6199
  )
6191
6200
 
6192
6201
  /** @internal */
6193
- export const tapErrorCause = dual<
6194
- <E, X extends E, R2, E2, _>(
6195
- f: (cause: Cause.Cause<X>) => Effect.Effect<R2, E2, _>
6196
- ) => <R, A>(self: Stream.Stream<R, E, A>) => Stream.Stream<R2 | R, E | E2, A>,
6202
+ export const tapErrorCause: {
6203
+ <E, R2, E2, _>(
6204
+ f: (cause: Cause.Cause<NoInfer<E>>) => Effect.Effect<R2, E2, _>
6205
+ ): <R, A>(self: Stream.Stream<R, E, A>) => Stream.Stream<R2 | R, E | E2, A>
6197
6206
  <R, A, E, R2, E2, _>(
6198
6207
  self: Stream.Stream<R, E, A>,
6199
6208
  f: (cause: Cause.Cause<E>) => Effect.Effect<R2, E2, _>
6200
- ) => Stream.Stream<R2 | R, E | E2, A>
6201
- >(
6209
+ ): Stream.Stream<R | R2, E | E2, A>
6210
+ } = dual(
6202
6211
  2,
6203
6212
  <R, A, E, R2, E2, _>(
6204
6213
  self: Stream.Stream<R, E, A>,
@@ -7,6 +7,7 @@ import type * as Ordering from "../Ordering.js"
7
7
  import { pipeArguments } from "../Pipeable.js"
8
8
  import { hasProperty } from "../Predicate.js"
9
9
  import type * as TR from "../Trie.js"
10
+ import type { NoInfer } from "../Types.js"
10
11
 
11
12
  const TrieSymbolKey = "effect/Trie"
12
13
 
@@ -287,8 +288,8 @@ export const map = dual<
287
288
 
288
289
  /** @internal */
289
290
  export const filter: {
290
- <A, B extends A>(f: (a: A, k: string) => a is B): (self: TR.Trie<A>) => TR.Trie<B>
291
- <B extends A, A = B>(f: (a: A, k: string) => boolean): (self: TR.Trie<B>) => TR.Trie<B>
291
+ <A, B extends A>(f: (a: NoInfer<A>, k: string) => a is B): (self: TR.Trie<A>) => TR.Trie<B>
292
+ <A>(f: (a: NoInfer<A>, k: string) => boolean): (self: TR.Trie<A>) => TR.Trie<A>
292
293
  <A, B extends A>(self: TR.Trie<A>, f: (a: A, k: string) => a is B): TR.Trie<B>
293
294
  <A>(self: TR.Trie<A>, f: (a: A, k: string) => boolean): TR.Trie<A>
294
295
  } = dual(
@@ -1 +1 @@
1
- export const moduleVersion = "2.1.2"
1
+ export const moduleVersion = "2.2.1"