effect 2.0.0-next.55 → 2.0.0-next.57

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 (1063) hide show
  1. package/README.md +14 -9
  2. package/dist/cjs/BigDecimal.js +9 -9
  3. package/dist/cjs/BigDecimal.js.map +1 -1
  4. package/dist/cjs/BigInt.js.map +1 -1
  5. package/dist/cjs/Boolean.js.map +1 -1
  6. package/dist/cjs/Brand.js.map +1 -1
  7. package/dist/cjs/Cache.js.map +1 -1
  8. package/dist/cjs/Cause.js +53 -18
  9. package/dist/cjs/Cause.js.map +1 -1
  10. package/dist/cjs/Channel.js.map +1 -1
  11. package/dist/cjs/ChildExecutorDecision.js.map +1 -1
  12. package/dist/cjs/Chunk.js +43 -34
  13. package/dist/cjs/Chunk.js.map +1 -1
  14. package/dist/cjs/Config.js +3 -3
  15. package/dist/cjs/Config.js.map +1 -1
  16. package/dist/cjs/Context.js.map +1 -1
  17. package/dist/cjs/Data.js +11 -20
  18. package/dist/cjs/Data.js.map +1 -1
  19. package/dist/cjs/Deferred.js.map +1 -1
  20. package/dist/cjs/Differ.js.map +1 -1
  21. package/dist/cjs/Duration.js +49 -2
  22. package/dist/cjs/Duration.js.map +1 -1
  23. package/dist/cjs/Effect.js +10 -8
  24. package/dist/cjs/Effect.js.map +1 -1
  25. package/dist/cjs/Either.js +44 -8
  26. package/dist/cjs/Either.js.map +1 -1
  27. package/dist/cjs/Equal.js.map +1 -1
  28. package/dist/cjs/Equivalence.js +1 -1
  29. package/dist/cjs/Equivalence.js.map +1 -1
  30. package/dist/cjs/Exit.js.map +1 -1
  31. package/dist/cjs/Fiber.js.map +1 -1
  32. package/dist/cjs/FiberRef.js +6 -1
  33. package/dist/cjs/FiberRef.js.map +1 -1
  34. package/dist/cjs/Function.js.map +1 -1
  35. package/dist/cjs/GlobalValue.js.map +1 -1
  36. package/dist/cjs/GroupBy.js.map +1 -1
  37. package/dist/cjs/Hash.js.map +1 -1
  38. package/dist/cjs/HashMap.js.map +1 -1
  39. package/dist/cjs/Inspectable.js +4 -6
  40. package/dist/cjs/Inspectable.js.map +1 -1
  41. package/dist/cjs/KeyedPool.js.map +1 -1
  42. package/dist/cjs/Layer.js +9 -29
  43. package/dist/cjs/Layer.js.map +1 -1
  44. package/dist/cjs/List.js +25 -22
  45. package/dist/cjs/List.js.map +1 -1
  46. package/dist/cjs/LogLevel.js.map +1 -1
  47. package/dist/cjs/Logger.js.map +1 -1
  48. package/dist/cjs/Match.js.map +1 -1
  49. package/dist/cjs/MergeDecision.js.map +1 -1
  50. package/dist/cjs/MergeState.js.map +1 -1
  51. package/dist/cjs/Metric.js.map +1 -1
  52. package/dist/cjs/MetricHook.js.map +1 -1
  53. package/dist/cjs/MetricKey.js.map +1 -1
  54. package/dist/cjs/MetricKeyType.js.map +1 -1
  55. package/dist/cjs/MetricPair.js.map +1 -1
  56. package/dist/cjs/MetricPolling.js +2 -2
  57. package/dist/cjs/MetricPolling.js.map +1 -1
  58. package/dist/cjs/MetricState.js.map +1 -1
  59. package/dist/cjs/MutableHashMap.js +1 -1
  60. package/dist/cjs/MutableHashMap.js.map +1 -1
  61. package/dist/cjs/MutableHashSet.js +1 -1
  62. package/dist/cjs/MutableHashSet.js.map +1 -1
  63. package/dist/cjs/MutableList.js +1 -1
  64. package/dist/cjs/MutableList.js.map +1 -1
  65. package/dist/cjs/MutableQueue.js +1 -1
  66. package/dist/cjs/MutableQueue.js.map +1 -1
  67. package/dist/cjs/MutableRef.js +1 -1
  68. package/dist/cjs/MutableRef.js.map +1 -1
  69. package/dist/cjs/NonEmptyIterable.js.map +1 -1
  70. package/dist/cjs/Number.js.map +1 -1
  71. package/dist/cjs/Option.js +21 -14
  72. package/dist/cjs/Option.js.map +1 -1
  73. package/dist/cjs/Order.js +1 -1
  74. package/dist/cjs/Order.js.map +1 -1
  75. package/dist/cjs/Ordering.js.map +1 -1
  76. package/dist/cjs/Pipeable.js.map +1 -1
  77. package/dist/cjs/Pool.js +15 -17
  78. package/dist/cjs/Pool.js.map +1 -1
  79. package/dist/cjs/Predicate.js +17 -1
  80. package/dist/cjs/Predicate.js.map +1 -1
  81. package/dist/cjs/PrimaryKey.js +21 -0
  82. package/dist/cjs/PrimaryKey.js.map +1 -0
  83. package/dist/cjs/Queue.js +6 -1
  84. package/dist/cjs/Queue.js.map +1 -1
  85. package/dist/cjs/ReadonlyArray.js +202 -187
  86. package/dist/cjs/ReadonlyArray.js.map +1 -1
  87. package/dist/cjs/ReadonlyRecord.js +61 -8
  88. package/dist/cjs/ReadonlyRecord.js.map +1 -1
  89. package/dist/cjs/RedBlackTree.js.map +1 -1
  90. package/dist/cjs/Ref.js.map +1 -1
  91. package/dist/cjs/Reloadable.js.map +1 -1
  92. package/dist/cjs/Request.js +42 -1
  93. package/dist/cjs/Request.js.map +1 -1
  94. package/dist/cjs/RequestBlock.js +5 -24
  95. package/dist/cjs/RequestBlock.js.map +1 -1
  96. package/dist/cjs/RequestResolver.js.map +1 -1
  97. package/dist/cjs/Resource.js.map +1 -1
  98. package/dist/cjs/STM.js +1 -1
  99. package/dist/cjs/STM.js.map +1 -1
  100. package/dist/cjs/Schedule.js.map +1 -1
  101. package/dist/cjs/Scheduler.js.map +1 -1
  102. package/dist/cjs/ScopedCache.js.map +1 -1
  103. package/dist/cjs/ScopedRef.js.map +1 -1
  104. package/dist/cjs/Sink.js.map +1 -1
  105. package/dist/cjs/SortedMap.js +5 -2
  106. package/dist/cjs/SortedMap.js.map +1 -1
  107. package/dist/cjs/SortedSet.js +3 -3
  108. package/dist/cjs/SortedSet.js.map +1 -1
  109. package/dist/cjs/Stream.js.map +1 -1
  110. package/dist/cjs/Streamable.js +3 -0
  111. package/dist/cjs/Streamable.js.map +1 -1
  112. package/dist/cjs/String.js.map +1 -1
  113. package/dist/cjs/Struct.js.map +1 -1
  114. package/dist/cjs/SubscriptionRef.js.map +1 -1
  115. package/dist/cjs/Supervisor.js.map +1 -1
  116. package/dist/cjs/SynchronizedRef.js.map +1 -1
  117. package/dist/cjs/TArray.js.map +1 -1
  118. package/dist/cjs/TDeferred.js.map +1 -1
  119. package/dist/cjs/TMap.js.map +1 -1
  120. package/dist/cjs/TPriorityQueue.js.map +1 -1
  121. package/dist/cjs/TPubSub.js.map +1 -1
  122. package/dist/cjs/TQueue.js.map +1 -1
  123. package/dist/cjs/TRef.js.map +1 -1
  124. package/dist/cjs/TSet.js.map +1 -1
  125. package/dist/cjs/Take.js.map +1 -1
  126. package/dist/cjs/TestAnnotation.js +3 -1
  127. package/dist/cjs/TestAnnotation.js.map +1 -1
  128. package/dist/cjs/TestAnnotationMap.js.map +1 -1
  129. package/dist/cjs/TestAnnotations.js.map +1 -1
  130. package/dist/cjs/TestClock.js.map +1 -1
  131. package/dist/cjs/TestContext.js +2 -2
  132. package/dist/cjs/TestContext.js.map +1 -1
  133. package/dist/cjs/UpstreamPullRequest.js.map +1 -1
  134. package/dist/cjs/UpstreamPullStrategy.js.map +1 -1
  135. package/dist/cjs/Utils.js.map +1 -1
  136. package/dist/cjs/index.js +4 -2
  137. package/dist/cjs/index.js.map +1 -1
  138. package/dist/cjs/internal/Iterable.js.map +1 -1
  139. package/dist/cjs/internal/blockedRequests.js +3 -2
  140. package/dist/cjs/internal/blockedRequests.js.map +1 -1
  141. package/dist/cjs/internal/cache.js +3 -0
  142. package/dist/cjs/internal/cache.js.map +1 -1
  143. package/dist/cjs/internal/cause.js +5 -104
  144. package/dist/cjs/internal/cause.js.map +1 -1
  145. package/dist/cjs/internal/channel/channelExecutor.js.map +1 -1
  146. package/dist/cjs/internal/channel/channelState.js +2 -1
  147. package/dist/cjs/internal/channel/channelState.js.map +1 -1
  148. package/dist/cjs/internal/channel/childExecutorDecision.js.map +1 -1
  149. package/dist/cjs/internal/channel/continuation.js +9 -1
  150. package/dist/cjs/internal/channel/continuation.js.map +1 -1
  151. package/dist/cjs/internal/channel/mergeDecision.js.map +1 -1
  152. package/dist/cjs/internal/channel/mergeState.js.map +1 -1
  153. package/dist/cjs/internal/channel/mergeStrategy.js.map +1 -1
  154. package/dist/cjs/internal/channel/singleProducerAsyncInput.js.map +1 -1
  155. package/dist/cjs/internal/channel/subexecutor.js.map +1 -1
  156. package/dist/cjs/internal/channel/upstreamPullRequest.js +1 -1
  157. package/dist/cjs/internal/channel/upstreamPullRequest.js.map +1 -1
  158. package/dist/cjs/internal/channel/upstreamPullStrategy.js +1 -1
  159. package/dist/cjs/internal/channel/upstreamPullStrategy.js.map +1 -1
  160. package/dist/cjs/internal/channel.js.map +1 -1
  161. package/dist/cjs/internal/clock.js.map +1 -1
  162. package/dist/cjs/internal/concurrency.js.map +1 -1
  163. package/dist/cjs/internal/config.js +16 -24
  164. package/dist/cjs/internal/config.js.map +1 -1
  165. package/dist/cjs/internal/configError.js +2 -2
  166. package/dist/cjs/internal/configError.js.map +1 -1
  167. package/dist/cjs/internal/configProvider/pathPatch.js.map +1 -1
  168. package/dist/cjs/internal/configProvider.js +18 -4
  169. package/dist/cjs/internal/configProvider.js.map +1 -1
  170. package/dist/cjs/internal/configSecret.js.map +1 -1
  171. package/dist/cjs/internal/context.js +5 -5
  172. package/dist/cjs/internal/context.js.map +1 -1
  173. package/dist/cjs/internal/core-effect.js +19 -15
  174. package/dist/cjs/internal/core-effect.js.map +1 -1
  175. package/dist/cjs/internal/core-stream.js +7 -1
  176. package/dist/cjs/internal/core-stream.js.map +1 -1
  177. package/dist/cjs/internal/core.js +203 -85
  178. package/dist/cjs/internal/core.js.map +1 -1
  179. package/dist/cjs/internal/data.js +4 -22
  180. package/dist/cjs/internal/data.js.map +1 -1
  181. package/dist/cjs/internal/dataSource.js +1 -1
  182. package/dist/cjs/internal/dataSource.js.map +1 -1
  183. package/dist/cjs/internal/deferred.js +2 -0
  184. package/dist/cjs/internal/deferred.js.map +1 -1
  185. package/dist/cjs/internal/differ/chunkPatch.js.map +1 -1
  186. package/dist/cjs/internal/differ/contextPatch.js.map +1 -1
  187. package/dist/cjs/internal/differ/hashMapPatch.js.map +1 -1
  188. package/dist/cjs/internal/differ/hashSetPatch.js.map +1 -1
  189. package/dist/cjs/internal/differ/orPatch.js.map +1 -1
  190. package/dist/cjs/internal/differ.js.map +1 -1
  191. package/dist/cjs/internal/effect/circular.js +1 -0
  192. package/dist/cjs/internal/effect/circular.js.map +1 -1
  193. package/dist/cjs/internal/effectable.js +38 -7
  194. package/dist/cjs/internal/effectable.js.map +1 -1
  195. package/dist/cjs/internal/either.js +1 -1
  196. package/dist/cjs/internal/either.js.map +1 -1
  197. package/dist/cjs/internal/encoding/base64.js.map +1 -1
  198. package/dist/cjs/internal/encoding/base64Url.js.map +1 -1
  199. package/dist/cjs/internal/encoding/common.js.map +1 -1
  200. package/dist/cjs/internal/encoding/hex.js.map +1 -1
  201. package/dist/cjs/internal/executionStrategy.js.map +1 -1
  202. package/dist/cjs/internal/fiber.js +2 -0
  203. package/dist/cjs/internal/fiber.js.map +1 -1
  204. package/dist/cjs/internal/fiberId.js +3 -3
  205. package/dist/cjs/internal/fiberId.js.map +1 -1
  206. package/dist/cjs/internal/fiberMessage.js.map +1 -1
  207. package/dist/cjs/internal/fiberRefs/patch.js.map +1 -1
  208. package/dist/cjs/internal/fiberRefs.js.map +1 -1
  209. package/dist/cjs/internal/fiberRuntime.js +181 -218
  210. package/dist/cjs/internal/fiberRuntime.js.map +1 -1
  211. package/dist/cjs/internal/groupBy.js +4 -1
  212. package/dist/cjs/internal/groupBy.js.map +1 -1
  213. package/dist/cjs/internal/hashMap/array.js.map +1 -1
  214. package/dist/cjs/internal/hashMap/node.js.map +1 -1
  215. package/dist/cjs/internal/hashMap.js +2 -2
  216. package/dist/cjs/internal/hashMap.js.map +1 -1
  217. package/dist/cjs/internal/hashSet.js +3 -3
  218. package/dist/cjs/internal/hashSet.js.map +1 -1
  219. package/dist/cjs/internal/keyedPool.js +3 -0
  220. package/dist/cjs/internal/keyedPool.js.map +1 -1
  221. package/dist/cjs/internal/layer.js +23 -53
  222. package/dist/cjs/internal/layer.js.map +1 -1
  223. package/dist/cjs/internal/logger.js +2 -1
  224. package/dist/cjs/internal/logger.js.map +1 -1
  225. package/dist/cjs/internal/matcher.js.map +1 -1
  226. package/dist/cjs/internal/metric/hook.js +2 -1
  227. package/dist/cjs/internal/metric/hook.js.map +1 -1
  228. package/dist/cjs/internal/metric/key.js +1 -1
  229. package/dist/cjs/internal/metric/key.js.map +1 -1
  230. package/dist/cjs/internal/metric/keyType.js +2 -1
  231. package/dist/cjs/internal/metric/keyType.js.map +1 -1
  232. package/dist/cjs/internal/metric/pair.js +1 -1
  233. package/dist/cjs/internal/metric/pair.js.map +1 -1
  234. package/dist/cjs/internal/metric/polling.js +7 -7
  235. package/dist/cjs/internal/metric/polling.js.map +1 -1
  236. package/dist/cjs/internal/metric/registry.js.map +1 -1
  237. package/dist/cjs/internal/metric/state.js +1 -1
  238. package/dist/cjs/internal/metric/state.js.map +1 -1
  239. package/dist/cjs/internal/metric.js +11 -5
  240. package/dist/cjs/internal/metric.js.map +1 -1
  241. package/dist/cjs/internal/opCodes/layer.js +4 -4
  242. package/dist/cjs/internal/opCodes/layer.js.map +1 -1
  243. package/dist/cjs/internal/option.js +1 -1
  244. package/dist/cjs/internal/option.js.map +1 -1
  245. package/dist/cjs/internal/pool.js +2 -0
  246. package/dist/cjs/internal/pool.js.map +1 -1
  247. package/dist/cjs/internal/pubsub.js +25 -24
  248. package/dist/cjs/internal/pubsub.js.map +1 -1
  249. package/dist/cjs/internal/query.js +1 -1
  250. package/dist/cjs/internal/query.js.map +1 -1
  251. package/dist/cjs/internal/queue.js +14 -3
  252. package/dist/cjs/internal/queue.js.map +1 -1
  253. package/dist/cjs/internal/random.js.map +1 -1
  254. package/dist/cjs/internal/redBlackTree/iterator.js.map +1 -1
  255. package/dist/cjs/internal/redBlackTree.js +8 -2
  256. package/dist/cjs/internal/redBlackTree.js.map +1 -1
  257. package/dist/cjs/internal/ref.js +1 -0
  258. package/dist/cjs/internal/ref.js.map +1 -1
  259. package/dist/cjs/internal/reloadable.js +1 -1
  260. package/dist/cjs/internal/reloadable.js.map +1 -1
  261. package/dist/cjs/internal/request.js +33 -16
  262. package/dist/cjs/internal/request.js.map +1 -1
  263. package/dist/cjs/internal/resource.js +4 -3
  264. package/dist/cjs/internal/resource.js.map +1 -1
  265. package/dist/cjs/internal/ringBuffer.js.map +1 -1
  266. package/dist/cjs/internal/runtime.js +3 -4
  267. package/dist/cjs/internal/runtime.js.map +1 -1
  268. package/dist/cjs/internal/runtimeFlags.js.map +1 -1
  269. package/dist/cjs/internal/schedule/interval.js.map +1 -1
  270. package/dist/cjs/internal/schedule/intervals.js.map +1 -1
  271. package/dist/cjs/internal/schedule.js +12 -8
  272. package/dist/cjs/internal/schedule.js.map +1 -1
  273. package/dist/cjs/internal/scopedCache.js +5 -2
  274. package/dist/cjs/internal/scopedCache.js.map +1 -1
  275. package/dist/cjs/internal/scopedRef.js +1 -0
  276. package/dist/cjs/internal/scopedRef.js.map +1 -1
  277. package/dist/cjs/internal/sink.js +6 -2
  278. package/dist/cjs/internal/sink.js.map +1 -1
  279. package/dist/cjs/internal/stm/core.js +5 -3
  280. package/dist/cjs/internal/stm/core.js.map +1 -1
  281. package/dist/cjs/internal/stm/stm/journal.js.map +1 -1
  282. package/dist/cjs/internal/stm/stm/stmState.js.map +1 -1
  283. package/dist/cjs/internal/stm/stm/tExit.js +2 -1
  284. package/dist/cjs/internal/stm/stm/tExit.js.map +1 -1
  285. package/dist/cjs/internal/stm/stm.js.map +1 -1
  286. package/dist/cjs/internal/stm/tArray.js +1 -1
  287. package/dist/cjs/internal/stm/tArray.js.map +1 -1
  288. package/dist/cjs/internal/stm/tDeferred.js.map +1 -1
  289. package/dist/cjs/internal/stm/tMap.js +2 -1
  290. package/dist/cjs/internal/stm/tMap.js.map +1 -1
  291. package/dist/cjs/internal/stm/tPriorityQueue.js +1 -1
  292. package/dist/cjs/internal/stm/tPriorityQueue.js.map +1 -1
  293. package/dist/cjs/internal/stm/tPubSub.js +17 -14
  294. package/dist/cjs/internal/stm/tPubSub.js.map +1 -1
  295. package/dist/cjs/internal/stm/tQueue.js +8 -7
  296. package/dist/cjs/internal/stm/tQueue.js.map +1 -1
  297. package/dist/cjs/internal/stm/tRandom.js.map +1 -1
  298. package/dist/cjs/internal/stm/tReentrantLock.js.map +1 -1
  299. package/dist/cjs/internal/stm/tRef.js +1 -1
  300. package/dist/cjs/internal/stm/tRef.js.map +1 -1
  301. package/dist/cjs/internal/stm/tSemaphore.js +2 -2
  302. package/dist/cjs/internal/stm/tSemaphore.js.map +1 -1
  303. package/dist/cjs/internal/stm/tSet.js +1 -1
  304. package/dist/cjs/internal/stm/tSet.js.map +1 -1
  305. package/dist/cjs/internal/stream/haltStrategy.js.map +1 -1
  306. package/dist/cjs/internal/stream/handoff.js +1 -1
  307. package/dist/cjs/internal/stream/handoff.js.map +1 -1
  308. package/dist/cjs/internal/stream.js +5 -5
  309. package/dist/cjs/internal/stream.js.map +1 -1
  310. package/dist/cjs/internal/string-utils.js.map +1 -1
  311. package/dist/cjs/internal/subscriptionRef.js +1 -1
  312. package/dist/cjs/internal/subscriptionRef.js.map +1 -1
  313. package/dist/cjs/internal/supervisor/patch.js.map +1 -1
  314. package/dist/cjs/internal/supervisor.js +1 -0
  315. package/dist/cjs/internal/supervisor.js.map +1 -1
  316. package/dist/cjs/internal/synchronizedRef.js.map +1 -1
  317. package/dist/cjs/internal/take.js +3 -2
  318. package/dist/cjs/internal/take.js.map +1 -1
  319. package/dist/cjs/internal/version.js +1 -1
  320. package/dist/dts/BigDecimal.d.ts +5 -5
  321. package/dist/dts/BigDecimal.d.ts.map +1 -1
  322. package/dist/dts/Brand.d.ts +4 -4
  323. package/dist/dts/Brand.d.ts.map +1 -1
  324. package/dist/dts/Cache.d.ts +18 -16
  325. package/dist/dts/Cache.d.ts.map +1 -1
  326. package/dist/dts/Cause.d.ts +94 -26
  327. package/dist/dts/Cause.d.ts.map +1 -1
  328. package/dist/dts/Channel.d.ts +12 -11
  329. package/dist/dts/Channel.d.ts.map +1 -1
  330. package/dist/dts/ChildExecutorDecision.d.ts.map +1 -1
  331. package/dist/dts/Chunk.d.ts +81 -69
  332. package/dist/dts/Chunk.d.ts.map +1 -1
  333. package/dist/dts/Clock.d.ts +4 -4
  334. package/dist/dts/Clock.d.ts.map +1 -1
  335. package/dist/dts/Config.d.ts +20 -19
  336. package/dist/dts/Config.d.ts.map +1 -1
  337. package/dist/dts/ConfigError.d.ts +7 -7
  338. package/dist/dts/ConfigError.d.ts.map +1 -1
  339. package/dist/dts/ConfigProvider.d.ts +3 -3
  340. package/dist/dts/ConfigProvider.d.ts.map +1 -1
  341. package/dist/dts/ConfigProviderPathPatch.d.ts +1 -1
  342. package/dist/dts/ConfigProviderPathPatch.d.ts.map +1 -1
  343. package/dist/dts/Console.d.ts +36 -36
  344. package/dist/dts/Console.d.ts.map +1 -1
  345. package/dist/dts/Context.d.ts +8 -7
  346. package/dist/dts/Context.d.ts.map +1 -1
  347. package/dist/dts/Data.d.ts +6 -20
  348. package/dist/dts/Data.d.ts.map +1 -1
  349. package/dist/dts/Deferred.d.ts +5 -4
  350. package/dist/dts/Deferred.d.ts.map +1 -1
  351. package/dist/dts/Differ.d.ts +24 -23
  352. package/dist/dts/Differ.d.ts.map +1 -1
  353. package/dist/dts/Duration.d.ts +12 -1
  354. package/dist/dts/Duration.d.ts.map +1 -1
  355. package/dist/dts/Effect.d.ts +62 -45
  356. package/dist/dts/Effect.d.ts.map +1 -1
  357. package/dist/dts/Either.d.ts +61 -13
  358. package/dist/dts/Either.d.ts.map +1 -1
  359. package/dist/dts/Equal.d.ts +1 -1
  360. package/dist/dts/Equal.d.ts.map +1 -1
  361. package/dist/dts/Equivalence.d.ts +2 -2
  362. package/dist/dts/Equivalence.d.ts.map +1 -1
  363. package/dist/dts/Exit.d.ts +5 -3
  364. package/dist/dts/Exit.d.ts.map +1 -1
  365. package/dist/dts/Fiber.d.ts +17 -16
  366. package/dist/dts/Fiber.d.ts.map +1 -1
  367. package/dist/dts/FiberRef.d.ts +9 -3
  368. package/dist/dts/FiberRef.d.ts.map +1 -1
  369. package/dist/dts/GroupBy.d.ts +7 -6
  370. package/dist/dts/GroupBy.d.ts.map +1 -1
  371. package/dist/dts/HKT.d.ts +5 -4
  372. package/dist/dts/HKT.d.ts.map +1 -1
  373. package/dist/dts/Hash.d.ts +1 -1
  374. package/dist/dts/Hash.d.ts.map +1 -1
  375. package/dist/dts/HashMap.d.ts +6 -4
  376. package/dist/dts/HashMap.d.ts.map +1 -1
  377. package/dist/dts/HashSet.d.ts +9 -9
  378. package/dist/dts/HashSet.d.ts.map +1 -1
  379. package/dist/dts/Inspectable.d.ts +3 -7
  380. package/dist/dts/Inspectable.d.ts.map +1 -1
  381. package/dist/dts/KeyedPool.d.ts +8 -7
  382. package/dist/dts/KeyedPool.d.ts.map +1 -1
  383. package/dist/dts/Layer.d.ts +16 -41
  384. package/dist/dts/Layer.d.ts.map +1 -1
  385. package/dist/dts/List.d.ts +48 -49
  386. package/dist/dts/List.d.ts.map +1 -1
  387. package/dist/dts/Logger.d.ts +7 -6
  388. package/dist/dts/Logger.d.ts.map +1 -1
  389. package/dist/dts/Match.d.ts +31 -19
  390. package/dist/dts/Match.d.ts.map +1 -1
  391. package/dist/dts/MergeDecision.d.ts +8 -7
  392. package/dist/dts/MergeDecision.d.ts.map +1 -1
  393. package/dist/dts/MergeState.d.ts +5 -5
  394. package/dist/dts/MergeState.d.ts.map +1 -1
  395. package/dist/dts/Metric.d.ts +11 -10
  396. package/dist/dts/Metric.d.ts.map +1 -1
  397. package/dist/dts/MetricHook.d.ts +7 -6
  398. package/dist/dts/MetricHook.d.ts.map +1 -1
  399. package/dist/dts/MetricKey.d.ts +4 -3
  400. package/dist/dts/MetricKey.d.ts.map +1 -1
  401. package/dist/dts/MetricKeyType.d.ts +5 -4
  402. package/dist/dts/MetricKeyType.d.ts.map +1 -1
  403. package/dist/dts/MetricPair.d.ts +4 -3
  404. package/dist/dts/MetricPair.d.ts.map +1 -1
  405. package/dist/dts/MetricPolling.d.ts +16 -16
  406. package/dist/dts/MetricPolling.d.ts.map +1 -1
  407. package/dist/dts/MetricRegistry.d.ts +7 -7
  408. package/dist/dts/MetricRegistry.d.ts.map +1 -1
  409. package/dist/dts/MetricState.d.ts +6 -5
  410. package/dist/dts/MetricState.d.ts.map +1 -1
  411. package/dist/dts/MutableHashMap.d.ts +1 -1
  412. package/dist/dts/MutableHashMap.d.ts.map +1 -1
  413. package/dist/dts/MutableHashSet.d.ts +1 -1
  414. package/dist/dts/MutableHashSet.d.ts.map +1 -1
  415. package/dist/dts/MutableList.d.ts +1 -1
  416. package/dist/dts/MutableList.d.ts.map +1 -1
  417. package/dist/dts/MutableQueue.d.ts +1 -1
  418. package/dist/dts/MutableQueue.d.ts.map +1 -1
  419. package/dist/dts/MutableRef.d.ts +1 -1
  420. package/dist/dts/MutableRef.d.ts.map +1 -1
  421. package/dist/dts/NonEmptyIterable.d.ts +2 -2
  422. package/dist/dts/NonEmptyIterable.d.ts.map +1 -1
  423. package/dist/dts/Option.d.ts +39 -24
  424. package/dist/dts/Option.d.ts.map +1 -1
  425. package/dist/dts/Order.d.ts +2 -2
  426. package/dist/dts/Order.d.ts.map +1 -1
  427. package/dist/dts/Pipeable.d.ts +21 -23
  428. package/dist/dts/Pipeable.d.ts.map +1 -1
  429. package/dist/dts/Pool.d.ts +21 -22
  430. package/dist/dts/Pool.d.ts.map +1 -1
  431. package/dist/dts/Predicate.d.ts +17 -2
  432. package/dist/dts/Predicate.d.ts.map +1 -1
  433. package/dist/dts/PrimaryKey.d.ts +21 -0
  434. package/dist/dts/PrimaryKey.d.ts.map +1 -0
  435. package/dist/dts/PubSub.d.ts +3 -3
  436. package/dist/dts/PubSub.d.ts.map +1 -1
  437. package/dist/dts/Queue.d.ts +49 -29
  438. package/dist/dts/Queue.d.ts.map +1 -1
  439. package/dist/dts/Random.d.ts +3 -3
  440. package/dist/dts/Random.d.ts.map +1 -1
  441. package/dist/dts/ReadonlyArray.d.ts +170 -206
  442. package/dist/dts/ReadonlyArray.d.ts.map +1 -1
  443. package/dist/dts/ReadonlyRecord.d.ts +51 -16
  444. package/dist/dts/ReadonlyRecord.d.ts.map +1 -1
  445. package/dist/dts/RedBlackTree.d.ts +6 -2
  446. package/dist/dts/RedBlackTree.d.ts.map +1 -1
  447. package/dist/dts/Ref.d.ts +5 -4
  448. package/dist/dts/Ref.d.ts.map +1 -1
  449. package/dist/dts/Reloadable.d.ts +4 -3
  450. package/dist/dts/Reloadable.d.ts.map +1 -1
  451. package/dist/dts/Request.d.ts +63 -11
  452. package/dist/dts/Request.d.ts.map +1 -1
  453. package/dist/dts/RequestBlock.d.ts +20 -39
  454. package/dist/dts/RequestBlock.d.ts.map +1 -1
  455. package/dist/dts/RequestResolver.d.ts +7 -6
  456. package/dist/dts/RequestResolver.d.ts.map +1 -1
  457. package/dist/dts/Resource.d.ts +5 -4
  458. package/dist/dts/Resource.d.ts.map +1 -1
  459. package/dist/dts/Runtime.d.ts +3 -3
  460. package/dist/dts/Runtime.d.ts.map +1 -1
  461. package/dist/dts/STM.d.ts +13 -12
  462. package/dist/dts/STM.d.ts.map +1 -1
  463. package/dist/dts/Schedule.d.ts +13 -12
  464. package/dist/dts/Schedule.d.ts.map +1 -1
  465. package/dist/dts/Scheduler.d.ts +3 -3
  466. package/dist/dts/Scheduler.d.ts.map +1 -1
  467. package/dist/dts/ScopedCache.d.ts +13 -12
  468. package/dist/dts/ScopedCache.d.ts.map +1 -1
  469. package/dist/dts/ScopedRef.d.ts +4 -3
  470. package/dist/dts/ScopedRef.d.ts.map +1 -1
  471. package/dist/dts/SingleProducerAsyncInput.d.ts +7 -7
  472. package/dist/dts/SingleProducerAsyncInput.d.ts.map +1 -1
  473. package/dist/dts/Sink.d.ts +13 -9
  474. package/dist/dts/Sink.d.ts.map +1 -1
  475. package/dist/dts/SortedMap.d.ts +6 -2
  476. package/dist/dts/SortedMap.d.ts.map +1 -1
  477. package/dist/dts/SortedSet.d.ts +7 -12
  478. package/dist/dts/SortedSet.d.ts.map +1 -1
  479. package/dist/dts/Stream.d.ts +32 -23
  480. package/dist/dts/Stream.d.ts.map +1 -1
  481. package/dist/dts/StreamEmit.d.ts +12 -12
  482. package/dist/dts/StreamEmit.d.ts.map +1 -1
  483. package/dist/dts/Streamable.d.ts.map +1 -1
  484. package/dist/dts/SubscriptionRef.d.ts +4 -3
  485. package/dist/dts/SubscriptionRef.d.ts.map +1 -1
  486. package/dist/dts/Supervisor.d.ts +11 -10
  487. package/dist/dts/Supervisor.d.ts.map +1 -1
  488. package/dist/dts/SynchronizedRef.d.ts +5 -4
  489. package/dist/dts/SynchronizedRef.d.ts.map +1 -1
  490. package/dist/dts/TArray.d.ts +4 -3
  491. package/dist/dts/TArray.d.ts.map +1 -1
  492. package/dist/dts/TDeferred.d.ts +5 -4
  493. package/dist/dts/TDeferred.d.ts.map +1 -1
  494. package/dist/dts/TMap.d.ts +5 -4
  495. package/dist/dts/TMap.d.ts.map +1 -1
  496. package/dist/dts/TPriorityQueue.d.ts +4 -3
  497. package/dist/dts/TPriorityQueue.d.ts.map +1 -1
  498. package/dist/dts/TPubSub.d.ts +5 -1
  499. package/dist/dts/TPubSub.d.ts.map +1 -1
  500. package/dist/dts/TQueue.d.ts +12 -11
  501. package/dist/dts/TQueue.d.ts.map +1 -1
  502. package/dist/dts/TRandom.d.ts +3 -3
  503. package/dist/dts/TRandom.d.ts.map +1 -1
  504. package/dist/dts/TRef.d.ts +5 -4
  505. package/dist/dts/TRef.d.ts.map +1 -1
  506. package/dist/dts/TSet.d.ts +4 -3
  507. package/dist/dts/TSet.d.ts.map +1 -1
  508. package/dist/dts/Take.d.ts +5 -4
  509. package/dist/dts/Take.d.ts.map +1 -1
  510. package/dist/dts/TestAnnotation.d.ts +6 -3
  511. package/dist/dts/TestAnnotation.d.ts.map +1 -1
  512. package/dist/dts/TestAnnotations.d.ts +2 -2
  513. package/dist/dts/TestAnnotations.d.ts.map +1 -1
  514. package/dist/dts/TestClock.d.ts +3 -3
  515. package/dist/dts/TestClock.d.ts.map +1 -1
  516. package/dist/dts/TestContext.d.ts.map +1 -1
  517. package/dist/dts/TestLive.d.ts +1 -1
  518. package/dist/dts/TestLive.d.ts.map +1 -1
  519. package/dist/dts/TestSized.d.ts +1 -1
  520. package/dist/dts/TestSized.d.ts.map +1 -1
  521. package/dist/dts/Tracer.d.ts +5 -5
  522. package/dist/dts/Tracer.d.ts.map +1 -1
  523. package/dist/dts/Types.d.ts +28 -0
  524. package/dist/dts/Types.d.ts.map +1 -1
  525. package/dist/dts/UpstreamPullRequest.d.ts +4 -3
  526. package/dist/dts/UpstreamPullRequest.d.ts.map +1 -1
  527. package/dist/dts/UpstreamPullStrategy.d.ts +5 -4
  528. package/dist/dts/UpstreamPullStrategy.d.ts.map +1 -1
  529. package/dist/dts/Utils.d.ts +7 -6
  530. package/dist/dts/Utils.d.ts.map +1 -1
  531. package/dist/dts/index.d.ts +4 -0
  532. package/dist/dts/index.d.ts.map +1 -1
  533. package/dist/dts/internal/config.d.ts +1 -2
  534. package/dist/dts/internal/config.d.ts.map +1 -1
  535. package/dist/dts/internal/core-stream.d.ts.map +1 -1
  536. package/dist/dts/internal/fiberScope.d.ts +1 -1
  537. package/dist/dts/internal/fiberScope.d.ts.map +1 -1
  538. package/dist/dts/internal/logger.d.ts.map +1 -1
  539. package/dist/dts/internal/metric/keyType.d.ts.map +1 -1
  540. package/dist/dts/internal/stream/handoffSignal.d.ts +1 -1
  541. package/dist/dts/internal/stream/handoffSignal.d.ts.map +1 -1
  542. package/dist/dts/internal/version.d.ts +1 -1
  543. package/dist/esm/BigDecimal.js +7 -7
  544. package/dist/esm/BigDecimal.js.map +1 -1
  545. package/dist/esm/BigInt.js.map +1 -1
  546. package/dist/esm/Boolean.js.map +1 -1
  547. package/dist/esm/Brand.js.map +1 -1
  548. package/dist/esm/Cache.js.map +1 -1
  549. package/dist/esm/Cause.js +52 -17
  550. package/dist/esm/Cause.js.map +1 -1
  551. package/dist/esm/Channel.js.map +1 -1
  552. package/dist/esm/ChildExecutorDecision.js.map +1 -1
  553. package/dist/esm/Chunk.js +43 -34
  554. package/dist/esm/Chunk.js.map +1 -1
  555. package/dist/esm/Config.js +3 -3
  556. package/dist/esm/Config.js.map +1 -1
  557. package/dist/esm/Context.js.map +1 -1
  558. package/dist/esm/Data.js +10 -19
  559. package/dist/esm/Data.js.map +1 -1
  560. package/dist/esm/Deferred.js.map +1 -1
  561. package/dist/esm/Differ.js.map +1 -1
  562. package/dist/esm/Duration.js +48 -2
  563. package/dist/esm/Duration.js.map +1 -1
  564. package/dist/esm/Effect.js +9 -7
  565. package/dist/esm/Effect.js.map +1 -1
  566. package/dist/esm/Either.js +43 -7
  567. package/dist/esm/Either.js.map +1 -1
  568. package/dist/esm/Equal.js.map +1 -1
  569. package/dist/esm/Equivalence.js +1 -1
  570. package/dist/esm/Equivalence.js.map +1 -1
  571. package/dist/esm/Exit.js.map +1 -1
  572. package/dist/esm/Fiber.js.map +1 -1
  573. package/dist/esm/FiberRef.js +5 -0
  574. package/dist/esm/FiberRef.js.map +1 -1
  575. package/dist/esm/Function.js.map +1 -1
  576. package/dist/esm/GlobalValue.js.map +1 -1
  577. package/dist/esm/GroupBy.js.map +1 -1
  578. package/dist/esm/HKT.js +0 -3
  579. package/dist/esm/HKT.js.map +1 -1
  580. package/dist/esm/Hash.js.map +1 -1
  581. package/dist/esm/HashMap.js.map +1 -1
  582. package/dist/esm/Inspectable.js +2 -4
  583. package/dist/esm/Inspectable.js.map +1 -1
  584. package/dist/esm/KeyedPool.js.map +1 -1
  585. package/dist/esm/Layer.js +8 -28
  586. package/dist/esm/Layer.js.map +1 -1
  587. package/dist/esm/List.js +25 -22
  588. package/dist/esm/List.js.map +1 -1
  589. package/dist/esm/LogLevel.js.map +1 -1
  590. package/dist/esm/Logger.js.map +1 -1
  591. package/dist/esm/Match.js.map +1 -1
  592. package/dist/esm/MergeDecision.js.map +1 -1
  593. package/dist/esm/MergeState.js.map +1 -1
  594. package/dist/esm/Metric.js.map +1 -1
  595. package/dist/esm/MetricHook.js.map +1 -1
  596. package/dist/esm/MetricKey.js.map +1 -1
  597. package/dist/esm/MetricKeyType.js.map +1 -1
  598. package/dist/esm/MetricPair.js.map +1 -1
  599. package/dist/esm/MetricPolling.js +1 -1
  600. package/dist/esm/MetricPolling.js.map +1 -1
  601. package/dist/esm/MetricState.js.map +1 -1
  602. package/dist/esm/MutableHashMap.js +2 -2
  603. package/dist/esm/MutableHashMap.js.map +1 -1
  604. package/dist/esm/MutableHashSet.js +2 -2
  605. package/dist/esm/MutableHashSet.js.map +1 -1
  606. package/dist/esm/MutableList.js +2 -2
  607. package/dist/esm/MutableList.js.map +1 -1
  608. package/dist/esm/MutableQueue.js +2 -2
  609. package/dist/esm/MutableQueue.js.map +1 -1
  610. package/dist/esm/MutableRef.js +2 -2
  611. package/dist/esm/MutableRef.js.map +1 -1
  612. package/dist/esm/NonEmptyIterable.js.map +1 -1
  613. package/dist/esm/Number.js.map +1 -1
  614. package/dist/esm/Option.js +21 -14
  615. package/dist/esm/Option.js.map +1 -1
  616. package/dist/esm/Order.js +1 -1
  617. package/dist/esm/Order.js.map +1 -1
  618. package/dist/esm/Ordering.js.map +1 -1
  619. package/dist/esm/Pipeable.js.map +1 -1
  620. package/dist/esm/Pool.js +15 -17
  621. package/dist/esm/Pool.js.map +1 -1
  622. package/dist/esm/Predicate.js +15 -0
  623. package/dist/esm/Predicate.js.map +1 -1
  624. package/dist/esm/PrimaryKey.js +14 -0
  625. package/dist/esm/PrimaryKey.js.map +1 -0
  626. package/dist/esm/Queue.js +5 -0
  627. package/dist/esm/Queue.js.map +1 -1
  628. package/dist/esm/ReadonlyArray.js +195 -177
  629. package/dist/esm/ReadonlyArray.js.map +1 -1
  630. package/dist/esm/ReadonlyRecord.js +58 -7
  631. package/dist/esm/ReadonlyRecord.js.map +1 -1
  632. package/dist/esm/RedBlackTree.js.map +1 -1
  633. package/dist/esm/Ref.js.map +1 -1
  634. package/dist/esm/Reloadable.js.map +1 -1
  635. package/dist/esm/Request.js +41 -0
  636. package/dist/esm/Request.js.map +1 -1
  637. package/dist/esm/RequestBlock.js +3 -22
  638. package/dist/esm/RequestBlock.js.map +1 -1
  639. package/dist/esm/RequestResolver.js.map +1 -1
  640. package/dist/esm/Resource.js.map +1 -1
  641. package/dist/esm/STM.js +1 -1
  642. package/dist/esm/STM.js.map +1 -1
  643. package/dist/esm/Schedule.js.map +1 -1
  644. package/dist/esm/Scheduler.js.map +1 -1
  645. package/dist/esm/ScopedCache.js.map +1 -1
  646. package/dist/esm/ScopedRef.js.map +1 -1
  647. package/dist/esm/Sink.js.map +1 -1
  648. package/dist/esm/SortedMap.js +6 -3
  649. package/dist/esm/SortedMap.js.map +1 -1
  650. package/dist/esm/SortedSet.js +4 -4
  651. package/dist/esm/SortedSet.js.map +1 -1
  652. package/dist/esm/Stream.js.map +1 -1
  653. package/dist/esm/Streamable.js +3 -0
  654. package/dist/esm/Streamable.js.map +1 -1
  655. package/dist/esm/String.js.map +1 -1
  656. package/dist/esm/Struct.js.map +1 -1
  657. package/dist/esm/SubscriptionRef.js.map +1 -1
  658. package/dist/esm/Supervisor.js.map +1 -1
  659. package/dist/esm/SynchronizedRef.js.map +1 -1
  660. package/dist/esm/TArray.js.map +1 -1
  661. package/dist/esm/TDeferred.js.map +1 -1
  662. package/dist/esm/TMap.js.map +1 -1
  663. package/dist/esm/TPriorityQueue.js.map +1 -1
  664. package/dist/esm/TPubSub.js.map +1 -1
  665. package/dist/esm/TQueue.js.map +1 -1
  666. package/dist/esm/TRef.js.map +1 -1
  667. package/dist/esm/TSet.js.map +1 -1
  668. package/dist/esm/Take.js.map +1 -1
  669. package/dist/esm/TestAnnotation.js +3 -1
  670. package/dist/esm/TestAnnotation.js.map +1 -1
  671. package/dist/esm/TestAnnotationMap.js.map +1 -1
  672. package/dist/esm/TestAnnotations.js.map +1 -1
  673. package/dist/esm/TestClock.js.map +1 -1
  674. package/dist/esm/TestContext.js +2 -2
  675. package/dist/esm/TestContext.js.map +1 -1
  676. package/dist/esm/UpstreamPullRequest.js.map +1 -1
  677. package/dist/esm/UpstreamPullStrategy.js.map +1 -1
  678. package/dist/esm/Utils.js.map +1 -1
  679. package/dist/esm/index.js +4 -0
  680. package/dist/esm/index.js.map +1 -1
  681. package/dist/esm/internal/Iterable.js.map +1 -1
  682. package/dist/esm/internal/blockedRequests.js +3 -2
  683. package/dist/esm/internal/blockedRequests.js.map +1 -1
  684. package/dist/esm/internal/cache.js +3 -0
  685. package/dist/esm/internal/cache.js.map +1 -1
  686. package/dist/esm/internal/cause.js +4 -97
  687. package/dist/esm/internal/cause.js.map +1 -1
  688. package/dist/esm/internal/channel/channelExecutor.js.map +1 -1
  689. package/dist/esm/internal/channel/channelState.js +2 -1
  690. package/dist/esm/internal/channel/channelState.js.map +1 -1
  691. package/dist/esm/internal/channel/childExecutorDecision.js.map +1 -1
  692. package/dist/esm/internal/channel/continuation.js +9 -1
  693. package/dist/esm/internal/channel/continuation.js.map +1 -1
  694. package/dist/esm/internal/channel/mergeDecision.js.map +1 -1
  695. package/dist/esm/internal/channel/mergeState.js.map +1 -1
  696. package/dist/esm/internal/channel/mergeStrategy.js.map +1 -1
  697. package/dist/esm/internal/channel/singleProducerAsyncInput.js.map +1 -1
  698. package/dist/esm/internal/channel/subexecutor.js.map +1 -1
  699. package/dist/esm/internal/channel/upstreamPullRequest.js +1 -1
  700. package/dist/esm/internal/channel/upstreamPullRequest.js.map +1 -1
  701. package/dist/esm/internal/channel/upstreamPullStrategy.js +1 -1
  702. package/dist/esm/internal/channel/upstreamPullStrategy.js.map +1 -1
  703. package/dist/esm/internal/channel.js.map +1 -1
  704. package/dist/esm/internal/clock.js.map +1 -1
  705. package/dist/esm/internal/concurrency.js.map +1 -1
  706. package/dist/esm/internal/config.js +15 -22
  707. package/dist/esm/internal/config.js.map +1 -1
  708. package/dist/esm/internal/configError.js +2 -2
  709. package/dist/esm/internal/configError.js.map +1 -1
  710. package/dist/esm/internal/configProvider/pathPatch.js.map +1 -1
  711. package/dist/esm/internal/configProvider.js +18 -4
  712. package/dist/esm/internal/configProvider.js.map +1 -1
  713. package/dist/esm/internal/configSecret.js.map +1 -1
  714. package/dist/esm/internal/context.js +6 -6
  715. package/dist/esm/internal/context.js.map +1 -1
  716. package/dist/esm/internal/core-effect.js +19 -15
  717. package/dist/esm/internal/core-effect.js.map +1 -1
  718. package/dist/esm/internal/core-stream.js +7 -1
  719. package/dist/esm/internal/core-stream.js.map +1 -1
  720. package/dist/esm/internal/core.js +196 -84
  721. package/dist/esm/internal/core.js.map +1 -1
  722. package/dist/esm/internal/data.js +3 -21
  723. package/dist/esm/internal/data.js.map +1 -1
  724. package/dist/esm/internal/dataSource.js +1 -1
  725. package/dist/esm/internal/dataSource.js.map +1 -1
  726. package/dist/esm/internal/deferred.js +2 -0
  727. package/dist/esm/internal/deferred.js.map +1 -1
  728. package/dist/esm/internal/differ/chunkPatch.js.map +1 -1
  729. package/dist/esm/internal/differ/contextPatch.js.map +1 -1
  730. package/dist/esm/internal/differ/hashMapPatch.js.map +1 -1
  731. package/dist/esm/internal/differ/hashSetPatch.js.map +1 -1
  732. package/dist/esm/internal/differ/orPatch.js.map +1 -1
  733. package/dist/esm/internal/differ.js.map +1 -1
  734. package/dist/esm/internal/effect/circular.js +1 -0
  735. package/dist/esm/internal/effect/circular.js.map +1 -1
  736. package/dist/esm/internal/effectable.js +37 -6
  737. package/dist/esm/internal/effectable.js.map +1 -1
  738. package/dist/esm/internal/either.js +2 -2
  739. package/dist/esm/internal/either.js.map +1 -1
  740. package/dist/esm/internal/encoding/base64.js.map +1 -1
  741. package/dist/esm/internal/encoding/base64Url.js.map +1 -1
  742. package/dist/esm/internal/encoding/common.js.map +1 -1
  743. package/dist/esm/internal/encoding/hex.js.map +1 -1
  744. package/dist/esm/internal/executionStrategy.js.map +1 -1
  745. package/dist/esm/internal/fiber.js +2 -0
  746. package/dist/esm/internal/fiber.js.map +1 -1
  747. package/dist/esm/internal/fiberId.js +4 -4
  748. package/dist/esm/internal/fiberId.js.map +1 -1
  749. package/dist/esm/internal/fiberMessage.js.map +1 -1
  750. package/dist/esm/internal/fiberRefs/patch.js.map +1 -1
  751. package/dist/esm/internal/fiberRefs.js.map +1 -1
  752. package/dist/esm/internal/fiberRuntime.js +178 -215
  753. package/dist/esm/internal/fiberRuntime.js.map +1 -1
  754. package/dist/esm/internal/groupBy.js +4 -1
  755. package/dist/esm/internal/groupBy.js.map +1 -1
  756. package/dist/esm/internal/hashMap/array.js.map +1 -1
  757. package/dist/esm/internal/hashMap/node.js.map +1 -1
  758. package/dist/esm/internal/hashMap.js +3 -3
  759. package/dist/esm/internal/hashMap.js.map +1 -1
  760. package/dist/esm/internal/hashSet.js +4 -4
  761. package/dist/esm/internal/hashSet.js.map +1 -1
  762. package/dist/esm/internal/keyedPool.js +3 -0
  763. package/dist/esm/internal/keyedPool.js.map +1 -1
  764. package/dist/esm/internal/layer.js +22 -52
  765. package/dist/esm/internal/layer.js.map +1 -1
  766. package/dist/esm/internal/logger.js +2 -1
  767. package/dist/esm/internal/logger.js.map +1 -1
  768. package/dist/esm/internal/matcher.js.map +1 -1
  769. package/dist/esm/internal/metric/hook.js +2 -1
  770. package/dist/esm/internal/metric/hook.js.map +1 -1
  771. package/dist/esm/internal/metric/key.js +1 -1
  772. package/dist/esm/internal/metric/key.js.map +1 -1
  773. package/dist/esm/internal/metric/keyType.js +2 -1
  774. package/dist/esm/internal/metric/keyType.js.map +1 -1
  775. package/dist/esm/internal/metric/pair.js +1 -1
  776. package/dist/esm/internal/metric/pair.js.map +1 -1
  777. package/dist/esm/internal/metric/polling.js +6 -6
  778. package/dist/esm/internal/metric/polling.js.map +1 -1
  779. package/dist/esm/internal/metric/registry.js.map +1 -1
  780. package/dist/esm/internal/metric/state.js +1 -1
  781. package/dist/esm/internal/metric/state.js.map +1 -1
  782. package/dist/esm/internal/metric.js +11 -5
  783. package/dist/esm/internal/metric.js.map +1 -1
  784. package/dist/esm/internal/opCodes/layer.js +3 -3
  785. package/dist/esm/internal/opCodes/layer.js.map +1 -1
  786. package/dist/esm/internal/option.js +2 -2
  787. package/dist/esm/internal/option.js.map +1 -1
  788. package/dist/esm/internal/pool.js +2 -0
  789. package/dist/esm/internal/pool.js.map +1 -1
  790. package/dist/esm/internal/pubsub.js +25 -24
  791. package/dist/esm/internal/pubsub.js.map +1 -1
  792. package/dist/esm/internal/query.js +1 -1
  793. package/dist/esm/internal/query.js.map +1 -1
  794. package/dist/esm/internal/queue.js +13 -2
  795. package/dist/esm/internal/queue.js.map +1 -1
  796. package/dist/esm/internal/random.js.map +1 -1
  797. package/dist/esm/internal/redBlackTree/iterator.js.map +1 -1
  798. package/dist/esm/internal/redBlackTree.js +9 -3
  799. package/dist/esm/internal/redBlackTree.js.map +1 -1
  800. package/dist/esm/internal/ref.js +1 -0
  801. package/dist/esm/internal/ref.js.map +1 -1
  802. package/dist/esm/internal/reloadable.js +1 -1
  803. package/dist/esm/internal/reloadable.js.map +1 -1
  804. package/dist/esm/internal/request.js +31 -15
  805. package/dist/esm/internal/request.js.map +1 -1
  806. package/dist/esm/internal/resource.js +4 -3
  807. package/dist/esm/internal/resource.js.map +1 -1
  808. package/dist/esm/internal/ringBuffer.js.map +1 -1
  809. package/dist/esm/internal/runtime.js +3 -4
  810. package/dist/esm/internal/runtime.js.map +1 -1
  811. package/dist/esm/internal/runtimeFlags.js.map +1 -1
  812. package/dist/esm/internal/schedule/interval.js.map +1 -1
  813. package/dist/esm/internal/schedule/intervals.js.map +1 -1
  814. package/dist/esm/internal/schedule.js +12 -8
  815. package/dist/esm/internal/schedule.js.map +1 -1
  816. package/dist/esm/internal/scopedCache.js +5 -2
  817. package/dist/esm/internal/scopedCache.js.map +1 -1
  818. package/dist/esm/internal/scopedRef.js +1 -0
  819. package/dist/esm/internal/scopedRef.js.map +1 -1
  820. package/dist/esm/internal/sink.js +6 -2
  821. package/dist/esm/internal/sink.js.map +1 -1
  822. package/dist/esm/internal/stm/core.js +5 -3
  823. package/dist/esm/internal/stm/core.js.map +1 -1
  824. package/dist/esm/internal/stm/stm/journal.js.map +1 -1
  825. package/dist/esm/internal/stm/stm/stmState.js.map +1 -1
  826. package/dist/esm/internal/stm/stm/tExit.js +2 -1
  827. package/dist/esm/internal/stm/stm/tExit.js.map +1 -1
  828. package/dist/esm/internal/stm/stm.js.map +1 -1
  829. package/dist/esm/internal/stm/tArray.js +1 -1
  830. package/dist/esm/internal/stm/tArray.js.map +1 -1
  831. package/dist/esm/internal/stm/tDeferred.js.map +1 -1
  832. package/dist/esm/internal/stm/tMap.js +2 -1
  833. package/dist/esm/internal/stm/tMap.js.map +1 -1
  834. package/dist/esm/internal/stm/tPriorityQueue.js +1 -1
  835. package/dist/esm/internal/stm/tPriorityQueue.js.map +1 -1
  836. package/dist/esm/internal/stm/tPubSub.js +17 -14
  837. package/dist/esm/internal/stm/tPubSub.js.map +1 -1
  838. package/dist/esm/internal/stm/tQueue.js +8 -7
  839. package/dist/esm/internal/stm/tQueue.js.map +1 -1
  840. package/dist/esm/internal/stm/tRandom.js.map +1 -1
  841. package/dist/esm/internal/stm/tReentrantLock.js.map +1 -1
  842. package/dist/esm/internal/stm/tRef.js +1 -1
  843. package/dist/esm/internal/stm/tRef.js.map +1 -1
  844. package/dist/esm/internal/stm/tSemaphore.js +2 -2
  845. package/dist/esm/internal/stm/tSemaphore.js.map +1 -1
  846. package/dist/esm/internal/stm/tSet.js +1 -1
  847. package/dist/esm/internal/stm/tSet.js.map +1 -1
  848. package/dist/esm/internal/stream/haltStrategy.js.map +1 -1
  849. package/dist/esm/internal/stream/handoff.js +1 -1
  850. package/dist/esm/internal/stream/handoff.js.map +1 -1
  851. package/dist/esm/internal/stream.js +5 -5
  852. package/dist/esm/internal/stream.js.map +1 -1
  853. package/dist/esm/internal/string-utils.js.map +1 -1
  854. package/dist/esm/internal/subscriptionRef.js +1 -1
  855. package/dist/esm/internal/subscriptionRef.js.map +1 -1
  856. package/dist/esm/internal/supervisor/patch.js.map +1 -1
  857. package/dist/esm/internal/supervisor.js +1 -0
  858. package/dist/esm/internal/supervisor.js.map +1 -1
  859. package/dist/esm/internal/synchronizedRef.js.map +1 -1
  860. package/dist/esm/internal/take.js +3 -2
  861. package/dist/esm/internal/take.js.map +1 -1
  862. package/dist/esm/internal/version.js +1 -1
  863. package/dist/esm/package.json +1 -1
  864. package/package.json +10 -2
  865. package/src/BigDecimal.ts +7 -7
  866. package/src/Brand.ts +4 -4
  867. package/src/Cache.ts +18 -19
  868. package/src/Cause.ts +126 -41
  869. package/src/Channel.ts +12 -11
  870. package/src/ChildExecutorDecision.ts +10 -2
  871. package/src/Chunk.ts +110 -93
  872. package/src/Clock.ts +4 -4
  873. package/src/Config.ts +20 -20
  874. package/src/ConfigError.ts +8 -8
  875. package/src/ConfigProvider.ts +5 -5
  876. package/src/ConfigProviderPathPatch.ts +1 -1
  877. package/src/Console.ts +36 -36
  878. package/src/Context.ts +8 -7
  879. package/src/Data.ts +17 -48
  880. package/src/Deferred.ts +5 -4
  881. package/src/Differ.ts +24 -23
  882. package/src/Duration.ts +59 -2
  883. package/src/Effect.ts +104 -53
  884. package/src/Either.ts +93 -15
  885. package/src/Equal.ts +1 -1
  886. package/src/Equivalence.ts +2 -2
  887. package/src/Exit.ts +21 -7
  888. package/src/Fiber.ts +25 -18
  889. package/src/FiberRef.ts +14 -7
  890. package/src/GroupBy.ts +7 -6
  891. package/src/HKT.ts +5 -4
  892. package/src/Hash.ts +1 -1
  893. package/src/HashMap.ts +6 -4
  894. package/src/HashSet.ts +11 -11
  895. package/src/Inspectable.ts +5 -7
  896. package/src/KeyedPool.ts +16 -9
  897. package/src/Layer.ts +21 -58
  898. package/src/List.ts +68 -65
  899. package/src/Logger.ts +7 -6
  900. package/src/Match.ts +61 -49
  901. package/src/MergeDecision.ts +8 -7
  902. package/src/MergeState.ts +11 -5
  903. package/src/Metric.ts +13 -10
  904. package/src/MetricHook.ts +7 -6
  905. package/src/MetricKey.ts +4 -3
  906. package/src/MetricKeyType.ts +5 -4
  907. package/src/MetricPair.ts +4 -3
  908. package/src/MetricPolling.ts +22 -22
  909. package/src/MetricRegistry.ts +9 -9
  910. package/src/MetricState.ts +8 -5
  911. package/src/MutableHashMap.ts +3 -3
  912. package/src/MutableHashSet.ts +3 -3
  913. package/src/MutableList.ts +3 -3
  914. package/src/MutableQueue.ts +3 -3
  915. package/src/MutableRef.ts +3 -3
  916. package/src/NonEmptyIterable.ts +2 -2
  917. package/src/Option.ts +50 -29
  918. package/src/Order.ts +2 -2
  919. package/src/Pipeable.ts +275 -277
  920. package/src/Pool.ts +21 -22
  921. package/src/Predicate.ts +21 -2
  922. package/src/PrimaryKey.ts +23 -0
  923. package/src/PubSub.ts +3 -3
  924. package/src/Queue.ts +55 -32
  925. package/src/Random.ts +3 -3
  926. package/src/ReadonlyArray.ts +351 -390
  927. package/src/ReadonlyRecord.ts +97 -40
  928. package/src/RedBlackTree.ts +6 -2
  929. package/src/Ref.ts +5 -4
  930. package/src/Reloadable.ts +4 -3
  931. package/src/Request.ts +68 -11
  932. package/src/RequestBlock.ts +27 -66
  933. package/src/RequestResolver.ts +7 -6
  934. package/src/Resource.ts +5 -4
  935. package/src/Runtime.ts +3 -3
  936. package/src/STM.ts +27 -15
  937. package/src/Schedule.ts +14 -13
  938. package/src/Scheduler.ts +3 -3
  939. package/src/Scope.ts +3 -3
  940. package/src/ScopedCache.ts +13 -12
  941. package/src/ScopedRef.ts +4 -3
  942. package/src/SingleProducerAsyncInput.ts +7 -7
  943. package/src/Sink.ts +29 -14
  944. package/src/SortedMap.ts +12 -5
  945. package/src/SortedSet.ts +29 -43
  946. package/src/Stream.ts +75 -33
  947. package/src/StreamEmit.ts +12 -12
  948. package/src/Streamable.ts +3 -0
  949. package/src/SubscriptionRef.ts +6 -3
  950. package/src/Supervisor.ts +12 -11
  951. package/src/SynchronizedRef.ts +5 -4
  952. package/src/TArray.ts +5 -4
  953. package/src/TDeferred.ts +6 -5
  954. package/src/TMap.ts +6 -5
  955. package/src/TPriorityQueue.ts +5 -4
  956. package/src/TPubSub.ts +7 -3
  957. package/src/TQueue.ts +12 -11
  958. package/src/TRandom.ts +3 -3
  959. package/src/TRef.ts +6 -5
  960. package/src/TSet.ts +5 -4
  961. package/src/Take.ts +5 -4
  962. package/src/TestAnnotation.ts +9 -5
  963. package/src/TestAnnotations.ts +2 -2
  964. package/src/TestClock.ts +3 -5
  965. package/src/TestContext.ts +5 -4
  966. package/src/TestLive.ts +1 -1
  967. package/src/TestSized.ts +1 -1
  968. package/src/Tracer.ts +6 -6
  969. package/src/Types.ts +32 -0
  970. package/src/UpstreamPullRequest.ts +12 -5
  971. package/src/UpstreamPullStrategy.ts +5 -4
  972. package/src/Utils.ts +7 -6
  973. package/src/index.ts +5 -0
  974. package/src/internal/blockedRequests.ts +78 -81
  975. package/src/internal/cache.ts +15 -12
  976. package/src/internal/cause.ts +15 -139
  977. package/src/internal/channel/channelExecutor.ts +1 -1
  978. package/src/internal/channel/channelState.ts +10 -8
  979. package/src/internal/channel/continuation.ts +71 -42
  980. package/src/internal/channel/mergeDecision.ts +1 -1
  981. package/src/internal/channel/singleProducerAsyncInput.ts +1 -1
  982. package/src/internal/channel/subexecutor.ts +7 -7
  983. package/src/internal/channel/upstreamPullRequest.ts +1 -1
  984. package/src/internal/channel/upstreamPullStrategy.ts +1 -1
  985. package/src/internal/config.ts +21 -29
  986. package/src/internal/configError.ts +2 -2
  987. package/src/internal/configProvider.ts +20 -5
  988. package/src/internal/context.ts +6 -6
  989. package/src/internal/core-effect.ts +75 -67
  990. package/src/internal/core-stream.ts +25 -22
  991. package/src/internal/core.ts +360 -152
  992. package/src/internal/data.ts +3 -22
  993. package/src/internal/dataSource.ts +1 -1
  994. package/src/internal/deferred.ts +7 -5
  995. package/src/internal/differ/contextPatch.ts +5 -5
  996. package/src/internal/differ/orPatch.ts +18 -6
  997. package/src/internal/effect/circular.ts +4 -3
  998. package/src/internal/effectable.ts +41 -8
  999. package/src/internal/either.ts +2 -2
  1000. package/src/internal/fiber.ts +2 -0
  1001. package/src/internal/fiberId.ts +4 -4
  1002. package/src/internal/fiberMessage.ts +1 -4
  1003. package/src/internal/fiberRuntime.ts +242 -284
  1004. package/src/internal/fiberScope.ts +1 -1
  1005. package/src/internal/groupBy.ts +5 -2
  1006. package/src/internal/hashMap/node.ts +5 -5
  1007. package/src/internal/hashMap.ts +25 -24
  1008. package/src/internal/hashSet.ts +20 -22
  1009. package/src/internal/keyedPool.ts +7 -4
  1010. package/src/internal/layer.ts +35 -89
  1011. package/src/internal/logger.ts +2 -1
  1012. package/src/internal/metric/hook.ts +2 -1
  1013. package/src/internal/metric/key.ts +2 -2
  1014. package/src/internal/metric/keyType.ts +2 -1
  1015. package/src/internal/metric/pair.ts +1 -1
  1016. package/src/internal/metric/polling.ts +26 -26
  1017. package/src/internal/metric/state.ts +1 -1
  1018. package/src/internal/metric.ts +12 -5
  1019. package/src/internal/opCodes/layer.ts +6 -6
  1020. package/src/internal/option.ts +2 -2
  1021. package/src/internal/pool.ts +4 -2
  1022. package/src/internal/pubsub.ts +66 -62
  1023. package/src/internal/query.ts +1 -1
  1024. package/src/internal/queue.ts +36 -14
  1025. package/src/internal/redBlackTree/iterator.ts +1 -1
  1026. package/src/internal/redBlackTree/node.ts +1 -1
  1027. package/src/internal/redBlackTree.ts +11 -4
  1028. package/src/internal/ref.ts +2 -1
  1029. package/src/internal/reloadable.ts +2 -2
  1030. package/src/internal/request.ts +53 -14
  1031. package/src/internal/resource.ts +6 -5
  1032. package/src/internal/ringBuffer.ts +1 -1
  1033. package/src/internal/runtime.ts +4 -5
  1034. package/src/internal/schedule.ts +12 -8
  1035. package/src/internal/scopedCache.ts +14 -7
  1036. package/src/internal/scopedRef.ts +2 -1
  1037. package/src/internal/sink.ts +11 -4
  1038. package/src/internal/stack.ts +1 -1
  1039. package/src/internal/stm/core.ts +6 -4
  1040. package/src/internal/stm/stm/stmState.ts +1 -1
  1041. package/src/internal/stm/stm/tExit.ts +8 -6
  1042. package/src/internal/stm/stm/tryCommit.ts +1 -1
  1043. package/src/internal/stm/stm/versioned.ts +1 -1
  1044. package/src/internal/stm/stm.ts +2 -2
  1045. package/src/internal/stm/tArray.ts +3 -3
  1046. package/src/internal/stm/tDeferred.ts +3 -3
  1047. package/src/internal/stm/tMap.ts +5 -4
  1048. package/src/internal/stm/tPriorityQueue.ts +3 -3
  1049. package/src/internal/stm/tPubSub.ts +43 -38
  1050. package/src/internal/stm/tQueue.ts +9 -8
  1051. package/src/internal/stm/tReentrantLock.ts +2 -2
  1052. package/src/internal/stm/tRef.ts +2 -2
  1053. package/src/internal/stm/tSemaphore.ts +2 -2
  1054. package/src/internal/stm/tSet.ts +3 -3
  1055. package/src/internal/stream/debounceState.ts +2 -2
  1056. package/src/internal/stream/handoff.ts +4 -4
  1057. package/src/internal/stream/handoffSignal.ts +2 -2
  1058. package/src/internal/stream/pull.ts +1 -1
  1059. package/src/internal/stream.ts +68 -35
  1060. package/src/internal/subscriptionRef.ts +3 -3
  1061. package/src/internal/supervisor.ts +4 -3
  1062. package/src/internal/take.ts +4 -3
  1063. package/src/internal/version.ts +1 -1
