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
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Limits the number of calls to a resource to a maximum amount in some interval using the token bucket algorithm.
3
+ *
4
+ * Note that only the moment of starting the effect is rate limited: the number of concurrent executions is not bounded.
5
+ *
6
+ * Calls are queued up in an unbounded queue until capacity becomes available.
7
+ *
8
+ * @since 2.0.0
9
+ */
10
+ import type { DurationInput } from "./Duration.js"
11
+ import type { Effect } from "./Effect.js"
12
+ import * as internal from "./internal/rateLimiter.js"
13
+ import type { Scope } from "./Scope.js"
14
+
15
+ /**
16
+ * Limits the number of calls to a resource to a maximum amount in some interval using the token bucket algorithm.
17
+ *
18
+ * Note that only the moment of starting the effect is rate limited: the number of concurrent executions is not bounded.
19
+ *
20
+ * Calls are queued up in an unbounded queue until capacity becomes available.
21
+ *
22
+ * @since 2.0.0
23
+ * @category models
24
+ */
25
+ export interface RateLimiter {
26
+ <A, E, R>(task: Effect<A, E, R>): Effect<A, E, R>
27
+ }
28
+
29
+ /**
30
+ * @since 2.0.0
31
+ * @category constructors
32
+ */
33
+ export const make: (limit: number, window: DurationInput) => Effect<
34
+ RateLimiter,
35
+ never,
36
+ Scope
37
+ > = internal.make
@@ -275,6 +275,47 @@ export const get: {
275
275
  <A>(self: ReadonlyRecord<A>, key: string): Option.Option<A> => has(self, key) ? Option.some(self[key]) : Option.none()
276
276
  )
277
277
 
278
+ /**
279
+ * Apply a function to the element at the specified key, creating a new record.
280
+ * If the key does not exist, the record is returned unchanged.
281
+ *
282
+ * @param self - The record to be updated.
283
+ * @param key - The key of the element to modify.
284
+ * @param f - The function to apply to the element.
285
+ *
286
+ * @example
287
+ * import { modify } from "effect/ReadonlyRecord"
288
+ * import { some, none } from "effect/Option"
289
+ *
290
+ * const f = (x: number) => x * 2
291
+ *
292
+ * assert.deepStrictEqual(
293
+ * modify({ a: 3 }, 'a', f),
294
+ * { a: 6 }
295
+ * )
296
+ * assert.deepStrictEqual(
297
+ * modify({ a: 3 }, 'b', f),
298
+ * { a: 3 }
299
+ * )
300
+ *
301
+ * @since 2.0.0
302
+ */
303
+ export const modify: {
304
+ <A, B>(
305
+ key: string,
306
+ f: (a: A) => B
307
+ ): (self: ReadonlyRecord<A>) => Record<string, A | B>
308
+ <A, B>(self: ReadonlyRecord<A>, key: string, f: (a: A) => B): Record<string, A | B>
309
+ } = dual(
310
+ 3,
311
+ <A, B>(self: ReadonlyRecord<A>, key: string, f: (a: A) => B): Record<string, A | B> => {
312
+ if (!has(self, key)) {
313
+ return { ...self }
314
+ }
315
+ return { ...self, [key]: f(self[key]) }
316
+ }
317
+ )
318
+
278
319
  /**
279
320
  * Apply a function to the element at the specified key, creating a new record,
280
321
  * or return `None` if the key doesn't exist.
@@ -771,14 +812,14 @@ export const values = <A>(self: ReadonlyRecord<A>): Array<A> => collect(self, (_
771
812
  * @param values - The value you want to associate with the key.
772
813
  *
773
814
  * @example
774
- * import { upsert } from "effect/ReadonlyRecord"
815
+ * import { set } from "effect/ReadonlyRecord"
775
816
  *
776
- * assert.deepStrictEqual(upsert("a", 5)({ a: 1, b: 2 }), { a: 5, b: 2 });
777
- * assert.deepStrictEqual(upsert("c", 5)({ a: 1, b: 2 }), { a: 1, b: 2, c: 5 });
817
+ * assert.deepStrictEqual(set("a", 5)({ a: 1, b: 2 }), { a: 5, b: 2 });
818
+ * assert.deepStrictEqual(set("c", 5)({ a: 1, b: 2 }), { a: 1, b: 2, c: 5 });
778
819
  *
779
820
  * @since 2.0.0
780
821
  */
