effect 2.3.8 → 2.4.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 (279) hide show
  1. package/dist/cjs/BigInt.js +14 -1
  2. package/dist/cjs/BigInt.js.map +1 -1
  3. package/dist/cjs/Effect.js +48 -61
  4. package/dist/cjs/Effect.js.map +1 -1
  5. package/dist/cjs/Either.js +35 -6
  6. package/dist/cjs/Either.js.map +1 -1
  7. package/dist/cjs/Equal.js +1 -1
  8. package/dist/cjs/Equal.js.map +1 -1
  9. package/dist/cjs/Exit.js +1 -1
  10. package/dist/cjs/Number.js +25 -1
  11. package/dist/cjs/Number.js.map +1 -1
  12. package/dist/cjs/Predicate.js +40 -3
  13. package/dist/cjs/Predicate.js.map +1 -1
  14. package/dist/cjs/ReadonlyArray.js +2 -2
  15. package/dist/cjs/ReadonlyArray.js.map +1 -1
  16. package/dist/cjs/ReadonlyRecord.js +71 -76
  17. package/dist/cjs/ReadonlyRecord.js.map +1 -1
  18. package/dist/cjs/STM.js.map +1 -1
  19. package/dist/cjs/Schedule.js.map +1 -1
  20. package/dist/cjs/Sink.js.map +1 -1
  21. package/dist/cjs/Stream.js +3 -23
  22. package/dist/cjs/Stream.js.map +1 -1
  23. package/dist/cjs/Struct.js +3 -1
  24. package/dist/cjs/Struct.js.map +1 -1
  25. package/dist/cjs/TestAnnotation.js.map +1 -1
  26. package/dist/cjs/internal/channel/channelExecutor.js +5 -5
  27. package/dist/cjs/internal/channel/channelExecutor.js.map +1 -1
  28. package/dist/cjs/internal/channel/channelState.js +5 -5
  29. package/dist/cjs/internal/channel/channelState.js.map +1 -1
  30. package/dist/cjs/internal/channel.js.map +1 -1
  31. package/dist/cjs/internal/clock.js +3 -4
  32. package/dist/cjs/internal/clock.js.map +1 -1
  33. package/dist/cjs/internal/core-effect.js +6 -23
  34. package/dist/cjs/internal/core-effect.js.map +1 -1
  35. package/dist/cjs/internal/core.js +11 -27
  36. package/dist/cjs/internal/core.js.map +1 -1
  37. package/dist/cjs/internal/effect/circular.js +4 -5
  38. package/dist/cjs/internal/effect/circular.js.map +1 -1
  39. package/dist/cjs/internal/either.js +3 -3
  40. package/dist/cjs/internal/either.js.map +1 -1
  41. package/dist/cjs/internal/groupBy.js.map +1 -1
  42. package/dist/cjs/internal/layer.js +0 -2
  43. package/dist/cjs/internal/layer.js.map +1 -1
  44. package/dist/cjs/internal/runtime.js +12 -1
  45. package/dist/cjs/internal/runtime.js.map +1 -1
  46. package/dist/cjs/internal/schedule.js +4 -4
  47. package/dist/cjs/internal/schedule.js.map +1 -1
  48. package/dist/cjs/internal/sink.js +0 -2
  49. package/dist/cjs/internal/sink.js.map +1 -1
  50. package/dist/cjs/internal/stm/stm.js +1 -0
  51. package/dist/cjs/internal/stm/stm.js.map +1 -1
  52. package/dist/cjs/internal/stream.js +51 -64
  53. package/dist/cjs/internal/stream.js.map +1 -1
  54. package/dist/cjs/internal/version.js +1 -1
  55. package/dist/dts/BigInt.d.ts +7 -0
  56. package/dist/dts/BigInt.d.ts.map +1 -1
  57. package/dist/dts/Brand.d.ts +1 -1
  58. package/dist/dts/Brand.d.ts.map +1 -1
  59. package/dist/dts/Cause.d.ts +1 -1
  60. package/dist/dts/Cause.d.ts.map +1 -1
  61. package/dist/dts/Channel.d.ts +11 -11
  62. package/dist/dts/Channel.d.ts.map +1 -1
  63. package/dist/dts/Chunk.d.ts +3 -3
  64. package/dist/dts/Config.d.ts +4 -4
  65. package/dist/dts/Config.d.ts.map +1 -1
  66. package/dist/dts/Cron.d.ts +1 -1
  67. package/dist/dts/Cron.d.ts.map +1 -1
  68. package/dist/dts/Differ.d.ts +2 -2
  69. package/dist/dts/Differ.d.ts.map +1 -1
  70. package/dist/dts/Effect.d.ts +84 -108
  71. package/dist/dts/Effect.d.ts.map +1 -1
  72. package/dist/dts/Either.d.ts +126 -83
  73. package/dist/dts/Either.d.ts.map +1 -1
  74. package/dist/dts/Encoding.d.ts +6 -6
  75. package/dist/dts/Encoding.d.ts.map +1 -1
  76. package/dist/dts/Equal.d.ts.map +1 -1
  77. package/dist/dts/Exit.d.ts +2 -2
  78. package/dist/dts/Fiber.d.ts +2 -2
  79. package/dist/dts/Fiber.d.ts.map +1 -1
  80. package/dist/dts/GroupBy.d.ts +12 -12
  81. package/dist/dts/GroupBy.d.ts.map +1 -1
  82. package/dist/dts/Layer.d.ts +26 -26
  83. package/dist/dts/Layer.d.ts.map +1 -1
  84. package/dist/dts/List.d.ts +2 -2
  85. package/dist/dts/Logger.d.ts +4 -4
  86. package/dist/dts/Match.d.ts +2 -2
  87. package/dist/dts/Match.d.ts.map +1 -1
  88. package/dist/dts/MergeDecision.d.ts +1 -1
  89. package/dist/dts/MergeState.d.ts +5 -5
  90. package/dist/dts/MergeState.d.ts.map +1 -1
  91. package/dist/dts/Metric.d.ts +13 -13
  92. package/dist/dts/Metric.d.ts.map +1 -1
  93. package/dist/dts/MetricPolling.d.ts +4 -4
  94. package/dist/dts/MetricPolling.d.ts.map +1 -1
  95. package/dist/dts/Number.d.ts +8 -0
  96. package/dist/dts/Number.d.ts.map +1 -1
  97. package/dist/dts/Option.d.ts +11 -11
  98. package/dist/dts/Predicate.d.ts +37 -2
  99. package/dist/dts/Predicate.d.ts.map +1 -1
  100. package/dist/dts/ReadonlyArray.d.ts +9 -8
  101. package/dist/dts/ReadonlyArray.d.ts.map +1 -1
  102. package/dist/dts/ReadonlyRecord.d.ts +111 -94
  103. package/dist/dts/ReadonlyRecord.d.ts.map +1 -1
  104. package/dist/dts/Reloadable.d.ts +4 -4
  105. package/dist/dts/Reloadable.d.ts.map +1 -1
  106. package/dist/dts/RequestResolver.d.ts +13 -13
  107. package/dist/dts/RequestResolver.d.ts.map +1 -1
  108. package/dist/dts/Resource.d.ts +1 -1
  109. package/dist/dts/Resource.d.ts.map +1 -1
  110. package/dist/dts/STM.d.ts +144 -139
  111. package/dist/dts/STM.d.ts.map +1 -1
  112. package/dist/dts/Schedule.d.ts +171 -179
  113. package/dist/dts/Schedule.d.ts.map +1 -1
  114. package/dist/dts/SingleProducerAsyncInput.d.ts +1 -1
  115. package/dist/dts/SingleProducerAsyncInput.d.ts.map +1 -1
  116. package/dist/dts/Sink.d.ts +13 -13
  117. package/dist/dts/Sink.d.ts.map +1 -1
  118. package/dist/dts/Stream.d.ts +355 -366
  119. package/dist/dts/Stream.d.ts.map +1 -1
  120. package/dist/dts/Struct.d.ts +3 -3
  121. package/dist/dts/Struct.d.ts.map +1 -1
  122. package/dist/dts/SubscriptionRef.d.ts +2 -2
  123. package/dist/dts/TArray.d.ts +2 -2
  124. package/dist/dts/TDeferred.d.ts +3 -3
  125. package/dist/dts/TMap.d.ts +10 -10
  126. package/dist/dts/TSet.d.ts +4 -4
  127. package/dist/dts/Take.d.ts +2 -2
  128. package/dist/dts/TestAnnotation.d.ts +2 -2
  129. package/dist/dts/TestAnnotation.d.ts.map +1 -1
  130. package/dist/dts/Types.d.ts +7 -0
  131. package/dist/dts/Types.d.ts.map +1 -1
  132. package/dist/dts/internal/stm/stm.d.ts +2 -15
  133. package/dist/dts/internal/stm/stm.d.ts.map +1 -1
  134. package/dist/esm/BigInt.js +12 -0
  135. package/dist/esm/BigInt.js.map +1 -1
  136. package/dist/esm/Effect.js +45 -58
  137. package/dist/esm/Effect.js.map +1 -1
  138. package/dist/esm/Either.js +42 -5
  139. package/dist/esm/Either.js.map +1 -1
  140. package/dist/esm/Equal.js +1 -1
  141. package/dist/esm/Equal.js.map +1 -1
  142. package/dist/esm/Exit.js +1 -1
  143. package/dist/esm/Number.js +23 -0
  144. package/dist/esm/Number.js.map +1 -1
  145. package/dist/esm/Predicate.js +37 -2
  146. package/dist/esm/Predicate.js.map +1 -1
  147. package/dist/esm/ReadonlyArray.js +2 -2
  148. package/dist/esm/ReadonlyArray.js.map +1 -1
  149. package/dist/esm/ReadonlyRecord.js +70 -75
  150. package/dist/esm/ReadonlyRecord.js.map +1 -1
  151. package/dist/esm/STM.js.map +1 -1
  152. package/dist/esm/Schedule.js.map +1 -1
  153. package/dist/esm/Sink.js.map +1 -1
  154. package/dist/esm/Stream.js +5 -22
  155. package/dist/esm/Stream.js.map +1 -1
  156. package/dist/esm/Struct.js +3 -1
  157. package/dist/esm/Struct.js.map +1 -1
  158. package/dist/esm/TestAnnotation.js.map +1 -1
  159. package/dist/esm/internal/channel/channelExecutor.js +5 -5
  160. package/dist/esm/internal/channel/channelExecutor.js.map +1 -1
  161. package/dist/esm/internal/channel/channelState.js +3 -3
  162. package/dist/esm/internal/channel/channelState.js.map +1 -1
  163. package/dist/esm/internal/channel.js.map +1 -1
  164. package/dist/esm/internal/clock.js +3 -4
  165. package/dist/esm/internal/clock.js.map +1 -1
  166. package/dist/esm/internal/core-effect.js +4 -20
  167. package/dist/esm/internal/core-effect.js.map +1 -1
  168. package/dist/esm/internal/core.js +8 -22
  169. package/dist/esm/internal/core.js.map +1 -1
  170. package/dist/esm/internal/effect/circular.js +4 -5
  171. package/dist/esm/internal/effect/circular.js.map +1 -1
  172. package/dist/esm/internal/either.js +3 -3
  173. package/dist/esm/internal/either.js.map +1 -1
  174. package/dist/esm/internal/groupBy.js.map +1 -1
  175. package/dist/esm/internal/layer.js +0 -2
  176. package/dist/esm/internal/layer.js.map +1 -1
  177. package/dist/esm/internal/runtime.js +12 -1
  178. package/dist/esm/internal/runtime.js.map +1 -1
  179. package/dist/esm/internal/schedule.js +4 -4
  180. package/dist/esm/internal/schedule.js.map +1 -1
  181. package/dist/esm/internal/sink.js +0 -2
  182. package/dist/esm/internal/sink.js.map +1 -1
  183. package/dist/esm/internal/stm/stm.js +1 -0
  184. package/dist/esm/internal/stm/stm.js.map +1 -1
  185. package/dist/esm/internal/stream.js +49 -59
  186. package/dist/esm/internal/stream.js.map +1 -1
  187. package/dist/esm/internal/version.js +1 -1
  188. package/package.json +1 -1
  189. package/src/BigInt.ts +13 -0
  190. package/src/Brand.ts +4 -4
  191. package/src/Cause.ts +1 -1
  192. package/src/Channel.ts +17 -17
  193. package/src/Chunk.ts +4 -4
  194. package/src/Config.ts +4 -4
  195. package/src/Cron.ts +2 -2
  196. package/src/Differ.ts +2 -2
  197. package/src/Effect.ts +100 -145
  198. package/src/Either.ts +215 -133
  199. package/src/Encoding.ts +3 -3
  200. package/src/Equal.ts +1 -1
  201. package/src/Exit.ts +2 -2
  202. package/src/Fiber.ts +2 -2
  203. package/src/GroupBy.ts +16 -16
  204. package/src/Layer.ts +32 -32
  205. package/src/List.ts +3 -3
  206. package/src/Logger.ts +4 -4
  207. package/src/Match.ts +3 -3
  208. package/src/MergeDecision.ts +1 -1
  209. package/src/MergeState.ts +8 -8
  210. package/src/Metric.ts +13 -13
  211. package/src/MetricPolling.ts +9 -9
  212. package/src/Number.ts +26 -0
  213. package/src/Option.ts +17 -17
  214. package/src/Predicate.ts +39 -2
  215. package/src/ReadonlyArray.ts +23 -15
  216. package/src/ReadonlyRecord.ts +421 -265
  217. package/src/Reloadable.ts +4 -4
  218. package/src/RequestResolver.ts +19 -19
  219. package/src/Resource.ts +3 -3
  220. package/src/STM.ts +166 -213
  221. package/src/Schedule.ts +331 -361
  222. package/src/SingleProducerAsyncInput.ts +1 -1
  223. package/src/Sink.ts +19 -19
  224. package/src/Stream.ts +449 -456
  225. package/src/Struct.ts +8 -5
  226. package/src/SubscriptionRef.ts +2 -2
  227. package/src/TArray.ts +2 -2
  228. package/src/TDeferred.ts +4 -4
  229. package/src/TMap.ts +10 -10
  230. package/src/TSet.ts +4 -4
  231. package/src/Take.ts +4 -4
  232. package/src/TestAnnotation.ts +5 -8
  233. package/src/Types.ts +11 -0
  234. package/src/internal/blockedRequests.ts +2 -2
  235. package/src/internal/cause.ts +2 -2
  236. package/src/internal/channel/channelExecutor.ts +26 -26
  237. package/src/internal/channel/channelState.ts +13 -13
  238. package/src/internal/channel/mergeDecision.ts +1 -1
  239. package/src/internal/channel/mergeState.ts +6 -6
  240. package/src/internal/channel/singleProducerAsyncInput.ts +5 -5
  241. package/src/internal/channel.ts +43 -43
  242. package/src/internal/clock.ts +3 -4
  243. package/src/internal/config.ts +7 -7
  244. package/src/internal/configError.ts +1 -1
  245. package/src/internal/configProvider/pathPatch.ts +2 -2
  246. package/src/internal/configProvider.ts +1 -1
  247. package/src/internal/core-effect.ts +28 -43
  248. package/src/internal/core.ts +15 -40
  249. package/src/internal/dataSource.ts +26 -26
  250. package/src/internal/differ/orPatch.ts +7 -7
  251. package/src/internal/differ.ts +2 -2
  252. package/src/internal/effect/circular.ts +9 -10
  253. package/src/internal/either.ts +25 -22
  254. package/src/internal/encoding/base64.ts +1 -1
  255. package/src/internal/encoding/base64Url.ts +1 -1
  256. package/src/internal/encoding/hex.ts +1 -1
  257. package/src/internal/fiber.ts +2 -2
  258. package/src/internal/fiberRuntime.ts +9 -9
  259. package/src/internal/groupBy.ts +40 -40
  260. package/src/internal/layer/circular.ts +4 -4
  261. package/src/internal/layer.ts +52 -54
  262. package/src/internal/matcher.ts +5 -5
  263. package/src/internal/metric/polling.ts +8 -8
  264. package/src/internal/metric.ts +6 -6
  265. package/src/internal/reloadable.ts +4 -4
  266. package/src/internal/resource.ts +2 -2
  267. package/src/internal/runtime.ts +32 -19
  268. package/src/internal/schedule.ts +430 -500
  269. package/src/internal/sink.ts +27 -29
  270. package/src/internal/stm/core.ts +23 -23
  271. package/src/internal/stm/stm.ts +158 -157
  272. package/src/internal/stm/tArray.ts +3 -3
  273. package/src/internal/stm/tDeferred.ts +5 -5
  274. package/src/internal/stm/tMap.ts +13 -13
  275. package/src/internal/stm/tSet.ts +4 -4
  276. package/src/internal/stream.ts +688 -723
  277. package/src/internal/subscriptionRef.ts +3 -3
  278. package/src/internal/take.ts +6 -6
  279. package/src/internal/version.ts +1 -1