@@ -11,7 +11,7 @@ import type * as RequestBlock from "../RequestBlock.js"
11
11
  import type * as RequestResolver from "../RequestResolver.js"
12
12
 
13
13
  /** @internal */
14
- export const empty: RequestBlock.RequestBlock<never> = {
14
+ export const empty: RequestBlock.RequestBlock = {
15
15
  _tag: "Empty"
16
16
  }
17
17
 
@@ -21,10 +21,10 @@ export const empty: RequestBlock.RequestBlock<never> = {
21
21
  *
22
22
  * @internal
23
23
  */
24
- export const par = <R, R2>(
25
- self: RequestBlock.RequestBlock<R>,
26
- that: RequestBlock.RequestBlock<R2>
27
- ): RequestBlock.RequestBlock<R | R2> => ({
24
+ export const par = (
25
+ self: RequestBlock.RequestBlock,
26
+ that: RequestBlock.RequestBlock
27
+ ): RequestBlock.RequestBlock => ({
28
28
  _tag: "Par",
29
29
  left: self,
30
30
  right: that
@@ -36,10 +36,10 @@ export const par = <R, R2>(
36
36
  *
37
37
  * @internal
38
38
  */
39
- export const seq = <R, R2>(
40
- self: RequestBlock.RequestBlock<R>,
41
- that: RequestBlock.RequestBlock<R2>
42
- ): RequestBlock.RequestBlock<R | R2> => ({
39
+ export const seq = (
40
+ self: RequestBlock.RequestBlock,
41
+ that: RequestBlock.RequestBlock
42
+ ): RequestBlock.RequestBlock => ({
43
43
  _tag: "Seq",
44
44
  left: self,
45
45
  right: that
@@ -51,19 +51,19 @@ export const seq = <R, R2>(
51
51
  *
52
52
  * @internal
53
53
  */
54
- export const single = <R, A>(
55
- dataSource: RequestResolver.RequestResolver<A, R>,
54
+ export const single = <A>(
55
+ dataSource: RequestResolver.RequestResolver<A>,
56
56
  blockedRequest: Request.Entry<A>
57
- ): RequestBlock.RequestBlock<R> => ({
57
+ ): RequestBlock.RequestBlock => ({
58
58
  _tag: "Single",
59
59
  dataSource: dataSource as any,
60
60
  blockedRequest
61
61
  })
62
62
 
63
63
  /** @internal */
64
- export const MapRequestResolversReducer = <R, A, R2>(
65
- f: (dataSource: RequestResolver.RequestResolver<A, R>) => RequestResolver.RequestResolver<A, R2>
66
- ): RequestBlock.RequestBlock.Reducer<R, RequestBlock.RequestBlock<R | R2>> => ({
64
+ export const MapRequestResolversReducer = <A>(
65
+ f: (dataSource: RequestResolver.RequestResolver<A>) => RequestResolver.RequestResolver<A>
66
+ ): RequestBlock.RequestBlock.Reducer<RequestBlock.RequestBlock> => ({
67
67
  emptyCase: () => empty,
68
68
  parCase: (left, right) => par(left, right),
69
69
  seqCase: (left, right) => seq(left, right),
@@ -87,10 +87,10 @@ interface SeqCase {
87
87
  *
88
88
  * @internal
89
89
  */
90
- export const mapRequestResolvers = <R, A, R2>(
91
- self: RequestBlock.RequestBlock<R>,
92
- f: (dataSource: RequestResolver.RequestResolver<A, R>) => RequestResolver.RequestResolver<A, R2>
93
- ): RequestBlock.RequestBlock<R | R2> => reduce(self, MapRequestResolversReducer(f))
90
+ export const mapRequestResolvers = <A>(
91
+ self: RequestBlock.RequestBlock,
92
+ f: (dataSource: RequestResolver.RequestResolver<A>) => RequestResolver.RequestResolver<A>
93
+ ): RequestBlock.RequestBlock => reduce(self, MapRequestResolversReducer(f))
94
94
 
95
95
  /**
96
96
  * Folds over the cases of this collection of blocked requests with the
@@ -98,14 +98,14 @@ export const mapRequestResolvers = <R, A, R2>(
98
98
  *
99
99
  * @internal
100
100
  */
101
- export const reduce = <R, Z>(
102
- self: RequestBlock.RequestBlock<R>,
103
- reducer: RequestBlock.RequestBlock.Reducer<R, Z>
101
+ export const reduce = <Z>(
102
+ self: RequestBlock.RequestBlock,
103
+ reducer: RequestBlock.RequestBlock.Reducer<Z>
104
104
  ): Z => {
105
- let input: List.List<RequestBlock.RequestBlock<R>> = List.of(self)
105
+ let input: List.List<RequestBlock.RequestBlock> = List.of(self)
106
106
  let output = List.empty<Either.Either<BlockedRequestsCase, Z>>()
107
107
  while (List.isCons(input)) {
108
- const current: RequestBlock.RequestBlock<R> = input.head
108
+ const current: RequestBlock.RequestBlock = input.head
109
109
  switch (current._tag) {
110
110
  case "Empty": {
111
111
  output = List.cons(Either.right(reducer.emptyCase()), output)
@@ -164,16 +164,16 @@ export const reduce = <R, Z>(
164
164
  *
165
165
  * @internal
166
166
  */
167
- export const flatten = <R>(
168
- self: RequestBlock.RequestBlock<R>
169
- ): List.List<SequentialCollection<R>> => {
167
+ export const flatten = (
168
+ self: RequestBlock.RequestBlock
169
+ ): List.List<SequentialCollection> => {
170
170
  let current = List.of(self)
171
- let updated = List.empty<SequentialCollection<R>>()
171
+ let updated = List.empty<SequentialCollection>()
172
172
  // eslint-disable-next-line no-constant-condition
173
173
  while (1) {
174
174
  const [parallel, sequential] = List.reduce(
175
175
  current,
176
- [parallelCollectionEmpty<R>(), List.empty<RequestBlock.RequestBlock<R>>()] as const,
176
+ [parallelCollectionEmpty(), List.empty<RequestBlock.RequestBlock>()] as const,
177
177
  ([parallel, sequential], blockedRequest) => {
178
178
  const [par, seq] = step(blockedRequest)
179
179
  return [
@@ -199,13 +199,13 @@ export const flatten = <R>(
199
199
  * of blocked requests that must be performed sequentially after those
200
200
  * requests.
201
201
  */
202
- const step = <R>(
203
- requests: RequestBlock.RequestBlock<R>
204
- ): [ParallelCollection<R>, List.List<RequestBlock.RequestBlock<R>>] => {
205
- let current: RequestBlock.RequestBlock<R> = requests
206
- let parallel = parallelCollectionEmpty<R>()
207
- let stack = List.empty<RequestBlock.RequestBlock<R>>()
208
- let sequential = List.empty<RequestBlock.RequestBlock<R>>()
202
+ const step = (
203
+ requests: RequestBlock.RequestBlock
204
+ ): [ParallelCollection, List.List<RequestBlock.RequestBlock>] => {
205
+ let current: RequestBlock.RequestBlock = requests
206
+ let parallel = parallelCollectionEmpty()
207
+ let stack = List.empty<RequestBlock.RequestBlock>()
208
+ let sequential = List.empty<RequestBlock.RequestBlock>()
209
209
  // eslint-disable-next-line no-constant-condition
210
210
  while (1) {
211
211
  switch (current._tag) {
@@ -275,10 +275,10 @@ const step = <R>(
275
275
  * are both from the same single data source then the requests can be
276
276
  * pipelined while preserving ordering guarantees.
277
277
  */
278
- const merge = <R>(
279
- sequential: List.List<SequentialCollection<R>>,
280
- parallel: ParallelCollection<R>
281
- ): List.List<SequentialCollection<R>> => {
278
+ const merge = (
279
+ sequential: List.List<SequentialCollection>,
280
+ parallel: ParallelCollection
281
+ ): List.List<SequentialCollection> => {
282
282
  if (List.isNil(sequential)) {
283
283
  return List.of(parallelCollectionToSequentialCollection(parallel))
284
284
  }
@@ -326,8 +326,8 @@ class EntryImpl<A extends Request.Request<any, any>> implements Request.Entry<A>
326
326
  ) {}
327
327
  }
328
328
 
329
- /** @internal */
330
329
  const blockedRequestVariance = {
330
+ /* c8 ignore next */
331
331
  _R: (_: never) => _
332
332
  }
333
333
 
@@ -351,10 +351,11 @@ export const RequestBlockParallelTypeId = Symbol.for(
351
351
  )
352
352
 
353
353
  const parallelVariance = {
354
+ /* c8 ignore next */
354
355
  _R: (_: never) => _
355
356
  }
356
357
 
357
- class ParallelImpl<R> implements ParallelCollection<R> {
358
+ class ParallelImpl implements ParallelCollection {
358
359
  readonly [RequestBlockParallelTypeId] = parallelVariance
359
360
  constructor(
360
361
  readonly map: HashMap.HashMap<
@@ -365,19 +366,19 @@ class ParallelImpl<R> implements ParallelCollection<R> {
365
366
  }
366
367
 
367
368
  /** @internal */
368
- export const parallelCollectionEmpty = <R>(): ParallelCollection<R> => new ParallelImpl(HashMap.empty())
369
+ export const parallelCollectionEmpty = (): ParallelCollection => new ParallelImpl(HashMap.empty())
369
370
 
370
371
  /** @internal */
371
- export const parallelCollectionMake = <R, A>(
372
- dataSource: RequestResolver.RequestResolver<A, R>,
372
+ export const parallelCollectionMake = <A>(
373
+ dataSource: RequestResolver.RequestResolver<A>,
373
374
  blockedRequest: Request.Entry<A>
374
- ): ParallelCollection<R> => new ParallelImpl(HashMap.make([dataSource, Array.of(blockedRequest)]) as any)
375
+ ): ParallelCollection => new ParallelImpl(HashMap.make([dataSource, Array.of(blockedRequest)]) as any)
375
376
 
376
377
  /** @internal */
377
- export const parallelCollectionCombine = <R, R2>(
378
- self: ParallelCollection<R>,
379
- that: ParallelCollection<R2>
380
- ): ParallelCollection<R | R2> =>
378
+ export const parallelCollectionCombine = (
379
+ self: ParallelCollection,
380
+ that: ParallelCollection
381
+ ): ParallelCollection =>
381
382
  new ParallelImpl(HashMap.reduce(self.map, that.map, (map, value, key) =>
382
383
  HashMap.set(
383
384
  map,
@@ -389,17 +390,17 @@ export const parallelCollectionCombine = <R, R2>(
389
390
  )))
390
391
 
391
392
  /** @internal */
392
- export const parallelCollectionIsEmpty = <R>(self: ParallelCollection<R>): boolean => HashMap.isEmpty(self.map)
393
+ export const parallelCollectionIsEmpty = (self: ParallelCollection): boolean => HashMap.isEmpty(self.map)
393
394
 
394
395
  /** @internal */
395
- export const parallelCollectionKeys = <R>(
396
- self: ParallelCollection<R>
397
- ): Array<RequestResolver.RequestResolver<unknown, R>> => Array.from(HashMap.keys(self.map)) as any
396
+ export const parallelCollectionKeys = (
397
+ self: ParallelCollection
398
+ ): Array<RequestResolver.RequestResolver<unknown>> => Array.from(HashMap.keys(self.map)) as any
398
399
 
399
400
  /** @internal */
400
- export const parallelCollectionToSequentialCollection = <R>(
401
- self: ParallelCollection<R>
402
- ): SequentialCollection<R> => sequentialCollectionMake(HashMap.map(self.map, (x) => Array.of(x)) as any)
401
+ export const parallelCollectionToSequentialCollection = (
402
+ self: ParallelCollection
403
+ ): SequentialCollection => sequentialCollectionMake(HashMap.map(self.map, (x) => Array.of(x)) as any)
403
404
 
404
405
  // TODO
405
406
  // /** @internal */
@@ -412,12 +413,12 @@ export const SequentialCollectionTypeId = Symbol.for(
412
413
  "effect/RequestBlock/RequestBlockSequential"
413
414
  )
414
415
 
415
- /** @internal */
416
416
  const sequentialVariance = {
417
+ /* c8 ignore next */
417
418
  _R: (_: never) => _
418
419
  }
419
420
 
420
- class SequentialImpl<R> implements SequentialCollection<R> {
421
+ class SequentialImpl implements SequentialCollection {
421
422
  readonly [SequentialCollectionTypeId] = sequentialVariance
422
423
  constructor(
423
424
  readonly map: HashMap.HashMap<
@@ -433,13 +434,13 @@ export const sequentialCollectionMake = <R, A>(
433
434
  RequestResolver.RequestResolver<A, R>,
434
435
  Array<Array<Request.Entry<A>>>
435
436
  >
436
- ): SequentialCollection<R> => new SequentialImpl(map as any)
437
+ ): SequentialCollection => new SequentialImpl(map as any)
437
438
 
438
439
  /** @internal */
439
- export const sequentialCollectionCombine = <R, R2>(
440
- self: SequentialCollection<R>,
441
- that: SequentialCollection<R2>
442
- ): SequentialCollection<R | R2> =>
440
+ export const sequentialCollectionCombine = (
441
+ self: SequentialCollection,
442
+ that: SequentialCollection
443
+ ): SequentialCollection =>
443
444
  new SequentialImpl(HashMap.reduce(that.map, self.map, (map, value, key) =>
444
445
  HashMap.set(
445
446
  map,
@@ -451,24 +452,24 @@ export const sequentialCollectionCombine = <R, R2>(
451
452
  )))
452
453
 
453
454
  /** @internal */
454
- export const sequentialCollectionIsEmpty = <R>(self: SequentialCollection<R>): boolean => HashMap.isEmpty(self.map)
455
+ export const sequentialCollectionIsEmpty = (self: SequentialCollection): boolean => HashMap.isEmpty(self.map)
455
456
 
456
457
  /** @internal */
457
- export const sequentialCollectionKeys = <R>(
458
- self: SequentialCollection<R>
459
- ): Array<RequestResolver.RequestResolver<unknown, R>> => Array.from(HashMap.keys(self.map)) as any
458
+ export const sequentialCollectionKeys = (
459
+ self: SequentialCollection
460
+ ): Array<RequestResolver.RequestResolver<unknown>> => Array.from(HashMap.keys(self.map)) as any
460
461
 
461
462
  /** @internal */
462
- export const sequentialCollectionToChunk = <R>(
463
- self: SequentialCollection<R>
464
- ): Array<[RequestResolver.RequestResolver<unknown, R>, Array<Array<Request.Entry<unknown>>>]> =>
463
+ export const sequentialCollectionToChunk = (
464
+ self: SequentialCollection
465
+ ): Array<[RequestResolver.RequestResolver<unknown>, Array<Array<Request.Entry<unknown>>>]> =>
465
466
  Array.from(self.map) as any
466
467
 
467
468
  /** @internal */
468
469
  export type RequestBlockParallelTypeId = typeof RequestBlockParallelTypeId
469
470
 
470
471
  /** @internal */
471
- export interface ParallelCollection<R> extends ParallelCollection.Variance<R> {
472
+ export interface ParallelCollection extends ParallelCollection.Variance {
472
473
  readonly map: HashMap.HashMap<
473
474
  RequestResolver.RequestResolver<unknown, unknown>,
474
475
  Array<Request.Entry<unknown>>
@@ -478,10 +479,8 @@ export interface ParallelCollection<R> extends ParallelCollection.Variance<R> {
478
479
  /** @internal */
479
480
  export declare namespace ParallelCollection {
480
481
  /** @internal */
481
- export interface Variance<R> {
482
- readonly [RequestBlockParallelTypeId]: {
483
- readonly _R: (_: never) => R
484
- }
482
+ export interface Variance {
483
+ readonly [RequestBlockParallelTypeId]: {}
485
484
  }
486
485
  }
487
486
 
@@ -489,7 +488,7 @@ export declare namespace ParallelCollection {
489
488
  export type SequentialCollectionTypeId = typeof SequentialCollectionTypeId
490
489
 
491
490
  /** @internal */
492
- export interface SequentialCollection<R> extends SequentialCollection.Variance<R> {
491
+ export interface SequentialCollection extends SequentialCollection.Variance {
493
492
  readonly map: HashMap.HashMap<
494
493
  RequestResolver.RequestResolver<unknown, unknown>,
495
494
  Array<Array<Request.Entry<unknown>>>
@@ -499,9 +498,7 @@ export interface SequentialCollection<R> extends SequentialCollection.Variance<R
499
498
  /** @internal */
500
499
  export declare namespace SequentialCollection {
501
500
  /** @internal */
502
- export interface Variance<R> {
503
- readonly [SequentialCollectionTypeId]: {
504
- readonly _R: (_: never) => R
505
- }
501
+ export interface Variance {
502
+ readonly [SequentialCollectionTypeId]: {}
506
503
  }
507
504
  }
@@ -35,7 +35,7 @@ export type MapValue<Key, Error, Value> =
35
35
  | Refreshing<Key, Error, Value>
36
36
 
37
37
  /** @internal */
38
- export interface Complete<Key, Error, Value> {
38
+ export interface Complete<out Key, out Error, out Value> {
39
39
  readonly _tag: "Complete"
40
40
  readonly key: MapKey<Key>
41
41
  readonly exit: Exit.Exit<Error, Value>
@@ -44,14 +44,14 @@ export interface Complete<Key, Error, Value> {
44
44
  }
45
45
 
46
46
  /** @internal */
47
- export interface Pending<Key, Error, Value> {
47
+ export interface Pending<out Key, in out Error, in out Value> {
48
48
  readonly _tag: "Pending"
49
49
  readonly key: MapKey<Key>
50
50
  readonly deferred: Deferred.Deferred<Error, Value>
51
51
  }
52
52
 
53
53
  /** @internal */
54
- export interface Refreshing<Key, Error, Value> {
54
+ export interface Refreshing<out Key, in out Error, in out Value> {
55
55
  readonly _tag: "Refreshing"
56
56
  readonly deferred: Deferred.Deferred<Error, Value>
57
57
  readonly complete: Complete<Key, Error, Value>
@@ -107,14 +107,14 @@ export type MapKeyTypeId = typeof MapKeyTypeId
107
107
  *
108
108
  * @internal
109
109
  */
110
- export interface MapKey<K> extends Equal.Equal {
110
+ export interface MapKey<out K> extends Equal.Equal {
111
111
  readonly [MapKeyTypeId]: MapKeyTypeId
112
112
  readonly current: K
113
113
  previous: MapKey<K> | undefined // mutable by design
114
114
  next: MapKey<K> | undefined // mutable by design
115
115
  }
116
116
 
117
- class MapKeyImpl<K> implements MapKey<K> {
117
+ class MapKeyImpl<out K> implements MapKey<K> {
118
118
  readonly [MapKeyTypeId]: MapKeyTypeId = MapKeyTypeId
119
119
  previous: MapKey<K> | undefined = undefined
120
120
  next: MapKey<K> | undefined = undefined
@@ -150,20 +150,20 @@ export const isMapKey = (u: unknown): u is MapKey<unknown> => hasProperty(u, Map
150
150
  *
151
151
  * @internal
152
152
  */
153
- export interface KeySet<K> {
153
+ export interface KeySet<in out K> {
154
154
  head: MapKey<K> | undefined // mutable by design
155
155
  tail: MapKey<K> | undefined // mutable by design
156
156
  /**
157
157
  * Adds the specified key to the set.
158
158
  */
159
- readonly add: (key: MapKey<K>) => void
159
+ add(key: MapKey<K>): void
160
160
  /**
161
161
  * Removes the lowest priority key from the set.
162
162
  */
163
- readonly remove: () => MapKey<K> | undefined
163
+ remove(): MapKey<K> | undefined
164
164
  }
165
165
 
166
- class KeySetImpl<K> implements KeySet<K> {
166
+ class KeySetImpl<in out K> implements KeySet<K> {
167
167
  head: MapKey<K> | undefined = undefined
168
168
  tail: MapKey<K> | undefined = undefined
169
169
  add(key: MapKey<K>): void {
@@ -215,7 +215,7 @@ export const makeKeySet = <K>(): KeySet<K> => new KeySetImpl<K>()
215
215
  *
216
216
  * @internal
217
217
  */
218
- export interface CacheState<Key, Error, Value> {
218
+ export interface CacheState<in out Key, in out Error, in out Value> {
219
219
  map: MutableHashMap.MutableHashMap<Key, MapValue<Key, Error, Value>> // mutable by design
220
220
  keys: KeySet<Key> // mutable by design
221
221
  accesses: MutableQueue.MutableQueue<MapKey<Key>> // mutable by design
@@ -269,8 +269,11 @@ export const CacheTypeId: Cache.CacheTypeId = Symbol.for(
269
269
  ) as Cache.CacheTypeId
270
270
 
271
271
  const cacheVariance = {
272
- _Key: (_: unknown) => _,
272
+ /* c8 ignore next */
273
+ _Key: (_: any) => _,
274
+ /* c8 ignore next */
273
275
  _Error: (_: never) => _,
276
+ /* c8 ignore next */
274
277
  _Value: (_: never) => _
275
278
  }
276
279
 
@@ -288,7 +291,7 @@ export const makeEntryStats = (loadedMillis: number): Cache.EntryStats => ({
288
291
  loadedMillis
289
292
  })
290
293
 
291
- class CacheImpl<Key, Error, Value> implements Cache.Cache<Key, Error, Value> {
294
+ class CacheImpl<in out Key, in out Error, in out Value> implements Cache.Cache<Key, Error, Value> {
292
295
  readonly [CacheTypeId] = cacheVariance
293
296
  readonly cacheState: CacheState<Key, Error, Value>
294
297
  constructor(
@@ -2,14 +2,14 @@ import type * as Cause from "../Cause.js"
2
2
  import * as Chunk from "../Chunk.js"
3
3
  import * as Either from "../Either.js"
4
4
  import * as Equal from "../Equal.js"
5
- import * as FiberId from "../FiberId.js"
5
+ import type * as FiberId from "../FiberId.js"
6
6
  import { constFalse, constTrue, dual, identity, pipe } from "../Function.js"
7
7
  import * as Hash from "../Hash.js"
8
8
  import * as HashSet from "../HashSet.js"
9
9
  import { NodeInspectSymbol, toJSON } from "../Inspectable.js"
10
10
  import * as Option from "../Option.js"
11
11
  import { pipeArguments } from "../Pipeable.js"
12
- import { hasProperty, isFunction, isString, type Predicate } from "../Predicate.js"
12
+ import { hasProperty, isFunction, type Predicate } from "../Predicate.js"
13
13
  import * as ReadonlyArray from "../ReadonlyArray.js"
14
14
  import * as OpCodes from "./opCodes/cause.js"
15
15
 
@@ -27,8 +27,8 @@ export const CauseTypeId: Cause.CauseTypeId = Symbol.for(
27
27
  CauseSymbolKey
28
28
  ) as Cause.CauseTypeId
29
29
 
30
- /** @internal */
31
30
  const variance = {
31
+ /* c8 ignore next */
32
32
  _E: (_: never) => _
33
33
  }
34
34
 
@@ -485,6 +485,18 @@ export const flatMap = dual<
485
485
  /** @internal */
486
486
  export const flatten = <E>(self: Cause.Cause<Cause.Cause<E>>): Cause.Cause<E> => flatMap(self, identity)
487
487
 
488
+ /** @internal */
489
+ export const andThen: {
490
+ <E, E2>(f: (e: E) => Cause.Cause<E2>): (self: Cause.Cause<E>) => Cause.Cause<E2>
491
+ <E2>(f: Cause.Cause<E2>): <E>(self: Cause.Cause<E>) => Cause.Cause<E2>
492
+ <E, E2>(self: Cause.Cause<E>, f: (e: E) => Cause.Cause<E2>): Cause.Cause<E2>
493
+ <E, E2>(self: Cause.Cause<E>, f: Cause.Cause<E2>): Cause.Cause<E2>
494
+ } = dual(
495
+ 2,
496
+ <E, E2>(self: Cause.Cause<E>, f: ((e: E) => Cause.Cause<E2>) | Cause.Cause<E2>): Cause.Cause<E2> =>
497
+ isFunction(f) ? flatMap(self, f) : flatMap(self, () => f)
498
+ )
499
+
488
500
  // -----------------------------------------------------------------------------
489
501
  // Equality
490
502
  // -----------------------------------------------------------------------------
@@ -593,43 +605,6 @@ const flattenCauseLoop = (
593
605
  throw new Error("BUG: Cause.flattenCauseLoop - please report an issue at https://github.com/Effect-TS/effect/issues")
594
606
  }
595
607
 
596
- // -----------------------------------------------------------------------------
597
- // Squashing
598
- // -----------------------------------------------------------------------------
599
-
600
- /** @internal */
601
- export const squash = <E>(self: Cause.Cause<E>): unknown => {
602
- return squashWith(identity)(self)
603
- }
604
-
605
- /** @internal */
606
- export const squashWith = dual<
607
- <E>(f: (error: E) => unknown) => (self: Cause.Cause<E>) => unknown,
608
- <E>(self: Cause.Cause<E>, f: (error: E) => unknown) => unknown
609
- >(2, (self, f) => {
610
- const option = pipe(self, failureOption, Option.map(f))
611
- switch (option._tag) {
612
- case "None": {
613
- return pipe(
614
- defects(self),
615
- Chunk.head,
616
- Option.match({
617
- onNone: () => {
618
- const interrupts = Array.from(interruptors(self)).flatMap((fiberId) =>
619
- Array.from(FiberId.ids(fiberId)).map((id) => `#${id}`)
620
- )
621
- return InterruptedException(interrupts ? `Interrupted by fibers: ${interrupts.join(", ")}` : void 0)
622
- },
623
- onSome: identity
624
- })
625
- )
626
- }
627
- case "Some": {
628
- return option.value
629
- }
630
- }
631
- })
632
-
633
608
  // -----------------------------------------------------------------------------
634
609
  // Finding
635
610
  // -----------------------------------------------------------------------------
@@ -978,105 +953,6 @@ export const reduceWithContext = dual<
978
953
  return accumulator.pop()!
979
954
  })
980
955
 
981
- // -----------------------------------------------------------------------------
982
- // Errors
983
- // -----------------------------------------------------------------------------
984
-
985
- const makeException = <T extends { _tag: string; message?: string }>(
986
- proto: Omit<T, "message" | "_tag">,
987
- tag: T["_tag"]
988
- ) => {
989
- const _tag = {
990
- value: tag,
991
- enumerable: true
992
- }
993
- const protoWithToString = {
994
- ...proto,
995
- toString(this: { _tag: string; message?: string }): string {
996
- return `${this._tag}: ${this.message}`
997
- }
998
- }
999
- return (message?: string): T => {
1000
- const properties: PropertyDescriptorMap = { _tag }
1001
- if (isString(message)) {
1002
- properties["message"] = {
1003
- value: message,
1004
- enumerable: true
1005
- }
1006
- }
1007
- return Object.create(protoWithToString, properties)
1008
- }
1009
- }
1010
-
1011
- /** @internal */
1012
- export const RuntimeExceptionTypeId: Cause.RuntimeExceptionTypeId = Symbol.for(
1013
- "effect/Cause/errors/RuntimeException"
1014
- ) as Cause.RuntimeExceptionTypeId
1015
-
1016
- /** @internal */
1017
- export const RuntimeException = makeException<Cause.RuntimeException>({
1018
- [RuntimeExceptionTypeId]: RuntimeExceptionTypeId
1019
- }, "RuntimeException")
1020
-
1021
- /** @internal */
1022
- export const isRuntimeException = (u: unknown): u is Cause.RuntimeException => hasProperty(u, RuntimeExceptionTypeId)
1023
-
1024
- /** @internal */
1025
- export const InterruptedExceptionTypeId: Cause.InterruptedExceptionTypeId = Symbol.for(
1026
- "effect/Cause/errors/InterruptedException"
1027
- ) as Cause.InterruptedExceptionTypeId
1028
-
1029
- /** @internal */
1030
- export const InterruptedException = makeException<Cause.InterruptedException>({
1031
- [InterruptedExceptionTypeId]: InterruptedExceptionTypeId
1032
- }, "InterruptedException")
1033
-
1034
- /** @internal */
1035
- export const isInterruptedException = (u: unknown): u is Cause.InterruptedException =>
1036
- hasProperty(u, InterruptedExceptionTypeId)
1037
-
1038
- /** @internal */
1039
- export const IllegalArgumentExceptionTypeId: Cause.IllegalArgumentExceptionTypeId = Symbol.for(
1040
- "effect/Cause/errors/IllegalArgument"
1041
- ) as Cause.IllegalArgumentExceptionTypeId
1042
-
1043
- /** @internal */
1044
- export const IllegalArgumentException = makeException<Cause.IllegalArgumentException>({
1045
- [IllegalArgumentExceptionTypeId]: IllegalArgumentExceptionTypeId
1046
- }, "IllegalArgumentException")
1047
-
1048
- /** @internal */
1049
- export const isIllegalArgumentException = (u: unknown): u is Cause.IllegalArgumentException =>
1050
- hasProperty(u, IllegalArgumentExceptionTypeId)
1051
-
1052
- /** @internal */
1053
- export const NoSuchElementExceptionTypeId: Cause.NoSuchElementExceptionTypeId = Symbol.for(
1054
- "effect/Cause/errors/NoSuchElement"
1055
- ) as Cause.NoSuchElementExceptionTypeId
1056
-
1057
- /** @internal */
1058
- export const NoSuchElementException = makeException<Cause.NoSuchElementException>({
1059
- [NoSuchElementExceptionTypeId]: NoSuchElementExceptionTypeId
1060
- }, "NoSuchElementException")
1061
-
1062
- /** @internal */
1063
- export const isNoSuchElementException = (u: unknown): u is Cause.NoSuchElementException =>
1064
- hasProperty(u, NoSuchElementExceptionTypeId)
1065
-
1066
- /** @internal */
1067
- export const InvalidPubSubCapacityExceptionTypeId: Cause.InvalidPubSubCapacityExceptionTypeId = Symbol.for(
1068
- "effect/Cause/errors/InvalidPubSubCapacityException"
1069
- ) as Cause.InvalidPubSubCapacityExceptionTypeId
1070
-
1071
- /** @internal */
1072
- export const InvalidPubSubCapacityException = makeException<Cause.InvalidPubSubCapacityException>({
1073
- [InvalidPubSubCapacityExceptionTypeId]: InvalidPubSubCapacityExceptionTypeId
1074
- }, "InvalidPubSubCapacityException")
1075
-
1076
- /** @internal */
1077
- export const isInvalidCapacityError = (u: unknown): u is Cause.InvalidPubSubCapacityException =>
1078
- hasProperty(u, InvalidPubSubCapacityExceptionTypeId)
1079
-
1080
956
  // -----------------------------------------------------------------------------
1081
957
  // Pretty Printing
1082
958
  // -----------------------------------------------------------------------------
@@ -60,7 +60,7 @@ export type ErasedContinuation<R> = Continuation.Continuation<
60
60
  export type ErasedFinalizer<R> = (exit: Exit.Exit<unknown, unknown>) => Effect.Effect<R, never, unknown>
61
61
 
62
62
  /** @internal */
63
- export class ChannelExecutor<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone> {
63
+ export class ChannelExecutor<in out Env, in InErr, in InElem, in InDone, out OutErr, out OutElem, out OutDone> {
64
64
  private _activeSubexecutor: Subexecutor.Subexecutor<Env> | undefined = undefined
65
65
 
66
66
  private _cancelled: Exit.Exit<OutErr, OutDone> | undefined = undefined
@@ -1,6 +1,7 @@
1
1
  import * as Effect from "../../Effect.js"
2
2
  import type * as Exit from "../../Exit.js"
3
3
  import { hasProperty } from "../../Predicate.js"
4
+ import type * as Types from "../../Types.js"
4
5
  import * as OpCodes from "../opCodes/channelState.js"
5
6
  import type { ErasedExecutor } from "./channelExecutor.js"
6
7
 
@@ -11,21 +12,22 @@ export const ChannelStateTypeId = Symbol.for("effect/ChannelState")
11
12
  export type ChannelStateTypeId = typeof ChannelStateTypeId
12
13
 
13
14
  /** @internal */
14
- export interface ChannelState<R, E> extends ChannelState.Variance<R, E> {}
15
+ export interface ChannelState<out R, out E> extends ChannelState.Variance<R, E> {}
15
16
 
16
17
  /** @internal */
17
18
  export declare namespace ChannelState {
18
- export interface Variance<R, E> {
19
+ export interface Variance<out R, out E> {
19
20
  readonly [ChannelStateTypeId]: {
20
- readonly _R: (_: never) => R
21
- readonly _E: (_: never) => E
21
+ readonly _R: Types.Covariant<R>
22
+ readonly _E: Types.Covariant<E>
22
23
  }
23
24
  }
24
25
  }
25
26
 
26
- /** @internal */
27
27
  const channelStateVariance = {
28
+ /* c8 ignore next */
28
29
  _R: (_: never) => _,
30
+ /* c8 ignore next */
29
31
  _E: (_: never) => _
30
32
  }
31
33
 
@@ -63,9 +65,9 @@ export interface FromEffect extends
63
65
  export interface Read extends
64
66
  Op<OpCodes.OP_READ, {
65
67
  readonly upstream: ErasedExecutor<unknown>
66
- readonly onEffect: (effect: Effect.Effect<unknown, never, void>) => Effect.Effect<unknown, never, void>
67
- readonly onEmit: (value: unknown) => Effect.Effect<unknown, never, void>
68
- readonly onDone: (exit: Exit.Exit<unknown, unknown>) => Effect.Effect<unknown, never, void>
68
+ onEffect(effect: Effect.Effect<unknown, never, void>): Effect.Effect<unknown, never, void>
69
+ onEmit(value: unknown): Effect.Effect<unknown, never, void>
70
+ onDone(exit: Exit.Exit<unknown, unknown>): Effect.Effect<unknown, never, void>
69
71
  }>
70
72
  {}
71
73