effect 2.2.5 → 2.3.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 (693) hide show
  1. package/RateLimiter/package.json +6 -0
  2. package/dist/cjs/Cause.js +14 -1
  3. package/dist/cjs/Cause.js.map +1 -1
  4. package/dist/cjs/Channel.js.map +1 -1
  5. package/dist/cjs/Clock.js.map +1 -1
  6. package/dist/cjs/Console.js.map +1 -1
  7. package/dist/cjs/Context.js +23 -25
  8. package/dist/cjs/Context.js.map +1 -1
  9. package/dist/cjs/Data.js +3 -3
  10. package/dist/cjs/Data.js.map +1 -1
  11. package/dist/cjs/Deferred.js +1 -1
  12. package/dist/cjs/Deferred.js.map +1 -1
  13. package/dist/cjs/Effect.js +9 -9
  14. package/dist/cjs/Effect.js.map +1 -1
  15. package/dist/cjs/Effectable.js.map +1 -1
  16. package/dist/cjs/Either.js.map +1 -1
  17. package/dist/cjs/Exit.js +2 -2
  18. package/dist/cjs/Exit.js.map +1 -1
  19. package/dist/cjs/Fiber.js.map +1 -1
  20. package/dist/cjs/FiberMap.js +3 -3
  21. package/dist/cjs/FiberRef.js.map +1 -1
  22. package/dist/cjs/FiberRefs.js.map +1 -1
  23. package/dist/cjs/FiberSet.js +3 -3
  24. package/dist/cjs/FiberSet.js.map +1 -1
  25. package/dist/cjs/GroupBy.js.map +1 -1
  26. package/dist/cjs/Layer.js.map +1 -1
  27. package/dist/cjs/LogLevel.js.map +1 -1
  28. package/dist/cjs/Logger.js.map +1 -1
  29. package/dist/cjs/Metric.js.map +1 -1
  30. package/dist/cjs/Number.js +20 -1
  31. package/dist/cjs/Number.js.map +1 -1
  32. package/dist/cjs/Option.js.map +1 -1
  33. package/dist/cjs/Pool.js.map +1 -1
  34. package/dist/cjs/PubSub.js.map +1 -1
  35. package/dist/cjs/Queue.js.map +1 -1
  36. package/dist/cjs/Random.js.map +1 -1
  37. package/dist/cjs/RateLimiter.js +38 -0
  38. package/dist/cjs/RateLimiter.js.map +1 -0
  39. package/dist/cjs/ReadonlyRecord.js +45 -9
  40. package/dist/cjs/ReadonlyRecord.js.map +1 -1
  41. package/dist/cjs/Ref.js.map +1 -1
  42. package/dist/cjs/Request.js.map +1 -1
  43. package/dist/cjs/RequestResolver.js.map +1 -1
  44. package/dist/cjs/Resource.js.map +1 -1
  45. package/dist/cjs/Runtime.js +1 -4
  46. package/dist/cjs/Runtime.js.map +1 -1
  47. package/dist/cjs/RuntimeFlags.js.map +1 -1
  48. package/dist/cjs/STM.js.map +1 -1
  49. package/dist/cjs/Schedule.js.map +1 -1
  50. package/dist/cjs/Scope.js.map +1 -1
  51. package/dist/cjs/ScopedRef.js.map +1 -1
  52. package/dist/cjs/SingleProducerAsyncInput.js.map +1 -1
  53. package/dist/cjs/Sink.js.map +1 -1
  54. package/dist/cjs/Stream.js.map +1 -1
  55. package/dist/cjs/SubscriptionRef.js.map +1 -1
  56. package/dist/cjs/Supervisor.js.map +1 -1
  57. package/dist/cjs/SynchronizedRef.js.map +1 -1
  58. package/dist/cjs/TArray.js.map +1 -1
  59. package/dist/cjs/TDeferred.js.map +1 -1
  60. package/dist/cjs/TMap.js.map +1 -1
  61. package/dist/cjs/TPriorityQueue.js.map +1 -1
  62. package/dist/cjs/TPubSub.js.map +1 -1
  63. package/dist/cjs/TQueue.js.map +1 -1
  64. package/dist/cjs/TRandom.js.map +1 -1
  65. package/dist/cjs/TReentrantLock.js.map +1 -1
  66. package/dist/cjs/TRef.js.map +1 -1
  67. package/dist/cjs/TSemaphore.js.map +1 -1
  68. package/dist/cjs/TSet.js.map +1 -1
  69. package/dist/cjs/Take.js +6 -6
  70. package/dist/cjs/Take.js.map +1 -1
  71. package/dist/cjs/TestAnnotation.js +10 -13
  72. package/dist/cjs/TestAnnotation.js.map +1 -1
  73. package/dist/cjs/TestAnnotations.js +1 -1
  74. package/dist/cjs/TestAnnotations.js.map +1 -1
  75. package/dist/cjs/TestClock.js +1 -1
  76. package/dist/cjs/TestClock.js.map +1 -1
  77. package/dist/cjs/TestConfig.js +1 -1
  78. package/dist/cjs/TestConfig.js.map +1 -1
  79. package/dist/cjs/TestContext.js.map +1 -1
  80. package/dist/cjs/TestLive.js +1 -1
  81. package/dist/cjs/TestLive.js.map +1 -1
  82. package/dist/cjs/TestServices.js.map +1 -1
  83. package/dist/cjs/TestSized.js +1 -1
  84. package/dist/cjs/TestSized.js.map +1 -1
  85. package/dist/cjs/Utils.js +0 -1
  86. package/dist/cjs/Utils.js.map +1 -1
  87. package/dist/cjs/index.js +4 -2
  88. package/dist/cjs/index.js.map +1 -1
  89. package/dist/cjs/internal/cache.js.map +1 -1
  90. package/dist/cjs/internal/channel/channelExecutor.js.map +1 -1
  91. package/dist/cjs/internal/channel/mergeDecision.js +2 -6
  92. package/dist/cjs/internal/channel/mergeDecision.js.map +1 -1
  93. package/dist/cjs/internal/channel/singleProducerAsyncInput.js.map +1 -1
  94. package/dist/cjs/internal/channel.js +1 -1
  95. package/dist/cjs/internal/channel.js.map +1 -1
  96. package/dist/cjs/internal/clock.js +1 -1
  97. package/dist/cjs/internal/clock.js.map +1 -1
  98. package/dist/cjs/internal/configProvider.js +2 -4
  99. package/dist/cjs/internal/configProvider.js.map +1 -1
  100. package/dist/cjs/internal/console.js.map +1 -1
  101. package/dist/cjs/internal/context.js +31 -22
  102. package/dist/cjs/internal/context.js.map +1 -1
  103. package/dist/cjs/internal/core-effect.js +13 -27
  104. package/dist/cjs/internal/core-effect.js.map +1 -1
  105. package/dist/cjs/internal/core-stream.js.map +1 -1
  106. package/dist/cjs/internal/core.js +61 -130
  107. package/dist/cjs/internal/core.js.map +1 -1
  108. package/dist/cjs/internal/data.js.map +1 -1
  109. package/dist/cjs/internal/defaultServices/console.js +1 -1
  110. package/dist/cjs/internal/defaultServices/console.js.map +1 -1
  111. package/dist/cjs/internal/defaultServices.js.map +1 -1
  112. package/dist/cjs/internal/deferred.js.map +1 -1
  113. package/dist/cjs/internal/differ/contextPatch.js +9 -9
  114. package/dist/cjs/internal/differ/contextPatch.js.map +1 -1
  115. package/dist/cjs/internal/effect/circular.js +7 -10
  116. package/dist/cjs/internal/effect/circular.js.map +1 -1
  117. package/dist/cjs/internal/effectable.js +4 -4
  118. package/dist/cjs/internal/effectable.js.map +1 -1
  119. package/dist/cjs/internal/fiber.js +2 -6
  120. package/dist/cjs/internal/fiber.js.map +1 -1
  121. package/dist/cjs/internal/fiberRuntime.js +10 -19
  122. package/dist/cjs/internal/fiberRuntime.js.map +1 -1
  123. package/dist/cjs/internal/groupBy.js.map +1 -1
  124. package/dist/cjs/internal/keyedPool.js.map +1 -1
  125. package/dist/cjs/internal/layer/circular.js.map +1 -1
  126. package/dist/cjs/internal/layer.js +3 -3
  127. package/dist/cjs/internal/layer.js.map +1 -1
  128. package/dist/cjs/internal/logSpan.js +3 -5
  129. package/dist/cjs/internal/logSpan.js.map +1 -1
  130. package/dist/cjs/internal/metric.js.map +1 -1
  131. package/dist/cjs/internal/pool.js.map +1 -1
  132. package/dist/cjs/internal/pubsub.js +2 -6
  133. package/dist/cjs/internal/pubsub.js.map +1 -1
  134. package/dist/cjs/internal/query.js.map +1 -1
  135. package/dist/cjs/internal/queue.js.map +1 -1
  136. package/dist/cjs/internal/random.js +1 -1
  137. package/dist/cjs/internal/random.js.map +1 -1
  138. package/dist/cjs/internal/rateLimiter.js +44 -0
  139. package/dist/cjs/internal/rateLimiter.js.map +1 -0
  140. package/dist/cjs/internal/ref.js.map +1 -1
  141. package/dist/cjs/internal/reloadable.js +1 -9
  142. package/dist/cjs/internal/reloadable.js.map +1 -1
  143. package/dist/cjs/internal/runtime.js +0 -1
  144. package/dist/cjs/internal/runtime.js.map +1 -1
  145. package/dist/cjs/internal/schedule.js.map +1 -1
  146. package/dist/cjs/internal/scopedCache.js.map +1 -1
  147. package/dist/cjs/internal/scopedRef.js.map +1 -1
  148. package/dist/cjs/internal/sink.js +7 -7
  149. package/dist/cjs/internal/sink.js.map +1 -1
  150. package/dist/cjs/internal/stm/core.js.map +1 -1
  151. package/dist/cjs/internal/stm/stm/stmState.js.map +1 -1
  152. package/dist/cjs/internal/stm/stm/tExit.js +2 -2
  153. package/dist/cjs/internal/stm/stm/tExit.js.map +1 -1
  154. package/dist/cjs/internal/stm/stm/tryCommit.js.map +1 -1
  155. package/dist/cjs/internal/stm/stm.js.map +1 -1
  156. package/dist/cjs/internal/stm/tArray.js.map +1 -1
  157. package/dist/cjs/internal/stm/tDeferred.js +4 -2
  158. package/dist/cjs/internal/stm/tDeferred.js.map +1 -1
  159. package/dist/cjs/internal/stm/tMap.js.map +1 -1
  160. package/dist/cjs/internal/stm/tPriorityQueue.js.map +1 -1
  161. package/dist/cjs/internal/stm/tPubSub.js.map +1 -1
  162. package/dist/cjs/internal/stm/tQueue.js.map +1 -1
  163. package/dist/cjs/internal/stm/tRandom.js +1 -1
  164. package/dist/cjs/internal/stm/tRandom.js.map +1 -1
  165. package/dist/cjs/internal/stm/tReentrantLock.js.map +1 -1
  166. package/dist/cjs/internal/stm/tRef.js.map +1 -1
  167. package/dist/cjs/internal/stm/tSemaphore.js.map +1 -1
  168. package/dist/cjs/internal/stm/tSet.js.map +1 -1
  169. package/dist/cjs/internal/stream/debounceState.js.map +1 -1
  170. package/dist/cjs/internal/stream/handoff.js.map +1 -1
  171. package/dist/cjs/internal/stream/handoffSignal.js.map +1 -1
  172. package/dist/cjs/internal/stream/pull.js.map +1 -1
  173. package/dist/cjs/internal/stream.js +0 -2
  174. package/dist/cjs/internal/stream.js.map +1 -1
  175. package/dist/cjs/internal/subscriptionRef.js.map +1 -1
  176. package/dist/cjs/internal/supervisor.js.map +1 -1
  177. package/dist/cjs/internal/take.js +2 -2
  178. package/dist/cjs/internal/take.js.map +1 -1
  179. package/dist/cjs/internal/testing/sleep.js.map +1 -1
  180. package/dist/cjs/internal/tracer.js +2 -2
  181. package/dist/cjs/internal/tracer.js.map +1 -1
  182. package/dist/cjs/internal/version.js +1 -1
  183. package/dist/dts/Cache.d.ts +20 -20
  184. package/dist/dts/Cache.d.ts.map +1 -1
  185. package/dist/dts/Cause.d.ts +33 -5
  186. package/dist/dts/Cause.d.ts.map +1 -1
  187. package/dist/dts/Channel.d.ts +197 -194
  188. package/dist/dts/Channel.d.ts.map +1 -1
  189. package/dist/dts/Clock.d.ts +7 -7
  190. package/dist/dts/Clock.d.ts.map +1 -1
  191. package/dist/dts/Config.d.ts +1 -1
  192. package/dist/dts/Config.d.ts.map +1 -1
  193. package/dist/dts/ConfigProvider.d.ts +6 -6
  194. package/dist/dts/ConfigProvider.d.ts.map +1 -1
  195. package/dist/dts/Console.d.ts +43 -43
  196. package/dist/dts/Console.d.ts.map +1 -1
  197. package/dist/dts/Context.d.ts +44 -29
  198. package/dist/dts/Context.d.ts.map +1 -1
  199. package/dist/dts/Data.d.ts +38 -57
  200. package/dist/dts/Data.d.ts.map +1 -1
  201. package/dist/dts/Deferred.d.ts +36 -36
  202. package/dist/dts/Deferred.d.ts.map +1 -1
  203. package/dist/dts/Effect.d.ts +732 -729
  204. package/dist/dts/Effect.d.ts.map +1 -1
  205. package/dist/dts/Effectable.d.ts +8 -8
  206. package/dist/dts/Effectable.d.ts.map +1 -1
  207. package/dist/dts/Either.d.ts +2 -3
  208. package/dist/dts/Either.d.ts.map +1 -1
  209. package/dist/dts/Exit.d.ts +74 -74
  210. package/dist/dts/Exit.d.ts.map +1 -1
  211. package/dist/dts/Fiber.d.ts +75 -75
  212. package/dist/dts/Fiber.d.ts.map +1 -1
  213. package/dist/dts/FiberMap.d.ts +22 -22
  214. package/dist/dts/FiberMap.d.ts.map +1 -1
  215. package/dist/dts/FiberRef.d.ts +28 -28
  216. package/dist/dts/FiberRef.d.ts.map +1 -1
  217. package/dist/dts/FiberRefs.d.ts +1 -1
  218. package/dist/dts/FiberRefs.d.ts.map +1 -1
  219. package/dist/dts/FiberSet.d.ts +16 -16
  220. package/dist/dts/FiberSet.d.ts.map +1 -1
  221. package/dist/dts/GroupBy.d.ts +6 -6
  222. package/dist/dts/GroupBy.d.ts.map +1 -1
  223. package/dist/dts/KeyedPool.d.ts +22 -22
  224. package/dist/dts/KeyedPool.d.ts.map +1 -1
  225. package/dist/dts/Layer.d.ts +126 -126
  226. package/dist/dts/Layer.d.ts.map +1 -1
  227. package/dist/dts/LogLevel.d.ts +2 -2
  228. package/dist/dts/LogLevel.d.ts.map +1 -1
  229. package/dist/dts/Logger.d.ts +14 -14
  230. package/dist/dts/Logger.d.ts.map +1 -1
  231. package/dist/dts/MergeDecision.d.ts +7 -7
  232. package/dist/dts/MergeState.d.ts +13 -13
  233. package/dist/dts/MergeState.d.ts.map +1 -1
  234. package/dist/dts/Metric.d.ts +32 -32
  235. package/dist/dts/Metric.d.ts.map +1 -1
  236. package/dist/dts/MetricPolling.d.ts +6 -6
  237. package/dist/dts/MetricPolling.d.ts.map +1 -1
  238. package/dist/dts/Number.d.ts +15 -0
  239. package/dist/dts/Number.d.ts.map +1 -1
  240. package/dist/dts/Option.d.ts +2 -3
  241. package/dist/dts/Option.d.ts.map +1 -1
  242. package/dist/dts/Pool.d.ts +15 -16
  243. package/dist/dts/Pool.d.ts.map +1 -1
  244. package/dist/dts/PubSub.d.ts +18 -18
  245. package/dist/dts/PubSub.d.ts.map +1 -1
  246. package/dist/dts/Queue.d.ts +40 -40
  247. package/dist/dts/Queue.d.ts.map +1 -1
  248. package/dist/dts/Random.d.ts +13 -13
  249. package/dist/dts/Random.d.ts.map +1 -1
  250. package/dist/dts/RateLimiter.d.ts +31 -0
  251. package/dist/dts/RateLimiter.d.ts.map +1 -0
  252. package/dist/dts/ReadonlyArray.d.ts +3 -3
  253. package/dist/dts/ReadonlyRecord.d.ts +37 -8
  254. package/dist/dts/ReadonlyRecord.d.ts.map +1 -1
  255. package/dist/dts/Ref.d.ts +25 -25
  256. package/dist/dts/Ref.d.ts.map +1 -1
  257. package/dist/dts/Reloadable.d.ts +9 -9
  258. package/dist/dts/Reloadable.d.ts.map +1 -1
  259. package/dist/dts/Request.d.ts +27 -28
  260. package/dist/dts/Request.d.ts.map +1 -1
  261. package/dist/dts/RequestBlock.d.ts +3 -3
  262. package/dist/dts/RequestBlock.d.ts.map +1 -1
  263. package/dist/dts/RequestResolver.d.ts +16 -16
  264. package/dist/dts/RequestResolver.d.ts.map +1 -1
  265. package/dist/dts/Resource.d.ts +7 -7
  266. package/dist/dts/Resource.d.ts.map +1 -1
  267. package/dist/dts/Runtime.d.ts +13 -16
  268. package/dist/dts/Runtime.d.ts.map +1 -1
  269. package/dist/dts/RuntimeFlags.d.ts +10 -10
  270. package/dist/dts/RuntimeFlags.d.ts.map +1 -1
  271. package/dist/dts/STM.d.ts +303 -303
  272. package/dist/dts/STM.d.ts.map +1 -1
  273. package/dist/dts/Schedule.d.ts +47 -47
  274. package/dist/dts/Schedule.d.ts.map +1 -1
  275. package/dist/dts/Scope.d.ts +10 -10
  276. package/dist/dts/Scope.d.ts.map +1 -1
  277. package/dist/dts/ScopedCache.d.ts +14 -14
  278. package/dist/dts/ScopedCache.d.ts.map +1 -1
  279. package/dist/dts/ScopedRef.d.ts +5 -5
  280. package/dist/dts/ScopedRef.d.ts.map +1 -1
  281. package/dist/dts/SingleProducerAsyncInput.d.ts +8 -8
  282. package/dist/dts/SingleProducerAsyncInput.d.ts.map +1 -1
  283. package/dist/dts/Sink.d.ts +214 -205
  284. package/dist/dts/Sink.d.ts.map +1 -1
  285. package/dist/dts/Stream.d.ts +595 -592
  286. package/dist/dts/Stream.d.ts.map +1 -1
  287. package/dist/dts/StreamEmit.d.ts +5 -5
  288. package/dist/dts/StreamEmit.d.ts.map +1 -1
  289. package/dist/dts/Streamable.d.ts +2 -2
  290. package/dist/dts/Streamable.d.ts.map +1 -1
  291. package/dist/dts/SubscriptionRef.d.ts +41 -41
  292. package/dist/dts/SubscriptionRef.d.ts.map +1 -1
  293. package/dist/dts/Supervisor.d.ts +17 -17
  294. package/dist/dts/Supervisor.d.ts.map +1 -1
  295. package/dist/dts/SynchronizedRef.d.ts +41 -41
  296. package/dist/dts/SynchronizedRef.d.ts.map +1 -1
  297. package/dist/dts/TArray.d.ts +72 -72
  298. package/dist/dts/TArray.d.ts.map +1 -1
  299. package/dist/dts/TDeferred.d.ts +12 -12
  300. package/dist/dts/TDeferred.d.ts.map +1 -1
  301. package/dist/dts/TMap.d.ts +67 -67
  302. package/dist/dts/TMap.d.ts.map +1 -1
  303. package/dist/dts/TPriorityQueue.d.ts +23 -23
  304. package/dist/dts/TPriorityQueue.d.ts.map +1 -1
  305. package/dist/dts/TPubSub.d.ts +15 -15
  306. package/dist/dts/TPubSub.d.ts.map +1 -1
  307. package/dist/dts/TQueue.d.ts +40 -40
  308. package/dist/dts/TQueue.d.ts.map +1 -1
  309. package/dist/dts/TRandom.d.ts +13 -13
  310. package/dist/dts/TRandom.d.ts.map +1 -1
  311. package/dist/dts/TReentrantLock.d.ts +21 -21
  312. package/dist/dts/TReentrantLock.d.ts.map +1 -1
  313. package/dist/dts/TRef.d.ts +25 -25
  314. package/dist/dts/TRef.d.ts.map +1 -1
  315. package/dist/dts/TSemaphore.d.ts +15 -15
  316. package/dist/dts/TSemaphore.d.ts.map +1 -1
  317. package/dist/dts/TSet.d.ts +49 -49
  318. package/dist/dts/TSet.d.ts.map +1 -1
  319. package/dist/dts/Take.d.ts +41 -41
  320. package/dist/dts/Take.d.ts.map +1 -1
  321. package/dist/dts/TestAnnotation.d.ts +1 -3
  322. package/dist/dts/TestAnnotation.d.ts.map +1 -1
  323. package/dist/dts/TestAnnotations.d.ts +3 -3
  324. package/dist/dts/TestAnnotations.d.ts.map +1 -1
  325. package/dist/dts/TestClock.d.ts +18 -18
  326. package/dist/dts/TestClock.d.ts.map +1 -1
  327. package/dist/dts/TestConfig.d.ts.map +1 -1
  328. package/dist/dts/TestContext.d.ts +2 -2
  329. package/dist/dts/TestContext.d.ts.map +1 -1
  330. package/dist/dts/TestLive.d.ts +1 -1
  331. package/dist/dts/TestLive.d.ts.map +1 -1
  332. package/dist/dts/TestServices.d.ts +31 -31
  333. package/dist/dts/TestServices.d.ts.map +1 -1
  334. package/dist/dts/TestSized.d.ts +2 -2
  335. package/dist/dts/TestSized.d.ts.map +1 -1
  336. package/dist/dts/Tracer.d.ts +1 -1
  337. package/dist/dts/Utils.d.ts.map +1 -1
  338. package/dist/dts/index.d.ts +12 -2
  339. package/dist/dts/index.d.ts.map +1 -1
  340. package/dist/dts/internal/channel/channelExecutor.d.ts +1 -1
  341. package/dist/dts/internal/channel/channelExecutor.d.ts.map +1 -1
  342. package/dist/dts/internal/core-stream.d.ts +1 -1
  343. package/dist/dts/internal/core-stream.d.ts.map +1 -1
  344. package/dist/dts/internal/rateLimiter.d.ts +2 -0
  345. package/dist/dts/internal/rateLimiter.d.ts.map +1 -0
  346. package/dist/dts/internal/stm/stm.d.ts +6 -6
  347. package/dist/dts/internal/stm/stm.d.ts.map +1 -1
  348. package/dist/dts/internal/version.d.ts +1 -1
  349. package/dist/esm/Cause.js +13 -0
  350. package/dist/esm/Cause.js.map +1 -1
  351. package/dist/esm/Channel.js.map +1 -1
  352. package/dist/esm/Clock.js.map +1 -1
  353. package/dist/esm/Console.js.map +1 -1
  354. package/dist/esm/Context.js +22 -24
  355. package/dist/esm/Context.js.map +1 -1
  356. package/dist/esm/Data.js +4 -5
  357. package/dist/esm/Data.js.map +1 -1
  358. package/dist/esm/Deferred.js +1 -1
  359. package/dist/esm/Deferred.js.map +1 -1
  360. package/dist/esm/Effect.js +9 -9
  361. package/dist/esm/Effect.js.map +1 -1
  362. package/dist/esm/Effectable.js.map +1 -1
  363. package/dist/esm/Either.js.map +1 -1
  364. package/dist/esm/Exit.js +2 -2
  365. package/dist/esm/Exit.js.map +1 -1
  366. package/dist/esm/Fiber.js.map +1 -1
  367. package/dist/esm/FiberMap.js +3 -3
  368. package/dist/esm/FiberRef.js.map +1 -1
  369. package/dist/esm/FiberRefs.js.map +1 -1
  370. package/dist/esm/FiberSet.js +3 -3
  371. package/dist/esm/FiberSet.js.map +1 -1
  372. package/dist/esm/GroupBy.js.map +1 -1
  373. package/dist/esm/Layer.js.map +1 -1
  374. package/dist/esm/LogLevel.js.map +1 -1
  375. package/dist/esm/Logger.js.map +1 -1
  376. package/dist/esm/Metric.js.map +1 -1
  377. package/dist/esm/Number.js +18 -0
  378. package/dist/esm/Number.js.map +1 -1
  379. package/dist/esm/Option.js.map +1 -1
  380. package/dist/esm/Pool.js.map +1 -1
  381. package/dist/esm/PubSub.js.map +1 -1
  382. package/dist/esm/Queue.js.map +1 -1
  383. package/dist/esm/Random.js.map +1 -1
  384. package/dist/esm/RateLimiter.js +7 -0
  385. package/dist/esm/RateLimiter.js.map +1 -0
  386. package/dist/esm/ReadonlyRecord.js +44 -8
  387. package/dist/esm/ReadonlyRecord.js.map +1 -1
  388. package/dist/esm/Ref.js.map +1 -1
  389. package/dist/esm/Request.js.map +1 -1
  390. package/dist/esm/RequestResolver.js.map +1 -1
  391. package/dist/esm/Resource.js.map +1 -1
  392. package/dist/esm/Runtime.js +1 -4
  393. package/dist/esm/Runtime.js.map +1 -1
  394. package/dist/esm/RuntimeFlags.js.map +1 -1
  395. package/dist/esm/STM.js.map +1 -1
  396. package/dist/esm/Schedule.js.map +1 -1
  397. package/dist/esm/Scope.js.map +1 -1
  398. package/dist/esm/ScopedRef.js.map +1 -1
  399. package/dist/esm/SingleProducerAsyncInput.js.map +1 -1
  400. package/dist/esm/Sink.js.map +1 -1
  401. package/dist/esm/Stream.js.map +1 -1
  402. package/dist/esm/SubscriptionRef.js.map +1 -1
  403. package/dist/esm/Supervisor.js.map +1 -1
  404. package/dist/esm/SynchronizedRef.js.map +1 -1
  405. package/dist/esm/TArray.js.map +1 -1
  406. package/dist/esm/TDeferred.js.map +1 -1
  407. package/dist/esm/TMap.js.map +1 -1
  408. package/dist/esm/TPriorityQueue.js.map +1 -1
  409. package/dist/esm/TPubSub.js.map +1 -1
  410. package/dist/esm/TQueue.js.map +1 -1
  411. package/dist/esm/TRandom.js.map +1 -1
  412. package/dist/esm/TReentrantLock.js.map +1 -1
  413. package/dist/esm/TRef.js.map +1 -1
  414. package/dist/esm/TSemaphore.js.map +1 -1
  415. package/dist/esm/TSet.js.map +1 -1
  416. package/dist/esm/Take.js +6 -6
  417. package/dist/esm/Take.js.map +1 -1
  418. package/dist/esm/TestAnnotation.js +10 -13
  419. package/dist/esm/TestAnnotation.js.map +1 -1
  420. package/dist/esm/TestAnnotations.js +1 -1
  421. package/dist/esm/TestAnnotations.js.map +1 -1
  422. package/dist/esm/TestClock.js +1 -1
  423. package/dist/esm/TestClock.js.map +1 -1
  424. package/dist/esm/TestConfig.js +1 -1
  425. package/dist/esm/TestConfig.js.map +1 -1
  426. package/dist/esm/TestContext.js.map +1 -1
  427. package/dist/esm/TestLive.js +1 -1
  428. package/dist/esm/TestLive.js.map +1 -1
  429. package/dist/esm/TestServices.js.map +1 -1
  430. package/dist/esm/TestSized.js +1 -1
  431. package/dist/esm/TestSized.js.map +1 -1
  432. package/dist/esm/Utils.js +1 -1
  433. package/dist/esm/Utils.js.map +1 -1
  434. package/dist/esm/index.js +12 -2
  435. package/dist/esm/index.js.map +1 -1
  436. package/dist/esm/internal/cache.js.map +1 -1
  437. package/dist/esm/internal/channel/channelExecutor.js.map +1 -1
  438. package/dist/esm/internal/channel/mergeDecision.js +2 -6
  439. package/dist/esm/internal/channel/mergeDecision.js.map +1 -1
  440. package/dist/esm/internal/channel/singleProducerAsyncInput.js.map +1 -1
  441. package/dist/esm/internal/channel.js +1 -1
  442. package/dist/esm/internal/channel.js.map +1 -1
  443. package/dist/esm/internal/clock.js +1 -1
  444. package/dist/esm/internal/clock.js.map +1 -1
  445. package/dist/esm/internal/configProvider.js +2 -4
  446. package/dist/esm/internal/configProvider.js.map +1 -1
  447. package/dist/esm/internal/console.js.map +1 -1
  448. package/dist/esm/internal/context.js +28 -20
  449. package/dist/esm/internal/context.js.map +1 -1
  450. package/dist/esm/internal/core-effect.js +12 -26
  451. package/dist/esm/internal/core-effect.js.map +1 -1
  452. package/dist/esm/internal/core-stream.js.map +1 -1
  453. package/dist/esm/internal/core.js +57 -127
  454. package/dist/esm/internal/core.js.map +1 -1
  455. package/dist/esm/internal/data.js.map +1 -1
  456. package/dist/esm/internal/defaultServices/console.js +1 -1
  457. package/dist/esm/internal/defaultServices/console.js.map +1 -1
  458. package/dist/esm/internal/defaultServices.js.map +1 -1
  459. package/dist/esm/internal/deferred.js.map +1 -1
  460. package/dist/esm/internal/differ/contextPatch.js +9 -9
  461. package/dist/esm/internal/differ/contextPatch.js.map +1 -1
  462. package/dist/esm/internal/effect/circular.js +5 -8
  463. package/dist/esm/internal/effect/circular.js.map +1 -1
  464. package/dist/esm/internal/effectable.js +4 -4
  465. package/dist/esm/internal/effectable.js.map +1 -1
  466. package/dist/esm/internal/fiber.js +2 -6
  467. package/dist/esm/internal/fiber.js.map +1 -1
  468. package/dist/esm/internal/fiberRuntime.js +10 -19
  469. package/dist/esm/internal/fiberRuntime.js.map +1 -1
  470. package/dist/esm/internal/groupBy.js.map +1 -1
  471. package/dist/esm/internal/keyedPool.js.map +1 -1
  472. package/dist/esm/internal/layer/circular.js.map +1 -1
  473. package/dist/esm/internal/layer.js +3 -3
  474. package/dist/esm/internal/layer.js.map +1 -1
  475. package/dist/esm/internal/logSpan.js +3 -5
  476. package/dist/esm/internal/logSpan.js.map +1 -1
  477. package/dist/esm/internal/metric.js.map +1 -1
  478. package/dist/esm/internal/pool.js.map +1 -1
  479. package/dist/esm/internal/pubsub.js +1 -5
  480. package/dist/esm/internal/pubsub.js.map +1 -1
  481. package/dist/esm/internal/query.js.map +1 -1
  482. package/dist/esm/internal/queue.js.map +1 -1
  483. package/dist/esm/internal/random.js +1 -1
  484. package/dist/esm/internal/random.js.map +1 -1
  485. package/dist/esm/internal/rateLimiter.js +12 -0
  486. package/dist/esm/internal/rateLimiter.js.map +1 -0
  487. package/dist/esm/internal/ref.js.map +1 -1
  488. package/dist/esm/internal/reloadable.js +1 -9
  489. package/dist/esm/internal/reloadable.js.map +1 -1
  490. package/dist/esm/internal/runtime.js +0 -1
  491. package/dist/esm/internal/runtime.js.map +1 -1
  492. package/dist/esm/internal/schedule.js.map +1 -1
  493. package/dist/esm/internal/scopedCache.js.map +1 -1
  494. package/dist/esm/internal/scopedRef.js.map +1 -1
  495. package/dist/esm/internal/sink.js +7 -7
  496. package/dist/esm/internal/sink.js.map +1 -1
  497. package/dist/esm/internal/stm/core.js.map +1 -1
  498. package/dist/esm/internal/stm/stm/stmState.js.map +1 -1
  499. package/dist/esm/internal/stm/stm/tExit.js +2 -2
  500. package/dist/esm/internal/stm/stm/tExit.js.map +1 -1
  501. package/dist/esm/internal/stm/stm/tryCommit.js.map +1 -1
  502. package/dist/esm/internal/stm/stm.js.map +1 -1
  503. package/dist/esm/internal/stm/tArray.js.map +1 -1
  504. package/dist/esm/internal/stm/tDeferred.js +4 -2
  505. package/dist/esm/internal/stm/tDeferred.js.map +1 -1
  506. package/dist/esm/internal/stm/tMap.js.map +1 -1
  507. package/dist/esm/internal/stm/tPriorityQueue.js.map +1 -1
  508. package/dist/esm/internal/stm/tPubSub.js.map +1 -1
  509. package/dist/esm/internal/stm/tQueue.js.map +1 -1
  510. package/dist/esm/internal/stm/tRandom.js +1 -1
  511. package/dist/esm/internal/stm/tRandom.js.map +1 -1
  512. package/dist/esm/internal/stm/tReentrantLock.js.map +1 -1
  513. package/dist/esm/internal/stm/tRef.js.map +1 -1
  514. package/dist/esm/internal/stm/tSemaphore.js.map +1 -1
  515. package/dist/esm/internal/stm/tSet.js.map +1 -1
  516. package/dist/esm/internal/stream/debounceState.js.map +1 -1
  517. package/dist/esm/internal/stream/handoff.js.map +1 -1
  518. package/dist/esm/internal/stream/handoffSignal.js.map +1 -1
  519. package/dist/esm/internal/stream/pull.js.map +1 -1
  520. package/dist/esm/internal/stream.js +0 -2
  521. package/dist/esm/internal/stream.js.map +1 -1
  522. package/dist/esm/internal/subscriptionRef.js.map +1 -1
  523. package/dist/esm/internal/supervisor.js.map +1 -1
  524. package/dist/esm/internal/take.js +2 -2
  525. package/dist/esm/internal/take.js.map +1 -1
  526. package/dist/esm/internal/testing/sleep.js.map +1 -1
  527. package/dist/esm/internal/tracer.js +2 -2
  528. package/dist/esm/internal/tracer.js.map +1 -1
  529. package/dist/esm/internal/version.js +1 -1
  530. package/package.json +9 -1
  531. package/src/Cache.ts +20 -20
  532. package/src/Cause.ts +37 -13
  533. package/src/Channel.ts +802 -794
  534. package/src/Clock.ts +7 -7
  535. package/src/Config.ts +1 -1
  536. package/src/ConfigProvider.ts +6 -6
  537. package/src/Console.ts +44 -48
  538. package/src/Context.ts +52 -30
  539. package/src/Data.ts +38 -61
  540. package/src/Deferred.ts +39 -41
  541. package/src/Effect.ts +1187 -1206
  542. package/src/Effectable.ts +8 -8
  543. package/src/Either.ts +2 -3
  544. package/src/Exit.ts +88 -105
  545. package/src/Fiber.ts +77 -83
  546. package/src/FiberMap.ts +77 -77
  547. package/src/FiberRef.ts +28 -28
  548. package/src/FiberRefs.ts +1 -1
  549. package/src/FiberSet.ts +61 -62
  550. package/src/GroupBy.ts +8 -12
  551. package/src/KeyedPool.ts +22 -22
  552. package/src/Layer.ts +187 -181
  553. package/src/LogLevel.ts +7 -6
  554. package/src/Logger.ts +18 -18
  555. package/src/MergeDecision.ts +7 -7
  556. package/src/MergeState.ts +16 -16
  557. package/src/Metric.ts +39 -39
  558. package/src/MetricPolling.ts +6 -6
  559. package/src/Number.ts +19 -0
  560. package/src/Option.ts +2 -3
  561. package/src/Pool.ts +15 -16
  562. package/src/PubSub.ts +18 -18
  563. package/src/Queue.ts +43 -46
  564. package/src/Random.ts +13 -15
  565. package/src/RateLimiter.ts +37 -0
  566. package/src/ReadonlyRecord.ts +49 -8
  567. package/src/Ref.ts +25 -25
  568. package/src/Reloadable.ts +10 -10
  569. package/src/Request.ts +31 -31
  570. package/src/RequestBlock.ts +3 -3
  571. package/src/RequestResolver.ts +21 -21
  572. package/src/Resource.ts +13 -13
  573. package/src/Runtime.ts +16 -19
  574. package/src/RuntimeFlags.ts +10 -10
  575. package/src/STM.ts +361 -362
  576. package/src/Schedule.ts +47 -47
  577. package/src/Scheduler.ts +2 -2
  578. package/src/Scope.ts +14 -15
  579. package/src/ScopedCache.ts +14 -14
  580. package/src/ScopedRef.ts +7 -7
  581. package/src/SingleProducerAsyncInput.ts +8 -9
  582. package/src/Sink.ts +357 -381
  583. package/src/Stream.ts +935 -1033
  584. package/src/StreamEmit.ts +5 -5
  585. package/src/Streamable.ts +2 -2
  586. package/src/SubscriptionRef.ts +51 -51
  587. package/src/Supervisor.ts +26 -26
  588. package/src/SynchronizedRef.ts +44 -44
  589. package/src/TArray.ts +74 -74
  590. package/src/TDeferred.ts +14 -14
  591. package/src/TMap.ts +72 -72
  592. package/src/TPriorityQueue.ts +23 -24
  593. package/src/TPubSub.ts +15 -15
  594. package/src/TQueue.ts +40 -40
  595. package/src/TRandom.ts +13 -13
  596. package/src/TReentrantLock.ts +21 -21
  597. package/src/TRef.ts +25 -25
  598. package/src/TSemaphore.ts +15 -15
  599. package/src/TSet.ts +49 -49
  600. package/src/Take.ts +51 -51
  601. package/src/TestAnnotation.ts +6 -17
  602. package/src/TestAnnotations.ts +7 -9
  603. package/src/TestClock.ts +39 -45
  604. package/src/TestConfig.ts +1 -3
  605. package/src/TestContext.ts +3 -3
  606. package/src/TestLive.ts +3 -5
  607. package/src/TestServices.ts +45 -47
  608. package/src/TestSized.ts +5 -5
  609. package/src/Tracer.ts +1 -1
  610. package/src/Utils.ts +8 -10
  611. package/src/index.ts +13 -2
  612. package/src/internal/blockedRequests.ts +2 -2
  613. package/src/internal/cache.ts +38 -38
  614. package/src/internal/channel/channelExecutor.ts +65 -73
  615. package/src/internal/channel/channelState.ts +11 -11
  616. package/src/internal/channel/continuation.ts +10 -10
  617. package/src/internal/channel/mergeDecision.ts +14 -16
  618. package/src/internal/channel/mergeState.ts +12 -12
  619. package/src/internal/channel/singleProducerAsyncInput.ts +15 -17
  620. package/src/internal/channel/subexecutor.ts +7 -7
  621. package/src/internal/channel.ts +901 -980
  622. package/src/internal/clock.ts +6 -6
  623. package/src/internal/concurrency.ts +9 -9
  624. package/src/internal/configProvider.ts +29 -36
  625. package/src/internal/console.ts +12 -12
  626. package/src/internal/context.ts +32 -23
  627. package/src/internal/core-effect.ts +655 -616
  628. package/src/internal/core-stream.ts +317 -325
  629. package/src/internal/core.ts +856 -790
  630. package/src/internal/data.ts +2 -3
  631. package/src/internal/dataSource.ts +14 -14
  632. package/src/internal/defaultServices/console.ts +3 -1
  633. package/src/internal/defaultServices.ts +21 -21
  634. package/src/internal/deferred.ts +9 -9
  635. package/src/internal/differ/contextPatch.ts +17 -17
  636. package/src/internal/effect/circular.ts +154 -159
  637. package/src/internal/effectable.ts +7 -7
  638. package/src/internal/fiber.ts +55 -59
  639. package/src/internal/fiberRefs.ts +1 -1
  640. package/src/internal/fiberRuntime.ts +426 -463
  641. package/src/internal/groupBy.ts +59 -62
  642. package/src/internal/keyedPool.ts +37 -37
  643. package/src/internal/layer/circular.ts +37 -37
  644. package/src/internal/layer.ts +235 -240
  645. package/src/internal/logSpan.ts +3 -5
  646. package/src/internal/metric/polling.ts +5 -5
  647. package/src/internal/metric.ts +54 -55
  648. package/src/internal/pool.ts +72 -72
  649. package/src/internal/pubsub.ts +75 -84
  650. package/src/internal/query.ts +25 -27
  651. package/src/internal/queue.ts +65 -70
  652. package/src/internal/random.ts +9 -9
  653. package/src/internal/rateLimiter.ts +30 -0
  654. package/src/internal/ref.ts +24 -24
  655. package/src/internal/reloadable.ts +11 -31
  656. package/src/internal/request.ts +14 -14
  657. package/src/internal/resource.ts +8 -8
  658. package/src/internal/runtime.ts +21 -22
  659. package/src/internal/schedule.ts +131 -134
  660. package/src/internal/scopedCache.ts +35 -32
  661. package/src/internal/scopedRef.ts +14 -14
  662. package/src/internal/sink.ts +507 -565
  663. package/src/internal/stm/core.ts +101 -102
  664. package/src/internal/stm/stm/stmState.ts +10 -10
  665. package/src/internal/stm/stm/tExit.ts +18 -18
  666. package/src/internal/stm/stm/tryCommit.ts +5 -5
  667. package/src/internal/stm/stm.ts +363 -374
  668. package/src/internal/stm/tArray.ts +92 -92
  669. package/src/internal/stm/tDeferred.ts +16 -14
  670. package/src/internal/stm/tMap.ts +83 -84
  671. package/src/internal/stm/tPriorityQueue.ts +24 -25
  672. package/src/internal/stm/tPubSub.ts +37 -38
  673. package/src/internal/stm/tQueue.ts +44 -48
  674. package/src/internal/stm/tRandom.ts +18 -18
  675. package/src/internal/stm/tReentrantLock.ts +28 -28
  676. package/src/internal/stm/tRef.ts +25 -25
  677. package/src/internal/stm/tSemaphore.ts +16 -16
  678. package/src/internal/stm/tSet.ts +51 -52
  679. package/src/internal/stream/debounceState.ts +7 -7
  680. package/src/internal/stream/emit.ts +4 -4
  681. package/src/internal/stream/handoff.ts +19 -19
  682. package/src/internal/stream/handoffSignal.ts +4 -4
  683. package/src/internal/stream/pull.ts +10 -11
  684. package/src/internal/stream.ts +1770 -1788
  685. package/src/internal/subscriptionRef.ts +17 -17
  686. package/src/internal/supervisor.ts +49 -56
  687. package/src/internal/synchronizedRef.ts +27 -27
  688. package/src/internal/take.ts +61 -61
  689. package/src/internal/testing/sleep.ts +2 -2
  690. package/src/internal/testing/suspendedWarningData.ts +2 -2
  691. package/src/internal/testing/warningData.ts +2 -2
  692. package/src/internal/tracer.ts +2 -6
  693. package/src/internal/version.ts +1 -1
