effect 2.2.5 → 2.3.0

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 +19 -19
  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 +19 -19
  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/FiberSet.ts CHANGED
@@ -26,34 +26,34 @@ export type TypeId = typeof TypeId
26
26
  * @since 2.0.0
27
27
  * @categories models
28
28
  */
29
- export interface FiberSet<E = unknown, A = unknown>
30
- extends Pipeable, Inspectable.Inspectable, Iterable<Fiber.RuntimeFiber<E, A>>
29
+ export interface FiberSet<out A, out E = never>
30
+ extends Pipeable, Inspectable.Inspectable, Iterable<Fiber.RuntimeFiber<A, E>>
31
31
  {
32
32
  readonly [TypeId]: TypeId
33
- readonly backing: Set<Fiber.RuntimeFiber<E, A>>
33
+ readonly backing: Set<Fiber.RuntimeFiber<A, E>>
34
34
  }
35
35
 
36
36
  /**
37
37
  * @since 2.0.0
38
38
  * @categories refinements
39
39
  */
40
- export const isFiberSet = (u: unknown): u is FiberSet<unknown> => Predicate.hasProperty(u, TypeId)
40
+ export const isFiberSet = (u: unknown): u is FiberSet<unknown, unknown> => Predicate.hasProperty(u, TypeId)
41
41
 