781
- export const upsert: {
822
+ export const set: {
782
823
  <B>(key: string, value: B): <A>(self: ReadonlyRecord<A>) => Record<string, A | B>
783
824
  <A, B>(self: ReadonlyRecord<A>, key: string, value: B): Record<string, A | B>
784
825
  } = dual(3, <A, B>(self: ReadonlyRecord<A>, key: string, value: B): Record<string, A | B> => {
@@ -795,15 +836,15 @@ export const upsert: {
795
836
  * @param value - The new value to associate with the key.
796
837
  *
797
838
  * @example
798
- * import { update } from "effect/ReadonlyRecord"
839
+ * import { replace } from "effect/ReadonlyRecord"
799
840
  * import { some, none } from "effect/Option"
800
841
  *
801
- * assert.deepStrictEqual(update("a", 3)({ a: 1, b: 2 }), { a: 3, b: 2 });
802
- * assert.deepStrictEqual(update("c", 3)({ a: 1, b: 2 }), { a: 1, b: 2 });
842
+ * assert.deepStrictEqual(replace("a", 3)({ a: 1, b: 2 }), { a: 3, b: 2 });
843
+ * assert.deepStrictEqual(replace("c", 3)({ a: 1, b: 2 }), { a: 1, b: 2 });
803
844
  *
804
845
  * @since 2.0.0
805
846
  */
806
- export const update: {
847
+ export const replace: {
807
848
  <B>(key: string, value: B): <A>(self: ReadonlyRecord<A>) => Record<string, A | B>
808
849
  <A, B>(self: ReadonlyRecord<A>, key: string, value: B): Record<string, A | B>
809
850
  } = dual(3, <A, B>(self: ReadonlyRecord<A>, key: string, value: B): Record<string, A | B> => {
package/src/Ref.ts CHANGED
@@ -24,7 +24,7 @@ export type RefTypeId = typeof RefTypeId
24
24
  * @category models
25
25
  */
26
26
  export interface Ref<in out A> extends Ref.Variance<A>, Pipeable {
27
- modify<B>(f: (a: A) => readonly [B, A]): Effect.Effect<never, never, B>
27
+ modify<B>(f: (a: A) => readonly [B, A]): Effect.Effect<B>
28
28
  }
29
29
 
30
30
  /**
@@ -46,21 +46,21 @@ export declare namespace Ref {
46
46
  * @since 2.0.0
47
47
  * @category constructors
48
48
  */
49
- export const make: <A>(value: A) => Effect.Effect<never, never, Ref<A>> = internal.make
49
+ export const make: <A>(value: A) => Effect.Effect<Ref<A>> = internal.make
50
50
 
51
51
  /**
52
52
  * @since 2.0.0
53
53
  * @category getters
54
54
  */
55
- export const get: <A>(self: Ref<A>) => Effect.Effect<never, never, A> = internal.get
55
+ export const get: <A>(self: Ref<A>) => Effect.Effect<A> = internal.get
56
56
 
57
57
  /**
58
58
  * @since 2.0.0
59
59
  * @category utils
60
60
  */
61
61
  export const getAndSet: {
62
- <A>(value: A): (self: Ref<A>) => Effect.Effect<never, never, A>
63
- <A>(self: Ref<A>, value: A): Effect.Effect<never, never, A>
62
+ <A>(value: A): (self: Ref<A>) => Effect.Effect<A>
63
+ <A>(self: Ref<A>, value: A): Effect.Effect<A>
64
64
  } = internal.getAndSet
65
65
 
66
66
  /**
@@ -68,8 +68,8 @@ export const getAndSet: {
68
68
  * @category utils
69
69
  */
70
70
  export const getAndUpdate: {
71
- <A>(f: (a: A) => A): (self: Ref<A>) => Effect.Effect<never, never, A>
72
- <A>(self: Ref<A>, f: (a: A) => A): Effect.Effect<never, never, A>
71
+ <A>(f: (a: A) => A): (self: Ref<A>) => Effect.Effect<A>
72
+ <A>(self: Ref<A>, f: (a: A) => A): Effect.Effect<A>
73
73
  } = internal.getAndUpdate
74
74
 
75
75
  /**
@@ -77,8 +77,8 @@ export const getAndUpdate: {
77
77
  * @category utils
78
78
  */
79
79
  export const getAndUpdateSome: {
80
- <A>(pf: (a: A) => Option.Option<A>): (self: Ref<A>) => Effect.Effect<never, never, A>
81
- <A>(self: Ref<A>, pf: (a: A) => Option.Option<A>): Effect.Effect<never, never, A>
80
+ <A>(pf: (a: A) => Option.Option<A>): (self: Ref<A>) => Effect.Effect<A>
81
+ <A>(self: Ref<A>, pf: (a: A) => Option.Option<A>): Effect.Effect<A>
82
82
  } = internal.getAndUpdateSome
83
83
 
84
84
  /**
@@ -86,8 +86,8 @@ export const getAndUpdateSome: {
86
86
  * @category utils
87
87
  */
88
88
  export const modify: {
89
- <A, B>(f: (a: A) => readonly [B, A]): (self: Ref<A>) => Effect.Effect<never, never, B>
90
- <A, B>(self: Ref<A>, f: (a: A) => readonly [B, A]): Effect.Effect<never, never, B>
89
+ <A, B>(f: (a: A) => readonly [B, A]): (self: Ref<A>) => Effect.Effect<B>
90
+ <A, B>(self: Ref<A>, f: (a: A) => readonly [B, A]): Effect.Effect<B>
91
91
  } = internal.modify
92
92
 
93
93
  /**
@@ -95,8 +95,8 @@ export const modify: {
95
95
  * @category utils
96
96
  */
97
97
  export const modifySome: {
98
- <B, A>(fallback: B, pf: (a: A) => Option.Option<readonly [B, A]>): (self: Ref<A>) => Effect.Effect<never, never, B>
99
- <A, B>(self: Ref<A>, fallback: B, pf: (a: A) => Option.Option<readonly [B, A]>): Effect.Effect<never, never, B>
98
+ <B, A>(fallback: B, pf: (a: A) => Option.Option<readonly [B, A]>): (self: Ref<A>) => Effect.Effect<B>
99
+ <A, B>(self: Ref<A>, fallback: B, pf: (a: A) => Option.Option<readonly [B, A]>): Effect.Effect<B>
100
100
  } = internal.modifySome
101
101
 
102
102
  /**
@@ -104,8 +104,8 @@ export const modifySome: {
104
104
  * @category utils
105
105
  */
106
106
  export const set: {
107
- <A>(value: A): (self: Ref<A>) => Effect.Effect<never, never, void>
108
- <A>(self: Ref<A>, value: A): Effect.Effect<never, never, void>
107
+ <A>(value: A): (self: Ref<A>) => Effect.Effect<void>
108
+ <A>(self: Ref<A>, value: A): Effect.Effect<void>
109
109
  } = internal.set
110
110
 
111
111
  /**
@@ -113,8 +113,8 @@ export const set: {
113
113
  * @category utils
114
114
  */
115
115
  export const setAndGet: {
116
- <A>(value: A): (self: Ref<A>) => Effect.Effect<never, never, A>
117
- <A>(self: Ref<A>, value: A): Effect.Effect<never, never, A>
116
+ <A>(value: A): (self: Ref<A>) => Effect.Effect<A>
117
+ <A>(self: Ref<A>, value: A): Effect.Effect<A>
118
118
  } = internal.setAndGet
119
119
 
120
120
  /**
@@ -122,8 +122,8 @@ export const setAndGet: {
122
122
  * @category utils
123
123
  */
124
124
  export const update: {
125
- <A>(f: (a: A) => A): (self: Ref<A>) => Effect.Effect<never, never, void>
126
- <A>(self: Ref<A>, f: (a: A) => A): Effect.Effect<never, never, void>
125
+ <A>(f: (a: A) => A): (self: Ref<A>) => Effect.Effect<void>
126
+ <A>(self: Ref<A>, f: (a: A) => A): Effect.Effect<void>
127
127
  } = internal.update
128
128
 
129
129
  /**
@@ -131,8 +131,8 @@ export const update: {
131
131
  * @category utils
132
132
  */
133
133
  export const updateAndGet: {
134
- <A>(f: (a: A) => A): (self: Ref<A>) => Effect.Effect<never, never, A>
135
- <A>(self: Ref<A>, f: (a: A) => A): Effect.Effect<never, never, A>
134
+ <A>(f: (a: A) => A): (self: Ref<A>) => Effect.Effect<A>
135
+ <A>(self: Ref<A>, f: (a: A) => A): Effect.Effect<A>
136
136
  } = internal.updateAndGet
137
137
 
138
138
  /**
@@ -140,8 +140,8 @@ export const updateAndGet: {
140
140
  * @category utils
141
141
  */
142
142
  export const updateSome: {
143
- <A>(f: (a: A) => Option.Option<A>): (self: Ref<A>) => Effect.Effect<never, never, void>
144
- <A>(self: Ref<A>, f: (a: A) => Option.Option<A>): Effect.Effect<never, never, void>
143
+ <A>(f: (a: A) => Option.Option<A>): (self: Ref<A>) => Effect.Effect<void>
144
+ <A>(self: Ref<A>, f: (a: A) => Option.Option<A>): Effect.Effect<void>
145
145
  } = internal.updateSome
146
146
 
147
147
  /**
@@ -149,8 +149,8 @@ export const updateSome: {
149
149
  * @category utils
150
150
  */
151
151
  export const updateSomeAndGet: {
152
- <A>(pf: (a: A) => Option.Option<A>): (self: Ref<A>) => Effect.Effect<never, never, A>
153
- <A>(self: Ref<A>, pf: (a: A) => Option.Option<A>): Effect.Effect<never, never, A>
152
+ <A>(pf: (a: A) => Option.Option<A>): (self: Ref<A>) => Effect.Effect<A>
153
+ <A>(self: Ref<A>, pf: (a: A) => Option.Option<A>): Effect.Effect<A>
154
154
  } = internal.updateSomeAndGet
155
155
 
156
156
  /**
package/src/Reloadable.ts CHANGED
@@ -36,7 +36,7 @@ export interface Reloadable<in out A> extends Reloadable.Variance<A> {
36
36
  /**
37
37
  * @internal
38
38
  */
39
- readonly reload: Effect.Effect<never, unknown, void>
39
+ readonly reload: Effect.Effect<void, unknown>
40
40
  }
41
41
 
42
42
  /**
@@ -65,10 +65,10 @@ export declare namespace Reloadable {
65
65
  export const auto: <Out extends Context.Tag<any, any>, In, E, R>(
66
66
  tag: Out,
67
67
  options: {
68
- readonly layer: Layer.Layer<In, E, Context.Tag.Identifier<Out>>
68
+ readonly layer: Layer.Layer<Context.Tag.Identifier<Out>, E, In>
69
69
  readonly schedule: Schedule.Schedule<R, unknown, unknown>
70
70
  }
71
- ) => Layer.Layer<In | R, E, Reloadable<Context.Tag.Identifier<Out>>> = internal.auto
71
+ ) => Layer.Layer<Reloadable<Context.Tag.Identifier<Out>>, E, In | R> = internal.auto
72
72
 
73
73
  /**
74
74
  * Makes a new reloadable service from a layer that describes the construction
@@ -81,10 +81,10 @@ export const auto: <Out extends Context.Tag<any, any>, In, E, R>(
81
81
  export const autoFromConfig: <Out extends Context.Tag<any, any>, In, E, R>(
82
82
  tag: Out,
83
83
  options: {
84
- readonly layer: Layer.Layer<In, E, Context.Tag.Identifier<Out>>
84
+ readonly layer: Layer.Layer<Context.Tag.Identifier<Out>, E, In>
85
85
  readonly scheduleFromConfig: (context: Context.Context<In>) => Schedule.Schedule<R, unknown, unknown>
86
86
  }
87
- ) => Layer.Layer<In | R, E, Reloadable<Context.Tag.Identifier<Out>>> = internal.autoFromConfig
87
+ ) => Layer.Layer<Reloadable<Context.Tag.Identifier<Out>>, E, In | R> = internal.autoFromConfig
88
88
 
89
89
  /**
90
90
  * Retrieves the current version of the reloadable service.
@@ -94,7 +94,7 @@ export const autoFromConfig: <Out extends Context.Tag<any, any>, In, E, R>(
94
94
  */
95
95
  export const get: <T extends Context.Tag<any, any>>(
96
96
  tag: T
97
- ) => Effect.Effect<Reloadable<Context.Tag.Identifier<T>>, never, Context.Tag.Service<T>> = internal.get
97
+ ) => Effect.Effect<Context.Tag.Service<T>, never, Reloadable<Context.Tag.Identifier<T>>> = internal.get
98
98
 
99
99
  /**
100
100
  * Makes a new reloadable service from a layer that describes the construction
@@ -105,8 +105,8 @@ export const get: <T extends Context.Tag<any, any>>(
105
105
  */
106
106
  export const manual: <Out extends Context.Tag<any, any>, In, E>(
107
107
  tag: Out,
108
- options: { readonly layer: Layer.Layer<In, E, Context.Tag.Identifier<Out>> }
109
- ) => Layer.Layer<In, E, Reloadable<Context.Tag.Identifier<Out>>> = internal.manual
108
+ options: { readonly layer: Layer.Layer<Context.Tag.Identifier<Out>, E, In> }
109
+ ) => Layer.Layer<Reloadable<Context.Tag.Identifier<Out>>, E, In> = internal.manual
110
110
 
111
111
  /**
112
112
  * Reloads the specified service.
@@ -116,7 +116,7 @@ export const manual: <Out extends Context.Tag<any, any>, In, E>(
116
116
  */
117
117
  export const reload: <T extends Context.Tag<any, any>>(
118
118
  tag: T
119
- ) => Effect.Effect<Reloadable<Context.Tag.Identifier<T>>, unknown, void> = internal.reload
119
+ ) => Effect.Effect<void, unknown, Reloadable<Context.Tag.Identifier<T>>> = internal.reload
120
120
 
121
121
  /**
122
122
  * @since 2.0.0
@@ -134,4 +134,4 @@ export const tag: <T extends Context.Tag<any, any>>(
134
134
  */
135
135
  export const reloadFork: <T extends Context.Tag<any, any>>(
136
136
  tag: T
137
- ) => Effect.Effect<Reloadable<Context.Tag.Identifier<T>>, unknown, void> = internal.reloadFork
137
+ ) => Effect.Effect<void, unknown, Reloadable<Context.Tag.Identifier<T>>> = internal.reloadFork
package/src/Request.ts CHANGED
@@ -3,7 +3,6 @@
3
3
  */
4
4
  import type * as _Cache from "./Cache.js"
5
5
  import type { Cause } from "./Cause.js"
6
- import type * as Data from "./Data.js"
7
6
  import type { Deferred } from "./Deferred.js"
8
7
  import type { DurationInput } from "./Duration.js"
9
8
  import type * as Effect from "./Effect.js"
@@ -30,13 +29,13 @@ export const RequestTypeId: unique symbol = internal.RequestTypeId
30
29
  export type RequestTypeId = typeof RequestTypeId
31
30
 
32
31
  /**
33
- * A `Request<E, A>` is a request from a data source for a value of type `A`
32
+ * A `Request<A, E>` is a request from a data source for a value of type `A`
34
33
  * that may fail with an `E`.
35
34
  *
36
35
  * @since 2.0.0
37
36
  * @category models
38
37
  */
39
- export interface Request<out E, out A> extends Request.Variance<E, A>, Data.Case {}
38
+ export interface Request<out A, out E = never> extends Request.Variance<A, E> {}
40
39
 
41
40
  /**
42
41
  * @since 2.0.0
@@ -46,10 +45,10 @@ export declare namespace Request {
46
45
  * @since 2.0.0
47
46
  * @category models
48
47
  */
49
- export interface Variance<out E, out A> {
48
+ export interface Variance<out A, out E> {
50
49
  readonly [RequestTypeId]: {
51
- readonly _E: Types.Covariant<E>
52
50
  readonly _A: Types.Covariant<A>
51
+ readonly _E: Types.Covariant<E>
53
52
  }
54
53
  }
55
54
 
@@ -58,7 +57,7 @@ export declare namespace Request {
58
57
  * @category models
59
58
  */
60
59
  export interface Constructor<R extends Request<any, any>, T extends keyof R = never> {
61
- (args: Omit<R, T | keyof (Data.Case & Request.Variance<Request.Error<R>, Request.Success<R>>)>): R
60
+ (args: Omit<R, T | keyof (Request.Variance<Request.Error<R>, Request.Success<R>>)>): R
62
61
  }
63
62
 
64
63
  /**
@@ -67,7 +66,7 @@ export declare namespace Request {
67
66
  * @since 2.0.0
68
67
  * @category type-level
69
68
  */
70
- export type Error<T extends Request<any, any>> = [T] extends [Request<infer _E, infer _A>] ? _E : never
69
+ export type Error<T extends Request<any, any>> = [T] extends [Request<infer _A, infer _E>] ? _E : never
71
70
 
72
71
  /**
73
72
  * A utility type to extract the value type from a `Request`.
@@ -75,7 +74,7 @@ export declare namespace Request {
75
74
  * @since 2.0.0
76
75
  * @category type-level
77
76
  */
78
- export type Success<T extends Request<any, any>> = [T] extends [Request<infer _E, infer _A>] ? _A : never
77
+ export type Success<T extends Request<any, any>> = [T] extends [Request<infer _A, infer _E>] ? _A : never
79
78
 
80
79
  /**
81
80
  * A utility type to extract the result type from a `Request`.
@@ -83,7 +82,7 @@ export declare namespace Request {
83
82
  * @since 2.0.0
84
83
  * @category type-level
85
84
  */
86
- export type Result<T extends Request<any, any>> = T extends Request<infer E, infer A> ? Exit.Exit<E, A> : never
85
+ export type Result<T extends Request<any, any>> = T extends Request<infer A, infer E> ? Exit.Exit<A, E> : never
87
86
 
88
87
  /**
89
88
  * A utility type to extract the optional result type from a `Request`.
@@ -91,8 +90,8 @@ export declare namespace Request {
91
90
  * @since 2.0.0
92
91
  * @category type-level
93
92
  */
94
- export type OptionalResult<T extends Request<any, any>> = T extends Request<infer E, infer A>
95
- ? Exit.Exit<E, Option.Option<A>>
93
+ export type OptionalResult<T extends Request<any, any>> = T extends Request<infer A, infer E>
94
+ ? Exit.Exit<Option.Option<A>, E>
96
95
  : never
97
96
  }
98
97
 
@@ -141,7 +140,7 @@ export const tagged: <R extends Request<any, any> & { _tag: string }>(
141
140
  export const Class: new<Error, Success, A extends Record<string, any>>(
142
141
  args: Types.Equals<Omit<A, keyof Request<unknown, unknown>>, {}> extends true ? void
143
142
  : { readonly [P in keyof A as P extends keyof Request<unknown, unknown> ? never : P]: A[P] }
144
- ) => Request<Error, Success> & Readonly<A> = internal.Class as any
143
+ ) => Request<Success, Error> & Readonly<A> = internal.Class as any
145
144
 
146
145
  /**
147
146
  * Provides a Tagged constructor for a Request Class.
@@ -164,7 +163,7 @@ export const TaggedClass: <Tag extends string>(
164
163
  ) => new<Error, Success, A extends Record<string, any>>(
165
164
  args: Types.Equals<Omit<A, keyof Request<unknown, unknown>>, {}> extends true ? void
166
165
  : { readonly [P in keyof A as P extends "_tag" | keyof Request<unknown, unknown> ? never : P]: A[P] }
167
- ) => Request<Error, Success> & Readonly<A> & { readonly _tag: Tag } = internal.TaggedClass as any
166
+ ) => Request<Success, Error> & Readonly<A> & { readonly _tag: Tag } = internal.TaggedClass as any
168
167
 
169
168
  /**
170
169
  * Complete a `Request` with the specified result.
@@ -173,8 +172,8 @@ export const TaggedClass: <Tag extends string>(
173
172
  * @category request completion
174
173
  */
175
174
  export const complete: {
176
- <A extends Request<any, any>>(result: Request.Result<A>): (self: A) => Effect.Effect<never, never, void>
177
- <A extends Request<any, any>>(self: A, result: Request.Result<A>): Effect.Effect<never, never, void>
175
+ <A extends Request<any, any>>(result: Request.Result<A>): (self: A) => Effect.Effect<void>
176
+ <A extends Request<any, any>>(self: A, result: Request.Result<A>): Effect.Effect<void>
178
177
  } = internal.complete
179
178
 
180
179
  /**
@@ -184,8 +183,8 @@ export const complete: {
184
183
  * @category request completion
185
184
  */
186
185
  export const interruptWhenPossible: {
187
- (all: Iterable<Request<any, any>>): <R, E, A>(self: Effect.Effect<R, E, A>) => Effect.Effect<R, E, void>
188
- <R, E, A>(self: Effect.Effect<R, E, A>, all: Iterable<Request<any, any>>): Effect.Effect<R, E, void>
186
+ (all: Iterable<Request<any, any>>): <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<void, E, R>
187
+ <A, E, R>(self: Effect.Effect<A, E, R>, all: Iterable<Request<any, any>>): Effect.Effect<void, E, R>
189
188
  } = fiberRuntime.interruptWhenPossible
190
189
 
191
190
  /**
@@ -198,12 +197,12 @@ export const interruptWhenPossible: {
198
197
  */
199
198
  export const completeEffect: {
200
199
  <A extends Request<any, any>, R>(
201
- effect: Effect.Effect<R, Request.Error<A>, Request.Success<A>>
202
- ): (self: A) => Effect.Effect<R, never, void>
200
+ effect: Effect.Effect<Request.Success<A>, Request.Error<A>, R>
201
+ ): (self: A) => Effect.Effect<void, never, R>
203
202
  <A extends Request<any, any>, R>(
204
203
  self: A,
205
- effect: Effect.Effect<R, Request.Error<A>, Request.Success<A>>
206
- ): Effect.Effect<R, never, void>
204
+ effect: Effect.Effect<Request.Success<A>, Request.Error<A>, R>
205
+ ): Effect.Effect<void, never, R>
207
206
  } = internal.completeEffect
208
207
 
209
208
  /**
@@ -213,8 +212,8 @@ export const completeEffect: {
213
212
  * @category request completion
214
213
  */
215
214
  export const fail: {
216
- <A extends Request<any, any>>(error: Request.Error<A>): (self: A) => Effect.Effect<never, never, void>
217
- <A extends Request<any, any>>(self: A, error: Request.Error<A>): Effect.Effect<never, never, void>
215
+ <A extends Request<any, any>>(error: Request.Error<A>): (self: A) => Effect.Effect<void>
216
+ <A extends Request<any, any>>(self: A, error: Request.Error<A>): Effect.Effect<void>
218
217
  } = internal.fail
219
218
 
220
219
  /**
@@ -224,8 +223,8 @@ export const fail: {
224
223
  * @category request completion
225
224
  */
226
225
  export const failCause: {
227
- <A extends Request<any, any>>(cause: Cause<Request.Error<A>>): (self: A) => Effect.Effect<never, never, void>
228
- <A extends Request<any, any>>(self: A, cause: Cause<Request.Error<A>>): Effect.Effect<never, never, void>
226
+ <A extends Request<any, any>>(cause: Cause<Request.Error<A>>): (self: A) => Effect.Effect<void>
227
+ <A extends Request<any, any>>(self: A, cause: Cause<Request.Error<A>>): Effect.Effect<void>
229
228
  } = internal.failCause
230
229
 
231
230
  /**
@@ -235,8 +234,8 @@ export const failCause: {
235
234
  * @category request completion
236
235
  */
237
236
  export const succeed: {
238
- <A extends Request<any, any>>(value: Request.Success<A>): (self: A) => Effect.Effect<never, never, void>
239
- <A extends Request<any, any>>(self: A, value: Request.Success<A>): Effect.Effect<never, never, void>
237
+ <A extends Request<any, any>>(value: Request.Success<A>): (self: A) => Effect.Effect<void>
238
+ <A extends Request<any, any>>(self: A, value: Request.Success<A>): Effect.Effect<void>
240
239
  } = internal.succeed
241
240
 
242
241
  /**
@@ -272,10 +271,11 @@ export const makeCache = (
272
271
  readonly capacity: number
273
272
  readonly timeToLive: DurationInput
274
273
  }
275
- ): Effect.Effect<never, never, Cache> =>
274
+ ): Effect.Effect<Cache> =>
276
275
  cache.make({
277
276
  ...options,
278
- lookup: () => core.map(core.deferredMake(), (handle) => ({ listeners: new internal.Listeners(), handle }))
277
+ lookup: () =>
278
+ core.map(core.deferredMake<unknown, unknown>(), (handle) => ({ listeners: new internal.Listeners(), handle }))
279
279
  })
280
280
 
281
281
  /**
@@ -303,8 +303,8 @@ export type EntryTypeId = typeof EntryTypeId
303
303
  export interface Entry<out R> extends Entry.Variance<R> {
304
304
  readonly request: R
305
305
  readonly result: Deferred<
306
- [R] extends [Request<infer _E, infer _A>] ? _E : never,
307
- [R] extends [Request<infer _E, infer _A>] ? _A : never
306
+ [R] extends [Request<infer _A, infer _E>] ? _A : never,
307
+ [R] extends [Request<infer _A, infer _E>] ? _E : never
308
308
  >
309
309
  readonly listeners: Listeners
310
310
  readonly ownerId: FiberId
@@ -30,7 +30,7 @@ export declare namespace RequestBlock {
30
30
  emptyCase(): Z
31
31
  parCase(left: Z, right: Z): Z
32
32
  singleCase(
33
- dataSource: RequestResolver.RequestResolver<unknown, never>,
33
+ dataSource: RequestResolver.RequestResolver<unknown>,
34
34
  blockedRequest: Request.Entry<unknown>
35
35
  ): Z
36
36
  seqCase(left: Z, right: Z): Z
@@ -71,7 +71,7 @@ export interface Seq {
71
71
  */
72
72
  export interface Single {
73
73
  readonly _tag: "Single"
74
- readonly dataSource: RequestResolver.RequestResolver<unknown, never>
74
+ readonly dataSource: RequestResolver.RequestResolver<unknown>
75
75
  readonly blockedRequest: Request.Entry<unknown>
76
76
  }
77
77
 
@@ -80,7 +80,7 @@ export interface Single {
80
80
  * @category constructors
81
81
  */
82
82
  export const single: <A>(
83
- dataSource: RequestResolver.RequestResolver<A, never>,
83
+ dataSource: RequestResolver.RequestResolver<A>,
84
84
  blockedRequest: Request.Entry<A>
85
85
  ) => RequestBlock = _RequestBlock.single
86
86