package/src/Effectable.ts CHANGED
@@ -60,26 +60,26 @@ export type ChannelTypeId = Channel.ChannelTypeId
60
60
  * @category models
61
61
  */
62
62
  export interface CommitPrimitive {
63
- new<R, E, A>(): Effect.Effect<R, E, A>
63
+ new<A, E = never, R = never>(): Effect.Effect<A, E, R>
64
64
  }
65
65
 
66
66
  /**
67
67
  * @since 2.0.0
68
68
  * @category prototypes
69
69
  */
70
- export const EffectPrototype: Effect.Effect<never, never, never> = internal.EffectPrototype
70
+ export const EffectPrototype: Effect.Effect<never> = internal.EffectPrototype
71
71
 
72
72
  /**
73
73
  * @since 2.0.0
74
74
  * @category prototypes
75
75
  */
76
- export const CommitPrototype: Effect.Effect<never, never, never> = internal.CommitPrototype
76
+ export const CommitPrototype: Effect.Effect<never> = internal.CommitPrototype
77
77
 
78
78
  /**
79
79
  * @since 2.0.0
80
80
  * @category prototypes
81
81
  */
82
- export const StructuralCommitPrototype: Effect.Effect<never, never, never> = internal.StructuralCommitPrototype
82
+ export const StructuralCommitPrototype: Effect.Effect<never> = internal.StructuralCommitPrototype
83
83
 
