effect 3.6.5 → 3.6.7

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.
@@ -1,4 +1,4 @@
1
- let moduleVersion = "3.6.5";
1
+ let moduleVersion = "3.6.7";
2
2
  export const getCurrentVersion = () => moduleVersion;
3
3
  export const setCurrentVersion = version => {
4
4
  moduleVersion = version;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "effect",
3
- "version": "3.6.5",
3
+ "version": "3.6.7",
4
4
  "description": "The missing standard library for TypeScript, for writing production-grade software.",
5
5
  "license": "MIT",
6
6
  "repository": {
package/src/Stream.ts CHANGED
@@ -1009,8 +1009,8 @@ export const concatAll: <A, E, R>(streams: Chunk.Chunk<Stream<A, E, R>>) => Stre
1009
1009
 
1010
1010
  /**
1011
1011
  * Composes this stream with the specified stream to create a cartesian
1012
- * product of elements. The `that` stream would be run multiple times, for
1013
- * every element in the `this` stream.
1012
+ * product of elements. The `right` stream would be run multiple times, for
1013
+ * every element in the `left` stream.
1014
1014
  *
1015
1015
  * See also `Stream.zip` for the more common point-wise variant.
1016
1016
  *
@@ -1034,14 +1034,14 @@ export const concatAll: <A, E, R>(streams: Chunk.Chunk<Stream<A, E, R>>) => Stre
1034
1034
  * @category utils
1035
1035
  */
1036
1036
  export const cross: {
1037
- <A2, E2, R2>(that: Stream<A2, E2, R2>): <A, E, R>(self: Stream<A, E, R>) => Stream<[A, A2], E2 | E, R2 | R>
1038
- <A, E, R, A2, E2, R2>(self: Stream<A, E, R>, that: Stream<A2, E2, R2>): Stream<[A, A2], E | E2, R | R2>
1037
+ <AR, ER, RR>(right: Stream<AR, ER, RR>): <AL, EL, RL>(left: Stream<AL, EL, RL>) => Stream<[AL, AR], EL | ER, RL | RR>
1038
+ <AL, ER, RR, AR, EL, RL>(left: Stream<AL, ER, RR>, right: Stream<AR, EL, RL>): Stream<[AL, AR], EL | ER, RL | RR>
1039
1039
  } = internal.cross
1040
1040
 
1041
1041
  /**
1042
1042
  * Composes this stream with the specified stream to create a cartesian
1043
- * product of elements, but keeps only elements from this stream. The `that`
1044
- * stream would be run multiple times, for every element in the `this` stream.
1043
+ * product of elements, but keeps only elements from `left` stream. The `right`
1044
+ * stream would be run multiple times, for every element in the `left` stream.
1045
1045
  *
1046
1046
  * See also `Stream.zipLeft` for the more common point-wise variant.
1047
1047
  *
@@ -1049,14 +1049,14 @@ export const cross: {
1049
1049
  * @category utils
1050
1050
  */
1051
1051
  export const crossLeft: {
1052
- <A2, E2, R2>(that: Stream<A2, E2, R2>): <A, E, R>(self: Stream<A, E, R>) => Stream<A, E2 | E, R2 | R>
1053
- <A, E, R, A2, E2, R2>(self: Stream<A, E, R>, that: Stream<A2, E2, R2>): Stream<A, E | E2, R | R2>
1052
+ <AR, ER, RR>(right: Stream<AR, ER, RR>): <AL, EL, RL>(left: Stream<AL, EL, RL>) => Stream<AL, EL | ER, RL | RR>
1053
+ <AL, EL, RL, AR, ER, RR>(left: Stream<AL, EL, RL>, right: Stream<AR, ER, RR>): Stream<AL, EL | ER, RL | RR>
1054
1054
  } = internal.crossLeft
1055
1055
 
1056
1056
  /**
1057
1057
  * Composes this stream with the specified stream to create a cartesian
1058
- * product of elements, but keeps only elements from the other stream. The
1059
- * `that` stream would be run multiple times, for every element in the `this`
1058
+ * product of elements, but keeps only elements from the `right` stream. The
1059
+ * `left` stream would be run multiple times, for every element in the `right`
1060
1060
  * stream.
1061
1061
  *
1062
1062
  * See also `Stream.zipRight` for the more common point-wise variant.
@@ -1065,14 +1065,14 @@ export const crossLeft: {
1065
1065
  * @category utils
1066
1066
  */
1067
1067
  export const crossRight: {
1068
- <A2, E2, R2>(that: Stream<A2, E2, R2>): <A, E, R>(self: Stream<A, E, R>) => Stream<A2, E2 | E, R2 | R>
1069
- <A, E, R, A2, E2, R2>(self: Stream<A, E, R>, that: Stream<A2, E2, R2>): Stream<A2, E | E2, R | R2>
1068
+ <AR, ER, RR>(right: Stream<AR, ER, RR>): <AL, EL, RL>(left: Stream<AL, EL, RL>) => Stream<AR, EL | ER, RL | RR>
1069
+ <AL, EL, RL, AR, ER, RR>(left: Stream<AL, EL, RL>, right: Stream<AR, ER, RR>): Stream<AR, EL | ER, RL | RR>
1070
1070
  } = internal.crossRight
1071
1071
 
1072
1072
  /**
1073
1073
  * Composes this stream with the specified stream to create a cartesian
1074
- * product of elements with a specified function. The `that` stream would be
1075
- * run multiple times, for every element in the `this` stream.
1074
+ * product of elements with a specified function. The `right` stream would be
1075
+ * run multiple times, for every element in the `left` stream.
1076
1076
  *
1077
1077
  * See also `Stream.zipWith` for the more common point-wise variant.
1078
1078
  *
@@ -1080,15 +1080,15 @@ export const crossRight: {
1080
1080
  * @category utils
1081
1081
  */
1082
1082
  export const crossWith: {
1083
- <B, E2, R2, A, C>(
1084
- that: Stream<B, E2, R2>,
1085
- f: (a: A, b: B) => C
1086
- ): <E, R>(self: Stream<A, E, R>) => Stream<C, E2 | E, R2 | R>
1087
- <A, E, R, B, E2, R2, C>(
1088
- self: Stream<A, E, R>,
1089
- that: Stream<B, E2, R2>,
1090
- f: (a: A, b: B) => C
1091
- ): Stream<C, E | E2, R | R2>
1083
+ <AR, ER, RR, AL, A>(
1084
+ right: Stream<AR, ER, RR>,
1085
+ f: (left: AL, right: AR) => A
1086
+ ): <EL, RL>(left: Stream<AL, EL, RL>) => Stream<A, EL | ER, RL | RR>
1087
+ <AL, EL, RL, AR, ER, RR, A>(
1088
+ left: Stream<AL, EL, RL>,
1089
+ right: Stream<AR, ER, RR>,
1090
+ f: (left: AL, right: AR) => A
1091
+ ): Stream<A, EL | ER, RL | RR>
1092
1092
  } = internal.crossWith
1093
1093
 
1094
1094
  /**
@@ -5519,8 +5519,8 @@ export const zipAllWith: {
5519
5519
  * @category zipping
5520
5520
  */
5521
5521
  export const zipLatest: {
5522
- <A2, E2, R2>(that: Stream<A2, E2, R2>): <A, E, R>(self: Stream<A, E, R>) => Stream<[A, A2], E2 | E, R2 | R>
5523
- <A, E, R, A2, E2, R2>(self: Stream<A, E, R>, that: Stream<A2, E2, R2>): Stream<[A, A2], E | E2, R | R2>
5522
+ <AR, ER, RR>(right: Stream<AR, ER, RR>): <AL, EL, RL>(left: Stream<AL, EL, RL>) => Stream<[AL, AR], EL | ER, RL | RR>
5523
+ <AL, EL, RL, AR, ER, RR>(left: Stream<AL, EL, RL>, right: Stream<AR, ER, RR>): Stream<[AL, AR], EL | ER, RL | RR>
5524
5524
  } = internal.zipLatest
5525
5525
 
5526
5526
  /**
@@ -5575,20 +5575,20 @@ export const zipLatestAll: <T extends ReadonlyArray<Stream<any, any, any>>>(
5575
5575
  * @category zipping
5576
5576
  */
5577
5577
  export const zipLatestWith: {
5578
- <A2, E2, R2, A, A3>(
5579
- that: Stream<A2, E2, R2>,
5580
- f: (a: A, a2: A2) => A3
5581
- ): <E, R>(self: Stream<A, E, R>) => Stream<A3, E2 | E, R2 | R>
5582
- <A, E, R, A2, E2, R2, A3>(
5583
- self: Stream<A, E, R>,
5584
- that: Stream<A2, E2, R2>,
5585
- f: (a: A, a2: A2) => A3
5586
- ): Stream<A3, E | E2, R | R2>
5578
+ <AR, ER, RR, AL, A>(
5579
+ right: Stream<AR, ER, RR>,
5580
+ f: (left: AL, right: AR) => A
5581
+ ): <EL, RL>(left: Stream<AL, EL, RL>) => Stream<A, EL | ER, RL | RR>
5582
+ <AL, EL, RL, AR, ER, RR, A>(
5583
+ left: Stream<AL, EL, RL>,
5584
+ right: Stream<AR, ER, RR>,
5585
+ f: (left: AL, right: AR) => A
5586
+ ): Stream<A, EL | ER, RL | RR>
5587
5587
  } = internal.zipLatestWith
5588
5588
 
5589
5589
  /**
5590
5590
  * Zips this stream with another point-wise, but keeps only the outputs of
5591
- * this stream.
5591
+ * `left` stream.
5592
5592
  *
5593
5593
  * The new stream will end when one of the sides ends.
5594
5594
  *
@@ -5596,13 +5596,13 @@ export const zipLatestWith: {
5596
5596
  * @category zipping
5597
5597
  */
5598
5598
  export const zipLeft: {
5599
- <A2, E2, R2>(that: Stream<A2, E2, R2>): <A, E, R>(self: Stream<A, E, R>) => Stream<A, E2 | E, R2 | R>
5600
- <A, E, R, A2, E2, R2>(self: Stream<A, E, R>, that: Stream<A2, E2, R2>): Stream<A, E | E2, R | R2>
5599
+ <AR, ER, RR>(right: Stream<AR, ER, RR>): <AL, EL, RL>(left: Stream<AL, EL, RL>) => Stream<AL, ER | EL, RR | RL>
5600
+ <AL, EL, RL, AR, ER, RR>(left: Stream<AL, EL, RL>, right: Stream<AR, ER, RR>): Stream<AL, EL | ER, RL | RR>
5601
5601
  } = internal.zipLeft
5602
5602
 
5603
5603
  /**
5604
5604
  * Zips this stream with another point-wise, but keeps only the outputs of the
5605
- * other stream.
5605
+ * `right` stream.
5606
5606
  *
5607
5607
  * The new stream will end when one of the sides ends.
5608
5608
  *
@@ -5610,8 +5610,8 @@ export const zipLeft: {
5610
5610
  * @category zipping
5611
5611
  */
5612
5612
  export const zipRight: {
5613
- <A2, E2, R2>(that: Stream<A2, E2, R2>): <A, E, R>(self: Stream<A, E, R>) => Stream<A2, E2 | E, R2 | R>
5614
- <A, E, R, A2, E2, R2>(self: Stream<A, E, R>, that: Stream<A2, E2, R2>): Stream<A2, E | E2, R | R2>
5613
+ <AR, ER, RR>(right: Stream<AR, ER, RR>): <AL, EL, RL>(left: Stream<AL, EL, RL>) => Stream<AR, ER | EL, RR | RL>
5614
+ <AL, EL, RL, AR, ER, RR>(left: Stream<AL, EL, RL>, right: Stream<AR, ER, RR>): Stream<AR, EL | ER, RL | RR>
5615
5615
  } = internal.zipRight
5616
5616
 
5617
5617
  /**
@@ -5637,15 +5637,15 @@ export const zipRight: {
5637
5637
  * @category zipping
5638
5638
  */
5639
5639
  export const zipWith: {
5640
- <A2, E2, R2, A, A3>(
5641
- that: Stream<A2, E2, R2>,
5642
- f: (a: A, a2: A2) => A3
5643
- ): <E, R>(self: Stream<A, E, R>) => Stream<A3, E2 | E, R2 | R>
5644
- <A, E, R, A2, E2, R2, A3>(
5645
- self: Stream<A, E, R>,
5646
- that: Stream<A2, E2, R2>,
5647
- f: (a: A, a2: A2) => A3
5648
- ): Stream<A3, E | E2, R | R2>
5640
+ <AR, ER, RR, AL, A>(
5641
+ right: Stream<AR, ER, RR>,
5642
+ f: (left: AL, right: AR) => A
5643
+ ): <EL, RL>(left: Stream<AL, EL, RL>) => Stream<A, EL | ER, RL | RR>
5644
+ <AL, EL, RL, AR, ER, RR, A>(
5645
+ left: Stream<AL, EL, RL>,
5646
+ right: Stream<AR, ER, RR>,
5647
+ f: (left: AL, right: AR) => A
5648
+ ): Stream<A, EL | ER, RL | RR>
5649
5649
  } = internal.zipWith
5650
5650
 
5651
5651
  /**
@@ -329,7 +329,7 @@ const fromFlatLoop = <A>(
329
329
  core.flatMap((indices) => {
330
330
  if (indices.length === 0) {
331
331
  return core.suspend(() =>
332
- core.map(fromFlatLoop(flat, patchedPrefix, op.config, true), Arr.of)
332
+ core.map(fromFlatLoop(flat, prefix, op.config, true), Arr.of)
333
333
  ) as unknown as Effect.Effect<Array<A>, ConfigError.ConfigError>
334
334
  }
335
335
  return pipe(
@@ -1198,25 +1198,10 @@ export const orDieWith: {
1198
1198
  )
1199
1199
 
1200
1200
  /* @internal */
1201
- export const partitionMap = <A, A1, A2>(
1201
+ export const partitionMap: <A, A1, A2>(
1202
1202
  elements: Iterable<A>,
1203
1203
  f: (a: A) => Either.Either<A2, A1>
1204
- ): [left: Array<A1>, right: Array<A2>] =>
1205
- Arr.fromIterable(elements).reduceRight(
1206
- ([lefts, rights], current) => {
1207
- const either = f(current)
1208
- switch (either._tag) {
1209
- case "Left": {
1210
- return [[either.left, ...lefts], rights]
1211
- }
1212
- case "Right": {
1213
- return [lefts, [either.right, ...rights]]
1214
- }
1215
- }
1216
- },
1217
- [Arr.empty<A1>(), Arr.empty<A2>()]
1218
- )
1219
-
1204
+ ) => [left: Array<A1>, right: Array<A2>] = Arr.partitionMap
1220
1205
  /* @internal */
1221
1206
  export const runtimeFlags: Effect.Effect<RuntimeFlags.RuntimeFlags> = withFiberRuntime((_, status) =>
1222
1207
  succeed(status.runtimeFlags)
@@ -1769,7 +1769,7 @@ const allValidate = (
1769
1769
  readonly mode?: "default" | "validate" | "either" | undefined
1770
1770
  }
1771
1771
  ) => {
1772
- const eitherEffects: Array<Effect.Effect<unknown, never, Either.Either<unknown, unknown>>> = []
1772
+ const eitherEffects: Array<Effect.Effect<Either.Either<unknown, unknown>, never, unknown>> = []
1773
1773
  for (const effect of effects) {
1774
1774
  eitherEffects.push(core.either(effect))
1775
1775
  }
@@ -1818,7 +1818,7 @@ const allEither = (
1818
1818
  readonly mode?: "default" | "validate" | "either" | undefined
1819
1819
  }
1820
1820
  ) => {
1821
- const eitherEffects: Array<Effect.Effect<unknown, never, Either.Either<unknown, unknown>>> = []
1821
+ const eitherEffects: Array<Effect.Effect<Either.Either<unknown, unknown>, never, unknown>> = []
1822
1822
  for (const effect of effects) {
1823
1823
  eitherEffects.push(core.either(effect))
1824
1824
  }
@@ -1680,74 +1680,74 @@ export const concatAll = <A, E, R>(streams: Chunk.Chunk<Stream.Stream<A, E, R>>)
1680
1680
  suspend(() => pipe(streams, Chunk.reduce(empty as Stream.Stream<A, E, R>, (x, y) => concat(y)(x))))
1681
1681
 
1682
1682
  /** @internal */
1683
- export const cross = dual<
1684
- <A2, E2, R2>(
1685
- that: Stream.Stream<A2, E2, R2>
1686
- ) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<[A, A2], E2 | E, R2 | R>,
1687
- <A, E, R, A2, E2, R2>(
1688
- self: Stream.Stream<A, E, R>,
1689
- that: Stream.Stream<A2, E2, R2>
1690
- ) => Stream.Stream<[A, A2], E2 | E, R2 | R>
1691
- >(
1683
+ export const cross: {
1684
+ <AR, ER, RR>(
1685
+ right: Stream.Stream<AR, ER, RR>
1686
+ ): <AL, EL, RL>(left: Stream.Stream<AL, EL, RL>) => Stream.Stream<[AL, AR], EL | ER, RL | RR>
1687
+ <AL, ER, RR, AR, EL, RL>(
1688
+ left: Stream.Stream<AL, ER, RR>,
1689
+ right: Stream.Stream<AR, EL, RL>
1690
+ ): Stream.Stream<[AL, AR], EL | ER, RL | RR>
1691
+ } = dual(
1692
1692
  2,
1693
- <A, E, R, A2, E2, R2>(
1694
- self: Stream.Stream<A, E, R>,
1695
- that: Stream.Stream<A2, E2, R2>
1696
- ): Stream.Stream<[A, A2], E2 | E, R2 | R> => pipe(self, crossWith(that, (a, a2) => [a, a2]))
1693
+ <AL, ER, RR, AR, EL, RL>(
1694
+ left: Stream.Stream<AL, ER, RR>,
1695
+ right: Stream.Stream<AR, EL, RL>
1696
+ ): Stream.Stream<[AL, AR], EL | ER, RL | RR> => pipe(left, crossWith(right, (a, a2) => [a, a2]))
1697
1697
  )
1698
1698
 
1699
1699
  /** @internal */
1700
- export const crossLeft = dual<
1701
- <A2, E2, R2>(
1702
- that: Stream.Stream<A2, E2, R2>
1703
- ) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E2 | E, R2 | R>,
1704
- <A, E, R, A2, E2, R2>(
1705
- self: Stream.Stream<A, E, R>,
1706
- that: Stream.Stream<A2, E2, R2>
1707
- ) => Stream.Stream<A, E2 | E, R2 | R>
1708
- >(
1700
+ export const crossLeft: {
1701
+ <AR, ER, RR>(
1702
+ right: Stream.Stream<AR, ER, RR>
1703
+ ): <AL, EL, RL>(left: Stream.Stream<AL, EL, RL>) => Stream.Stream<AL, EL | ER, RL | RR>
1704
+ <AL, EL, RL, AR, ER, RR>(
1705
+ left: Stream.Stream<AL, EL, RL>,
1706
+ right: Stream.Stream<AR, ER, RR>
1707
+ ): Stream.Stream<AL, EL | ER, RL | RR>
1708
+ } = dual(
1709
1709
  2,
1710
- <A, E, R, A2, E2, R2>(
1711
- self: Stream.Stream<A, E, R>,
1712
- that: Stream.Stream<A2, E2, R2>
1713
- ): Stream.Stream<A, E2 | E, R2 | R> => pipe(self, crossWith(that, (a, _) => a))
1710
+ <AL, EL, RL, AR, ER, RR>(
1711
+ left: Stream.Stream<AL, EL, RL>,
1712
+ right: Stream.Stream<AR, ER, RR>
1713
+ ): Stream.Stream<AL, EL | ER, RL | RR> => pipe(left, crossWith(right, (a, _) => a))
1714
1714
  )
1715
1715
 
1716
1716
  /** @internal */
1717
- export const crossRight = dual<
1718
- <A2, E2, R2>(
1719
- that: Stream.Stream<A2, E2, R2>
1720
- ) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2, E2 | E, R2 | R>,
1721
- <A, E, R, A2, E2, R2>(
1722
- self: Stream.Stream<A, E, R>,
1723
- that: Stream.Stream<A2, E2, R2>
1724
- ) => Stream.Stream<A2, E2 | E, R2 | R>
1725
- >(
1717
+ export const crossRight: {
1718
+ <AR, ER, RR>(
1719
+ right: Stream.Stream<AR, ER, RR>
1720
+ ): <AL, EL, RL>(left: Stream.Stream<AL, EL, RL>) => Stream.Stream<AR, EL | ER, RL | RR>
1721
+ <AL, EL, RL, AR, ER, RR>(
1722
+ left: Stream.Stream<AL, EL, RL>,
1723
+ right: Stream.Stream<AR, ER, RR>
1724
+ ): Stream.Stream<AR, EL | ER, RL | RR>
1725
+ } = dual(
1726
1726
  2,
1727
- <A, E, R, A2, E2, R2>(
1728
- self: Stream.Stream<A, E, R>,
1729
- that: Stream.Stream<A2, E2, R2>
1730
- ): Stream.Stream<A2, E2 | E, R2 | R> => flatMap(self, () => that)
1727
+ <AL, EL, RL, AR, ER, RR>(
1728
+ left: Stream.Stream<AL, EL, RL>,
1729
+ right: Stream.Stream<AR, ER, RR>
1730
+ ): Stream.Stream<AR, EL | ER, RL | RR> => flatMap(left, () => right)
1731
1731
  )
1732
1732
 
1733
1733
  /** @internal */
1734
- export const crossWith = dual<
1735
- <B, E2, R2, A, C>(
1736
- that: Stream.Stream<B, E2, R2>,
1737
- f: (a: A, b: B) => C
1738
- ) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<C, E2 | E, R2 | R>,
1739
- <A, E, R, B, E2, R2, C>(
1740
- self: Stream.Stream<A, E, R>,
1741
- that: Stream.Stream<B, E2, R2>,
1742
- f: (a: A, b: B) => C
1743
- ) => Stream.Stream<C, E2 | E, R2 | R>
1744
- >(
1734
+ export const crossWith: {
1735
+ <AR, ER, RR, AL, A>(
1736
+ right: Stream.Stream<AR, ER, RR>,
1737
+ f: (left: AL, right: AR) => A
1738
+ ): <EL, RL>(left: Stream.Stream<AL, EL, RL>) => Stream.Stream<A, EL | ER, RL | RR>
1739
+ <AL, EL, RL, AR, ER, RR, A>(
1740
+ left: Stream.Stream<AL, EL, RL>,
1741
+ right: Stream.Stream<AR, ER, RR>,
1742
+ f: (left: AL, right: AR) => A
1743
+ ): Stream.Stream<A, EL | ER, RL | RR>
1744
+ } = dual(
1745
1745
  3,
1746
- <A, E, R, B, E2, R2, C>(
1747
- self: Stream.Stream<A, E, R>,
1748
- that: Stream.Stream<B, E2, R2>,
1749
- f: (a: A, b: B) => C
1750
- ): Stream.Stream<C, E2 | E, R2 | R> => pipe(self, flatMap((a) => pipe(that, map((b) => f(a, b)))))
1746
+ <AL, EL, RL, AR, ER, RR, A>(
1747
+ left: Stream.Stream<AL, EL, RL>,
1748
+ right: Stream.Stream<AR, ER, RR>,
1749
+ f: (left: AL, right: AR) => A
1750
+ ): Stream.Stream<A, EL | ER, RL | RR> => pipe(left, flatMap((a) => pipe(right, map((b) => f(a, b)))))
1751
1751
  )
1752
1752
 
1753
1753
  /** @internal */
@@ -7891,20 +7891,20 @@ export const zipAllWith = dual<
7891
7891
  )
7892
7892
 
7893
7893
  /** @internal */
7894
- export const zipLatest = dual<
7895
- <A2, E2, R2>(
7896
- that: Stream.Stream<A2, E2, R2>
7897
- ) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<[A, A2], E2 | E, R2 | R>,
7898
- <A, E, R, A2, E2, R2>(
7899
- self: Stream.Stream<A, E, R>,
7900
- that: Stream.Stream<A2, E2, R2>
7901
- ) => Stream.Stream<[A, A2], E2 | E, R2 | R>
7902
- >(
7894
+ export const zipLatest: {
7895
+ <AR, ER, RR>(
7896
+ right: Stream.Stream<AR, ER, RR>
7897
+ ): <AL, EL, RL>(left: Stream.Stream<AL, EL, RL>) => Stream.Stream<[AL, AR], EL | ER, RL | RR>
7898
+ <AL, EL, RL, AR, ER, RR>(
7899
+ left: Stream.Stream<AL, EL, RL>,
7900
+ right: Stream.Stream<AR, ER, RR>
7901
+ ): Stream.Stream<[AL, AR], EL | ER, RL | RR>
7902
+ } = dual(
7903
7903
  2,
7904
- <A, E, R, A2, E2, R2>(
7905
- self: Stream.Stream<A, E, R>,
7906
- that: Stream.Stream<A2, E2, R2>
7907
- ): Stream.Stream<[A, A2], E2 | E, R2 | R> => pipe(self, zipLatestWith(that, (a, a2) => [a, a2]))
7904
+ <AL, EL, RL, AR, ER, RR>(
7905
+ left: Stream.Stream<AL, EL, RL>,
7906
+ right: Stream.Stream<AR, ER, RR>
7907
+ ): Stream.Stream<[AL, AR], EL | ER, RL | RR> => pipe(left, zipLatestWith(right, (a, a2) => [a, a2]))
7908
7908
  )
7909
7909
 
7910
7910
  export const zipLatestAll = <T extends ReadonlyArray<Stream.Stream<any, any, any>>>(
@@ -7929,34 +7929,34 @@ export const zipLatestAll = <T extends ReadonlyArray<Stream.Stream<any, any, any
7929
7929
  }
7930
7930
 
7931
7931
  /** @internal */
7932
- export const zipLatestWith = dual<
7933
- <A2, E2, R2, A, A3>(
7934
- that: Stream.Stream<A2, E2, R2>,
7935
- f: (a: A, a2: A2) => A3
7936
- ) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A3, E2 | E, R2 | R>,
7937
- <A, E, R, A2, E2, R2, A3>(
7938
- self: Stream.Stream<A, E, R>,
7939
- that: Stream.Stream<A2, E2, R2>,
7940
- f: (a: A, a2: A2) => A3
7941
- ) => Stream.Stream<A3, E2 | E, R2 | R>
7942
- >(
7932
+ export const zipLatestWith: {
7933
+ <AR, ER, RR, AL, A>(
7934
+ right: Stream.Stream<AR, ER, RR>,
7935
+ f: (left: AL, right: AR) => A
7936
+ ): <EL, RL>(left: Stream.Stream<AL, EL, RL>) => Stream.Stream<A, EL | ER, RL | RR>
7937
+ <AL, EL, RL, AR, ER, RR, A>(
7938
+ left: Stream.Stream<AL, EL, RL>,
7939
+ right: Stream.Stream<AR, ER, RR>,
7940
+ f: (left: AL, right: AR) => A
7941
+ ): Stream.Stream<A, EL | ER, RL | RR>
7942
+ } = dual(
7943
7943
  3,
7944
- <A, E, R, A2, E2, R2, A3>(
7945
- self: Stream.Stream<A, E, R>,
7946
- that: Stream.Stream<A2, E2, R2>,
7947
- f: (a: A, a2: A2) => A3
7948
- ): Stream.Stream<A3, E2 | E, R2 | R> => {
7944
+ <AL, EL, RL, AR, ER, RR, A>(
7945
+ left: Stream.Stream<AL, EL, RL>,
7946
+ right: Stream.Stream<AR, ER, RR>,
7947
+ f: (left: AL, right: AR) => A
7948
+ ): Stream.Stream<A, EL | ER, RL | RR> => {
7949
7949
  const pullNonEmpty = <_R, _E, _A>(
7950
7950
  pull: Effect.Effect<Chunk.Chunk<_A>, Option.Option<_E>, _R>
7951
7951
  ): Effect.Effect<Chunk.Chunk<_A>, Option.Option<_E>, _R> =>
7952
7952
  pipe(pull, Effect.flatMap((chunk) => Chunk.isEmpty(chunk) ? pullNonEmpty(pull) : Effect.succeed(chunk)))
7953
7953
  return pipe(
7954
- toPull(self),
7954
+ toPull(left),
7955
7955
  Effect.map(pullNonEmpty),
7956
- Effect.zip(pipe(toPull(that), Effect.map(pullNonEmpty))),
7956
+ Effect.zip(pipe(toPull(right), Effect.map(pullNonEmpty))),
7957
7957
  Effect.flatMap(([left, right]) =>
7958
7958
  pipe(
7959
- fromEffectOption<readonly [Chunk.Chunk<A>, Chunk.Chunk<A2>, boolean], E | E2, R | R2>(
7959
+ fromEffectOption<readonly [Chunk.Chunk<AL>, Chunk.Chunk<AR>, boolean], EL | ER, RL | RR>(
7960
7960
  Effect.raceWith(left, right, {
7961
7961
  onSelfDone: (leftDone, rightFiber) =>
7962
7962
  pipe(
@@ -8020,23 +8020,23 @@ export const zipLatestWith = dual<
8020
8020
  )
8021
8021
 
8022
8022
  /** @internal */
8023
- export const zipLeft = dual<
8024
- <A2, E2, R2>(
8025
- that: Stream.Stream<A2, E2, R2>
8026
- ) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E2 | E, R2 | R>,
8027
- <A, E, R, A2, E2, R2>(
8028
- self: Stream.Stream<A, E, R>,
8029
- that: Stream.Stream<A2, E2, R2>
8030
- ) => Stream.Stream<A, E2 | E, R2 | R>
8031
- >(
8023
+ export const zipLeft: {
8024
+ <AR, ER, RR>(
8025
+ right: Stream.Stream<AR, ER, RR>
8026
+ ): <AL, EL, RL>(left: Stream.Stream<AL, EL, RL>) => Stream.Stream<AL, ER | EL, RR | RL>
8027
+ <AL, EL, RL, AR, ER, RR>(
8028
+ left: Stream.Stream<AL, EL, RL>,
8029
+ right: Stream.Stream<AR, ER, RR>
8030
+ ): Stream.Stream<AL, EL | ER, RL | RR>
8031
+ } = dual(
8032
8032
  2,
8033
- <A, E, R, A2, E2, R2>(
8034
- self: Stream.Stream<A, E, R>,
8035
- that: Stream.Stream<A2, E2, R2>
8036
- ): Stream.Stream<A, E | E2, R | R2> =>
8033
+ <AL, EL, RL, AR, ER, RR>(
8034
+ left: Stream.Stream<AL, EL, RL>,
8035
+ right: Stream.Stream<AR, ER, RR>
8036
+ ): Stream.Stream<AL, EL | ER, RL | RR> =>
8037
8037
  pipe(
8038
- self,
8039
- zipWithChunks(that, (left, right) => {
8038
+ left,
8039
+ zipWithChunks(right, (left, right) => {
8040
8040
  if (left.length > right.length) {
8041
8041
  return [
8042
8042
  pipe(left, Chunk.take(right.length)),
@@ -8052,23 +8052,23 @@ export const zipLeft = dual<
8052
8052
  )
8053
8053
 
8054
8054
  /** @internal */
8055
- export const zipRight = dual<
8056
- <A2, E2, R2>(
8057
- that: Stream.Stream<A2, E2, R2>
8058
- ) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2, E2 | E, R2 | R>,
8059
- <A, E, R, A2, E2, R2>(
8060
- self: Stream.Stream<A, E, R>,
8061
- that: Stream.Stream<A2, E2, R2>
8062
- ) => Stream.Stream<A2, E2 | E, R2 | R>
8063
- >(
8055
+ export const zipRight: {
8056
+ <AR, ER, RR>(
8057
+ right: Stream.Stream<AR, ER, RR>
8058
+ ): <AL, EL, RL>(left: Stream.Stream<AL, EL, RL>) => Stream.Stream<AR, ER | EL, RR | RL>
8059
+ <AL, EL, RL, AR, ER, RR>(
8060
+ left: Stream.Stream<AL, EL, RL>,
8061
+ right: Stream.Stream<AR, ER, RR>
8062
+ ): Stream.Stream<AR, EL | ER, RL | RR>
8063
+ } = dual(
8064
8064
  2,
8065
- <A, E, R, A2, E2, R2>(
8066
- self: Stream.Stream<A, E, R>,
8067
- that: Stream.Stream<A2, E2, R2>
8068
- ): Stream.Stream<A2, E | E2, R | R2> =>
8065
+ <AL, EL, RL, AR, ER, RR>(
8066
+ left: Stream.Stream<AL, EL, RL>,
8067
+ right: Stream.Stream<AR, ER, RR>
8068
+ ): Stream.Stream<AR, EL | ER, RL | RR> =>
8069
8069
  pipe(
8070
- self,
8071
- zipWithChunks(that, (left, right) => {
8070
+ left,
8071
+ zipWithChunks(right, (left, right) => {
8072
8072
  if (left.length > right.length) {
8073
8073
  return [
8074
8074
  right,
@@ -8084,24 +8084,24 @@ export const zipRight = dual<
8084
8084
  )
8085
8085
 
8086
8086
  /** @internal */
8087
- export const zipWith = dual<
8088
- <A2, E2, R2, A, A3>(
8089
- that: Stream.Stream<A2, E2, R2>,
8090
- f: (a: A, a2: A2) => A3
8091
- ) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A3, E2 | E, R2 | R>,
8092
- <A, E, R, A2, E2, R2, A3>(
8093
- self: Stream.Stream<A, E, R>,
8094
- that: Stream.Stream<A2, E2, R2>,
8095
- f: (a: A, a2: A2) => A3
8096
- ) => Stream.Stream<A3, E2 | E, R2 | R>
8097
- >(
8087
+ export const zipWith: {
8088
+ <AR, ER, RR, AL, A>(
8089
+ right: Stream.Stream<AR, ER, RR>,
8090
+ f: (left: AL, right: AR) => A
8091
+ ): <EL, RL>(left: Stream.Stream<AL, EL, RL>) => Stream.Stream<A, EL | ER, RL | RR>
8092
+ <AL, EL, RL, AR, ER, RR, A>(
8093
+ left: Stream.Stream<AL, EL, RL>,
8094
+ right: Stream.Stream<AR, ER, RR>,
8095
+ f: (left: AL, right: AR) => A
8096
+ ): Stream.Stream<A, EL | ER, RL | RR>
8097
+ } = dual(
8098
8098
  3,
8099
- <A, E, R, A2, E2, R2, A3>(
8100
- self: Stream.Stream<A, E, R>,
8101
- that: Stream.Stream<A2, E2, R2>,
8102
- f: (a: A, a2: A2) => A3
8103
- ): Stream.Stream<A3, E2 | E, R2 | R> =>
8104
- pipe(self, zipWithChunks(that, (leftChunk, rightChunk) => zipChunks(leftChunk, rightChunk, f)))
8099
+ <AL, EL, RL, AR, ER, RR, A>(
8100
+ left: Stream.Stream<AL, EL, RL>,
8101
+ right: Stream.Stream<AR, ER, RR>,
8102
+ f: (left: AL, right: AR) => A
8103
+ ): Stream.Stream<A, EL | ER, RL | RR> =>
8104
+ pipe(left, zipWithChunks(right, (leftChunk, rightChunk) => zipChunks(leftChunk, rightChunk, f)))
8105
8105
  )
8106
8106
 
8107
8107
  /** @internal */
@@ -1,4 +1,4 @@
1
- let moduleVersion = "3.6.5"
1
+ let moduleVersion = "3.6.7"
2
2
 
3
3
  export const getCurrentVersion = () => moduleVersion
4
4