42
42
  const Proto = {
43
43
  [TypeId]: TypeId,
44
- [Symbol.iterator](this: FiberSet) {
44
+ [Symbol.iterator](this: FiberSet<unknown, unknown>) {
45
45
  return this.backing[Symbol.iterator]()
46
46
  },
47
- toString(this: FiberSet) {
47
+ toString(this: FiberSet<unknown, unknown>) {
48
48
  return Inspectable.format(this.toJSON())
49
49
  },
50
- toJSON(this: FiberSet) {
50
+ toJSON(this: FiberSet<unknown, unknown>) {
51
51
  return {
52
52
  _id: "FiberMap",
53
53
  backing: Inspectable.toJSON(Array.from(this.backing))
54
54
  }
55
55
  },
56
- [Inspectable.NodeInspectSymbol](this: FiberSet) {
56
+ [Inspectable.NodeInspectSymbol](this: FiberSet<unknown, unknown>) {
57
57
  return this.toJSON()
58
58
  },
59
59
  pipe() {
@@ -61,7 +61,7 @@ const Proto = {
61
61
  }
62
62
  }
63
63
 
64
- const unsafeMake = <E = unknown, A = unknown>(): FiberSet<E, A> => {
64
+ const unsafeMake = <A, E>(): FiberSet<A, E> => {
65
65
  const self = Object.create(Proto)
66
66
  self.backing = new Set()
67
67
  return self
@@ -92,8 +92,8 @@ const unsafeMake = <E = unknown, A = unknown>(): FiberSet<E, A> => {
92
92
  * @since 2.0.0
93
93
  * @categories constructors
94
94
  */
95
- export const make = <E = unknown, A = unknown>(): Effect.Effect<Scope.Scope, never, FiberSet<E, A>> =>
96
- Effect.acquireRelease(Effect.sync(() => unsafeMake<E, A>()), clear)
95
+ export const make = <A, E = never>(): Effect.Effect<FiberSet<A, E>, never, Scope.Scope> =>
96
+ Effect.acquireRelease(Effect.sync(() => unsafeMake<A, E>()), clear)
97
97
 
98
98
  /**
99
99
  * Create an Effect run function that is backed by a FiberSet.
@@ -101,16 +101,16 @@ export const make = <E = unknown, A = unknown>(): Effect.Effect<Scope.Scope, nev
101
101
  * @since 2.0.0
102
102
  * @categories constructors
103
103
  */
104
- export const makeRuntime = <R, E = unknown, A = unknown>(): Effect.Effect<
105
- Scope.Scope | R,
106
- never,
104
+ export const makeRuntime = <A, E = never, R = never>(): Effect.Effect<
107
105
  <XE extends E, XA extends A>(
108
- effect: Effect.Effect<R, XE, XA>,
106
+ effect: Effect.Effect<XA, XE, R>,
109
107
  options?: Runtime.RunForkOptions | undefined
110
- ) => Fiber.RuntimeFiber<XE, XA>
108
+ ) => Fiber.RuntimeFiber<XA, XE>,
109
+ never,
110
+ Scope.Scope | R
111
111
  > =>
112
112
  Effect.flatMap(
113
- make<E, A>(),
113
+ make<A, E>(),
114
114
  (self) => runtime(self)<R>()
115
115
  )
116
116
 
@@ -121,15 +121,15 @@ export const makeRuntime = <R, E = unknown, A = unknown>(): Effect.Effect<
121
121
  * @categories combinators
122
122
  */
123
123
  export const unsafeAdd: {
124
- <E, A, XE extends E, XA extends A>(fiber: Fiber.RuntimeFiber<XE, XA>): (self: FiberSet<E, A>) => void
125
- <E, A, XE extends E, XA extends A>(self: FiberSet<E, A>, fiber: Fiber.RuntimeFiber<XE, XA>): void
124
+ <A, E, XE extends E, XA extends A>(fiber: Fiber.RuntimeFiber<XA, XE>): (self: FiberSet<A, E>) => void
125
+ <A, E, XE extends E, XA extends A>(self: FiberSet<A, E>, fiber: Fiber.RuntimeFiber<XA, XE>): void
126
126
  } = dual<
127
- <E, A, XE extends E, XA extends A>(
128
- fiber: Fiber.RuntimeFiber<XE, XA>
129
- ) => (self: FiberSet<E, A>) => void,
130
- <E, A, XE extends E, XA extends A>(
131
- self: FiberSet<E, A>,
132
- fiber: Fiber.RuntimeFiber<XE, XA>
127
+ <A, E, XE extends E, XA extends A>(
128
+ fiber: Fiber.RuntimeFiber<XA, XE>
129
+ ) => (self: FiberSet<A, E>) => void,
130
+ <A, E, XE extends E, XA extends A>(
131
+ self: FiberSet<A, E>,
132
+ fiber: Fiber.RuntimeFiber<XA, XE>
133
133
  ) => void
134
134
  >(2, (self, fiber) => {
135
135
  if (self.backing.has(fiber)) {
@@ -148,28 +148,28 @@ export const unsafeAdd: {
148
148
  * @categories combinators
149
149
  */
150
150
  export const add: {
151
- <E, A, XE extends E, XA extends A>(
152
- fiber: Fiber.RuntimeFiber<XE, XA>
153
- ): (self: FiberSet<E, A>) => Effect.Effect<never, never, void>
154
- <E, A, XE extends E, XA extends A>(
155
- self: FiberSet<E, A>,
156
- fiber: Fiber.RuntimeFiber<XE, XA>
157
- ): Effect.Effect<never, never, void>
151
+ <A, E, XE extends E, XA extends A>(
152
+ fiber: Fiber.RuntimeFiber<XA, XE>
153
+ ): (self: FiberSet<A, E>) => Effect.Effect<void>
154
+ <A, E, XE extends E, XA extends A>(
155
+ self: FiberSet<A, E>,
156
+ fiber: Fiber.RuntimeFiber<XA, XE>
157
+ ): Effect.Effect<void>
158
158
  } = dual<
159
- <E, A, XE extends E, XA extends A>(
160
- fiber: Fiber.RuntimeFiber<XE, XA>
161
- ) => (self: FiberSet<E, A>) => Effect.Effect<never, never, void>,
162
- <E, A, XE extends E, XA extends A>(
163
- self: FiberSet<E, A>,
164
- fiber: Fiber.RuntimeFiber<XE, XA>
165
- ) => Effect.Effect<never, never, void>
159
+ <A, E, XE extends E, XA extends A>(
160
+ fiber: Fiber.RuntimeFiber<XA, XE>
161
+ ) => (self: FiberSet<A, E>) => Effect.Effect<void>,
162
+ <A, E, XE extends E, XA extends A>(
163
+ self: FiberSet<A, E>,
164
+ fiber: Fiber.RuntimeFiber<XA, XE>
165
+ ) => Effect.Effect<void>
166
166
  >(2, (self, fiber) => Effect.sync(() => unsafeAdd(self, fiber)))
167
167
 
168
168
  /**
169
169
  * @since 2.0.0
170
170
  * @categories combinators
171
171
  */
172
- export const clear = <E, A>(self: FiberSet<E, A>): Effect.Effect<never, never, void> =>
172
+ export const clear = <A, E>(self: FiberSet<A, E>): Effect.Effect<void> =>
173
173
  Effect.zipRight(
174
174
  Effect.forEach(self.backing, (fiber) => Fiber.interrupt(fiber)),
175
175
  Effect.sync(() => {
@@ -185,15 +185,15 @@ export const clear = <E, A>(self: FiberSet<E, A>): Effect.Effect<never, never, v
185
185
  * @categories combinators
186
186
  */
187
187
  export const run: {
188
- <E, A>(self: FiberSet<E, A>): <R, XE extends E, XA extends A>(
189
- effect: Effect.Effect<R, XE, XA>
190
- ) => Effect.Effect<R, never, Fiber.RuntimeFiber<XE, XA>>
191
- <E, A, R, XE extends E, XA extends A>(
192
- self: FiberSet<E, A>,
193
- effect: Effect.Effect<R, XE, XA>
194
- ): Effect.Effect<R, never, Fiber.RuntimeFiber<XE, XA>>
188
+ <A, E>(self: FiberSet<A, E>): <R, XE extends E, XA extends A>(
189
+ effect: Effect.Effect<XA, XE, R>
190
+ ) => Effect.Effect<Fiber.RuntimeFiber<XA, XE>, never, R>
191
+ <A, E, R, XE extends E, XA extends A>(
192
+ self: FiberSet<A, E>,
193
+ effect: Effect.Effect<XA, XE, R>
194
+ ): Effect.Effect<Fiber.RuntimeFiber<XA, XE>, never, R>
195
195
  } = function() {
196
- const self = arguments[0] as FiberSet<any>
196
+ const self = arguments[0] as FiberSet<any, any>
197
197
  if (arguments.length === 1) {
198
198
  return (effect: Effect.Effect<any, any, any>) =>
199
199
  Effect.tap(
@@ -217,9 +217,9 @@ export const run: {
217
217
  * interface Users {
218
218
  * readonly _: unique symbol
219
219
  * }
220
- * const Users = Context.Tag<Users, {
221
- * getAll: Effect.Effect<never, never, Array<unknown>>
222
- * }>()
220
+ * const Users = Context.GenericTag<Users, {
221
+ * getAll: Effect.Effect<Array<unknown>>
222
+ * }>("Users")
223
223
  *
224
224
  * Effect.gen(function*(_) {
225
225
  * const set = yield* _(FiberSet.make())
@@ -234,22 +234,22 @@ export const run: {
234
234
  * @since 2.0.0
235
235
  * @categories combinators
236
236
  */
237
- export const runtime: <E, A>(
238
- self: FiberSet<E, A>
239
- ) => <R>() => Effect.Effect<
240
- R,
241
- never,
237
+ export const runtime: <A, E = never>(
238
+ self: FiberSet<A, E>
239
+ ) => <R = never>() => Effect.Effect<
242
240
  <XE extends E, XA extends A>(
243
- effect: Effect.Effect<R, XE, XA>,
241
+ effect: Effect.Effect<XA, XE, R>,
244
242
  options?: Runtime.RunForkOptions | undefined
245
- ) => Fiber.RuntimeFiber<XE, XA>
246
- > = <E, A>(self: FiberSet<E, A>) => <R>() =>
243
+ ) => Fiber.RuntimeFiber<XA, XE>,
244
+ never,
245
+ R
246
+ > = <A, E>(self: FiberSet<A, E>) => <R>() =>
247
247
  Effect.map(
248
248
  Effect.runtime<R>(),
249
249
  (runtime) => {
250
250
  const runFork = Runtime.runFork(runtime)
251
251
  return <XE extends E, XA extends A>(
252
- effect: Effect.Effect<R, XE, XA>,
252
+ effect: Effect.Effect<XA, XE, R>,
253
253
  options?: Runtime.RunForkOptions | undefined
254
254
  ) => {
255
255
  const fiber = runFork(effect, options)
@@ -263,5 +263,4 @@ export const runtime: <E, A>(
263
263
  * @since 2.0.0
264
264
  * @categories combinators
265
265
  */
266
- export const size = <E, A>(self: FiberSet<E, A>): Effect.Effect<never, never, number> =>
267
- Effect.sync(() => self.backing.size)
266
+ export const size = <A, E>(self: FiberSet<A, E>): Effect.Effect<number> => Effect.sync(() => self.backing.size)
package/src/GroupBy.ts CHANGED
@@ -30,7 +30,7 @@ export type GroupByTypeId = typeof GroupByTypeId
30
30
  * @category models
31
31
  */
32
32
  export interface GroupBy<out R, out E, out K, out V> extends GroupBy.Variance<R, E, K, V>, Pipeable {
33
- readonly grouped: Stream.Stream<R, E, readonly [K, Queue.Dequeue<Take.Take<E, V>>]>
33
+ readonly grouped: Stream.Stream<readonly [K, Queue.Dequeue<Take.Take<V, E>>], E, R>
34
34
  }
35
35
 
36
36
  /**
@@ -60,18 +60,14 @@ export declare namespace GroupBy {
60
60
  */
61
61
  export const evaluate: {
62
62
  <K, E, V, R2, E2, A>(
63
- f: (key: K, stream: Stream.Stream<never, E, V>) => Stream.Stream<R2, E2, A>,
64
- options?: {
65
- readonly bufferSize?: number | undefined
66
- }
67
- ): <R>(self: GroupBy<R, E, K, V>) => Stream.Stream<R2 | R, E | E2, A>
63
+ f: (key: K, stream: Stream.Stream<V, E>) => Stream.Stream<A, E2, R2>,
64
+ options?: { readonly bufferSize?: number | undefined } | undefined
65
+ ): <R>(self: GroupBy<R, E, K, V>) => Stream.Stream<A, E | E2, R2 | R>
68
66
  <R, K, E, V, R2, E2, A>(
69
67
  self: GroupBy<R, E, K, V>,
70
- f: (key: K, stream: Stream.Stream<never, E, V>) => Stream.Stream<R2, E2, A>,
71
- options?: {
72
- readonly bufferSize?: number | undefined
73
- }
74
- ): Stream.Stream<R | R2, E | E2, A>
68
+ f: (key: K, stream: Stream.Stream<V, E>) => Stream.Stream<A, E2, R2>,
69
+ options?: { readonly bufferSize?: number | undefined } | undefined
70
+ ): Stream.Stream<A, E | E2, R | R2>
75
71
  } = internal.evaluate
76
72
 
77
73
  /**
@@ -103,5 +99,5 @@ export const first: {
103
99
  * @category constructors
104
100
  */
105
101
  export const make: <R, E, K, V>(
106
- grouped: Stream.Stream<R, E, readonly [K, Queue.Dequeue<Take.Take<E, V>>]>
102
+ grouped: Stream.Stream<readonly [K, Queue.Dequeue<Take.Take<V, E>>], E, R>
107
103
  ) => GroupBy<R, E, K, V> = internal.make
package/src/KeyedPool.ts CHANGED
@@ -21,27 +21,27 @@ export const KeyedPoolTypeId: unique symbol = internal.KeyedPoolTypeId
21
21
  export type KeyedPoolTypeId = typeof KeyedPoolTypeId
22
22
 
23
23
  /**
24
- * A `KeyedPool<K, E, A>` is a pool of `Pool`s of items of type `A`. Each pool
24
+ * A `KeyedPool<K, A, E>` is a pool of `Pool`s of items of type `A`. Each pool
25
25
  * in the `KeyedPool` is associated with a key of type `K`.
26
26
  *
27
27
  * @since 2.0.0
28
28
  * @category models
29
29
  */
30
- export interface KeyedPool<in K, out E, in out A> extends KeyedPool.Variance<K, E, A>, Pipeable {
30
+ export interface KeyedPool<in K, in out A, out E = never> extends KeyedPool.Variance<K, A, E>, Pipeable {
31
31
  /**
32
32
  * Retrieves an item from the pool belonging to the given key in a scoped
33
33
  * effect. Note that if acquisition fails, then the returned effect will fail
34
34
  * for that same reason. Retrying a failed acquisition attempt will repeat the
35
35
  * acquisition attempt.
36
36
  */
37
- get(key: K): Effect.Effect<Scope.Scope, E, A>
37
+ get(key: K): Effect.Effect<A, E, Scope.Scope>
38
38
 
39
39
  /**
40
40
  * Invalidates the specified item. This will cause the pool to eventually
41
41
  * reallocate the item, although this reallocation may occur lazily rather
42
42
  * than eagerly.
43
43
  */
44
- invalidate(item: A): Effect.Effect<never, never, void>
44
+ invalidate(item: A): Effect.Effect<void>
45
45
  }
46
46
 
47
47
  /**
@@ -52,11 +52,11 @@ export declare namespace KeyedPool {
52
52
  * @since 2.0.0
53
53
  * @category models
54
54
  */
55
- export interface Variance<in K, out E, in out A> {
55
+ export interface Variance<in K, in out A, out E> {
56
56
  readonly [KeyedPoolTypeId]: {
57
57
  readonly _K: Types.Contravariant<K>
58
- readonly _E: Types.Covariant<E>
59
58
  readonly _A: Types.Invariant<A>
59
+ readonly _E: Types.Covariant<E>
60
60
  }
61
61
  }
62
62
  }
@@ -70,12 +70,12 @@ export declare namespace KeyedPool {
70
70
  * @since 2.0.0
71
71
  * @category constructors
72
72
  */
73
- export const make: <K, R, E, A>(
73
+ export const make: <K, A, E, R>(
74
74
  options: {
75
- readonly acquire: (key: K) => Effect.Effect<R, E, A>
75
+ readonly acquire: (key: K) => Effect.Effect<A, E, R>
76
76
  readonly size: number
77
77
  }
78
- ) => Effect.Effect<Scope.Scope | R, never, KeyedPool<K, E, A>> = internal.make
78
+ ) => Effect.Effect<KeyedPool<K, A, E>, never, Scope.Scope | R> = internal.make
79
79
 
80
80
  /**
81
81
  * Makes a new pool of the specified fixed size. The pool is returned in a
@@ -88,12 +88,12 @@ export const make: <K, R, E, A>(
88
88
  * @since 2.0.0
89
89
  * @category constructors
90
90
  */
91
- export const makeWith: <K, R, E, A>(
91
+ export const makeWith: <K, A, E, R>(
92
92
  options: {
93
- readonly acquire: (key: K) => Effect.Effect<R, E, A>
93
+ readonly acquire: (key: K) => Effect.Effect<A, E, R>
94
94
  readonly size: (key: K) => number
95
95
  }
96
- ) => Effect.Effect<Scope.Scope | R, never, KeyedPool<K, E, A>> = internal.makeWith
96
+ ) => Effect.Effect<KeyedPool<K, A, E>, never, Scope.Scope | R> = internal.makeWith
97
97
 
98
98
  /**
99
99
  * Makes a new pool with the specified minimum and maximum sizes and time to
@@ -108,14 +108,14 @@ export const makeWith: <K, R, E, A>(
108
108
  * @since 2.0.0
109
109
  * @category constructors
110
110
  */
111
- export const makeWithTTL: <K, R, E, A>(
111
+ export const makeWithTTL: <K, A, E, R>(
112
112
  options: {
113
- readonly acquire: (key: K) => Effect.Effect<R, E, A>
113
+ readonly acquire: (key: K) => Effect.Effect<A, E, R>
114
114
  readonly min: (key: K) => number
115
115
  readonly max: (key: K) => number
116
116
  readonly timeToLive: Duration.DurationInput
117
117
  }
118
- ) => Effect.Effect<Scope.Scope | R, never, KeyedPool<K, E, A>> = internal.makeWithTTL
118
+ ) => Effect.Effect<KeyedPool<K, A, E>, never, Scope.Scope | R> = internal.makeWithTTL
119
119
 
120
120
  /**
121
121
  * Makes a new pool with the specified minimum and maximum sizes and time to
@@ -130,14 +130,14 @@ export const makeWithTTL: <K, R, E, A>(
130
130
  * @since 2.0.0
131
131
  * @category constructors
132
132
  */
133
- export const makeWithTTLBy: <K, R, E, A>(
133
+ export const makeWithTTLBy: <K, A, E, R>(
134
134
  options: {
135
- readonly acquire: (key: K) => Effect.Effect<R, E, A>
135
+ readonly acquire: (key: K) => Effect.Effect<A, E, R>
136
136
  readonly min: (key: K) => number
137
137
  readonly max: (key: K) => number
138
138
  readonly timeToLive: (key: K) => Duration.DurationInput
139
139
  }
140
- ) => Effect.Effect<Scope.Scope | R, never, KeyedPool<K, E, A>> = internal.makeWithTTLBy
140
+ ) => Effect.Effect<KeyedPool<K, A, E>, never, Scope.Scope | R> = internal.makeWithTTLBy
141
141
 
142
142
  /**
143
143
  * Retrieves an item from the pool belonging to the given key in a scoped
@@ -149,8 +149,8 @@ export const makeWithTTLBy: <K, R, E, A>(
149
149
  * @category combinators
150
150
  */
151
151
  export const get: {
152
- <K>(key: K): <E, A>(self: KeyedPool<K, E, A>) => Effect.Effect<Scope.Scope, E, A>
153
- <K, E, A>(self: KeyedPool<K, E, A>, key: K): Effect.Effect<Scope.Scope, E, A>
152
+ <K>(key: K): <A, E>(self: KeyedPool<K, A, E>) => Effect.Effect<A, E, Scope.Scope>
153
+ <K, A, E>(self: KeyedPool<K, A, E>, key: K): Effect.Effect<A, E, Scope.Scope>
154
154
  } = internal.get
155
155
 
156
156
  /**
@@ -162,6 +162,6 @@ export const get: {
162
162
  * @category combinators
163
163
  */
164
164
  export const invalidate: {
165
- <A>(item: A): <K, E>(self: KeyedPool<K, E, A>) => Effect.Effect<never, never, void>
166
- <K, E, A>(self: KeyedPool<K, E, A>, item: A): Effect.Effect<never, never, void>
165
+ <A>(item: A): <K, E>(self: KeyedPool<K, A, E>) => Effect.Effect<void>
166
+ <K, A, E>(self: KeyedPool<K, A, E>, item: A): Effect.Effect<void>
167
167
  } = internal.invalidate