effect 2.2.5 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (693) hide show
  1. package/RateLimiter/package.json +6 -0
  2. package/dist/cjs/Cause.js +14 -1
  3. package/dist/cjs/Cause.js.map +1 -1
  4. package/dist/cjs/Channel.js.map +1 -1
  5. package/dist/cjs/Clock.js.map +1 -1
  6. package/dist/cjs/Console.js.map +1 -1
  7. package/dist/cjs/Context.js +23 -25
  8. package/dist/cjs/Context.js.map +1 -1
  9. package/dist/cjs/Data.js +3 -3
  10. package/dist/cjs/Data.js.map +1 -1
  11. package/dist/cjs/Deferred.js +1 -1
  12. package/dist/cjs/Deferred.js.map +1 -1
  13. package/dist/cjs/Effect.js +9 -9
  14. package/dist/cjs/Effect.js.map +1 -1
  15. package/dist/cjs/Effectable.js.map +1 -1
  16. package/dist/cjs/Either.js.map +1 -1
  17. package/dist/cjs/Exit.js +2 -2
  18. package/dist/cjs/Exit.js.map +1 -1
  19. package/dist/cjs/Fiber.js.map +1 -1
  20. package/dist/cjs/FiberMap.js +3 -3
  21. package/dist/cjs/FiberRef.js.map +1 -1
  22. package/dist/cjs/FiberRefs.js.map +1 -1
  23. package/dist/cjs/FiberSet.js +3 -3
  24. package/dist/cjs/FiberSet.js.map +1 -1
  25. package/dist/cjs/GroupBy.js.map +1 -1
  26. package/dist/cjs/Layer.js.map +1 -1
  27. package/dist/cjs/LogLevel.js.map +1 -1
  28. package/dist/cjs/Logger.js.map +1 -1
  29. package/dist/cjs/Metric.js.map +1 -1
  30. package/dist/cjs/Number.js +20 -1
  31. package/dist/cjs/Number.js.map +1 -1
  32. package/dist/cjs/Option.js.map +1 -1
  33. package/dist/cjs/Pool.js.map +1 -1
  34. package/dist/cjs/PubSub.js.map +1 -1
  35. package/dist/cjs/Queue.js.map +1 -1
  36. package/dist/cjs/Random.js.map +1 -1
  37. package/dist/cjs/RateLimiter.js +38 -0
  38. package/dist/cjs/RateLimiter.js.map +1 -0
  39. package/dist/cjs/ReadonlyRecord.js +45 -9
  40. package/dist/cjs/ReadonlyRecord.js.map +1 -1
  41. package/dist/cjs/Ref.js.map +1 -1
  42. package/dist/cjs/Request.js.map +1 -1
  43. package/dist/cjs/RequestResolver.js.map +1 -1
  44. package/dist/cjs/Resource.js.map +1 -1
  45. package/dist/cjs/Runtime.js +1 -4
  46. package/dist/cjs/Runtime.js.map +1 -1
  47. package/dist/cjs/RuntimeFlags.js.map +1 -1
  48. package/dist/cjs/STM.js.map +1 -1
  49. package/dist/cjs/Schedule.js.map +1 -1
  50. package/dist/cjs/Scope.js.map +1 -1
  51. package/dist/cjs/ScopedRef.js.map +1 -1
  52. package/dist/cjs/SingleProducerAsyncInput.js.map +1 -1
  53. package/dist/cjs/Sink.js.map +1 -1
  54. package/dist/cjs/Stream.js.map +1 -1
  55. package/dist/cjs/SubscriptionRef.js.map +1 -1
  56. package/dist/cjs/Supervisor.js.map +1 -1
  57. package/dist/cjs/SynchronizedRef.js.map +1 -1
  58. package/dist/cjs/TArray.js.map +1 -1
  59. package/dist/cjs/TDeferred.js.map +1 -1
  60. package/dist/cjs/TMap.js.map +1 -1
  61. package/dist/cjs/TPriorityQueue.js.map +1 -1
  62. package/dist/cjs/TPubSub.js.map +1 -1
  63. package/dist/cjs/TQueue.js.map +1 -1
  64. package/dist/cjs/TRandom.js.map +1 -1
  65. package/dist/cjs/TReentrantLock.js.map +1 -1
  66. package/dist/cjs/TRef.js.map +1 -1
  67. package/dist/cjs/TSemaphore.js.map +1 -1
  68. package/dist/cjs/TSet.js.map +1 -1
  69. package/dist/cjs/Take.js +6 -6
  70. package/dist/cjs/Take.js.map +1 -1
  71. package/dist/cjs/TestAnnotation.js +10 -13
  72. package/dist/cjs/TestAnnotation.js.map +1 -1
  73. package/dist/cjs/TestAnnotations.js +1 -1
  74. package/dist/cjs/TestAnnotations.js.map +1 -1
  75. package/dist/cjs/TestClock.js +1 -1
  76. package/dist/cjs/TestClock.js.map +1 -1
  77. package/dist/cjs/TestConfig.js +1 -1
  78. package/dist/cjs/TestConfig.js.map +1 -1
  79. package/dist/cjs/TestContext.js.map +1 -1
  80. package/dist/cjs/TestLive.js +1 -1
  81. package/dist/cjs/TestLive.js.map +1 -1
  82. package/dist/cjs/TestServices.js.map +1 -1
  83. package/dist/cjs/TestSized.js +1 -1
  84. package/dist/cjs/TestSized.js.map +1 -1
  85. package/dist/cjs/Utils.js +0 -1
  86. package/dist/cjs/Utils.js.map +1 -1
  87. package/dist/cjs/index.js +4 -2
  88. package/dist/cjs/index.js.map +1 -1
  89. package/dist/cjs/internal/cache.js.map +1 -1
  90. package/dist/cjs/internal/channel/channelExecutor.js.map +1 -1
  91. package/dist/cjs/internal/channel/mergeDecision.js +2 -6
  92. package/dist/cjs/internal/channel/mergeDecision.js.map +1 -1
  93. package/dist/cjs/internal/channel/singleProducerAsyncInput.js.map +1 -1
  94. package/dist/cjs/internal/channel.js +1 -1
  95. package/dist/cjs/internal/channel.js.map +1 -1
  96. package/dist/cjs/internal/clock.js +1 -1
  97. package/dist/cjs/internal/clock.js.map +1 -1
  98. package/dist/cjs/internal/configProvider.js +2 -4
  99. package/dist/cjs/internal/configProvider.js.map +1 -1
  100. package/dist/cjs/internal/console.js.map +1 -1
  101. package/dist/cjs/internal/context.js +31 -22
  102. package/dist/cjs/internal/context.js.map +1 -1
  103. package/dist/cjs/internal/core-effect.js +13 -27
  104. package/dist/cjs/internal/core-effect.js.map +1 -1
  105. package/dist/cjs/internal/core-stream.js.map +1 -1
  106. package/dist/cjs/internal/core.js +61 -130
  107. package/dist/cjs/internal/core.js.map +1 -1
  108. package/dist/cjs/internal/data.js.map +1 -1
  109. package/dist/cjs/internal/defaultServices/console.js +1 -1
  110. package/dist/cjs/internal/defaultServices/console.js.map +1 -1
  111. package/dist/cjs/internal/defaultServices.js.map +1 -1
  112. package/dist/cjs/internal/deferred.js.map +1 -1
  113. package/dist/cjs/internal/differ/contextPatch.js +9 -9
  114. package/dist/cjs/internal/differ/contextPatch.js.map +1 -1
  115. package/dist/cjs/internal/effect/circular.js +7 -10
  116. package/dist/cjs/internal/effect/circular.js.map +1 -1
  117. package/dist/cjs/internal/effectable.js +4 -4
  118. package/dist/cjs/internal/effectable.js.map +1 -1
  119. package/dist/cjs/internal/fiber.js +2 -6
  120. package/dist/cjs/internal/fiber.js.map +1 -1
  121. package/dist/cjs/internal/fiberRuntime.js +10 -19
  122. package/dist/cjs/internal/fiberRuntime.js.map +1 -1
  123. package/dist/cjs/internal/groupBy.js.map +1 -1
  124. package/dist/cjs/internal/keyedPool.js.map +1 -1
  125. package/dist/cjs/internal/layer/circular.js.map +1 -1
  126. package/dist/cjs/internal/layer.js +3 -3
  127. package/dist/cjs/internal/layer.js.map +1 -1
  128. package/dist/cjs/internal/logSpan.js +3 -5
  129. package/dist/cjs/internal/logSpan.js.map +1 -1
  130. package/dist/cjs/internal/metric.js.map +1 -1
  131. package/dist/cjs/internal/pool.js.map +1 -1
  132. package/dist/cjs/internal/pubsub.js +2 -6
  133. package/dist/cjs/internal/pubsub.js.map +1 -1
  134. package/dist/cjs/internal/query.js.map +1 -1
  135. package/dist/cjs/internal/queue.js.map +1 -1
  136. package/dist/cjs/internal/random.js +1 -1
  137. package/dist/cjs/internal/random.js.map +1 -1
  138. package/dist/cjs/internal/rateLimiter.js +44 -0
  139. package/dist/cjs/internal/rateLimiter.js.map +1 -0
  140. package/dist/cjs/internal/ref.js.map +1 -1
  141. package/dist/cjs/internal/reloadable.js +1 -9
  142. package/dist/cjs/internal/reloadable.js.map +1 -1
  143. package/dist/cjs/internal/runtime.js +0 -1
  144. package/dist/cjs/internal/runtime.js.map +1 -1
  145. package/dist/cjs/internal/schedule.js.map +1 -1
  146. package/dist/cjs/internal/scopedCache.js.map +1 -1
  147. package/dist/cjs/internal/scopedRef.js.map +1 -1
  148. package/dist/cjs/internal/sink.js +7 -7
  149. package/dist/cjs/internal/sink.js.map +1 -1
  150. package/dist/cjs/internal/stm/core.js.map +1 -1
  151. package/dist/cjs/internal/stm/stm/stmState.js.map +1 -1
  152. package/dist/cjs/internal/stm/stm/tExit.js +2 -2
  153. package/dist/cjs/internal/stm/stm/tExit.js.map +1 -1
  154. package/dist/cjs/internal/stm/stm/tryCommit.js.map +1 -1
  155. package/dist/cjs/internal/stm/stm.js.map +1 -1
  156. package/dist/cjs/internal/stm/tArray.js.map +1 -1
  157. package/dist/cjs/internal/stm/tDeferred.js +4 -2
  158. package/dist/cjs/internal/stm/tDeferred.js.map +1 -1
  159. package/dist/cjs/internal/stm/tMap.js.map +1 -1
  160. package/dist/cjs/internal/stm/tPriorityQueue.js.map +1 -1
  161. package/dist/cjs/internal/stm/tPubSub.js.map +1 -1
  162. package/dist/cjs/internal/stm/tQueue.js.map +1 -1
  163. package/dist/cjs/internal/stm/tRandom.js +1 -1
  164. package/dist/cjs/internal/stm/tRandom.js.map +1 -1
  165. package/dist/cjs/internal/stm/tReentrantLock.js.map +1 -1
  166. package/dist/cjs/internal/stm/tRef.js.map +1 -1
  167. package/dist/cjs/internal/stm/tSemaphore.js.map +1 -1
  168. package/dist/cjs/internal/stm/tSet.js.map +1 -1
  169. package/dist/cjs/internal/stream/debounceState.js.map +1 -1
  170. package/dist/cjs/internal/stream/handoff.js.map +1 -1
  171. package/dist/cjs/internal/stream/handoffSignal.js.map +1 -1
  172. package/dist/cjs/internal/stream/pull.js.map +1 -1
  173. package/dist/cjs/internal/stream.js +0 -2
  174. package/dist/cjs/internal/stream.js.map +1 -1
  175. package/dist/cjs/internal/subscriptionRef.js.map +1 -1
  176. package/dist/cjs/internal/supervisor.js.map +1 -1
  177. package/dist/cjs/internal/take.js +2 -2
  178. package/dist/cjs/internal/take.js.map +1 -1
  179. package/dist/cjs/internal/testing/sleep.js.map +1 -1
  180. package/dist/cjs/internal/tracer.js +2 -2
  181. package/dist/cjs/internal/tracer.js.map +1 -1
  182. package/dist/cjs/internal/version.js +1 -1
  183. package/dist/dts/Cache.d.ts +20 -20
  184. package/dist/dts/Cache.d.ts.map +1 -1
  185. package/dist/dts/Cause.d.ts +33 -5
  186. package/dist/dts/Cause.d.ts.map +1 -1
  187. package/dist/dts/Channel.d.ts +197 -194
  188. package/dist/dts/Channel.d.ts.map +1 -1
  189. package/dist/dts/Clock.d.ts +7 -7
  190. package/dist/dts/Clock.d.ts.map +1 -1
  191. package/dist/dts/Config.d.ts +1 -1
  192. package/dist/dts/Config.d.ts.map +1 -1
  193. package/dist/dts/ConfigProvider.d.ts +6 -6
  194. package/dist/dts/ConfigProvider.d.ts.map +1 -1
  195. package/dist/dts/Console.d.ts +43 -43
  196. package/dist/dts/Console.d.ts.map +1 -1
  197. package/dist/dts/Context.d.ts +44 -29
  198. package/dist/dts/Context.d.ts.map +1 -1
  199. package/dist/dts/Data.d.ts +38 -57
  200. package/dist/dts/Data.d.ts.map +1 -1
  201. package/dist/dts/Deferred.d.ts +36 -36
  202. package/dist/dts/Deferred.d.ts.map +1 -1
  203. package/dist/dts/Effect.d.ts +732 -729
  204. package/dist/dts/Effect.d.ts.map +1 -1
  205. package/dist/dts/Effectable.d.ts +8 -8
  206. package/dist/dts/Effectable.d.ts.map +1 -1
  207. package/dist/dts/Either.d.ts +2 -3
  208. package/dist/dts/Either.d.ts.map +1 -1
  209. package/dist/dts/Exit.d.ts +74 -74
  210. package/dist/dts/Exit.d.ts.map +1 -1
  211. package/dist/dts/Fiber.d.ts +75 -75
  212. package/dist/dts/Fiber.d.ts.map +1 -1
  213. package/dist/dts/FiberMap.d.ts +22 -22
  214. package/dist/dts/FiberMap.d.ts.map +1 -1
  215. package/dist/dts/FiberRef.d.ts +28 -28
  216. package/dist/dts/FiberRef.d.ts.map +1 -1
  217. package/dist/dts/FiberRefs.d.ts +1 -1
  218. package/dist/dts/FiberRefs.d.ts.map +1 -1
  219. package/dist/dts/FiberSet.d.ts +16 -16
  220. package/dist/dts/FiberSet.d.ts.map +1 -1
  221. package/dist/dts/GroupBy.d.ts +6 -6
  222. package/dist/dts/GroupBy.d.ts.map +1 -1
  223. package/dist/dts/KeyedPool.d.ts +22 -22
  224. package/dist/dts/KeyedPool.d.ts.map +1 -1
  225. package/dist/dts/Layer.d.ts +126 -126
  226. package/dist/dts/Layer.d.ts.map +1 -1
  227. package/dist/dts/LogLevel.d.ts +2 -2
  228. package/dist/dts/LogLevel.d.ts.map +1 -1
  229. package/dist/dts/Logger.d.ts +14 -14
  230. package/dist/dts/Logger.d.ts.map +1 -1
  231. package/dist/dts/MergeDecision.d.ts +7 -7
  232. package/dist/dts/MergeState.d.ts +13 -13
  233. package/dist/dts/MergeState.d.ts.map +1 -1
  234. package/dist/dts/Metric.d.ts +32 -32
  235. package/dist/dts/Metric.d.ts.map +1 -1
  236. package/dist/dts/MetricPolling.d.ts +6 -6
  237. package/dist/dts/MetricPolling.d.ts.map +1 -1
  238. package/dist/dts/Number.d.ts +15 -0
  239. package/dist/dts/Number.d.ts.map +1 -1
  240. package/dist/dts/Option.d.ts +2 -3
  241. package/dist/dts/Option.d.ts.map +1 -1
  242. package/dist/dts/Pool.d.ts +15 -16
  243. package/dist/dts/Pool.d.ts.map +1 -1
  244. package/dist/dts/PubSub.d.ts +18 -18
  245. package/dist/dts/PubSub.d.ts.map +1 -1
  246. package/dist/dts/Queue.d.ts +40 -40
  247. package/dist/dts/Queue.d.ts.map +1 -1
  248. package/dist/dts/Random.d.ts +13 -13
  249. package/dist/dts/Random.d.ts.map +1 -1
  250. package/dist/dts/RateLimiter.d.ts +31 -0
  251. package/dist/dts/RateLimiter.d.ts.map +1 -0
  252. package/dist/dts/ReadonlyArray.d.ts +3 -3
  253. package/dist/dts/ReadonlyRecord.d.ts +37 -8
  254. package/dist/dts/ReadonlyRecord.d.ts.map +1 -1
  255. package/dist/dts/Ref.d.ts +25 -25
  256. package/dist/dts/Ref.d.ts.map +1 -1
  257. package/dist/dts/Reloadable.d.ts +9 -9
  258. package/dist/dts/Reloadable.d.ts.map +1 -1
  259. package/dist/dts/Request.d.ts +27 -28
  260. package/dist/dts/Request.d.ts.map +1 -1
  261. package/dist/dts/RequestBlock.d.ts +3 -3
  262. package/dist/dts/RequestBlock.d.ts.map +1 -1
  263. package/dist/dts/RequestResolver.d.ts +16 -16
  264. package/dist/dts/RequestResolver.d.ts.map +1 -1
  265. package/dist/dts/Resource.d.ts +7 -7
  266. package/dist/dts/Resource.d.ts.map +1 -1
  267. package/dist/dts/Runtime.d.ts +13 -16
  268. package/dist/dts/Runtime.d.ts.map +1 -1
  269. package/dist/dts/RuntimeFlags.d.ts +10 -10
  270. package/dist/dts/RuntimeFlags.d.ts.map +1 -1
  271. package/dist/dts/STM.d.ts +303 -303
  272. package/dist/dts/STM.d.ts.map +1 -1
  273. package/dist/dts/Schedule.d.ts +47 -47
  274. package/dist/dts/Schedule.d.ts.map +1 -1
  275. package/dist/dts/Scope.d.ts +10 -10
  276. package/dist/dts/Scope.d.ts.map +1 -1
  277. package/dist/dts/ScopedCache.d.ts +14 -14
  278. package/dist/dts/ScopedCache.d.ts.map +1 -1
  279. package/dist/dts/ScopedRef.d.ts +5 -5
  280. package/dist/dts/ScopedRef.d.ts.map +1 -1
  281. package/dist/dts/SingleProducerAsyncInput.d.ts +8 -8
  282. package/dist/dts/SingleProducerAsyncInput.d.ts.map +1 -1
  283. package/dist/dts/Sink.d.ts +214 -205
  284. package/dist/dts/Sink.d.ts.map +1 -1
  285. package/dist/dts/Stream.d.ts +595 -592
  286. package/dist/dts/Stream.d.ts.map +1 -1
  287. package/dist/dts/StreamEmit.d.ts +5 -5
  288. package/dist/dts/StreamEmit.d.ts.map +1 -1
  289. package/dist/dts/Streamable.d.ts +2 -2
  290. package/dist/dts/Streamable.d.ts.map +1 -1
  291. package/dist/dts/SubscriptionRef.d.ts +41 -41
  292. package/dist/dts/SubscriptionRef.d.ts.map +1 -1
  293. package/dist/dts/Supervisor.d.ts +17 -17
  294. package/dist/dts/Supervisor.d.ts.map +1 -1
  295. package/dist/dts/SynchronizedRef.d.ts +41 -41
  296. package/dist/dts/SynchronizedRef.d.ts.map +1 -1
  297. package/dist/dts/TArray.d.ts +72 -72
  298. package/dist/dts/TArray.d.ts.map +1 -1
  299. package/dist/dts/TDeferred.d.ts +12 -12
  300. package/dist/dts/TDeferred.d.ts.map +1 -1
  301. package/dist/dts/TMap.d.ts +67 -67
  302. package/dist/dts/TMap.d.ts.map +1 -1
  303. package/dist/dts/TPriorityQueue.d.ts +23 -23
  304. package/dist/dts/TPriorityQueue.d.ts.map +1 -1
  305. package/dist/dts/TPubSub.d.ts +15 -15
  306. package/dist/dts/TPubSub.d.ts.map +1 -1
  307. package/dist/dts/TQueue.d.ts +40 -40
  308. package/dist/dts/TQueue.d.ts.map +1 -1
  309. package/dist/dts/TRandom.d.ts +13 -13
  310. package/dist/dts/TRandom.d.ts.map +1 -1
  311. package/dist/dts/TReentrantLock.d.ts +21 -21
  312. package/dist/dts/TReentrantLock.d.ts.map +1 -1
  313. package/dist/dts/TRef.d.ts +25 -25
  314. package/dist/dts/TRef.d.ts.map +1 -1
  315. package/dist/dts/TSemaphore.d.ts +15 -15
  316. package/dist/dts/TSemaphore.d.ts.map +1 -1
  317. package/dist/dts/TSet.d.ts +49 -49
  318. package/dist/dts/TSet.d.ts.map +1 -1
  319. package/dist/dts/Take.d.ts +41 -41
  320. package/dist/dts/Take.d.ts.map +1 -1
  321. package/dist/dts/TestAnnotation.d.ts +1 -3
  322. package/dist/dts/TestAnnotation.d.ts.map +1 -1
  323. package/dist/dts/TestAnnotations.d.ts +3 -3
  324. package/dist/dts/TestAnnotations.d.ts.map +1 -1
  325. package/dist/dts/TestClock.d.ts +18 -18
  326. package/dist/dts/TestClock.d.ts.map +1 -1
  327. package/dist/dts/TestConfig.d.ts.map +1 -1
  328. package/dist/dts/TestContext.d.ts +2 -2
  329. package/dist/dts/TestContext.d.ts.map +1 -1
  330. package/dist/dts/TestLive.d.ts +1 -1
  331. package/dist/dts/TestLive.d.ts.map +1 -1
  332. package/dist/dts/TestServices.d.ts +31 -31
  333. package/dist/dts/TestServices.d.ts.map +1 -1
  334. package/dist/dts/TestSized.d.ts +2 -2
  335. package/dist/dts/TestSized.d.ts.map +1 -1
  336. package/dist/dts/Tracer.d.ts +1 -1
  337. package/dist/dts/Utils.d.ts.map +1 -1
  338. package/dist/dts/index.d.ts +12 -2
  339. package/dist/dts/index.d.ts.map +1 -1
  340. package/dist/dts/internal/channel/channelExecutor.d.ts +1 -1
  341. package/dist/dts/internal/channel/channelExecutor.d.ts.map +1 -1
  342. package/dist/dts/internal/core-stream.d.ts +1 -1
  343. package/dist/dts/internal/core-stream.d.ts.map +1 -1
  344. package/dist/dts/internal/rateLimiter.d.ts +2 -0
  345. package/dist/dts/internal/rateLimiter.d.ts.map +1 -0
  346. package/dist/dts/internal/stm/stm.d.ts +6 -6
  347. package/dist/dts/internal/stm/stm.d.ts.map +1 -1
  348. package/dist/dts/internal/version.d.ts +1 -1
  349. package/dist/esm/Cause.js +13 -0
  350. package/dist/esm/Cause.js.map +1 -1
  351. package/dist/esm/Channel.js.map +1 -1
  352. package/dist/esm/Clock.js.map +1 -1
  353. package/dist/esm/Console.js.map +1 -1
  354. package/dist/esm/Context.js +22 -24
  355. package/dist/esm/Context.js.map +1 -1
  356. package/dist/esm/Data.js +4 -5
  357. package/dist/esm/Data.js.map +1 -1
  358. package/dist/esm/Deferred.js +1 -1
  359. package/dist/esm/Deferred.js.map +1 -1
  360. package/dist/esm/Effect.js +9 -9
  361. package/dist/esm/Effect.js.map +1 -1
  362. package/dist/esm/Effectable.js.map +1 -1
  363. package/dist/esm/Either.js.map +1 -1
  364. package/dist/esm/Exit.js +2 -2
  365. package/dist/esm/Exit.js.map +1 -1
  366. package/dist/esm/Fiber.js.map +1 -1
  367. package/dist/esm/FiberMap.js +3 -3
  368. package/dist/esm/FiberRef.js.map +1 -1
  369. package/dist/esm/FiberRefs.js.map +1 -1
  370. package/dist/esm/FiberSet.js +3 -3
  371. package/dist/esm/FiberSet.js.map +1 -1
  372. package/dist/esm/GroupBy.js.map +1 -1
  373. package/dist/esm/Layer.js.map +1 -1
  374. package/dist/esm/LogLevel.js.map +1 -1
  375. package/dist/esm/Logger.js.map +1 -1
  376. package/dist/esm/Metric.js.map +1 -1
  377. package/dist/esm/Number.js +18 -0
  378. package/dist/esm/Number.js.map +1 -1
  379. package/dist/esm/Option.js.map +1 -1
  380. package/dist/esm/Pool.js.map +1 -1
  381. package/dist/esm/PubSub.js.map +1 -1
  382. package/dist/esm/Queue.js.map +1 -1
  383. package/dist/esm/Random.js.map +1 -1
  384. package/dist/esm/RateLimiter.js +7 -0
  385. package/dist/esm/RateLimiter.js.map +1 -0
  386. package/dist/esm/ReadonlyRecord.js +44 -8
  387. package/dist/esm/ReadonlyRecord.js.map +1 -1
  388. package/dist/esm/Ref.js.map +1 -1
  389. package/dist/esm/Request.js.map +1 -1
  390. package/dist/esm/RequestResolver.js.map +1 -1
  391. package/dist/esm/Resource.js.map +1 -1
  392. package/dist/esm/Runtime.js +1 -4
  393. package/dist/esm/Runtime.js.map +1 -1
  394. package/dist/esm/RuntimeFlags.js.map +1 -1
  395. package/dist/esm/STM.js.map +1 -1
  396. package/dist/esm/Schedule.js.map +1 -1
  397. package/dist/esm/Scope.js.map +1 -1
  398. package/dist/esm/ScopedRef.js.map +1 -1
  399. package/dist/esm/SingleProducerAsyncInput.js.map +1 -1
  400. package/dist/esm/Sink.js.map +1 -1
  401. package/dist/esm/Stream.js.map +1 -1
  402. package/dist/esm/SubscriptionRef.js.map +1 -1
  403. package/dist/esm/Supervisor.js.map +1 -1
  404. package/dist/esm/SynchronizedRef.js.map +1 -1
  405. package/dist/esm/TArray.js.map +1 -1
  406. package/dist/esm/TDeferred.js.map +1 -1
  407. package/dist/esm/TMap.js.map +1 -1
  408. package/dist/esm/TPriorityQueue.js.map +1 -1
  409. package/dist/esm/TPubSub.js.map +1 -1
  410. package/dist/esm/TQueue.js.map +1 -1
  411. package/dist/esm/TRandom.js.map +1 -1
  412. package/dist/esm/TReentrantLock.js.map +1 -1
  413. package/dist/esm/TRef.js.map +1 -1
  414. package/dist/esm/TSemaphore.js.map +1 -1
  415. package/dist/esm/TSet.js.map +1 -1
  416. package/dist/esm/Take.js +6 -6
  417. package/dist/esm/Take.js.map +1 -1
  418. package/dist/esm/TestAnnotation.js +10 -13
  419. package/dist/esm/TestAnnotation.js.map +1 -1
  420. package/dist/esm/TestAnnotations.js +1 -1
  421. package/dist/esm/TestAnnotations.js.map +1 -1
  422. package/dist/esm/TestClock.js +1 -1
  423. package/dist/esm/TestClock.js.map +1 -1
  424. package/dist/esm/TestConfig.js +1 -1
  425. package/dist/esm/TestConfig.js.map +1 -1
  426. package/dist/esm/TestContext.js.map +1 -1
  427. package/dist/esm/TestLive.js +1 -1
  428. package/dist/esm/TestLive.js.map +1 -1
  429. package/dist/esm/TestServices.js.map +1 -1
  430. package/dist/esm/TestSized.js +1 -1
  431. package/dist/esm/TestSized.js.map +1 -1
  432. package/dist/esm/Utils.js +1 -1
  433. package/dist/esm/Utils.js.map +1 -1
  434. package/dist/esm/index.js +12 -2
  435. package/dist/esm/index.js.map +1 -1
  436. package/dist/esm/internal/cache.js.map +1 -1
  437. package/dist/esm/internal/channel/channelExecutor.js.map +1 -1
  438. package/dist/esm/internal/channel/mergeDecision.js +2 -6
  439. package/dist/esm/internal/channel/mergeDecision.js.map +1 -1
  440. package/dist/esm/internal/channel/singleProducerAsyncInput.js.map +1 -1
  441. package/dist/esm/internal/channel.js +1 -1
  442. package/dist/esm/internal/channel.js.map +1 -1
  443. package/dist/esm/internal/clock.js +1 -1
  444. package/dist/esm/internal/clock.js.map +1 -1
  445. package/dist/esm/internal/configProvider.js +2 -4
  446. package/dist/esm/internal/configProvider.js.map +1 -1
  447. package/dist/esm/internal/console.js.map +1 -1
  448. package/dist/esm/internal/context.js +28 -20
  449. package/dist/esm/internal/context.js.map +1 -1
  450. package/dist/esm/internal/core-effect.js +12 -26
  451. package/dist/esm/internal/core-effect.js.map +1 -1
  452. package/dist/esm/internal/core-stream.js.map +1 -1
  453. package/dist/esm/internal/core.js +57 -127
  454. package/dist/esm/internal/core.js.map +1 -1
  455. package/dist/esm/internal/data.js.map +1 -1
  456. package/dist/esm/internal/defaultServices/console.js +1 -1
  457. package/dist/esm/internal/defaultServices/console.js.map +1 -1
  458. package/dist/esm/internal/defaultServices.js.map +1 -1
  459. package/dist/esm/internal/deferred.js.map +1 -1
  460. package/dist/esm/internal/differ/contextPatch.js +9 -9
  461. package/dist/esm/internal/differ/contextPatch.js.map +1 -1
  462. package/dist/esm/internal/effect/circular.js +5 -8
  463. package/dist/esm/internal/effect/circular.js.map +1 -1
  464. package/dist/esm/internal/effectable.js +4 -4
  465. package/dist/esm/internal/effectable.js.map +1 -1
  466. package/dist/esm/internal/fiber.js +2 -6
  467. package/dist/esm/internal/fiber.js.map +1 -1
  468. package/dist/esm/internal/fiberRuntime.js +10 -19
  469. package/dist/esm/internal/fiberRuntime.js.map +1 -1
  470. package/dist/esm/internal/groupBy.js.map +1 -1
  471. package/dist/esm/internal/keyedPool.js.map +1 -1
  472. package/dist/esm/internal/layer/circular.js.map +1 -1
  473. package/dist/esm/internal/layer.js +3 -3
  474. package/dist/esm/internal/layer.js.map +1 -1
  475. package/dist/esm/internal/logSpan.js +3 -5
  476. package/dist/esm/internal/logSpan.js.map +1 -1
  477. package/dist/esm/internal/metric.js.map +1 -1
  478. package/dist/esm/internal/pool.js.map +1 -1
  479. package/dist/esm/internal/pubsub.js +1 -5
  480. package/dist/esm/internal/pubsub.js.map +1 -1
  481. package/dist/esm/internal/query.js.map +1 -1
  482. package/dist/esm/internal/queue.js.map +1 -1
  483. package/dist/esm/internal/random.js +1 -1
  484. package/dist/esm/internal/random.js.map +1 -1
  485. package/dist/esm/internal/rateLimiter.js +12 -0
  486. package/dist/esm/internal/rateLimiter.js.map +1 -0
  487. package/dist/esm/internal/ref.js.map +1 -1
  488. package/dist/esm/internal/reloadable.js +1 -9
  489. package/dist/esm/internal/reloadable.js.map +1 -1
  490. package/dist/esm/internal/runtime.js +0 -1
  491. package/dist/esm/internal/runtime.js.map +1 -1
  492. package/dist/esm/internal/schedule.js.map +1 -1
  493. package/dist/esm/internal/scopedCache.js.map +1 -1
  494. package/dist/esm/internal/scopedRef.js.map +1 -1
  495. package/dist/esm/internal/sink.js +7 -7
  496. package/dist/esm/internal/sink.js.map +1 -1
  497. package/dist/esm/internal/stm/core.js.map +1 -1
  498. package/dist/esm/internal/stm/stm/stmState.js.map +1 -1
  499. package/dist/esm/internal/stm/stm/tExit.js +2 -2
  500. package/dist/esm/internal/stm/stm/tExit.js.map +1 -1
  501. package/dist/esm/internal/stm/stm/tryCommit.js.map +1 -1
  502. package/dist/esm/internal/stm/stm.js.map +1 -1
  503. package/dist/esm/internal/stm/tArray.js.map +1 -1
  504. package/dist/esm/internal/stm/tDeferred.js +4 -2
  505. package/dist/esm/internal/stm/tDeferred.js.map +1 -1
  506. package/dist/esm/internal/stm/tMap.js.map +1 -1
  507. package/dist/esm/internal/stm/tPriorityQueue.js.map +1 -1
  508. package/dist/esm/internal/stm/tPubSub.js.map +1 -1
  509. package/dist/esm/internal/stm/tQueue.js.map +1 -1
  510. package/dist/esm/internal/stm/tRandom.js +1 -1
  511. package/dist/esm/internal/stm/tRandom.js.map +1 -1
  512. package/dist/esm/internal/stm/tReentrantLock.js.map +1 -1
  513. package/dist/esm/internal/stm/tRef.js.map +1 -1
  514. package/dist/esm/internal/stm/tSemaphore.js.map +1 -1
  515. package/dist/esm/internal/stm/tSet.js.map +1 -1
  516. package/dist/esm/internal/stream/debounceState.js.map +1 -1
  517. package/dist/esm/internal/stream/handoff.js.map +1 -1
  518. package/dist/esm/internal/stream/handoffSignal.js.map +1 -1
  519. package/dist/esm/internal/stream/pull.js.map +1 -1
  520. package/dist/esm/internal/stream.js +0 -2
  521. package/dist/esm/internal/stream.js.map +1 -1
  522. package/dist/esm/internal/subscriptionRef.js.map +1 -1
  523. package/dist/esm/internal/supervisor.js.map +1 -1
  524. package/dist/esm/internal/take.js +2 -2
  525. package/dist/esm/internal/take.js.map +1 -1
  526. package/dist/esm/internal/testing/sleep.js.map +1 -1
  527. package/dist/esm/internal/tracer.js +2 -2
  528. package/dist/esm/internal/tracer.js.map +1 -1
  529. package/dist/esm/internal/version.js +1 -1
  530. package/package.json +9 -1
  531. package/src/Cache.ts +20 -20
  532. package/src/Cause.ts +37 -13
  533. package/src/Channel.ts +802 -794
  534. package/src/Clock.ts +7 -7
  535. package/src/Config.ts +1 -1
  536. package/src/ConfigProvider.ts +6 -6
  537. package/src/Console.ts +44 -48
  538. package/src/Context.ts +52 -30
  539. package/src/Data.ts +38 -61
  540. package/src/Deferred.ts +39 -41
  541. package/src/Effect.ts +1187 -1206
  542. package/src/Effectable.ts +8 -8
  543. package/src/Either.ts +2 -3
  544. package/src/Exit.ts +88 -105
  545. package/src/Fiber.ts +77 -83
  546. package/src/FiberMap.ts +77 -77
  547. package/src/FiberRef.ts +28 -28
  548. package/src/FiberRefs.ts +1 -1
  549. package/src/FiberSet.ts +61 -62
  550. package/src/GroupBy.ts +8 -12
  551. package/src/KeyedPool.ts +22 -22
  552. package/src/Layer.ts +187 -181
  553. package/src/LogLevel.ts +7 -6
  554. package/src/Logger.ts +18 -18
  555. package/src/MergeDecision.ts +7 -7
  556. package/src/MergeState.ts +16 -16
  557. package/src/Metric.ts +39 -39
  558. package/src/MetricPolling.ts +6 -6
  559. package/src/Number.ts +19 -0
  560. package/src/Option.ts +2 -3
  561. package/src/Pool.ts +15 -16
  562. package/src/PubSub.ts +18 -18
  563. package/src/Queue.ts +43 -46
  564. package/src/Random.ts +13 -15
  565. package/src/RateLimiter.ts +37 -0
  566. package/src/ReadonlyRecord.ts +49 -8
  567. package/src/Ref.ts +25 -25
  568. package/src/Reloadable.ts +10 -10
  569. package/src/Request.ts +31 -31
  570. package/src/RequestBlock.ts +3 -3
  571. package/src/RequestResolver.ts +21 -21
  572. package/src/Resource.ts +13 -13
  573. package/src/Runtime.ts +16 -19
  574. package/src/RuntimeFlags.ts +10 -10
  575. package/src/STM.ts +361 -362
  576. package/src/Schedule.ts +47 -47
  577. package/src/Scheduler.ts +2 -2
  578. package/src/Scope.ts +14 -15
  579. package/src/ScopedCache.ts +14 -14
  580. package/src/ScopedRef.ts +7 -7
  581. package/src/SingleProducerAsyncInput.ts +8 -9
  582. package/src/Sink.ts +357 -381
  583. package/src/Stream.ts +935 -1033
  584. package/src/StreamEmit.ts +5 -5
  585. package/src/Streamable.ts +2 -2
  586. package/src/SubscriptionRef.ts +51 -51
  587. package/src/Supervisor.ts +26 -26
  588. package/src/SynchronizedRef.ts +44 -44
  589. package/src/TArray.ts +74 -74
  590. package/src/TDeferred.ts +14 -14
  591. package/src/TMap.ts +72 -72
  592. package/src/TPriorityQueue.ts +23 -24
  593. package/src/TPubSub.ts +15 -15
  594. package/src/TQueue.ts +40 -40
  595. package/src/TRandom.ts +13 -13
  596. package/src/TReentrantLock.ts +21 -21
  597. package/src/TRef.ts +25 -25
  598. package/src/TSemaphore.ts +15 -15
  599. package/src/TSet.ts +49 -49
  600. package/src/Take.ts +51 -51
  601. package/src/TestAnnotation.ts +6 -17
  602. package/src/TestAnnotations.ts +7 -9
  603. package/src/TestClock.ts +39 -45
  604. package/src/TestConfig.ts +1 -3
  605. package/src/TestContext.ts +3 -3
  606. package/src/TestLive.ts +3 -5
  607. package/src/TestServices.ts +45 -47
  608. package/src/TestSized.ts +5 -5
  609. package/src/Tracer.ts +1 -1
  610. package/src/Utils.ts +8 -10
  611. package/src/index.ts +13 -2
  612. package/src/internal/blockedRequests.ts +2 -2
  613. package/src/internal/cache.ts +38 -38
  614. package/src/internal/channel/channelExecutor.ts +65 -73
  615. package/src/internal/channel/channelState.ts +11 -11
  616. package/src/internal/channel/continuation.ts +10 -10
  617. package/src/internal/channel/mergeDecision.ts +14 -16
  618. package/src/internal/channel/mergeState.ts +12 -12
  619. package/src/internal/channel/singleProducerAsyncInput.ts +15 -17
  620. package/src/internal/channel/subexecutor.ts +7 -7
  621. package/src/internal/channel.ts +901 -980
  622. package/src/internal/clock.ts +6 -6
  623. package/src/internal/concurrency.ts +9 -9
  624. package/src/internal/configProvider.ts +29 -36
  625. package/src/internal/console.ts +12 -12
  626. package/src/internal/context.ts +32 -23
  627. package/src/internal/core-effect.ts +655 -616
  628. package/src/internal/core-stream.ts +317 -325
  629. package/src/internal/core.ts +856 -790
  630. package/src/internal/data.ts +2 -3
  631. package/src/internal/dataSource.ts +14 -14
  632. package/src/internal/defaultServices/console.ts +3 -1
  633. package/src/internal/defaultServices.ts +21 -21
  634. package/src/internal/deferred.ts +9 -9
  635. package/src/internal/differ/contextPatch.ts +17 -17
  636. package/src/internal/effect/circular.ts +154 -159
  637. package/src/internal/effectable.ts +7 -7
  638. package/src/internal/fiber.ts +55 -59
  639. package/src/internal/fiberRefs.ts +1 -1
  640. package/src/internal/fiberRuntime.ts +426 -463
  641. package/src/internal/groupBy.ts +59 -62
  642. package/src/internal/keyedPool.ts +37 -37
  643. package/src/internal/layer/circular.ts +37 -37
  644. package/src/internal/layer.ts +235 -240
  645. package/src/internal/logSpan.ts +3 -5
  646. package/src/internal/metric/polling.ts +5 -5
  647. package/src/internal/metric.ts +54 -55
  648. package/src/internal/pool.ts +72 -72
  649. package/src/internal/pubsub.ts +75 -84
  650. package/src/internal/query.ts +25 -27
  651. package/src/internal/queue.ts +65 -70
  652. package/src/internal/random.ts +9 -9
  653. package/src/internal/rateLimiter.ts +30 -0
  654. package/src/internal/ref.ts +24 -24
  655. package/src/internal/reloadable.ts +11 -31
  656. package/src/internal/request.ts +14 -14
  657. package/src/internal/resource.ts +8 -8
  658. package/src/internal/runtime.ts +21 -22
  659. package/src/internal/schedule.ts +131 -134
  660. package/src/internal/scopedCache.ts +35 -32
  661. package/src/internal/scopedRef.ts +14 -14
  662. package/src/internal/sink.ts +507 -565
  663. package/src/internal/stm/core.ts +101 -102
  664. package/src/internal/stm/stm/stmState.ts +10 -10
  665. package/src/internal/stm/stm/tExit.ts +18 -18
  666. package/src/internal/stm/stm/tryCommit.ts +5 -5
  667. package/src/internal/stm/stm.ts +363 -374
  668. package/src/internal/stm/tArray.ts +92 -92
  669. package/src/internal/stm/tDeferred.ts +16 -14
  670. package/src/internal/stm/tMap.ts +83 -84
  671. package/src/internal/stm/tPriorityQueue.ts +24 -25
  672. package/src/internal/stm/tPubSub.ts +37 -38
  673. package/src/internal/stm/tQueue.ts +44 -48
  674. package/src/internal/stm/tRandom.ts +18 -18
  675. package/src/internal/stm/tReentrantLock.ts +28 -28
  676. package/src/internal/stm/tRef.ts +25 -25
  677. package/src/internal/stm/tSemaphore.ts +16 -16
  678. package/src/internal/stm/tSet.ts +51 -52
  679. package/src/internal/stream/debounceState.ts +7 -7
  680. package/src/internal/stream/emit.ts +4 -4
  681. package/src/internal/stream/handoff.ts +19 -19
  682. package/src/internal/stream/handoffSignal.ts +4 -4
  683. package/src/internal/stream/pull.ts +10 -11
  684. package/src/internal/stream.ts +1770 -1788
  685. package/src/internal/subscriptionRef.ts +17 -17
  686. package/src/internal/supervisor.ts +49 -56
  687. package/src/internal/synchronizedRef.ts +27 -27
  688. package/src/internal/take.ts +61 -61
  689. package/src/internal/testing/sleep.ts +2 -2
  690. package/src/internal/testing/suspendedWarningData.ts +2 -2
  691. package/src/internal/testing/warningData.ts +2 -2
  692. package/src/internal/tracer.ts +2 -6
  693. package/src/internal/version.ts +1 -1