84
84
  const Base: CommitPrimitive = internal.Base
85
85
  const StructuralBase: CommitPrimitive = internal.StructuralBase
@@ -88,20 +88,20 @@ const StructuralBase: CommitPrimitive = internal.StructuralBase
88
88
  * @since 2.0.0
89
89
  * @category constructors
90
90
  */
91
- export abstract class Class<R, E, A> extends Base<R, E, A> {
91
+ export abstract class Class<A, E = never, R = never> extends Base<A, E, R> {
92
92
  /**
93
93
  * @since 2.0.0
94
94
  */
95
- abstract commit(): Effect.Effect<R, E, A>
95
+ abstract commit(): Effect.Effect<A, E, R>
96
96
  }
97
97
 
98
98
  /**
99
99
  * @since 2.0.0
100
100
  * @category constructors
101
101
  */
102
- export abstract class StructuralClass<R, E, A> extends StructuralBase<R, E, A> {
102
+ export abstract class StructuralClass<A, E = never, R = never> extends StructuralBase<A, E, R> {
103
103
  /**
104
104
  * @since 2.0.0
105
105
  */
106
- abstract commit(): Effect.Effect<R, E, A>
106
+ abstract commit(): Effect.Effect<A, E, R>
107
107
  }
package/src/Either.ts CHANGED
@@ -2,7 +2,6 @@
2
2
  * @since 2.0.0
3
3
  */
4
4
 
5
- import type * as Data from "./Data.js"
6
5
  import * as Equivalence from "./Equivalence.js"
7
6
  import type { LazyArg } from "./Function.js"
8
7
  import { constNull, constUndefined, dual, identity } from "./Function.js"
@@ -39,7 +38,7 @@ export type TypeId = typeof TypeId
39
38
  * @category models
40
39
  * @since 2.0.0
41
40
  */
42
- export interface Left<out E, out A> extends Data.Case, Pipeable, Inspectable {
41
+ export interface Left<out E, out A> extends Pipeable, Inspectable {
43
42
  readonly _tag: "Left"
44
43
  readonly _op: "Left"
45
44
  readonly left: E
@@ -56,7 +55,7 @@ export interface Left<out E, out A> extends Data.Case, Pipeable, Inspectable {
56
55
  * @category models
57
56
  * @since 2.0.0
58
57
  */
59
- export interface Right<out E, out A> extends Data.Case, Pipeable, Inspectable {
58
+ export interface Right<out E, out A> extends Pipeable, Inspectable {
60
59
  readonly _tag: "Right"
61
60
  readonly _op: "Right"
62
61
  readonly right: A
package/src/Exit.ts CHANGED
@@ -14,16 +14,16 @@ import type { NoInfer } from "./Types.js"
14
14
  import type * as Unify from "./Unify.js"
15
15
 
16
16
  /**
17
- * An `Exit<E, A>` describes the result of a executing an `Effect` workflow.
17
+ * An `Exit<A, E = never>` describes the result of a executing an `Effect` workflow.
18
18
  *
19
- * There are two possible values for an `Exit<E, A>`:
19
+ * There are two possible values for an `Exit<A, E>`:
20
20
  * - `Exit.Success` contain a success value of type `A`
21
21
  * - `Exit.Failure` contains a failure `Cause` of type `E`
22
22
  *
23
23
  * @since 2.0.0
24
24
  * @category models
25
25
  */
26
- export type Exit<E, A> = Failure<E, A> | Success<E, A>
26
+ export type Exit<A, E = never> = Success<A, E> | Failure<A, E>
27
27
 
28
28
  /**
29
29
  * Represents a failed `Effect` workflow containing the `Cause` of the failure
@@ -32,7 +32,7 @@ export type Exit<E, A> = Failure<E, A> | Success<E, A>
32
32
  * @since 2.0.0
33
33
  * @category models
34
34
  */
35
- export interface Failure<out E, out A> extends Effect.Effect<never, E, A>, Pipeable, Inspectable {
35
+ export interface Failure<out A, out E> extends Effect.Effect<A, E>, Pipeable, Inspectable {
36
36
  readonly _tag: "Failure"
37
37
  readonly _op: "Failure"
38
38
  readonly cause: Cause.Cause<E>
@@ -48,7 +48,7 @@ export interface Failure<out E, out A> extends Effect.Effect<never, E, A>, Pipea
48
48
  * @since 2.0.0
49
49
  */
50
50
  export interface ExitUnify<A extends { [Unify.typeSymbol]?: any }> extends Effect.EffectUnify<A> {
51
- Exit?: () => A[Unify.typeSymbol] extends Exit<infer E0, infer A0> | infer _ ? Exit<E0, A0> : never
51
+ Exit?: () => A[Unify.typeSymbol] extends Exit<infer A0, infer E0> | infer _ ? Exit<A0, E0> : never
52
52
  }
53
53
 
54
54
  /**
@@ -66,7 +66,7 @@ export interface ExitUnifyIgnore extends Effect.EffectUnifyIgnore {
66
66
  * @since 2.0.0
67
67
  * @category models
68
68
  */
69
- export interface Success<out E, out A> extends Effect.Effect<never, E, A>, Pipeable, Inspectable {
69
+ export interface Success<out A, out E> extends Effect.Effect<A, E>, Pipeable, Inspectable {
70
70
  readonly _tag: "Success"
71
71
  readonly _op: "Success"
72
72
  readonly value: A
@@ -91,7 +91,7 @@ export const isExit: (u: unknown) => u is Exit<unknown, unknown> = core.exitIsEx
91
91
  * @since 2.0.0
92
92
  * @category refinements
93
93
  */
94
- export const isFailure: <E, A>(self: Exit<E, A>) => self is Failure<E, A> = core.exitIsFailure
94
+ export const isFailure: <A, E>(self: Exit<A, E>) => self is Failure<A, E> = core.exitIsFailure
95
95
 
96
96
  /**
97
97
  * Returns `true` if the specified `Exit` is a `Success`, `false` otherwise.
@@ -99,7 +99,7 @@ export const isFailure: <E, A>(self: Exit<E, A>) => self is Failure<E, A> = core
99
99
  * @since 2.0.0
100
100
  * @category refinements
101
101
  */
102
- export const isSuccess: <E, A>(self: Exit<E, A>) => self is Success<E, A> = core.exitIsSuccess
102
+ export const isSuccess: <A, E>(self: Exit<A, E>) => self is Success<A, E> = core.exitIsSuccess
103
103
 
104
104
  /**
105
105
  * Returns `true` if the specified exit is a `Failure` **and** the `Cause` of
@@ -108,7 +108,7 @@ export const isSuccess: <E, A>(self: Exit<E, A>) => self is Success<E, A> = core
108
108
  * @since 2.0.0
109
109
  * @category getters
110
110
  */
111
- export const isInterrupted: <E, A>(self: Exit<E, A>) => boolean = core.exitIsInterrupted
111
+ export const isInterrupted: <A, E>(self: Exit<A, E>) => boolean = core.exitIsInterrupted
112
112
 
113
113
  /**
114
114
  * Maps the `Success` value of the specified exit to the provided constant
@@ -118,8 +118,8 @@ export const isInterrupted: <E, A>(self: Exit<E, A>) => boolean = core.exitIsInt
118
118
  * @category mapping
119
119
  */
120
120
  export const as: {
121
- <A2>(value: A2): <E, A>(self: Exit<E, A>) => Exit<E, A2>
122
- <E, A, A2>(self: Exit<E, A>, value: A2): Exit<E, A2>
121
+ <A2>(value: A2): <A, E>(self: Exit<A, E>) => Exit<A2, E>
122
+ <A, E, A2>(self: Exit<A, E>, value: A2): Exit<A2, E>
123
123
  } = core.exitAs
124
124
 
125
125
  /**
@@ -128,7 +128,7 @@ export const as: {
128
128
  * @since 2.0.0
129
129
  * @category mapping
130
130
  */
131
- export const asUnit: <E, A>(self: Exit<E, A>) => Exit<E, void> = core.exitAsUnit
131
+ export const asUnit: <A, E>(self: Exit<A, E>) => Exit<void, E> = core.exitAsUnit
132
132
 
133
133
  /**
134
134
  * Returns a `Some<Cause<E>>` if the specified exit is a `Failure`, `None`
@@ -137,21 +137,19 @@ export const asUnit: <E, A>(self: Exit<E, A>) => Exit<E, void> = core.exitAsUnit
137
137
  * @since 2.0.0
138
138
  * @category getters
139
139
  */
140
- export const causeOption: <E, A>(self: Exit<E, A>) => Option.Option<Cause.Cause<E>> = core.exitCauseOption
140
+ export const causeOption: <A, E>(self: Exit<A, E>) => Option.Option<Cause.Cause<E>> = core.exitCauseOption
141
141
 
142
142
  /**
143
- * Collects all of the specified exit values into a `Some<Exit<E, List<A>>>`. If
143
+ * Collects all of the specified exit values into a `Some<Exit<List<A>, E>>`. If
144
144
  * the provided iterable contains no elements, `None` will be returned.
145
145
  *
146
146
  * @since 2.0.0
147
147
  * @category constructors
148
148
  */
149
- export const all: <E, A>(
150
- exits: Iterable<Exit<E, A>>,
151
- options?: {
152
- readonly parallel?: boolean | undefined
153
- }
154
- ) => Option.Option<Exit<E, Array<A>>> = core.exitCollectAll
149
+ export const all: <A, E>(
150
+ exits: Iterable<Exit<A, E>>,
151
+ options?: { readonly parallel?: boolean | undefined } | undefined
152
+ ) => Option.Option<Exit<Array<A>, E>> = core.exitCollectAll
155
153
 
156
154
  /**
157
155
  * Constructs a new `Exit.Failure` from the specified unrecoverable defect.
@@ -159,7 +157,7 @@ export const all: <E, A>(
159
157
  * @since 2.0.0
160
158
  * @category constructors
161
159
  */
162
- export const die: (defect: unknown) => Exit<never, never> = core.exitDie
160
+ export const die: (defect: unknown) => Exit<never> = core.exitDie
163
161
 
164
162
  /**
165
163
  * Executes the predicate on the value of the specified exit if it is a
@@ -169,10 +167,10 @@ export const die: (defect: unknown) => Exit<never, never> = core.exitDie
169
167
  * @category elements
170
168
  */
171
169
  export const exists: {
172
- <A, B extends A>(refinement: Refinement<NoInfer<A>, B>): <E>(self: Exit<E, A>) => self is Exit<never, B>
173
- <A>(predicate: Predicate<NoInfer<A>>): <E>(self: Exit<E, A>) => boolean
174
- <E, A, B extends A>(self: Exit<E, A>, refinement: Refinement<A, B>): self is Exit<never, B>
175
- <E, A>(self: Exit<E, A>, predicate: Predicate<A>): boolean
170
+ <A, B extends A>(refinement: Refinement<NoInfer<A>, B>): <E>(self: Exit<A, E>) => self is Exit<B>
171
+ <A>(predicate: Predicate<NoInfer<A>>): <E>(self: Exit<A, E>) => boolean
172
+ <A, E, B extends A>(self: Exit<A, E>, refinement: Refinement<A, B>): self is Exit<B>
173
+ <A, E>(self: Exit<A, E>, predicate: Predicate<A>): boolean
176
174
  } = core.exitExists
177
175
 
178
176
  /**
@@ -182,7 +180,7 @@ export const exists: {
182
180
  * @since 2.0.0
183
181
  * @category constructors
184
182
  */
185
- export const fail: <E>(error: E) => Exit<E, never> = core.exitFail
183
+ export const fail: <E>(error: E) => Exit<never, E> = core.exitFail
186
184
 
187
185
  /**
188
186
  * Constructs a new `Exit.Failure` from the specified `Cause` of type `E`.
@@ -190,15 +188,15 @@ export const fail: <E>(error: E) => Exit<E, never> = core.exitFail
190
188
  * @since 2.0.0
191
189
  * @category constructors
192
190
  */
193
- export const failCause: <E>(cause: Cause.Cause<E>) => Exit<E, never> = core.exitFailCause
191
+ export const failCause: <E>(cause: Cause.Cause<E>) => Exit<never, E> = core.exitFailCause
194
192
 
195
193
  /**
196
194
  * @since 2.0.0
197
195
  * @category sequencing
198
196
  */
199
197
  export const flatMap: {
200
- <A, E2, A2>(f: (a: A) => Exit<E2, A2>): <E>(self: Exit<E, A>) => Exit<E2 | E, A2>
201
- <E, A, E2, A2>(self: Exit<E, A>, f: (a: A) => Exit<E2, A2>): Exit<E | E2, A2>
198
+ <A, A2, E2>(f: (a: A) => Exit<A2, E2>): <E>(self: Exit<A, E>) => Exit<A2, E2 | E>
199
+ <A, E, E2, A2>(self: Exit<A, E>, f: (a: A) => Exit<A2, E2>): Exit<A2, E | E2>
202
200
  } = core.exitFlatMap
203
201
 
204
202
  /**
@@ -206,37 +204,34 @@ export const flatMap: {
206
204
  * @category sequencing
207
205
  */
208
206
  export const flatMapEffect: {
209
- <E, A, R, E2, A2>(
210
- f: (a: A) => Effect.Effect<R, E2, Exit<E, A2>>
211
- ): (self: Exit<E, A>) => Effect.Effect<R, E2, Exit<E, A2>>
212
- <E, A, R, E2, A2>(
213
- self: Exit<E, A>,
214
- f: (a: A) => Effect.Effect<R, E2, Exit<E, A2>>
215
- ): Effect.Effect<R, E2, Exit<E, A2>>
207
+ <A, E, A2, E2, R>(
208
+ f: (a: A) => Effect.Effect<Exit<A2, E>, E2, R>
209
+ ): (self: Exit<A, E>) => Effect.Effect<Exit<A2, E>, E2, R>
210
+ <A, E, A2, E2, R>(self: Exit<A, E>, f: (a: A) => Effect.Effect<Exit<A2, E>, E2, R>): Effect.Effect<Exit<A2, E>, E2, R>
216
211
  } = core.exitFlatMapEffect
217
212
 
218
213
  /**
219
214
  * @since 2.0.0
220
215
  * @category sequencing
221
216
  */
222
- export const flatten: <E, E1, A>(self: Exit<E, Exit<E1, A>>) => Exit<E | E1, A> = core.exitFlatten
217
+ export const flatten: <A, E, E2>(self: Exit<Exit<A, E>, E2>) => Exit<A, E | E2> = core.exitFlatten
223
218
 
224
219
  /**
225
220
  * @since 2.0.0
226
221
  * @category traversing
227
222
  */
228
223
  export const forEachEffect: {
229
- <A, R, E2, B>(f: (a: A) => Effect.Effect<R, E2, B>): <E>(self: Exit<E, A>) => Effect.Effect<R, never, Exit<E2 | E, B>>
230
- <E, A, R, E2, B>(self: Exit<E, A>, f: (a: A) => Effect.Effect<R, E2, B>): Effect.Effect<R, never, Exit<E | E2, B>>
224
+ <A, B, E2, R>(f: (a: A) => Effect.Effect<B, E2, R>): <E>(self: Exit<A, E>) => Effect.Effect<Exit<B, E2 | E>, never, R>
225
+ <A, E, B, E2, R>(self: Exit<A, E>, f: (a: A) => Effect.Effect<B, E2, R>): Effect.Effect<Exit<B, E | E2>, never, R>
231
226
  } = core.exitForEachEffect
232
227
 
233
228
  /**
234
- * Converts an `Either<E, A>` into an `Exit<E, A>`.
229
+ * Converts an `Either<E, A>` into an `Exit<A, E>`.
235
230
  *
236
231
  * @since 2.0.0
237
232
  * @category conversions
238
233
  */
239
- export const fromEither: <E, A>(either: Either.Either<E, A>) => Exit<E, A> = core.exitFromEither
234
+ export const fromEither: <E, A>(either: Either.Either<E, A>) => Exit<A, E> = core.exitFromEither
240
235
 
241
236
  /**
242
237
  * Converts an `Option<A>` into an `Exit<void, A>`.
@@ -244,7 +239,7 @@ export const fromEither: <E, A>(either: Either.Either<E, A>) => Exit<E, A> = cor
244
239
  * @since 2.0.0
245
240
  * @category conversions
246
241
  */
247
- export const fromOption: <A>(option: Option.Option<A>) => Exit<void, A> = core.exitFromOption
242
+ export const fromOption: <A>(option: Option.Option<A>) => Exit<A, void> = core.exitFromOption
248
243
 
249
244
  /**
250
245
  * Returns the `A` if specified exit is a `Success`, otherwise returns the
@@ -255,8 +250,8 @@ export const fromOption: <A>(option: Option.Option<A>) => Exit<void, A> = core.e
255
250
  * @category getters
256
251
  */
257
252
  export const getOrElse: {
258
- <E, A2>(orElse: (cause: Cause.Cause<E>) => A2): <A1>(self: Exit<E, A1>) => A1 | A2
259
- <E, A1, A2>(self: Exit<E, A1>, orElse: (cause: Cause.Cause<E>) => A2): A1 | A2
253
+ <E, A2>(orElse: (cause: Cause.Cause<E>) => A2): <A>(self: Exit<A, E>) => A2 | A
254
+ <A, E, A2>(self: Exit<A, E>, orElse: (cause: Cause.Cause<E>) => A2): A | A2
260
255
  } = core.exitGetOrElse
261
256
 
262
257
  /**
@@ -266,7 +261,7 @@ export const getOrElse: {
266
261
  * @since 2.0.0
267
262
  * @category constructors
268
263
  */
269
- export const interrupt: (fiberId: FiberId.FiberId) => Exit<never, never> = core.exitInterrupt
264
+ export const interrupt: (fiberId: FiberId.FiberId) => Exit<never> = core.exitInterrupt
270
265
 
271
266
  /**
272
267
  * Maps over the `Success` value of the specified exit using the provided
@@ -276,8 +271,8 @@ export const interrupt: (fiberId: FiberId.FiberId) => Exit<never, never> = core.
276
271
  * @category mapping
277
272
  */
278
273
  export const map: {
279
- <A, B>(f: (a: A) => B): <E>(self: Exit<E, A>) => Exit<E, B>
280
- <E, A, B>(self: Exit<E, A>, f: (a: A) => B): Exit<E, B>
274
+ <A, B>(f: (a: A) => B): <E>(self: Exit<A, E>) => Exit<B, E>
275
+ <A, E, B>(self: Exit<A, E>, f: (a: A) => B): Exit<B, E>
281
276
  } = core.exitMap
282
277
 
283
278
  /**
@@ -289,18 +284,12 @@ export const map: {
289
284
  */
290
285
  export const mapBoth: {
291
286
  <E, A, E2, A2>(
292
- options: {
293
- readonly onFailure: (e: E) => E2
294
- readonly onSuccess: (a: A) => A2
295
- }
296
- ): (self: Exit<E, A>) => Exit<E2, A2>
297
- <E, A, E2, A2>(
298
- self: Exit<E, A>,
299
- options: {
300
- readonly onFailure: (e: E) => E2
301
- readonly onSuccess: (a: A) => A2
302
- }
303
- ): Exit<E2, A2>
287
+ options: { readonly onFailure: (e: E) => E2; readonly onSuccess: (a: A) => A2 }
288
+ ): (self: Exit<A, E>) => Exit<A2, E2>
289
+ <A, E, E2, A2>(
290
+ self: Exit<A, E>,
291
+ options: { readonly onFailure: (e: E) => E2; readonly onSuccess: (a: A) => A2 }
292
+ ): Exit<A2, E2>
304
293
  } = core.exitMapBoth
305
294
 
306
295
  /**
@@ -311,8 +300,8 @@ export const mapBoth: {
311
300
  * @category mapping
312
301
  */
313
302
  export const mapError: {
314
- <E, E2>(f: (e: E) => E2): <A>(self: Exit<E, A>) => Exit<E2, A>
315
- <E, A, E2>(self: Exit<E, A>, f: (e: E) => E2): Exit<E2, A>
303
+ <E, E2>(f: (e: E) => E2): <A>(self: Exit<A, E>) => Exit<A, E2>
304
+ <A, E, E2>(self: Exit<A, E>, f: (e: E) => E2): Exit<A, E2>
316
305
  } = core.exitMapError
317
306
 
318
307
  /**
@@ -323,8 +312,8 @@ export const mapError: {
323
312
  * @category mapping
324
313
  */
325
314
  export const mapErrorCause: {
326
- <E, E2>(f: (cause: Cause.Cause<E>) => Cause.Cause<E2>): <A>(self: Exit<E, A>) => Exit<E2, A>
327
- <E, A, E2>(self: Exit<E, A>, f: (cause: Cause.Cause<E>) => Cause.Cause<E2>): Exit<E2, A>
315
+ <E, E2>(f: (cause: Cause.Cause<E>) => Cause.Cause<E2>): <A>(self: Exit<A, E>) => Exit<A, E2>
316
+ <E, A, E2>(self: Exit<A, E>, f: (cause: Cause.Cause<E>) => Cause.Cause<E2>): Exit<A, E2>
328
317
  } = core.exitMapErrorCause
329
318
 
330
319
  /**
@@ -333,17 +322,11 @@ export const mapErrorCause: {
333
322
  */
334
323
  export const match: {
335
324
  <E, A, Z1, Z2>(
336
- options: {
337
- readonly onFailure: (cause: Cause.Cause<E>) => Z1
338
- readonly onSuccess: (a: A) => Z2
339
- }
340
- ): (self: Exit<E, A>) => Z1 | Z2
341
- <E, A, Z1, Z2>(
342
- self: Exit<E, A>,
343
- options: {
344
- readonly onFailure: (cause: Cause.Cause<E>) => Z1
345
- readonly onSuccess: (a: A) => Z2
346
- }
325
+ options: { readonly onFailure: (cause: Cause.Cause<E>) => Z1; readonly onSuccess: (a: A) => Z2 }
326
+ ): (self: Exit<A, E>) => Z1 | Z2
327
+ <A, E, Z1, Z2>(
328
+ self: Exit<A, E>,
329
+ options: { readonly onFailure: (cause: Cause.Cause<E>) => Z1; readonly onSuccess: (a: A) => Z2 }
347
330
  ): Z1 | Z2
348
331
  } = core.exitMatch
349
332
 
@@ -352,19 +335,19 @@ export const match: {
352
335
  * @category folding
353
336
  */
354
337
  export const matchEffect: {
355
- <E, A, R, E2, A2, R2, E3, A3>(
338
+ <E, A2, E2, R, A, A3, E3, R2>(
356
339
  options: {
357
- readonly onFailure: (cause: Cause.Cause<E>) => Effect.Effect<R, E2, A2>
358
- readonly onSuccess: (a: A) => Effect.Effect<R2, E3, A3>
340
+ readonly onFailure: (cause: Cause.Cause<E>) => Effect.Effect<A2, E2, R>
341
+ readonly onSuccess: (a: A) => Effect.Effect<A3, E3, R2>
359
342
  }
360
- ): (self: Exit<E, A>) => Effect.Effect<R | R2, E2 | E3, A2 | A3>
361
- <E, A, R, E2, A2, R2, E3, A3>(
362
- self: Exit<E, A>,
343
+ ): (self: Exit<A, E>) => Effect.Effect<A2 | A3, E2 | E3, R | R2>
344
+ <A, E, A2, E2, R, A3, E3, R2>(
345
+ self: Exit<A, E>,
363
346
  options: {
364
- readonly onFailure: (cause: Cause.Cause<E>) => Effect.Effect<R, E2, A2>
365
- readonly onSuccess: (a: A) => Effect.Effect<R2, E3, A3>
347
+ readonly onFailure: (cause: Cause.Cause<E>) => Effect.Effect<A2, E2, R>
348
+ readonly onSuccess: (a: A) => Effect.Effect<A3, E3, R2>
366
349
  }
367
- ): Effect.Effect<R | R2, E2 | E3, A2 | A3>
350
+ ): Effect.Effect<A2 | A3, E2 | E3, R | R2>
368
351
  } = core.exitMatchEffect
369
352
 
370
353
  /**
@@ -373,7 +356,7 @@ export const matchEffect: {
373
356
  * @since 2.0.0
374
357
  * @category constructors
375
358
  */
376
- export const succeed: <A>(value: A) => Exit<never, A> = core.exitSucceed
359
+ export const succeed: <A>(value: A) => Exit<A> = core.exitSucceed
377
360
 
378
361
  /**
379
362
  * Represents an `Exit` which succeeds with `undefined`.
@@ -381,7 +364,7 @@ export const succeed: <A>(value: A) => Exit<never, A> = core.exitSucceed
381
364
  * @since 2.0.0
382
365
  * @category constructors
383
366
  */
384
- export const unit: Exit<never, void> = core.exitUnit
367
+ export const unit: Exit<void> = core.exitUnit
385
368
 
386
369
  /**
387
370
  * Sequentially zips the this result with the specified result or else returns
@@ -391,8 +374,8 @@ export const unit: Exit<never, void> = core.exitUnit
391
374
  * @category zipping
392
375
  */
393
376
  export const zip: {
394
- <E2, A2>(that: Exit<E2, A2>): <E, A>(self: Exit<E, A>) => Exit<E2 | E, [A, A2]>
395
- <E, A, E2, A2>(self: Exit<E, A>, that: Exit<E2, A2>): Exit<E | E2, [A, A2]>
377
+ <A2, E2>(that: Exit<A2, E2>): <A, E>(self: Exit<A, E>) => Exit<[A, A2], E2 | E>
378
+ <A, E, A2, E2>(self: Exit<A, E>, that: Exit<A2, E2>): Exit<[A, A2], E | E2>
396
379
  } = core.exitZip
397
380
 
398
381
  /**
@@ -403,8 +386,8 @@ export const zip: {
403
386
  * @category zipping
404
387
  */
405
388
  export const zipLeft: {
406
- <E2, A2>(that: Exit<E2, A2>): <E, A>(self: Exit<E, A>) => Exit<E2 | E, A>
407
- <E, A, E2, A2>(self: Exit<E, A>, that: Exit<E2, A2>): Exit<E | E2, A>
389
+ <A2, E2>(that: Exit<A2, E2>): <A, E>(self: Exit<A, E>) => Exit<A, E2 | E>
390
+ <A, E, A2, E2>(self: Exit<A, E>, that: Exit<A2, E2>): Exit<A, E | E2>
408
391
  } = core.exitZipLeft
409
392
 
410
393
  /**
@@ -415,8 +398,8 @@ export const zipLeft: {
415
398
  * @category zipping
416
399
  */
417
400
  export const zipRight: {
418
- <E2, A2>(that: Exit<E2, A2>): <E, A>(self: Exit<E, A>) => Exit<E2 | E, A2>
419
- <E, A, E2, A2>(self: Exit<E, A>, that: Exit<E2, A2>): Exit<E | E2, A2>
401
+ <A2, E2>(that: Exit<A2, E2>): <A, E>(self: Exit<A, E>) => Exit<A2, E2 | E>
402
+ <A, E, A2, E2>(self: Exit<A, E>, that: Exit<A2, E2>): Exit<A2, E | E2>
420
403
  } = core.exitZipRight
421
404
 
422
405
  /**
@@ -427,8 +410,8 @@ export const zipRight: {
427
410
  * @category zipping
428
411
  */
429
412
  export const zipPar: {
430
- <E2, A2>(that: Exit<E2, A2>): <E, A>(self: Exit<E, A>) => Exit<E2 | E, [A, A2]>
431
- <E, A, E2, A2>(self: Exit<E, A>, that: Exit<E2, A2>): Exit<E | E2, [A, A2]>
413
+ <A2, E2>(that: Exit<A2, E2>): <A, E>(self: Exit<A, E>) => Exit<[A, A2], E2 | E>
414
+ <A, E, A2, E2>(self: Exit<A, E>, that: Exit<A2, E2>): Exit<[A, A2], E | E2>
432
415
  } = core.exitZipPar
433
416
 
434
417
  /**
@@ -439,8 +422,8 @@ export const zipPar: {
439
422
  * @category zipping
440
423
  */
441
424
  export const zipParLeft: {
442
- <E2, A2>(that: Exit<E2, A2>): <E, A>(self: Exit<E, A>) => Exit<E2 | E, A>
443
- <E, A, E2, A2>(self: Exit<E, A>, that: Exit<E2, A2>): Exit<E | E2, A>
425
+ <A2, E2>(that: Exit<A2, E2>): <A, E>(self: Exit<A, E>) => Exit<A, E2 | E>
426
+ <A, E, A2, E2>(self: Exit<A, E>, that: Exit<A2, E2>): Exit<A, E | E2>
444
427
  } = core.exitZipParLeft
445
428
 
446
429
  /**
@@ -451,8 +434,8 @@ export const zipParLeft: {
451
434
  * @category zipping
452
435
  */
453
436
  export const zipParRight: {
454
- <E2, A2>(that: Exit<E2, A2>): <E, A>(self: Exit<E, A>) => Exit<E2 | E, A2>
455
- <E, A, E2, A2>(self: Exit<E, A>, that: Exit<E2, A2>): Exit<E | E2, A2>
437
+ <A2, E2>(that: Exit<A2, E2>): <A, E>(self: Exit<A, E>) => Exit<A2, E2 | E>
438
+ <A, E, A2, E2>(self: Exit<A, E>, that: Exit<A2, E2>): Exit<A2, E | E2>
456
439
  } = core.exitZipParRight
457
440
 
458
441
  /**
@@ -463,19 +446,19 @@ export const zipParRight: {
463
446
  * @category zipping
464
447
  */
465
448
  export const zipWith: {
466
- <E, E2, A, B, C>(
467
- that: Exit<E2, B>,
449
+ <B, E2, A, C, E>(
450
+ that: Exit<B, E2>,
468
451
  options: {
469
452
  readonly onSuccess: (a: A, b: B) => C
470
- readonly onFailure: (cause: Cause.Cause<E>, cause2: Cause.Cause<E2>) => Cause.Cause<E | E2>
453
+ readonly onFailure: (cause: Cause.Cause<E>, cause2: Cause.Cause<E2>) => Cause.Cause<any>
471
454
  }
472
- ): (self: Exit<E, A>) => Exit<E | E2, C>
473
- <E, E2, A, B, C>(
474
- self: Exit<E, A>,
475
- that: Exit<E2, B>,
455
+ ): (self: Exit<A, E>) => Exit<C, any>
456
+ <A, E, B, E2, C>(
457
+ self: Exit<A, E>,
458
+ that: Exit<B, E2>,
476
459
  options: {
477
460
  readonly onSuccess: (a: A, b: B) => C
478
461
  readonly onFailure: (cause: Cause.Cause<E>, cause2: Cause.Cause<E2>) => Cause.Cause<E | E2>
479
462
  }
480
- ): Exit<E | E2, C>
463
+ ): Exit<C, E | E2>
481
464
  } = core.exitZipWith