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
@@ -18,6 +18,7 @@ import type * as Schedule from "../Schedule.js"
18
18
  import * as ScheduleDecision from "../ScheduleDecision.js"
19
19
  import * as Interval from "../ScheduleInterval.js"
20
20
  import * as Intervals from "../ScheduleIntervals.js"
21
+ import type * as Types from "../Types.js"
21
22
  import * as internalCause from "./cause.js"
22
23
  import * as effect from "./core-effect.js"
23
24
  import * as core from "./core.js"
@@ -69,7 +70,7 @@ class ScheduleImpl<S, Env, In, Out> implements Schedule.Schedule<Env, In, Out> {
69
70
  now: number,
70
71
  input: In,
71
72
  state: S
72
- ) => Effect.Effect<Env, never, readonly [S, Out, ScheduleDecision.ScheduleDecision]>
73
+ ) => Effect.Effect<readonly [S, Out, ScheduleDecision.ScheduleDecision], never, Env>
73
74
  ) {
74
75
  }
75
76
  pipe() {
@@ -86,11 +87,11 @@ class ScheduleDriverImpl<Env, In, Out> implements Schedule.ScheduleDriver<Env, I
86
87
  readonly ref: Ref.Ref<readonly [Option.Option<Out>, any]>
87
88
  ) {}
88
89
 