package/src/LogLevel.ts CHANGED
@@ -178,12 +178,13 @@ export const allLevels = core.allLogLevels
178
178
  * @category utils
179
179
  */
180
180
  export const locally: {
181
- (self: LogLevel): <R, E, B>(use: Effect.Effect<R, E, B>) => Effect.Effect<R, E, B>
182
- <R, E, B>(use: Effect.Effect<R, E, B>, self: LogLevel): Effect.Effect<R, E, B>
183
- } = dual<
184
- (self: LogLevel) => <R, E, B>(use: Effect.Effect<R, E, B>) => Effect.Effect<R, E, B>,
185
- <R, E, B>(use: Effect.Effect<R, E, B>, self: LogLevel) => Effect.Effect<R, E, B>
186
- >(2, (use, self) => core.fiberRefLocally(use, core.currentLogLevel, self))
181
+ (self: LogLevel): <A, E, R>(use: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
182
+ <A, E, R>(use: Effect.Effect<A, E, R>, self: LogLevel): Effect.Effect<A, E, R>
183
+ } = dual(
184
+ 2,
185
+ <A, E, R>(use: Effect.Effect<A, E, R>, self: LogLevel): Effect.Effect<A, E, R> =>
186
+ core.fiberRefLocally(use, core.currentLogLevel, self)
187
+ )
187
188
 