@@ -1,4 +1,4 @@
1
- let moduleVersion = "2.3.8";
1
+ let moduleVersion = "2.4.1";
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": "2.3.8",
3
+ "version": "2.4.1",
4
4
  "description": "Functional programming in TypeScript",
5
5
  "license": "MIT",
6
6
  "repository": {
package/src/BigInt.ts CHANGED
@@ -545,3 +545,16 @@ export const multiplyAll = (collection: Iterable<bigint>): bigint => {
545
545
  }
546
546
  return out
547
547
  }
548
+
549
+ /**
550
+ * Convers a bigint into a number
551
+ *
552
+ * @since 2.0.0
553
+ * @category conversions
554
+ */
555
+ export const toNumber = (b: bigint): Option.Option<number> => {
556
+ if (b > BigInt(Number.MAX_SAFE_INTEGER) || b < BigInt(Number.MIN_SAFE_INTEGER)) {
557
+ return Option.none()
558
+ }
559
+ return Option.some(Number(b))
560
+ }
package/src/Brand.ts CHANGED
@@ -102,7 +102,7 @@ export declare namespace Brand {
102
102
  * Constructs a branded type from a value of type `A`, returning `Right<A>`
103
103
  * if the provided `A` is valid, `Left<BrandError>` otherwise.
104
104
  */
105
- either(args: Brand.Unbranded<A>): Either.Either<Brand.BrandErrors, A>
105
+ either(args: Brand.Unbranded<A>): Either.Either<A, Brand.BrandErrors>
106
106
  /**
107
107
  * Attempts to refine the provided value of type `A`, returning `true` if
108
108
  * the provided `A` is valid, `false` otherwise.
@@ -218,7 +218,7 @@ export const refined: <A extends Brand<any>>(
218
218
  refinement: Predicate<Brand.Unbranded<A>>,
219
219
  onFailure: (a: Brand.Unbranded<A>) => Brand.BrandErrors
220
220
  ): Brand.Constructor<A> => {
221
- const either = (args: Brand.Unbranded<A>): Either.Either<Brand.BrandErrors, A> =>
221
+ const either = (args: Brand.Unbranded<A>): Either.Either<A, Brand.BrandErrors> =>
222
222
  refinement(args) ? Either.right(args as A) : Either.left(onFailure(args))
223
223
  // @ts-expect-error
224
224
  return Object.assign((args) =>
@@ -305,8 +305,8 @@ export const all: <Brands extends readonly [Brand.Constructor<any>, ...Array<Bra
305
305
  }[number]
306
306
  > extends infer X extends Brand<any> ? X : Brand<any>
307
307
  > => {
308
- const either = (args: any): Either.Either<Brand.BrandErrors, any> => {
309
- let result: Either.Either<Brand.BrandErrors, any> = Either.right(args)
308
+ const either = (args: any): Either.Either<any, Brand.BrandErrors> => {
309
+ let result: Either.Either<any, Brand.BrandErrors> = Either.right(args)
310
310
  for (const brand of brands) {
311
311
  const nextResult = brand.either(args)
312
312
  if (Either.isLeft(result) && Either.isLeft(nextResult)) {
package/src/Cause.ts CHANGED
@@ -577,7 +577,7 @@ export const failureOption: <E>(self: Cause<E>) => Option.Option<E> = internal.f
577
577
  * @since 2.0.0
578
578
  * @category getters
579
579
  */
580
- export const failureOrCause: <E>(self: Cause<E>) => Either.Either<E, Cause<never>> = internal.failureOrCause
580
+ export const failureOrCause: <E>(self: Cause<E>) => Either.Either<Cause<never>, E> = internal.failureOrCause
581
581
 
582
582
  /**
583
583
  * Converts the specified `Cause<Option<E>>` to an `Option<Cause<E>>` by
package/src/Channel.ts CHANGED
@@ -388,14 +388,14 @@ export const concatAllWith: <
388
388
  * @category utils
389
389
  */
390
390
  export const concatMap: {
391
- <OutElem, OutElem2, InElem2, OutErr2, InErr2, _, InDone2, Env2>(
392
- f: (o: OutElem) => Channel<OutElem2, InElem2, OutErr2, InErr2, _, InDone2, Env2>
391
+ <OutElem, OutElem2, InElem2, OutErr2, InErr2, X, InDone2, Env2>(
392
+ f: (o: OutElem) => Channel<OutElem2, InElem2, OutErr2, InErr2, X, InDone2, Env2>
393
393
  ): <Env, InErr, InElem, InDone, OutErr, OutDone>(
394
394
  self: Channel<OutElem, InElem, OutErr, InErr, OutDone, InDone, Env>
395
395
  ) => Channel<OutElem2, InElem & InElem2, OutErr2 | OutErr, InErr & InErr2, unknown, InDone & InDone2, Env2 | Env>
396
- <Env, InErr, InElem, InDone, OutErr, OutDone, OutElem, OutElem2, Env2, InErr2, InElem2, InDone2, OutErr2, _>(
396
+ <Env, InErr, InElem, InDone, OutErr, OutDone, OutElem, OutElem2, Env2, InErr2, InElem2, InDone2, OutErr2, X>(
397
397
  self: Channel<OutElem, InElem, OutErr, InErr, OutDone, InDone, Env>,
398
- f: (o: OutElem) => Channel<OutElem2, InElem2, OutErr2, InErr2, _, InDone2, Env2>
398
+ f: (o: OutElem) => Channel<OutElem2, InElem2, OutErr2, InErr2, X, InDone2, Env2>
399
399
  ): Channel<OutElem2, InElem & InElem2, OutErr | OutErr2, InErr & InErr2, unknown, InDone & InDone2, Env | Env2>
400
400
  } = channel.concatMap
401
401
 
@@ -1077,7 +1077,7 @@ export const fromEffect: <A, E, R>(
1077
1077
  * @since 2.0.0
1078
1078
  * @category constructors
1079
1079
  */
1080
- export const fromEither: <E, A>(either: Either.Either<E, A>) => Channel<never, unknown, E, unknown, A, unknown> =
1080
+ export const fromEither: <R, L>(either: Either.Either<R, L>) => Channel<never, unknown, L, unknown, R, unknown> =
1081
1081
  channel.fromEither
1082
1082
 
1083
1083
  /**
@@ -1097,7 +1097,7 @@ export const fromInput: <Err, Elem, Done>(
1097
1097
  * @category constructors
1098
1098
  */
1099
1099
  export const fromPubSub: <Done, Err, Elem>(
1100
- pubsub: PubSub.PubSub<Either.Either<Exit.Exit<Done, Err>, Elem>>
1100
+ pubsub: PubSub.PubSub<Either.Either<Elem, Exit.Exit<Done, Err>>>
1101
1101
  ) => Channel<Elem, unknown, Err, unknown, Done, unknown> = channel.fromPubSub
1102
1102
 
1103
1103
  /**
@@ -1107,7 +1107,7 @@ export const fromPubSub: <Done, Err, Elem>(
1107
1107
  * @category constructors
1108
1108
  */
1109
1109
  export const fromPubSubScoped: <Done, Err, Elem>(
1110
- pubsub: PubSub.PubSub<Either.Either<Exit.Exit<Done, Err>, Elem>>
1110
+ pubsub: PubSub.PubSub<Either.Either<Elem, Exit.Exit<Done, Err>>>
1111
1111
  ) => Effect.Effect<Channel<Elem, unknown, Err, unknown, Done, unknown>, never, Scope.Scope> = channel.fromPubSubScoped
1112
1112
 
1113
1113
  /**
@@ -1127,7 +1127,7 @@ export const fromOption: <A>(
1127
1127
  * @category constructors
1128
1128
  */
1129
1129
  export const fromQueue: <Done, Err, Elem>(
1130
- queue: Queue.Dequeue<Either.Either<Exit.Exit<Done, Err>, Elem>>
1130
+ queue: Queue.Dequeue<Either.Either<Elem, Exit.Exit<Done, Err>>>
1131
1131
  ) => Channel<Elem, unknown, Err, unknown, Done, unknown> = channel.fromQueue
1132
1132
 
1133
1133
  /**
@@ -1782,15 +1782,15 @@ export const mapInputContext: {
1782
1782
  * @category context
1783
1783
  */
1784
1784
  export const provideSomeLayer: {
1785
- <Env2, OutErr2, Env0>(
1786
- layer: Layer.Layer<Env2, OutErr2, Env0>
1785
+ <R2, OutErr2, Env0>(
1786
+ layer: Layer.Layer<R2, OutErr2, Env0>
1787
1787
  ): <OutElem, InElem, OutErr, InErr, OutDone, InDone, R>(
1788
1788
  self: Channel<OutElem, InElem, OutErr, InErr, OutDone, InDone, R>
1789
- ) => Channel<OutElem, InElem, OutErr2 | OutErr, InErr, OutDone, InDone, Env0 | Exclude<R, Env2>>
1790
- <OutElem, InElem, OutErr, InErr, OutDone, InDone, R, Env2, OutErr2, Env0>(
1789
+ ) => Channel<OutElem, InElem, OutErr2 | OutErr, InErr, OutDone, InDone, Env0 | Exclude<R, R2>>
1790
+ <OutElem, InElem, OutErr, InErr, OutDone, InDone, R, R2, OutErr2, Env0>(
1791
1791
  self: Channel<OutElem, InElem, OutErr, InErr, OutDone, InDone, R>,
1792
- layer: Layer.Layer<Env2, OutErr2, Env0>
1793
- ): Channel<OutElem, InElem, OutErr | OutErr2, InErr, OutDone, InDone, Env0 | Exclude<R, Env2>>
1792
+ layer: Layer.Layer<R2, OutErr2, Env0>
1793
+ ): Channel<OutElem, InElem, OutErr | OutErr2, InErr, OutDone, InDone, Env0 | Exclude<R, R2>>
1794
1794
  } = channel.provideSomeLayer
1795
1795
 
1796
1796
  /**
@@ -1986,7 +1986,7 @@ export const sync: <OutDone>(
1986
1986
  * @category destructors
1987
1987
  */
1988
1988
  export const toPubSub: <Done, Err, Elem>(
1989
- pubsub: PubSub.PubSub<Either.Either<Exit.Exit<Done, Err>, Elem>>
1989
+ pubsub: PubSub.PubSub<Either.Either<Elem, Exit.Exit<Done, Err>>>
1990
1990
  ) => Channel<never, Elem, never, Err, unknown, Done> = channel.toPubSub
1991
1991
 
1992
1992
  /**
@@ -2000,7 +2000,7 @@ export const toPubSub: <Done, Err, Elem>(
2000
2000
  */
2001
2001
  export const toPull: <OutElem, InElem, OutErr, InErr, OutDone, InDone, Env>(
2002
2002
  self: Channel<OutElem, InElem, OutErr, InErr, OutDone, InDone, Env>
2003
- ) => Effect.Effect<Effect.Effect<Either.Either<OutDone, OutElem>, OutErr, Env>, never, Scope.Scope | Env> =
2003
+ ) => Effect.Effect<Effect.Effect<Either.Either<OutElem, OutDone>, OutErr, Env>, never, Scope.Scope | Env> =
2004
2004
  channel.toPull
2005
2005
 
2006
2006
  /**
@@ -2010,7 +2010,7 @@ export const toPull: <OutElem, InElem, OutErr, InErr, OutDone, InDone, Env>(
2010
2010
  * @category destructors
2011
2011
  */
2012
2012
  export const toQueue: <Done, Err, Elem>(
2013
- queue: Queue.Enqueue<Either.Either<Exit.Exit<Done, Err>, Elem>>
2013
+ queue: Queue.Enqueue<Either.Either<Elem, Exit.Exit<Done, Err>>>
2014
2014
  ) => Channel<never, Elem, never, Err, unknown, Done> = channel.toQueue
2015
2015
 
2016
2016
  /** Converts this channel to a `Sink`.
package/src/Chunk.ts CHANGED
@@ -934,9 +934,9 @@ export const partition: {
934
934
  * @since 2.0.0
935
935
  */
936
936
  export const partitionMap: {
937
- <A, B, C>(f: (a: A) => Either<B, C>): (self: Chunk<A>) => [left: Chunk<B>, right: Chunk<C>]
938
- <A, B, C>(self: Chunk<A>, f: (a: A) => Either<B, C>): [left: Chunk<B>, right: Chunk<C>]
939
- } = dual(2, <A, B, C>(self: Chunk<A>, f: (a: A) => Either<B, C>): [left: Chunk<B>, right: Chunk<C>] =>
937
+ <A, B, C>(f: (a: A) => Either<C, B>): (self: Chunk<A>) => [left: Chunk<B>, right: Chunk<C>]
938
+ <A, B, C>(self: Chunk<A>, f: (a: A) => Either<C, B>): [left: Chunk<B>, right: Chunk<C>]
939
+ } = dual(2, <A, B, C>(self: Chunk<A>, f: (a: A) => Either<C, B>): [left: Chunk<B>, right: Chunk<C>] =>
940
940
  pipe(
941
941
  RA.partitionMap(toReadonlyArray(self), f),
942
942
  ([l, r]) => [unsafeFromArray(l), unsafeFromArray(r)]
@@ -948,7 +948,7 @@ export const partitionMap: {
948
948
  * @category filtering
949
949
  * @since 2.0.0
950
950
  */
951
- export const separate = <A, B>(self: Chunk<Either<A, B>>): [Chunk<A>, Chunk<B>] =>
951
+ export const separate = <A, B>(self: Chunk<Either<B, A>>): [Chunk<A>, Chunk<B>] =>
952
952
  pipe(
953
953
  RA.separate(toReadonlyArray(self)),
954
954
  ([l, r]) => [unsafeFromArray(l), unsafeFromArray(r)]
package/src/Config.ts CHANGED
@@ -55,7 +55,7 @@ export declare namespace Config {
55
55
  */
56
56
  export interface Primitive<out A> extends Config<A> {
57
57
  readonly description: string
58
- parse(text: string): Either.Either<ConfigError.ConfigError, A>
58
+ parse(text: string): Either.Either<A, ConfigError.ConfigError>
59
59
  }
60
60
 
61
61
  /**
@@ -233,8 +233,8 @@ export const mapAttempt: {
233
233
  * @category utils
234
234
  */
235
235
  export const mapOrFail: {
236
- <A, B>(f: (a: A) => Either.Either<ConfigError.ConfigError, B>): (self: Config<A>) => Config<B>
237
- <A, B>(self: Config<A>, f: (a: A) => Either.Either<ConfigError.ConfigError, B>): Config<B>
236
+ <A, B>(f: (a: A) => Either.Either<B, ConfigError.ConfigError>): (self: Config<A>) => Config<B>
237
+ <A, B>(self: Config<A>, f: (a: A) => Either.Either<B, ConfigError.ConfigError>): Config<B>
238
238
  } = internal.mapOrFail
239
239
 
240
240
  /**
@@ -303,7 +303,7 @@ export const option: <A>(self: Config<A>) => Config<Option.Option<A>> = internal
303
303
  */
304
304
  export const primitive: <A>(
305
305
  description: string,
306
- parse: (text: string) => Either.Either<ConfigError.ConfigError, A>
306
+ parse: (text: string) => Either.Either<A, ConfigError.ConfigError>
307
307
  ) => Config<A> = internal.primitive
308
308
 
309
309
  /**
package/src/Cron.ts CHANGED
@@ -185,7 +185,7 @@ export const isParseError = (u: unknown): u is ParseError => hasProperty(u, Pars
185
185
  * @since 2.0.0
186
186
  * @category constructors
187
187
  */
188
- export const parse = (cron: string): Either.Either<ParseError, Cron> => {
188
+ export const parse = (cron: string): Either.Either<Cron, ParseError> => {
189
189
  const segments = cron.split(" ").filter(String.isNonEmpty)
190
190
  if (segments.length !== 5) {
191
191
  return Either.left(ParseError(`Invalid number of segments in cron expression`, cron))
@@ -440,7 +440,7 @@ const weekdayOptions: SegmentOptions = {
440
440
  const parseSegment = (
441
441
  input: string,
442
442
  options: SegmentOptions
443
- ): Either.Either<ParseError, ReadonlySet<number>> => {
443
+ ): Either.Either<ReadonlySet<number>, ParseError> => {
444
444
  const capacity = options.max - options.min + 1
445
445
  const values = new Set<number>()
446
446
  const fields = input.split(",")
package/src/Differ.ts CHANGED
@@ -366,14 +366,14 @@ export const orElseEither: {
366
366
  <Value2, Patch2>(that: Differ<Value2, Patch2>): <Value, Patch>(
367
367
  self: Differ<Value, Patch>
368
368
  ) => Differ<
369
- Either<Value, Value2>,
369
+ Either<Value2, Value>,
370
370
  Differ.Or.Patch<Value, Value2, Patch, Patch2>
371
371
  >
372
372
  <Value, Patch, Value2, Patch2>(
373
373
  self: Differ<Value, Patch>,
374
374
  that: Differ<Value2, Patch2>
375
375
  ): Differ<
376
- Either<Value, Value2>,
376
+ Either<Value2, Value>,
377
377
  Differ.Or.Patch<Value, Value2, Patch, Patch2>
378
378
  >
379
379
  } = internal.orElseEither