89
- get state(): Effect.Effect<never, never, unknown> {
90
+ get state(): Effect.Effect<unknown> {
90
91
  return core.map(ref.get(this.ref), (tuple) => tuple[1])
91
92
  }
92
93
 
93
- get last(): Effect.Effect<never, Cause.NoSuchElementException, Out> {
94
+ get last(): Effect.Effect<Out, Cause.NoSuchElementException> {
94
95
  return core.flatMap(ref.get(this.ref), ([element, _]) => {
95
96
  switch (element._tag) {
96
97
  case "None": {
@@ -103,11 +104,11 @@ class ScheduleDriverImpl<Env, In, Out> implements Schedule.ScheduleDriver<Env, I
103
104
  })
104
105
  }
105
106
 
106
- get reset(): Effect.Effect<never, never, void> {
107
+ get reset(): Effect.Effect<void> {
107
108
  return ref.set(this.ref, [Option.none(), this.schedule.initial])
108
109
  }
109
110
 
110
- next(input: In): Effect.Effect<Env, Option.Option<never>, Out> {
111
+ next(input: In): Effect.Effect<Out, Option.Option<never>, Env> {
111
112
  return pipe(
112
113
  core.map(ref.get(this.ref), (tuple) => tuple[1]),
113
114
  core.flatMap((state) =>
@@ -146,7 +147,7 @@ export const makeWithState = <S, Env, In, Out>(
146
147
  now: number,
147
148
  input: In,
148
149
  state: S
149
- ) => Effect.Effect<Env, never, readonly [S, Out, ScheduleDecision.ScheduleDecision]>
150
+ ) => Effect.Effect<readonly [S, Out, ScheduleDecision.ScheduleDecision], never, Env>
150
151
  ): Schedule.Schedule<Env, In, Out> => new ScheduleImpl(initial, step)
151
152
 
152
153
  /** @internal */
@@ -163,11 +164,11 @@ export const addDelay = dual<
163
164
  /** @internal */
164
165
  export const addDelayEffect = dual<
165
166
  <Out, Env2>(
166
- f: (out: Out) => Effect.Effect<Env2, never, Duration.DurationInput>
167
+ f: (out: Out) => Effect.Effect<Duration.DurationInput, never, Env2>
167
168
  ) => <Env, In>(self: Schedule.Schedule<Env, In, Out>) => Schedule.Schedule<Env | Env2, In, Out>,
168
169
  <Env, In, Out, Env2>(
169
170
  self: Schedule.Schedule<Env, In, Out>,
170
- f: (out: Out) => Effect.Effect<Env2, never, Duration.DurationInput>
171
+ f: (out: Out) => Effect.Effect<Duration.DurationInput, never, Env2>
171
172
  ) => Schedule.Schedule<Env | Env2, In, Out>
172
173
  >(2, (self, f) =>
173
174
  modifyDelayEffect(self, (out, duration) =>
@@ -309,11 +310,11 @@ export const check = dual<
309
310
  /** @internal */
310
311
  export const checkEffect = dual<
311
312
  <In, Out, Env2>(
312
- test: (input: In, output: Out) => Effect.Effect<Env2, never, boolean>
313
+ test: (input: In, output: Out) => Effect.Effect<boolean, never, Env2>
313
314
  ) => <Env>(self: Schedule.Schedule<Env, In, Out>) => Schedule.Schedule<Env | Env2, In, Out>,
314
315
  <Env, In, Out, Env2>(
315
316
  self: Schedule.Schedule<Env, In, Out>,
316
- test: (input: In, output: Out) => Effect.Effect<Env2, never, boolean>
317
+ test: (input: In, output: Out) => Effect.Effect<boolean, never, Env2>
317
318
  ) => Schedule.Schedule<Env | Env2, In, Out>
318
319
  >(2, (self, test) =>
319
320
  makeWithState(
@@ -344,7 +345,7 @@ export const collectUntil = <A>(f: Predicate<A>): Schedule.Schedule<never, A, Ch
344
345
 
345
346
  /** @internal */
346
347
  export const collectUntilEffect = <Env, A>(
347
- f: (a: A) => Effect.Effect<Env, never, boolean>
348
+ f: (a: A) => Effect.Effect<boolean, never, Env>
348
349
  ): Schedule.Schedule<Env, A, Chunk.Chunk<A>> => collectAllOutputs(recurUntilEffect(f))
349
350
 
350
351
  /** @internal */
@@ -353,7 +354,7 @@ export const collectWhile = <A>(f: Predicate<A>): Schedule.Schedule<never, A, Ch
353
354
 
354
355
  /** @internal */
355
356
  export const collectWhileEffect = <Env, A>(
356
- f: (a: A) => Effect.Effect<Env, never, boolean>
357
+ f: (a: A) => Effect.Effect<boolean, never, Env>
357
358
  ): Schedule.Schedule<Env, A, Chunk.Chunk<A>> => collectAllOutputs(recurWhileEffect(f))
358
359
 
359
360
  /** @internal */
@@ -414,11 +415,11 @@ export const mapInputContext = dual<
414
415
  /** @internal */
415
416
  export const mapInputEffect = dual<
416
417
  <In, Env2, In2>(
417
- f: (in2: In2) => Effect.Effect<Env2, never, In>
418
+ f: (in2: In2) => Effect.Effect<In, never, Env2>
418
419
  ) => <Env, Out>(self: Schedule.Schedule<Env, In, Out>) => Schedule.Schedule<Env | Env2, In2, Out>,
419
420
  <Env, In, Out, Env2, In2>(
420
421
  self: Schedule.Schedule<Env, In, Out>,
421
- f: (in2: In2) => Effect.Effect<Env2, never, In>
422
+ f: (in2: In2) => Effect.Effect<In, never, Env2>
422
423
  ) => Schedule.Schedule<Env | Env2, In2, Out>
423
424
  >(2, (self, f) =>
424
425
  makeWithState(self.initial, (now, input2, state) =>
@@ -540,11 +541,11 @@ export const delayed = dual<
540
541
  /** @internal */
541
542
  export const delayedEffect = dual<
542
543
  <Env2>(
543
- f: (duration: Duration.Duration) => Effect.Effect<Env2, never, Duration.DurationInput>
544
+ f: (duration: Duration.Duration) => Effect.Effect<Duration.DurationInput, never, Env2>
544
545
  ) => <Env, In, Out>(self: Schedule.Schedule<Env, In, Out>) => Schedule.Schedule<Env | Env2, In, Out>,
545
546
  <Env, In, Out, Env2>(
546
547
  self: Schedule.Schedule<Env, In, Out>,
547
- f: (duration: Duration.Duration) => Effect.Effect<Env2, never, Duration.DurationInput>
548
+ f: (duration: Duration.Duration) => Effect.Effect<Duration.DurationInput, never, Env2>
548
549
  ) => Schedule.Schedule<Env | Env2, In, Out>
549
550
  >(2, (self, f) => modifyDelayEffect(self, (_, delay) => f(delay)))
550
551
 
@@ -562,7 +563,7 @@ export const delays = <Env, In, Out>(
562
563
  self.step(now, input, state),
563
564
  core.flatMap((
564
565
  [state, _, decision]
565
- ): Effect.Effect<never, never, [any, Duration.Duration, ScheduleDecision.ScheduleDecision]> => {
566
+ ): Effect.Effect<[any, Duration.Duration, ScheduleDecision.ScheduleDecision]> => {
566
567
  if (ScheduleDecision.isDone(decision)) {
567
568
  return core.succeed([state, Duration.zero, decision])
568
569
  }
@@ -597,15 +598,15 @@ export const mapBoth = dual<
597
598
  export const mapBothEffect = dual<
598
599
  <In2, Env2, In, Out, Env3, Out2>(
599
600
  options: {
600
- readonly onInput: (input: In2) => Effect.Effect<Env2, never, In>
601
- readonly onOutput: (out: Out) => Effect.Effect<Env3, never, Out2>
601
+ readonly onInput: (input: In2) => Effect.Effect<In, never, Env2>
602
+ readonly onOutput: (out: Out) => Effect.Effect<Out2, never, Env3>
602
603
  }
603
604
  ) => <Env>(self: Schedule.Schedule<Env, In, Out>) => Schedule.Schedule<Env | Env2 | Env3, In2, Out2>,
604
605
  <Env, In, Out, In2, Env2, Env3, Out2>(
605
606
  self: Schedule.Schedule<Env, In, Out>,
606
607
  options: {
607
- readonly onInput: (input: In2) => Effect.Effect<Env2, never, In>
608
- readonly onOutput: (out: Out) => Effect.Effect<Env3, never, Out2>
608
+ readonly onInput: (input: In2) => Effect.Effect<In, never, Env2>
609
+ readonly onOutput: (out: Out) => Effect.Effect<Out2, never, Env3>
609
610
  }
610
611
  ) => Schedule.Schedule<Env | Env2 | Env3, In2, Out2>
611
612
  >(2, (self, { onInput, onOutput }) => mapEffect(mapInputEffect(self, onInput), onOutput))
@@ -613,7 +614,7 @@ export const mapBothEffect = dual<
613
614
  /** @internal */
614
615
  export const driver = <Env, In, Out>(
615
616
  self: Schedule.Schedule<Env, In, Out>
616
- ): Effect.Effect<never, never, Schedule.ScheduleDriver<Env, In, Out>> =>
617
+ ): Effect.Effect<Schedule.ScheduleDriver<Env, In, Out>> =>
617
618
  pipe(
618
619
  ref.make<readonly [Option.Option<Out>, any]>([Option.none(), self.initial]),
619
620
  core.map((ref) => new ScheduleDriverImpl(self, ref))
@@ -680,11 +681,11 @@ export const eitherWith = dual<
680
681
  /** @internal */
681
682
  export const ensuring = dual<
682
683
  <X>(
683
- finalizer: Effect.Effect<never, never, X>
684
+ finalizer: Effect.Effect<X>
684
685
  ) => <Env, In, Out>(self: Schedule.Schedule<Env, In, Out>) => Schedule.Schedule<Env, In, Out>,
685
686
  <Env, In, Out, X>(
686
687
  self: Schedule.Schedule<Env, In, Out>,
687
- finalizer: Effect.Effect<never, never, X>
688
+ finalizer: Effect.Effect<X>
688
689
  ) => Schedule.Schedule<Env, In, Out>
689
690
  >(2, (self, finalizer) =>
690
691
  makeWithState(
@@ -928,9 +929,9 @@ const intersectWithLoop = <State, State1, Env, In, Out, Env1, In1, Out2>(
928
929
  rInterval: Intervals.Intervals,
929
930
  f: (x: Intervals.Intervals, y: Intervals.Intervals) => Intervals.Intervals
930
931
  ): Effect.Effect<
931
- Env | Env1,
932
+ [[State, State1], [Out, Out2], ScheduleDecision.ScheduleDecision],
932
933
  never,
933
- [[State, State1], [Out, Out2], ScheduleDecision.ScheduleDecision]
934
+ Env | Env1
934
935
  > => {
935
936
  const combined = f(lInterval, rInterval)
936
937
  if (Intervals.isNonEmpty(combined)) {
@@ -1030,11 +1031,11 @@ export const map = dual<
1030
1031
  /** @internal */
1031
1032
  export const mapEffect = dual<
1032
1033
  <Out, Env2, Out2>(
1033
- f: (out: Out) => Effect.Effect<Env2, never, Out2>
1034
+ f: (out: Out) => Effect.Effect<Out2, never, Env2>
1034
1035
  ) => <Env, In>(self: Schedule.Schedule<Env, In, Out>) => Schedule.Schedule<Env | Env2, In, Out2>,
1035
1036
  <Env, In, Out, Env2, Out2>(
1036
1037
  self: Schedule.Schedule<Env, In, Out>,
1037
- f: (out: Out) => Effect.Effect<Env2, never, Out2>
1038
+ f: (out: Out) => Effect.Effect<Out2, never, Env2>
1038
1039
  ) => Schedule.Schedule<Env | Env2, In, Out2>
1039
1040
  >(2, (self, f) =>
1040
1041
  makeWithState(
@@ -1089,11 +1090,11 @@ export const modifyDelay = dual<
1089
1090
  /** @internal */
1090
1091
  export const modifyDelayEffect = dual<
1091
1092
  <Out, Env2>(
1092
- f: (out: Out, duration: Duration.Duration) => Effect.Effect<Env2, never, Duration.DurationInput>
1093
+ f: (out: Out, duration: Duration.Duration) => Effect.Effect<Duration.DurationInput, never, Env2>
1093
1094
  ) => <Env, In>(self: Schedule.Schedule<Env, In, Out>) => Schedule.Schedule<Env | Env2, In, Out>,
1094
1095
  <Env, In, Out, Env2>(
1095
1096
  self: Schedule.Schedule<Env, In, Out>,
1096
- f: (out: Out, duration: Duration.Duration) => Effect.Effect<Env2, never, Duration.DurationInput>
1097
+ f: (out: Out, duration: Duration.Duration) => Effect.Effect<Duration.DurationInput, never, Env2>
1097
1098
  ) => Schedule.Schedule<Env | Env2, In, Out>
1098
1099
  >(2, (self, f) =>
1099
1100
  makeWithState(
@@ -1120,11 +1121,11 @@ export const modifyDelayEffect = dual<
1120
1121
  /** @internal */
1121
1122
  export const onDecision = dual<
1122
1123
  <Out, Env2, X>(
1123
- f: (out: Out, decision: ScheduleDecision.ScheduleDecision) => Effect.Effect<Env2, never, X>
1124
+ f: (out: Out, decision: ScheduleDecision.ScheduleDecision) => Effect.Effect<X, never, Env2>
1124
1125
  ) => <Env, In>(self: Schedule.Schedule<Env, In, Out>) => Schedule.Schedule<Env | Env2, In, Out>,
1125
1126
  <Env, In, Out, Env2, X>(
1126
1127
  self: Schedule.Schedule<Env, In, Out>,
1127
- f: (out: Out, decision: ScheduleDecision.ScheduleDecision) => Effect.Effect<Env2, never, X>
1128
+ f: (out: Out, decision: ScheduleDecision.ScheduleDecision) => Effect.Effect<X, never, Env2>
1128
1129
  ) => Schedule.Schedule<Env | Env2, In, Out>
1129
1130
  >(2, (self, f) =>
1130
1131
  makeWithState(
@@ -1181,12 +1182,7 @@ export const provideService = dual<
1181
1182
  service: Context.Tag.Service<T>
1182
1183
  ): Schedule.Schedule<Exclude<R, Context.Tag.Identifier<T>>, In, Out> =>
1183
1184
  makeWithState(self.initial, (now, input, state) =>
1184
- core.contextWithEffect<
1185
- Exclude<R, Context.Tag.Identifier<T>>,
1186
- Exclude<R, Context.Tag.Identifier<T>>,
1187
- never,
1188
- readonly [any, Out, ScheduleDecision.ScheduleDecision]
1189
- >((env) =>
1185
+ core.contextWithEffect((env) =>
1190
1186
  core.provideContext(
1191
1187
  // @ts-expect-error
1192
1188
  self.step(now, input, state),
@@ -1199,7 +1195,7 @@ export const recurUntil = <A>(f: Predicate<A>): Schedule.Schedule<never, A, A> =
1199
1195
 
1200
1196
  /** @internal */
1201
1197
  export const recurUntilEffect = <Env, A>(
1202
- f: (a: A) => Effect.Effect<Env, never, boolean>
1198
+ f: (a: A) => Effect.Effect<boolean, never, Env>
1203
1199
  ): Schedule.Schedule<Env, A, A> => untilInputEffect(identity<A>(), f)
1204
1200
 
1205
1201
  /** @internal */
@@ -1219,7 +1215,7 @@ export const recurWhile = <A>(f: Predicate<A>): Schedule.Schedule<never, A, A> =
1219
1215
 
1220
1216
  /** @internal */
1221
1217
  export const recurWhileEffect = <Env, A>(
1222
- f: (a: A) => Effect.Effect<Env, never, boolean>
1218
+ f: (a: A) => Effect.Effect<boolean, never, Env>
1223
1219
  ): Schedule.Schedule<Env, A, A> => whileInputEffect(identity<A>(), f)
1224
1220
 
1225
1221
  /** @internal */
@@ -1242,12 +1238,12 @@ export const reduce = dual<
1242
1238
  export const reduceEffect = dual<
1243
1239
  <Out, Env1, Z>(
1244
1240
  zero: Z,
1245
- f: (z: Z, out: Out) => Effect.Effect<Env1, never, Z>
1241
+ f: (z: Z, out: Out) => Effect.Effect<Z, never, Env1>
1246
1242
  ) => <Env, In>(self: Schedule.Schedule<Env, In, Out>) => Schedule.Schedule<Env | Env1, In, Z>,
1247
1243
  <Env, In, Out, Env1, Z>(
1248
1244
  self: Schedule.Schedule<Env, In, Out>,
1249
1245
  zero: Z,
1250
- f: (z: Z, out: Out) => Effect.Effect<Env1, never, Z>
1246
+ f: (z: Z, out: Out) => Effect.Effect<Z, never, Env1>
1251
1247
  ) => Schedule.Schedule<Env | Env1, In, Z>
1252
1248
  >(3, (self, zero, f) =>
1253
1249
  makeWithState(
@@ -1266,7 +1262,7 @@ export const repeatForever = <Env, In, Out>(self: Schedule.Schedule<Env, In, Out
1266
1262
  now: number,
1267
1263
  input: In,
1268
1264
  state: any
1269
- ): Effect.Effect<Env, never, [any, Out, ScheduleDecision.ScheduleDecision]> =>
1265
+ ): Effect.Effect<[any, Out, ScheduleDecision.ScheduleDecision], never, Env> =>
1270
1266
  core.flatMap(
1271
1267
  self.step(now, input, state),
1272
1268
  ([state, out, decision]) =>
@@ -1321,12 +1317,12 @@ export const run = dual<
1321
1317
  <In>(
1322
1318
  now: number,
1323
1319
  input: Iterable<In>
1324
- ) => <Env, Out>(self: Schedule.Schedule<Env, In, Out>) => Effect.Effect<Env, never, Chunk.Chunk<Out>>,
1320
+ ) => <Env, Out>(self: Schedule.Schedule<Env, In, Out>) => Effect.Effect<Chunk.Chunk<Out>, never, Env>,
1325
1321
  <Env, In, Out>(
1326
1322
  self: Schedule.Schedule<Env, In, Out>,
1327
1323
  now: number,
1328
1324
  input: Iterable<In>
1329
- ) => Effect.Effect<Env, never, Chunk.Chunk<Out>>
1325
+ ) => Effect.Effect<Chunk.Chunk<Out>, never, Env>
1330
1326
  >(3, (self, now, input) =>
1331
1327
  pipe(
1332
1328
  runLoop(self, now, Chunk.fromIterable(input), self.initial, Chunk.empty()),
@@ -1340,7 +1336,7 @@ const runLoop = <Env, In, Out>(
1340
1336
  inputs: Chunk.Chunk<In>,
1341
1337
  state: any,
1342
1338
  acc: Chunk.Chunk<Out>
1343
- ): Effect.Effect<Env, never, Chunk.Chunk<Out>> => {
1339
+ ): Effect.Effect<Chunk.Chunk<Out>, never, Env> => {
1344
1340
  if (!Chunk.isNonEmpty(inputs)) {
1345
1341
  return core.succeed(acc)
1346
1342
  }
@@ -1401,11 +1397,11 @@ export const sync = <A>(evaluate: LazyArg<A>): Schedule.Schedule<never, unknown,
1401
1397
  /** @internal */
1402
1398
  export const tapInput = dual<
1403
1399
  <Env2, In2, X>(
1404
- f: (input: In2) => Effect.Effect<Env2, never, X>
1400
+ f: (input: In2) => Effect.Effect<X, never, Env2>
1405
1401
  ) => <Env, In, Out>(self: Schedule.Schedule<Env, In, Out>) => Schedule.Schedule<Env | Env2, In & In2, Out>,
1406
1402
  <Env, In, Out, Env2, In2, X>(
1407
1403
  self: Schedule.Schedule<Env, In, Out>,
1408
- f: (input: In2) => Effect.Effect<Env2, never, X>
1404
+ f: (input: In2) => Effect.Effect<X, never, Env2>
1409
1405
  ) => Schedule.Schedule<Env | Env2, In & In2, Out>
1410
1406
  >(2, (self, f) =>
1411
1407
  makeWithState(self.initial, (now, input, state) =>
@@ -1417,11 +1413,11 @@ export const tapInput = dual<
1417
1413
  /** @internal */
1418
1414
  export const tapOutput = dual<
1419
1415
  <Out, XO extends Out, Env2, X>(
1420
- f: (out: XO) => Effect.Effect<Env2, never, X>
1416
+ f: (out: XO) => Effect.Effect<X, never, Env2>
1421
1417
  ) => <Env, In>(self: Schedule.Schedule<Env, In, Out>) => Schedule.Schedule<Env | Env2, In, Out>,
1422
1418
  <Env, In, Out, XO extends Out, Env2, X>(
1423
1419
  self: Schedule.Schedule<Env, In, Out>,
1424
- f: (out: XO) => Effect.Effect<Env2, never, X>
1420
+ f: (out: XO) => Effect.Effect<X, never, Env2>
1425
1421
  ) => Schedule.Schedule<Env | Env2, In, Out>
1426
1422
  >(2, (self, f) =>
1427
1423
  makeWithState(self.initial, (now, input, state) =>
@@ -1525,11 +1521,11 @@ export const untilInput = dual<
1525
1521
  /** @internal */
1526
1522
  export const untilInputEffect = dual<
1527
1523
  <In, Env2>(
1528
- f: (input: In) => Effect.Effect<Env2, never, boolean>
1524
+ f: (input: In) => Effect.Effect<boolean, never, Env2>
1529
1525
  ) => <Env, Out>(self: Schedule.Schedule<Env, In, Out>) => Schedule.Schedule<Env | Env2, In, Out>,
1530
1526
  <Env, In, Out, Env2>(
1531
1527
  self: Schedule.Schedule<Env, In, Out>,
1532
- f: (input: In) => Effect.Effect<Env2, never, boolean>
1528
+ f: (input: In) => Effect.Effect<boolean, never, Env2>
1533
1529
  ) => Schedule.Schedule<Env | Env2, In, Out>
1534
1530
  >(2, (self, f) => checkEffect(self, (input, _) => effect.negate(f(input))))
1535
1531
 
@@ -1542,11 +1538,11 @@ export const untilOutput = dual<
1542
1538
  /** @internal */
1543
1539
  export const untilOutputEffect = dual<
1544
1540
  <Out, Env2>(
1545
- f: (out: Out) => Effect.Effect<Env2, never, boolean>
1541
+ f: (out: Out) => Effect.Effect<boolean, never, Env2>
1546
1542
  ) => <Env, In>(self: Schedule.Schedule<Env, In, Out>) => Schedule.Schedule<Env | Env2, In, Out>,
1547
1543
  <Env, In, Out, Env2>(
1548
1544
  self: Schedule.Schedule<Env, In, Out>,
1549
- f: (out: Out) => Effect.Effect<Env2, never, boolean>
1545
+ f: (out: Out) => Effect.Effect<boolean, never, Env2>
1550
1546
  ) => Schedule.Schedule<Env | Env2, In, Out>
1551
1547
  >(2, (self, f) => checkEffect(self, (_, out) => effect.negate(f(out))))
1552
1548
 
@@ -1570,11 +1566,11 @@ export const whileInput = dual<
1570
1566
  /** @internal */
1571
1567
  export const whileInputEffect = dual<
1572
1568
  <In, Env2>(
1573
- f: (input: In) => Effect.Effect<Env2, never, boolean>
1569
+ f: (input: In) => Effect.Effect<boolean, never, Env2>
1574
1570
  ) => <Env, Out>(self: Schedule.Schedule<Env, In, Out>) => Schedule.Schedule<Env | Env2, In, Out>,
1575
1571
  <Env, In, Out, Env2>(
1576
1572
  self: Schedule.Schedule<Env, In, Out>,
1577
- f: (input: In) => Effect.Effect<Env2, never, boolean>
1573
+ f: (input: In) => Effect.Effect<boolean, never, Env2>
1578
1574
  ) => Schedule.Schedule<Env | Env2, In, Out>
1579
1575
  >(2, (self, f) => checkEffect(self, (input, _) => f(input)))
1580
1576
 
@@ -1587,11 +1583,11 @@ export const whileOutput = dual<
1587
1583
  /** @internal */
1588
1584
  export const whileOutputEffect = dual<
1589
1585
  <Out, Env1>(
1590
- f: (out: Out) => Effect.Effect<Env1, never, boolean>
1586
+ f: (out: Out) => Effect.Effect<boolean, never, Env1>
1591
1587
  ) => <Env, In>(self: Schedule.Schedule<Env, In, Out>) => Schedule.Schedule<Env | Env1, In, Out>,
1592
1588
  <Env, In, Out, Env1>(
1593
1589
  self: Schedule.Schedule<Env, In, Out>,
1594
- f: (out: Out) => Effect.Effect<Env1, never, boolean>
1590
+ f: (out: Out) => Effect.Effect<boolean, never, Env1>
1595
1591
  ) => Schedule.Schedule<Env | Env1, In, Out>
1596
1592
  >(2, (self, f) => checkEffect(self, (_, out) => f(out)))
1597
1593
 
@@ -1846,9 +1842,9 @@ class ScheduleDefect<E> {
1846
1842
  }
1847
1843
  }
1848
1844
  const isScheduleDefect = <E = unknown>(u: unknown): u is ScheduleDefect<E> => hasProperty(u, ScheduleDefectTypeId)
1849
- const scheduleDefectWrap = <R, E, A>(self: Effect.Effect<R, E, A>) =>
1845
+ const scheduleDefectWrap = <A, E, R>(self: Effect.Effect<A, E, R>) =>
1850
1846
  core.catchAll(self, (e) => core.die(new ScheduleDefect(e)))
1851
- const scheduleDefectRefail = <R, E, A>(self: Effect.Effect<R, E, A>) =>
1847
+ const scheduleDefectRefail = <A, E, R>(self: Effect.Effect<A, E, R>) =>
1852
1848
  core.catchAllCause(self, (cause) =>
1853
1849
  Option.match(
1854
1850
  internalCause.find(
@@ -1863,32 +1859,32 @@ const scheduleDefectRefail = <R, E, A>(self: Effect.Effect<R, E, A>) =>
1863
1859
 
1864
1860
  /** @internal */
1865
1861
  export const repeat_Effect = dual<
1866
- <R1, A extends A0, A0, B>(
1862
+ <R1, A, B>(
1867
1863
  schedule: Schedule.Schedule<R1, A, B>
1868
- ) => <R, E>(self: Effect.Effect<R, E, A>) => Effect.Effect<R | R1, E, B>,
1869
- <R, E, A extends A0, A0, R1, B>(
1870
- self: Effect.Effect<R, E, A>,
1871
- schedule: Schedule.Schedule<R1, A0, B>
1872
- ) => Effect.Effect<R | R1, E, B>
1864
+ ) => <E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<B, E, R | R1>,
1865
+ <A, E, R, R1, B>(
1866
+ self: Effect.Effect<A, E, R>,
1867
+ schedule: Schedule.Schedule<R1, A, B>
1868
+ ) => Effect.Effect<B, E, R | R1>
1873
1869
  >(2, (self, schedule) => repeatOrElse_Effect(self, schedule, (e, _) => core.fail(e)))
1874
1870
 
1875
1871
  /** @internal */
1876
1872
  export const repeat_combined = dual<{
1877
1873
  <A, O extends Effect.Repeat.Options<A>>(
1878
1874
  options: O
1879
- ): <R, E>(self: Effect.Effect<R, E, A>) => Effect.Repeat.Return<R, E, A, O>
1880
- <R1, A extends A0, A0, B>(
1875
+ ): <E, R>(self: Effect.Effect<A, E, R>) => Effect.Repeat.Return<R, E, A, O>
1876
+ <R1, A, B>(
1881
1877
  schedule: Schedule.Schedule<R1, A, B>
1882
- ): <R, E>(self: Effect.Effect<R, E, A>) => Effect.Effect<R | R1, E, B>
1878
+ ): <E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<B, E, R | R1>
1883
1879
  }, {
1884
- <R, E, A, O extends Effect.Repeat.Options<A>>(
1885
- self: Effect.Effect<R, E, A>,
1880
+ <A, E, R, O extends Effect.Repeat.Options<A>>(
1881
+ self: Effect.Effect<A, E, R>,
1886
1882
  options: O
1887
1883
  ): Effect.Repeat.Return<R, E, A, O>
1888
- <R, E, A extends A0, A0, R1, B>(
1889
- self: Effect.Effect<R, E, A>,
1890
- schedule: Schedule.Schedule<R1, A0, B>
1891
- ): Effect.Effect<R | R1, E, B>
1884
+ <A, E, R, R1, B>(
1885
+ self: Effect.Effect<A, E, R>,
1886
+ schedule: Schedule.Schedule<R1, A, B>
1887
+ ): Effect.Effect<B, E, R | R1>
1892
1888
  }>(
1893
1889
  2,
1894
1890
  (self: Effect.Effect<any, any, any>, options: Effect.Repeat.Options<any> | Schedule.Schedule<any, any, any>) => {
@@ -1925,15 +1921,15 @@ export const repeat_combined = dual<{
1925
1921
 
1926
1922
  /** @internal */
1927
1923
  export const repeatOrElse_Effect = dual<
1928
- <R2, A extends A0, A0, B, E, R3, E2>(
1924
+ <R2, A, B, E, E2, R3>(
1925
+ schedule: Schedule.Schedule<R2, A, B>,
1926
+ orElse: (error: E, option: Option.Option<B>) => Effect.Effect<B, E2, R3>
1927
+ ) => <R>(self: Effect.Effect<A, E, R>) => Effect.Effect<B, E2, R | R2 | R3>,
1928
+ <A, E, R, R2, B, E2, R3>(
1929
+ self: Effect.Effect<A, E, R>,
1929
1930
  schedule: Schedule.Schedule<R2, A, B>,
1930
- orElse: (error: E, option: Option.Option<B>) => Effect.Effect<R3, E2, B>
1931
- ) => <R>(self: Effect.Effect<R, E, A>) => Effect.Effect<R | R2 | R3, E2, B>,
1932
- <R, E, A extends A0, A0, R2, B, R3, E2>(
1933
- self: Effect.Effect<R, E, A>,
1934
- schedule: Schedule.Schedule<R2, A0, B>,
1935
- orElse: (error: E, option: Option.Option<B>) => Effect.Effect<R3, E2, B>
1936
- ) => Effect.Effect<R | R2 | R3, E2, B>
1931
+ orElse: (error: E, option: Option.Option<B>) => Effect.Effect<B, E2, R3>
1932
+ ) => Effect.Effect<B, E2, R | R2 | R3>
1937
1933
  >(3, (self, schedule, orElse) =>
1938
1934
  core.flatMap(driver(schedule), (driver) =>
1939
1935
  core.matchEffect(self, {
@@ -1942,12 +1938,12 @@ export const repeatOrElse_Effect = dual<
1942
1938
  })))
1943
1939
 
1944
1940
  /** @internal */
1945
- const repeatOrElseEffectLoop = <R, E, A extends A0, A0, R1, B, R2, E2, C>(
1946
- self: Effect.Effect<R, E, A>,
1947
- driver: Schedule.ScheduleDriver<R1, A0, B>,
1948
- orElse: (error: E, option: Option.Option<B>) => Effect.Effect<R2, E2, C>,
1941
+ const repeatOrElseEffectLoop = <A, E, R, R1, B, C, E2, R2>(
1942
+ self: Effect.Effect<A, E, R>,
1943
+ driver: Schedule.ScheduleDriver<R1, A, B>,
1944
+ orElse: (error: E, option: Option.Option<B>) => Effect.Effect<C, E2, R2>,
1949
1945
  value: A
1950
- ): Effect.Effect<R | R1 | R2, E2, B | C> => {
1946
+ ): Effect.Effect<B | C, E2, R | R1 | R2> => {
1951
1947
  return core.matchEffect(driver.next(value), {
1952
1948
  onFailure: () => core.orDie(driver.last),
1953
1949
  onSuccess: (b) =>
@@ -1960,33 +1956,34 @@ const repeatOrElseEffectLoop = <R, E, A extends A0, A0, R1, B, R2, E2, C>(
1960
1956
 
1961
1957
  /** @internal */
1962
1958
  export const retry_Effect = dual<
1963
- <R1, E extends E0, E0, B>(
1964
- policy: Schedule.Schedule<R1, E0, B>
1965
- ) => <R, A>(self: Effect.Effect<R, E, A>) => Effect.Effect<R | R1, E, A>,
1966
- <R, E extends E0, E0, A, R1, B>(
1967
- self: Effect.Effect<R, E, A>,
1968
- policy: Schedule.Schedule<R1, E0, B>
1969
- ) => Effect.Effect<R | R1, E, A>
1959
+ <R1, E, B>(
1960
+ policy: Schedule.Schedule<R1, E, B>
1961
+ ) => <R, A>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R | R1>,
1962
+ <A, E, R, R1, B>(
1963
+ self: Effect.Effect<A, E, R>,
1964
+ policy: Schedule.Schedule<R1, E, B>
1965
+ ) => Effect.Effect<A, E, R | R1>
1970
1966
  >(2, (self, policy) => retryOrElse_Effect(self, policy, (e, _) => core.fail(e)))
1971
1967
 
1972
1968
  /** @internal */
1973
- export const retry_combined = dual<{
1969
+ export const retry_combined: {
1974
1970
  <E, O extends Effect.Retry.Options<E>>(
1975
1971
  options: O
1976
- ): <R, A>(self: Effect.Effect<R, E, A>) => Effect.Retry.Return<R, E, A, O>
1977
- <R1, E extends E0, E0, B>(
1978
- policy: Schedule.Schedule<R1, E0, B>
1979
- ): <R, A>(self: Effect.Effect<R, E, A>) => Effect.Effect<R | R1, E, A>
1980
- }, {
1981
- <R, A, E, O extends Effect.Retry.Options<E>>(
1982
- self: Effect.Effect<R, E, A>,
1972
+ ): <A, R>(
1973
+ self: Effect.Effect<A, E, R>
1974
+ ) => Effect.Retry.Return<R, E, A, O>
1975
+ <R1, E, B>(
1976
+ policy: Schedule.Schedule<R1, Types.NoInfer<E>, B>
1977
+ ): <A, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R1 | R>
1978
+ <A, E, R, O extends Effect.Retry.Options<E>>(
1979
+ self: Effect.Effect<A, E, R>,
1983
1980
  options: O
1984
1981
  ): Effect.Retry.Return<R, E, A, O>
1985
- <R, E extends E0, E0, A, R1, B>(
1986
- self: Effect.Effect<R, E, A>,
1987
- policy: Schedule.Schedule<R1, E0, B>
1988
- ): Effect.Effect<R | R1, E, A>
1989
- }>(
1982
+ <R, E, A, R1, B>(
1983
+ self: Effect.Effect<A, E, R>,
1984
+ policy: Schedule.Schedule<R1, E, B>
1985
+ ): Effect.Effect<A, E, R1 | R>
1986
+ } = dual(
1990
1987
  2,
1991
1988
  (self: Effect.Effect<any, any, any>, options: Effect.Retry.Options<any> | Schedule.Schedule<any, any, any>) => {
1992
1989
  if (isSchedule(options)) {
@@ -2021,15 +2018,15 @@ export const retry_combined = dual<{
2021
2018
 
2022
2019
  /** @internal */
2023
2020
  export const retryOrElse_Effect = dual<
2024
- <R1, E extends E3, A1, R2, E2, A2, E3>(
2025
- policy: Schedule.Schedule<R1, E3, A1>,
2026
- orElse: (e: E, out: A1) => Effect.Effect<R2, E2, A2>
2027
- ) => <R, A>(self: Effect.Effect<R, E, A>) => Effect.Effect<R | R1 | R2, E | E2, A | A2>,
2028
- <R, E extends E3, A, R1, A1, R2, E2, A2, E3>(
2029
- self: Effect.Effect<R, E, A>,
2030
- policy: Schedule.Schedule<R1, E3, A1>,
2031
- orElse: (e: E, out: A1) => Effect.Effect<R2, E2, A2>
2032
- ) => Effect.Effect<R | R1 | R2, E | E2, A | A2>
2021
+ <R1, E, A1, A2, E2, R2>(
2022
+ policy: Schedule.Schedule<R1, Types.NoInfer<E>, A1>,
2023
+ orElse: (e: Types.NoInfer<E>, out: A1) => Effect.Effect<A2, E2, R2>
2024
+ ) => <A, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A | A2, E | E2, R | R1 | R2>,
2025
+ <A, E, R, A1, R1, A2, E2, R2>(
2026
+ self: Effect.Effect<A, E, R>,
2027
+ policy: Schedule.Schedule<R1, Types.NoInfer<E>, A1>,
2028
+ orElse: (e: Types.NoInfer<E>, out: A1) => Effect.Effect<A2, E2, R2>
2029
+ ) => Effect.Effect<A | A2, E | E2, R | R1 | R2>
2033
2030
  >(3, (self, policy, orElse) =>
2034
2031
  core.flatMap(
2035
2032
  driver(policy),
@@ -2037,11 +2034,11 @@ export const retryOrElse_Effect = dual<
2037
2034
  ))
2038
2035
 
2039
2036
  /** @internal */
2040
- const retryOrElse_EffectLoop = <R, E, A, R1, A1, R2, E2, A2>(
2041
- self: Effect.Effect<R, E, A>,
2037
+ const retryOrElse_EffectLoop = <A, E, R, R1, A1, A2, E2, R2>(
2038
+ self: Effect.Effect<A, E, R>,
2042
2039
  driver: Schedule.ScheduleDriver<R1, E, A1>,
2043
- orElse: (e: E, out: A1) => Effect.Effect<R2, E2, A2>
2044
- ): Effect.Effect<R | R1 | R2, E | E2, A | A2> => {
2040
+ orElse: (e: E, out: A1) => Effect.Effect<A2, E2, R2>
2041
+ ): Effect.Effect<A | A2, E | E2, R | R1 | R2> => {
2045
2042
  return core.catchAll(
2046
2043
  self,
2047
2044
  (e) =>
@@ -2061,13 +2058,13 @@ const retryOrElse_EffectLoop = <R, E, A, R1, A1, R2, E2, A2>(
2061
2058
  export const schedule_Effect = dual<
2062
2059
  <R2, Out>(
2063
2060
  schedule: Schedule.Schedule<R2, unknown, Out>
2064
- ) => <R, E, A>(self: Effect.Effect<R, E, A>) => Effect.Effect<R | R2, E, Out>,
2065
- <R, E, A, R2, Out>(
2066
- self: Effect.Effect<R, E, A>,
2061
+ ) => <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<Out, E, R | R2>,
2062
+ <A, E, R, R2, Out>(
2063
+ self: Effect.Effect<A, E, R>,
2067
2064
  schedule: Schedule.Schedule<R2, unknown, Out>
2068
- ) => Effect.Effect<R | R2, E, Out>
2069
- >(2, <R, E, A, R2, Out>(
2070
- self: Effect.Effect<R, E, A>,
2065
+ ) => Effect.Effect<Out, E, R | R2>
2066
+ >(2, <A, E, R, R2, Out>(
2067
+ self: Effect.Effect<A, E, R>,
2071
2068
  schedule: Schedule.Schedule<R2, unknown, Out>
2072
2069
  ) => scheduleFrom_Effect(self, void 0, schedule))
2073
2070
 
@@ -2076,12 +2073,12 @@ export const scheduleFrom_Effect = dual<
2076
2073
  <R2, In, Out>(
2077
2074
  initial: In,
2078
2075
  schedule: Schedule.Schedule<R2, In, Out>
2079
- ) => <R, E>(self: Effect.Effect<R, E, In>) => Effect.Effect<R | R2, E, Out>,
2080
- <R, E, In, R2, Out>(
2081
- self: Effect.Effect<R, E, In>,
2076
+ ) => <E, R>(self: Effect.Effect<In, E, R>) => Effect.Effect<Out, E, R | R2>,
2077
+ <In, E, R, R2, Out>(
2078
+ self: Effect.Effect<In, E, R>,
2082
2079
  initial: In,
2083
2080
  schedule: Schedule.Schedule<R2, In, Out>
2084
- ) => Effect.Effect<R | R2, E, Out>
2081
+ ) => Effect.Effect<Out, E, R | R2>
2085
2082
  >(3, (self, initial, schedule) =>
2086
2083
  core.flatMap(
2087
2084
  driver(schedule),
@@ -2089,11 +2086,11 @@ export const scheduleFrom_Effect = dual<
2089
2086
  ))
2090
2087
 
2091
2088
  /** @internal */
2092
- const scheduleFrom_EffectLoop = <R, E, In, R2, Out>(
2093
- self: Effect.Effect<R, E, In>,
2089
+ const scheduleFrom_EffectLoop = <In, E, R, R2, Out>(
2090
+ self: Effect.Effect<In, E, R>,
2094
2091
  initial: In,
2095
2092
  driver: Schedule.ScheduleDriver<R2, In, Out>
2096
- ): Effect.Effect<R | R2, E, Out> =>
2093
+ ): Effect.Effect<Out, E, R | R2> =>
2097
2094
  core.matchEffect(driver.next(initial), {
2098
2095
  onFailure: () => core.orDie(driver.last),
2099
2096
  onSuccess: () => core.flatMap(self, (a) => scheduleFrom_EffectLoop(self, a, driver))