188
189
  /**
189
190
  * @since 2.0.0
package/src/Logger.ts CHANGED
@@ -82,22 +82,22 @@ export const make: <Message, Output>(log: (options: Logger.Options<Message>) =>
82
82
  * @since 2.0.0
83
83
  * @category context
84
84
  */
85
- export const add: <B>(logger: Logger<unknown, B>) => Layer.Layer<never, never, never> = circular.addLogger
85
+ export const add: <B>(logger: Logger<unknown, B>) => Layer.Layer<never> = circular.addLogger
86
86
 
87
87
  /**
88
88
  * @since 2.0.0
89
89
  * @category context
90
90
  */
91
- export const addEffect: <R, E, A>(effect: Effect<R, E, Logger<unknown, A>>) => Layer.Layer<R, E, never> =
91
+ export const addEffect: <A, E, R>(effect: Effect<Logger<unknown, A>, E, R>) => Layer.Layer<never, E, R> =
92
92
  circular.addLoggerEffect
93
93
 
94
94
  /**
95
95
  * @since 2.0.0
96
96
  * @category context
97
97
  */
98
- export const addScoped: <R, E, A>(
99
- effect: Effect<R, E, Logger<unknown, A>>
100
- ) => Layer.Layer<Exclude<R, Scope>, E, never> = circular.addLoggerScoped
98
+ export const addScoped: <A, E, R>(
99
+ effect: Effect<Logger<unknown, A>, E, R>
100
+ ) => Layer.Layer<never, E, Exclude<R, Scope>> = circular.addLoggerScoped
101
101
 
102
102
  /**
103
103
  * @since 2.0.0
@@ -170,15 +170,15 @@ export const none: Logger<unknown, void> = internal.none
170
170
  * @since 2.0.0
171
171
  * @category context
172
172
  */
173
- export const remove: <A>(logger: Logger<unknown, A>) => Layer.Layer<never, never, never> = circular.removeLogger
173
+ export const remove: <A>(logger: Logger<unknown, A>) => Layer.Layer<never> = circular.removeLogger
174
174
 
175
175
  /**
176
176
  * @since 2.0.0
177
177
  * @category context
178
178
  */
179
179
  export const replace: {
180
- <B>(that: Logger<unknown, B>): <A>(self: Logger<unknown, A>) => Layer.Layer<never, never, never>
181
- <A, B>(self: Logger<unknown, A>, that: Logger<unknown, B>): Layer.Layer<never, never, never>
180
+ <B>(that: Logger<unknown, B>): <A>(self: Logger<unknown, A>) => Layer.Layer<never>
181
+ <A, B>(self: Logger<unknown, A>, that: Logger<unknown, B>): Layer.Layer<never>
182
182
  } = circular.replaceLogger
183
183
 
184
184
  /**
@@ -186,8 +186,8 @@ export const replace: {
186
186
  * @category context
187
187
  */
188
188
  export const replaceEffect: {
189
- <R, E, B>(that: Effect<R, E, Logger<unknown, B>>): <A>(self: Logger<unknown, A>) => Layer.Layer<R, E, never>
190
- <A, R, E, B>(self: Logger<unknown, A>, that: Effect<R, E, Logger<unknown, B>>): Layer.Layer<R, E, never>
189
+ <R, E, B>(that: Effect<Logger<unknown, B>, E, R>): <A>(self: Logger<unknown, A>) => Layer.Layer<never, E, R>
190
+ <A, R, E, B>(self: Logger<unknown, A>, that: Effect<Logger<unknown, B>, E, R>): Layer.Layer<never, E, R>
191
191
  } = circular.replaceLoggerEffect
192
192
 
193
193
  /**
@@ -196,12 +196,12 @@ export const replaceEffect: {
196
196
  */
197
197
  export const replaceScoped: {
198
198
  <R, E, B>(
199
- that: Effect<R, E, Logger<unknown, B>>
200
- ): <A>(self: Logger<unknown, A>) => Layer.Layer<Exclude<R, Scope>, E, never>
199
+ that: Effect<Logger<unknown, B>, E, R>
200
+ ): <A>(self: Logger<unknown, A>) => Layer.Layer<never, E, Exclude<R, Scope>>
201
201
  <A, R, E, B>(
202
202
  self: Logger<unknown, A>,
203
- that: Effect<R, E, Logger<unknown, B>>
204
- ): Layer.Layer<Exclude<R, Scope>, E, never>
203
+ that: Effect<Logger<unknown, B>, E, R>
204
+ ): Layer.Layer<never, E, Exclude<R, Scope>>
205
205
  } = circular.replaceLoggerScoped
206
206
 
207
207
  /**
@@ -236,8 +236,8 @@ export const test: {
236
236
  * @category context
237
237
  */
238
238
  export const withMinimumLogLevel: {
239
- (level: LogLevel.LogLevel): <R, E, A>(self: Effect<R, E, A>) => Effect<R, E, A>
240
- <R, E, A>(self: Effect<R, E, A>, level: LogLevel.LogLevel): Effect<R, E, A>
239
+ (level: LogLevel.LogLevel): <A, E, R>(self: Effect<A, E, R>) => Effect<A, E, R>
240
+ <A, E, R>(self: Effect<A, E, R>, level: LogLevel.LogLevel): Effect<A, E, R>
241
241
  } = circular.withMinimumLogLevel
242
242
 
243
243
  /**
@@ -320,10 +320,10 @@ export const tracerLogger: Logger<unknown, void> = fiberRuntime.tracerLogger
320
320
  * @since 2.0.0
321
321
  * @category constructors
322
322
  */
323
- export const logFmt: Layer.Layer<never, never, never> = replace(fiberRuntime.defaultLogger, fiberRuntime.logFmtLogger)
323
+ export const logFmt: Layer.Layer<never> = replace(fiberRuntime.defaultLogger, fiberRuntime.logFmtLogger)
324
324
 
325
325
  /**
326
326
  * @since 2.0.0
327
327
  * @category context
328
328
  */
329
- export const minimumLogLevel: (level: LogLevel.LogLevel) => Layer.Layer<never, never, never> = circular.minimumLogLevel
329
+ export const minimumLogLevel: (level: LogLevel.LogLevel) => Layer.Layer<never> = circular.minimumLogLevel
@@ -47,21 +47,21 @@ export declare namespace MergeDecision {
47
47
  * @since 2.0.0
48
48
  * @category constructors
49
49
  */
50
- export const Done: <R, E, Z>(effect: Effect.Effect<R, E, Z>) => MergeDecision<R, unknown, unknown, E, Z> = internal.Done
50
+ export const Done: <Z, E, R>(effect: Effect.Effect<Z, E, R>) => MergeDecision<R, unknown, unknown, E, Z> = internal.Done
51
51
 
52
52
  /**
53
53
  * @since 2.0.0
54
54
  * @category constructors
55
55
  */
56
56
  export const Await: <R, E0, Z0, E, Z>(
57
- f: (exit: Exit.Exit<E0, Z0>) => Effect.Effect<R, E, Z>
57
+ f: (exit: Exit.Exit<Z0, E0>) => Effect.Effect<Z, E, R>
58
58
  ) => MergeDecision<R, E0, Z0, E, Z> = internal.Await
59
59
 
60
60
  /**
61
61
  * @since 2.0.0
62
62
  * @category constructors
63
63
  */
64
- export const AwaitConst: <R, E, Z>(effect: Effect.Effect<R, E, Z>) => MergeDecision<R, unknown, unknown, E, Z> =
64
+ export const AwaitConst: <R, E, Z>(effect: Effect.Effect<Z, E, R>) => MergeDecision<R, unknown, unknown, E, Z> =
65
65
  internal.AwaitConst
66
66
 
67
67
  /**
@@ -81,15 +81,15 @@ export const isMergeDecision: (u: unknown) => u is MergeDecision<unknown, unknow
81
81
  export const match: {
82
82
  <R, E0, Z0, E, Z, Z2>(
83
83
  options: {
84
- readonly onDone: (effect: Effect.Effect<R, E, Z>) => Z2
85
- readonly onAwait: (f: (exit: Exit.Exit<E0, Z0>) => Effect.Effect<R, E, Z>) => Z2
84
+ readonly onDone: (effect: Effect.Effect<Z, E, R>) => Z2
85
+ readonly onAwait: (f: (exit: Exit.Exit<Z0, E0>) => Effect.Effect<Z, E, R>) => Z2
86
86
  }
87
87
  ): (self: MergeDecision<R, E0, Z0, E, Z>) => Z2
88
88
  <R, E0, Z0, E, Z, Z2>(
89
89
  self: MergeDecision<R, E0, Z0, E, Z>,
90
90
  options: {
91
- readonly onDone: (effect: Effect.Effect<R, E, Z>) => Z2
92
- readonly onAwait: (f: (exit: Exit.Exit<E0, Z0>) => Effect.Effect<R, E, Z>) => Z2
91
+ readonly onDone: (effect: Effect.Effect<Z, E, R>) => Z2
92
+ readonly onAwait: (f: (exit: Exit.Exit<Z0, E0>) => Effect.Effect<Z, E, R>) => Z2
93
93
  }
94
94
  ): Z2
95
95
  } = internal.match
package/src/MergeState.ts CHANGED
@@ -49,8 +49,8 @@ export interface BothRunning<_Env, out Err, out Err1, _Err2, out Elem, out Done,
49
49
  extends MergeState.Proto
50
50
  {
51
51
  readonly _tag: "BothRunning"
52
- readonly left: Fiber.Fiber<Err, Either.Either<Done, Elem>>
53
- readonly right: Fiber.Fiber<Err1, Either.Either<Done1, Elem>>
52
+ readonly left: Fiber.Fiber<Either.Either<Done, Elem>, Err>
53
+ readonly right: Fiber.Fiber<Either.Either<Done1, Elem>, Err1>
54
54
  }
55
55
 
56
56
  /**
@@ -61,7 +61,7 @@ export interface LeftDone<out Env, _Err, in Err1, out Err2, _Elem, _Done, in Don
61
61
  extends MergeState.Proto
62
62
  {
63
63
  readonly _tag: "LeftDone"
64
- f(exit: Exit.Exit<Err1, Done1>): Effect.Effect<Env, Err2, Done2>
64
+ f(exit: Exit.Exit<Done1, Err1>): Effect.Effect<Done2, Err2, Env>
65
65
  }
66
66
 
67
67
  /**
@@ -72,7 +72,7 @@ export interface RightDone<out Env, in Err, _Err1, out Err2, _Elem, in Done, _Do
72
72
  extends MergeState.Proto
73
73
  {
74
74
  readonly _tag: "RightDone"
75
- f(exit: Exit.Exit<Err, Done>): Effect.Effect<Env, Err2, Done2>
75
+ f(exit: Exit.Exit<Done, Err>): Effect.Effect<Done2, Err2, Env>
76
76
  }
77
77
 
78
78
  /**
@@ -80,8 +80,8 @@ export interface RightDone<out Env, in Err, _Err1, out Err2, _Elem, in Done, _Do
80
80
  * @category constructors
81
81
  */
82
82
  export const BothRunning: <Env, Err, Err1, Err2, Elem, Done, Done1, Done2>(
83
- left: Fiber.Fiber<Err, Either.Either<Done, Elem>>,
84
- right: Fiber.Fiber<Err1, Either.Either<Done1, Elem>>
83
+ left: Fiber.Fiber<Either.Either<Done, Elem>, Err>,
84
+ right: Fiber.Fiber<Either.Either<Done1, Elem>, Err1>
85
85
  ) => MergeState<Env, Err, Err1, Err2, Elem, Done, Done1, Done2> = internal.BothRunning
86
86
 
87
87
  /**
@@ -89,7 +89,7 @@ export const BothRunning: <Env, Err, Err1, Err2, Elem, Done, Done1, Done2>(
89
89
  * @category constructors
90
90
  */
91
91
  export const LeftDone: <Env, Err, Err1, Err2, Elem, Done, Done1, Done2>(
92
- f: (exit: Exit.Exit<Err1, Done1>) => Effect.Effect<Env, Err2, Done2>
92
+ f: (exit: Exit.Exit<Done1, Err1>) => Effect.Effect<Done2, Err2, Env>
93
93
  ) => MergeState<Env, Err, Err1, Err2, Elem, Done, Done1, Done2> = internal.LeftDone
94
94
 
95
95
  /**
@@ -97,7 +97,7 @@ export const LeftDone: <Env, Err, Err1, Err2, Elem, Done, Done1, Done2>(
97
97
  * @category constructors
98
98
  */
99
99
  export const RightDone: <Env, Err, Err1, Err2, Elem, Done, Done1, Done2>(
100
- f: (exit: Exit.Exit<Err, Done>) => Effect.Effect<Env, Err2, Done2>
100
+ f: (exit: Exit.Exit<Done, Err>) => Effect.Effect<Done2, Err2, Env>
101
101
  ) => MergeState<Env, Err, Err1, Err2, Elem, Done, Done1, Done2> = internal.RightDone
102
102
 
103
103
  /**
@@ -151,22 +151,22 @@ export const match: {
151
151
  <Env, Err, Err1, Err2, Elem, Done, Done1, Done2, Z>(
152
152
  options: {
153
153
  readonly onBothRunning: (
154
- left: Fiber.Fiber<Err, Either.Either<Done, Elem>>,
155
- right: Fiber.Fiber<Err1, Either.Either<Done1, Elem>>
154
+ left: Fiber.Fiber<Either.Either<Done, Elem>, Err>,
155
+ right: Fiber.Fiber<Either.Either<Done1, Elem>, Err1>
156
156
  ) => Z
157
- readonly onLeftDone: (f: (exit: Exit.Exit<Err1, Done1>) => Effect.Effect<Env, Err2, Done2>) => Z
158
- readonly onRightDone: (f: (exit: Exit.Exit<Err, Done>) => Effect.Effect<Env, Err2, Done2>) => Z
157
+ readonly onLeftDone: (f: (exit: Exit.Exit<Done1, Err1>) => Effect.Effect<Done2, Err2, Env>) => Z
158
+ readonly onRightDone: (f: (exit: Exit.Exit<Done, Err>) => Effect.Effect<Done2, Err2, Env>) => Z
159
159
  }
160
160
  ): (self: MergeState<Env, Err, Err1, Err2, Elem, Done, Done1, Done2>) => Z
161
161
  <Env, Err, Err1, Err2, Elem, Done, Done1, Done2, Z>(
162
162
  self: MergeState<Env, Err, Err1, Err2, Elem, Done, Done1, Done2>,
163
163
  options: {
164
164
  readonly onBothRunning: (
165
- left: Fiber.Fiber<Err, Either.Either<Done, Elem>>,
166
- right: Fiber.Fiber<Err1, Either.Either<Done1, Elem>>
165
+ left: Fiber.Fiber<Either.Either<Done, Elem>, Err>,
166
+ right: Fiber.Fiber<Either.Either<Done1, Elem>, Err1>
167
167
  ) => Z
168
- readonly onLeftDone: (f: (exit: Exit.Exit<Err1, Done1>) => Effect.Effect<Env, Err2, Done2>) => Z
169
- readonly onRightDone: (f: (exit: Exit.Exit<Err, Done>) => Effect.Effect<Env, Err2, Done2>) => Z
168
+ readonly onLeftDone: (f: (exit: Exit.Exit<Done1, Err1>) => Effect.Effect<Done2, Err2, Env>) => Z
169
+ readonly onRightDone: (f: (exit: Exit.Exit<Done, Err>) => Effect.Effect<Done2, Err2, Env>) => Z
170
170
  }
171
171
  ): Z
172
172
  } = internal.match
package/src/Metric.ts CHANGED
@@ -57,7 +57,7 @@ export interface Metric<in out Type, in In, out Out> extends Metric.Variance<Typ
57
57
  unsafeUpdate(input: In, extraTags: ReadonlyArray<MetricLabel.MetricLabel>): void
58
58
  unsafeValue(extraTags: ReadonlyArray<MetricLabel.MetricLabel>): Out
59
59
  register(): this
60
- <R, E, A extends In>(effect: Effect.Effect<R, E, A>): Effect.Effect<R, E, A>
60
+ <R, E, A extends In>(effect: Effect.Effect<A, E, R>): Effect.Effect<A, E, R>
61
61
  }
62
62
 
63
63
  /**
@@ -302,7 +302,7 @@ export const histogram: (
302
302
  * @since 2.0.0
303
303
  * @category aspects
304
304
  */
305
- export const increment: (self: Metric.Counter<number> | Metric.Counter<bigint>) => Effect.Effect<never, never, void> =
305
+ export const increment: (self: Metric.Counter<number> | Metric.Counter<bigint>) => Effect.Effect<void> =
306
306
  internal.increment
307
307
 
308
308
  /**
@@ -310,10 +310,10 @@ export const increment: (self: Metric.Counter<number> | Metric.Counter<bigint>)
310
310
  * @category aspects
311
311
  */
312
312
  export const incrementBy: {
313
- (amount: number): (self: Metric.Counter<number>) => Effect.Effect<never, never, void>
314
- (amount: bigint): (self: Metric.Counter<bigint>) => Effect.Effect<never, never, void>
315
- (self: Metric.Counter<number>, amount: number): Effect.Effect<never, never, void>
316
- (self: Metric.Counter<bigint>, amount: bigint): Effect.Effect<never, never, void>
313
+ (amount: number): (self: Metric.Counter<number>) => Effect.Effect<void>
314
+ (amount: bigint): (self: Metric.Counter<bigint>) => Effect.Effect<void>
315
+ (self: Metric.Counter<number>, amount: number): Effect.Effect<void>
316
+ (self: Metric.Counter<bigint>, amount: bigint): Effect.Effect<void>
317
317
  } = internal.incrementBy
318
318
 
319
319
  /**
@@ -343,10 +343,10 @@ export const mapType: {
343
343
  * @category aspects
344
344
  */
345
345
  export const set: {
346
- (value: number): (self: Metric.Gauge<number>) => Effect.Effect<never, never, void>
347
- (value: bigint): (self: Metric.Gauge<bigint>) => Effect.Effect<never, never, void>
348
- (self: Metric.Gauge<number>, value: number): Effect.Effect<never, never, void>
349
- (self: Metric.Gauge<bigint>, value: bigint): Effect.Effect<never, never, void>
346
+ (value: number): (self: Metric.Gauge<number>) => Effect.Effect<void>
347
+ (value: bigint): (self: Metric.Gauge<bigint>) => Effect.Effect<void>
348
+ (self: Metric.Gauge<number>, value: number): Effect.Effect<void>
349
+ (self: Metric.Gauge<bigint>, value: bigint): Effect.Effect<void>
350
350
  } = internal.set
351
351
 
352
352
  /**
@@ -355,7 +355,7 @@ export const set: {
355
355
  * @since 2.0.0
356
356
  * @category getters
357
357
  */
358
- export const snapshot: Effect.Effect<never, never, ReadonlyArray<MetricPair.MetricPair.Untyped>> = internal.snapshot
358
+ export const snapshot: Effect.Effect<ReadonlyArray<MetricPair.MetricPair.Untyped>> = internal.snapshot
359
359
 
360
360
  /**
361
361
  * Creates a metric that ignores input and produces constant output.
@@ -512,11 +512,11 @@ export const timerWithBoundaries: (
512
512
  export const trackAll: {
513
513
  <In>(
514
514
  input: In
515
- ): <Type, Out>(self: Metric<Type, In, Out>) => <R, E, A>(effect: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>
515
+ ): <Type, Out>(self: Metric<Type, In, Out>) => <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
516
516
  <Type, In, Out>(
517
517
  self: Metric<Type, In, Out>,
518
518
  input: In
519
- ): <R, E, A>(effect: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>
519
+ ): <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
520
520
  } = internal.trackAll
521
521
 
522
522
  /**
@@ -527,8 +527,8 @@ export const trackAll: {
527
527
  * @category aspects
528
528
  */
529
529
  export const trackDefect: {
530
- <Type, Out>(metric: Metric<Type, unknown, Out>): <R, E, A>(self: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>
531
- <R, E, A, Type, Out>(self: Effect.Effect<R, E, A>, metric: Metric<Type, unknown, Out>): Effect.Effect<R, E, A>
530
+ <Type, Out>(metric: Metric<Type, unknown, Out>): <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
531
+ <R, E, A, Type, Out>(self: Effect.Effect<A, E, R>, metric: Metric<Type, unknown, Out>): Effect.Effect<A, E, R>
532
532
  } = internal.trackDefect
533
533
 
534
534
  /**
@@ -543,12 +543,12 @@ export const trackDefectWith: {
543
543
  <Type, In, Out>(
544
544
  metric: Metric<Type, In, Out>,
545
545
  f: (defect: unknown) => In
546
- ): <R, E, A>(self: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>
546
+ ): <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
547
547
  <R, E, A, Type, In, Out>(
548
- self: Effect.Effect<R, E, A>,
548
+ self: Effect.Effect<A, E, R>,
549
549
  metric: Metric<Type, In, Out>,
550
550
  f: (defect: unknown) => In
551
- ): Effect.Effect<R, E, A>
551
+ ): Effect.Effect<A, E, R>
552
552
  } = internal.trackDefectWith
553
553
 
554
554
  /**
@@ -562,11 +562,11 @@ export const trackDefectWith: {
562
562
  export const trackDuration: {
563
563
  <Type, Out>(
564
564
  metric: Metric<Type, Duration.Duration, Out>
565
- ): <R, E, A>(self: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>
565
+ ): <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
566
566
  <R, E, A, Type, Out>(
567
- self: Effect.Effect<R, E, A>,
567
+ self: Effect.Effect<A, E, R>,
568
568
  metric: Metric<Type, Duration.Duration, Out>
569
- ): Effect.Effect<R, E, A>
569
+ ): Effect.Effect<A, E, R>
570
570
  } = internal.trackDuration
571
571
 
572
572
  /**
@@ -581,12 +581,12 @@ export const trackDurationWith: {
581
581
  <Type, In, Out>(
582
582
  metric: Metric<Type, In, Out>,
583
583
  f: (duration: Duration.Duration) => In
584
- ): <R, E, A>(effect: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>
584
+ ): <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
585
585
  <R, E, A, Type, In, Out>(
586
- self: Effect.Effect<R, E, A>,
586
+ self: Effect.Effect<A, E, R>,
587
587
  metric: Metric<Type, In, Out>,
588
588
  f: (duration: Duration.Duration) => In
589
- ): Effect.Effect<R, E, A>
589
+ ): Effect.Effect<A, E, R>
590
590
  } = internal.trackDurationWith
591
591
 
592
592
  /**
@@ -599,11 +599,11 @@ export const trackDurationWith: {
599
599
  export const trackError: {
600
600
  <Type, In, Out>(
601
601
  metric: Metric<Type, In, Out>
602
- ): <R, E extends In, A>(self: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>
602
+ ): <R, E extends In, A>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
603
603
  <R, E extends In, A, Type, In, Out>(
604
- self: Effect.Effect<R, E, A>,
604
+ self: Effect.Effect<A, E, R>,
605
605
  metric: Metric<Type, In, Out>
606
- ): Effect.Effect<R, E, A>
606
+ ): Effect.Effect<A, E, R>
607
607
  } = internal.trackError
608
608
 
609
609
  /**
@@ -618,12 +618,12 @@ export const trackErrorWith: {
618
618
  <Type, In, Out, In2>(
619
619
  metric: Metric<Type, In, Out>,
620
620
  f: (error: In2) => In
621
- ): <R, E extends In2, A>(effect: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>
621
+ ): <R, E extends In2, A>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
622
622
  <R, E extends In2, A, Type, In, Out, In2>(
623
- self: Effect.Effect<R, E, A>,
623
+ self: Effect.Effect<A, E, R>,
624
624
  metric: Metric<Type, In, Out>,
625
625
  f: (error: In2) => In
626
- ): Effect.Effect<R, E, A>
626
+ ): Effect.Effect<A, E, R>
627
627
  } = internal.trackErrorWith
628
628
 
629
629
  /**
@@ -636,11 +636,11 @@ export const trackErrorWith: {
636
636
  export const trackSuccess: {
637
637
  <Type, In, Out>(
638
638
  metric: Metric<Type, In, Out>
639
- ): <R, E, A extends In>(self: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>
639
+ ): <R, E, A extends In>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
640
640
  <R, E, A extends In, Type, In, Out>(
641
- self: Effect.Effect<R, E, A>,
641
+ self: Effect.Effect<A, E, R>,
642
642
  metric: Metric<Type, In, Out>
643
- ): Effect.Effect<R, E, A>
643
+ ): Effect.Effect<A, E, R>
644
644
  } = internal.trackSuccess
645
645
 
646
646
  /**
@@ -655,12 +655,12 @@ export const trackSuccessWith: {
655
655
  <Type, In, Out, In2>(
656
656
  metric: Metric<Type, In, Out>,
657
657
  f: (value: In2) => In
658
- ): <R, E, A extends In2>(self: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>
658
+ ): <R, E, A extends In2>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
659
659
  <R, E, A extends In2, Type, In, Out, In2>(
660
- self: Effect.Effect<R, E, A>,
660
+ self: Effect.Effect<A, E, R>,
661
661
  metric: Metric<Type, In, Out>,
662
662
  f: (value: In2) => In
663
- ): Effect.Effect<R, E, A>
663
+ ): Effect.Effect<A, E, R>
664
664
  } = internal.trackSuccessWith
665
665
 
666
666
  /**
@@ -672,8 +672,8 @@ export const trackSuccessWith: {
672
672
  * @category utils
673
673
  */
674
674
  export const update: {
675
- <In>(input: In): <Type, Out>(self: Metric<Type, In, Out>) => Effect.Effect<never, never, void>
676
- <Type, In, Out>(self: Metric<Type, In, Out>, input: In): Effect.Effect<never, never, void>
675
+ <In>(input: In): <Type, Out>(self: Metric<Type, In, Out>) => Effect.Effect<void>
676
+ <Type, In, Out>(self: Metric<Type, In, Out>, input: In): Effect.Effect<void>
677
677
  } = internal.update
678
678
 
679
679
  /**
@@ -682,7 +682,7 @@ export const update: {
682
682
  * @since 2.0.0
683
683
  * @category getters
684
684
  */
685
- export const value: <Type, In, Out>(self: Metric<Type, In, Out>) => Effect.Effect<never, never, Out> = internal.value
685
+ export const value: <Type, In, Out>(self: Metric<Type, In, Out>) => Effect.Effect<Out> = internal.value
686
686
 
687
687
  /**
688
688
  * @since 2.0.0
@@ -37,7 +37,7 @@ export interface MetricPolling<in out Type, in out In, out R, out E, out Out> ex
37
37
  /**
38
38
  * An effect that polls a value that may be fed to the metric.
39
39
  */
40
- readonly poll: Effect.Effect<R, E, In>
40
+ readonly poll: Effect.Effect<In, E, R>
41
41
  }
42
42
 
43
43
  /**
@@ -48,7 +48,7 @@ export interface MetricPolling<in out Type, in out In, out R, out E, out Out> ex
48
48
  */
49
49
  export const make: <Type, In, Out, R, E>(
50
50
  metric: Metric.Metric<Type, In, Out>,
51
- poll: Effect.Effect<R, E, In>
51
+ poll: Effect.Effect<In, E, R>
52
52
  ) => MetricPolling<Type, In, R, E, Out> = internal.make
53
53
 
54
54
  /**
@@ -74,11 +74,11 @@ export const launch: {
74
74
  schedule: Schedule.Schedule<R2, unknown, A2>
75
75
  ): <Type, In, R, E, Out>(
76
76
  self: MetricPolling<Type, In, R, E, Out>
77
- ) => Effect.Effect<R2 | R | Scope.Scope, never, Fiber.Fiber<E, A2>>
77
+ ) => Effect.Effect<Fiber.Fiber<A2, E>, never, Scope.Scope | R2 | R>
78
78
  <Type, In, R, E, Out, R2, A2>(
79
79
  self: MetricPolling<Type, In, R, E, Out>,
80
80
  schedule: Schedule.Schedule<R2, unknown, A2>
81
- ): Effect.Effect<Scope.Scope | R | R2, never, Fiber.Fiber<E, A2>>
81
+ ): Effect.Effect<Fiber.Fiber<A2, E>, never, Scope.Scope | R | R2>
82
82
  } = internal.launch
83
83
 
84
84
  /**
@@ -87,7 +87,7 @@ export const launch: {
87
87
  * @since 2.0.0
88
88
  * @category utils
89
89
  */
90
- export const poll: <Type, In, R, E, Out>(self: MetricPolling<Type, In, R, E, Out>) => Effect.Effect<R, E, In> =
90
+ export const poll: <Type, In, R, E, Out>(self: MetricPolling<Type, In, R, E, Out>) => Effect.Effect<In, E, R> =
91
91
  internal.poll
92
92
 
93
93
  /**
@@ -98,7 +98,7 @@ export const poll: <Type, In, R, E, Out>(self: MetricPolling<Type, In, R, E, Out
98
98
  */
99
99
  export const pollAndUpdate: <Type, In, R, E, Out>(
100
100
  self: MetricPolling<Type, In, R, E, Out>
101
- ) => Effect.Effect<R, E, void> = internal.pollAndUpdate
101
+ ) => Effect.Effect<void, E, R> = internal.pollAndUpdate
102
102
 
103
103
  /**
104
104
  * Returns a new polling metric whose poll function will be retried with the
package/src/Number.ts CHANGED
@@ -448,3 +448,22 @@ export const remainder: {
448
448
  const divisorInt = parseInt(divisor.toFixed(decCount).replace(".", ""))
449
449
  return (selfInt % divisorInt) / Math.pow(10, decCount)
450
450
  })
451
+
452
+ /**
453
+ * Returns the next power of 2 from the given number.
454
+ *
455
+ * @param self - The number to find the next power of 2 from.
456
+ *
457
+ * @example
458
+ * import { nextPow2 } from "effect/Number"
459
+ *
460
+ * assert.deepStrictEqual(nextPow2(5), 8)
461
+ * assert.deepStrictEqual(nextPow2(17), 32)
462
+ *
463
+ * @category math
464
+ * @since 2.0.0
465
+ */
466
+ export const nextPow2 = (n: number): number => {
467
+ const nextPow = Math.ceil(Math.log(n) / Math.log(2))
468
+ return Math.max(Math.pow(2, nextPow), 2)
469
+ }
package/src/Option.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  /**
2
2
  * @since 2.0.0
3
3
  */
4
- import type * as Data from "./Data.js"
5
4
  import type { Either } from "./Either.js"
6
5
  import * as Equal from "./Equal.js"
7
6
  import * as Equivalence from "./Equivalence.js"
@@ -41,7 +40,7 @@ export type TypeId = typeof TypeId
41
40
  * @category models
42
41
  * @since 2.0.0
43
42
  */
44
- export interface None<out A> extends Data.Case, Pipeable, Inspectable {
43
+ export interface None<out A> extends Pipeable, Inspectable {
45
44
  readonly _tag: "None"
46
45
  readonly _op: "None"
47
46
  readonly [TypeId]: {
@@ -56,7 +55,7 @@ export interface None<out A> extends Data.Case, Pipeable, Inspectable {
56
55
  * @category models
57
56
  * @since 2.0.0
58
57
  */
59
- export interface Some<out A> extends Data.Case, Pipeable, Inspectable {
58
+ export interface Some<out A> extends Pipeable, Inspectable {
60
59
  readonly _tag: "Some"
61
60
  readonly _op: "Some"
62
61
  readonly value: A