effect 2.0.0-next.55 → 2.0.0-next.56

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 (652) hide show
  1. package/README.md +14 -9
  2. package/dist/cjs/Cache.js.map +1 -1
  3. package/dist/cjs/Cause.js +53 -18
  4. package/dist/cjs/Cause.js.map +1 -1
  5. package/dist/cjs/ChildExecutorDecision.js.map +1 -1
  6. package/dist/cjs/Chunk.js +5 -5
  7. package/dist/cjs/Chunk.js.map +1 -1
  8. package/dist/cjs/Data.js +11 -20
  9. package/dist/cjs/Data.js.map +1 -1
  10. package/dist/cjs/Duration.js +4 -0
  11. package/dist/cjs/Duration.js.map +1 -1
  12. package/dist/cjs/Effect.js +11 -4
  13. package/dist/cjs/Effect.js.map +1 -1
  14. package/dist/cjs/Either.js +9 -2
  15. package/dist/cjs/Either.js.map +1 -1
  16. package/dist/cjs/Exit.js.map +1 -1
  17. package/dist/cjs/Fiber.js.map +1 -1
  18. package/dist/cjs/HashMap.js.map +1 -1
  19. package/dist/cjs/KeyedPool.js.map +1 -1
  20. package/dist/cjs/List.js.map +1 -1
  21. package/dist/cjs/MergeState.js.map +1 -1
  22. package/dist/cjs/MetricPolling.js +2 -2
  23. package/dist/cjs/MetricPolling.js.map +1 -1
  24. package/dist/cjs/MetricState.js.map +1 -1
  25. package/dist/cjs/NonEmptyIterable.js.map +1 -1
  26. package/dist/cjs/Option.js +2 -2
  27. package/dist/cjs/Option.js.map +1 -1
  28. package/dist/cjs/Pipeable.js.map +1 -1
  29. package/dist/cjs/Predicate.js +17 -1
  30. package/dist/cjs/Predicate.js.map +1 -1
  31. package/dist/cjs/PrimaryKey.js +15 -0
  32. package/dist/cjs/PrimaryKey.js.map +1 -0
  33. package/dist/cjs/Queue.js +6 -1
  34. package/dist/cjs/Queue.js.map +1 -1
  35. package/dist/cjs/ReadonlyArray.js +2 -0
  36. package/dist/cjs/ReadonlyArray.js.map +1 -1
  37. package/dist/cjs/ReadonlyRecord.js +2 -2
  38. package/dist/cjs/ReadonlyRecord.js.map +1 -1
  39. package/dist/cjs/RedBlackTree.js.map +1 -1
  40. package/dist/cjs/Request.js +35 -1
  41. package/dist/cjs/Request.js.map +1 -1
  42. package/dist/cjs/STM.js +1 -1
  43. package/dist/cjs/STM.js.map +1 -1
  44. package/dist/cjs/Sink.js.map +1 -1
  45. package/dist/cjs/SortedMap.js +4 -1
  46. package/dist/cjs/SortedMap.js.map +1 -1
  47. package/dist/cjs/SortedSet.js +2 -2
  48. package/dist/cjs/SortedSet.js.map +1 -1
  49. package/dist/cjs/Stream.js.map +1 -1
  50. package/dist/cjs/SubscriptionRef.js.map +1 -1
  51. package/dist/cjs/TPubSub.js.map +1 -1
  52. package/dist/cjs/TestAnnotation.js +3 -1
  53. package/dist/cjs/TestAnnotation.js.map +1 -1
  54. package/dist/cjs/TestClock.js.map +1 -1
  55. package/dist/cjs/UpstreamPullRequest.js.map +1 -1
  56. package/dist/cjs/index.js +4 -2
  57. package/dist/cjs/index.js.map +1 -1
  58. package/dist/cjs/internal/cache.js.map +1 -1
  59. package/dist/cjs/internal/cause.js +4 -103
  60. package/dist/cjs/internal/cause.js.map +1 -1
  61. package/dist/cjs/internal/channel/continuation.js.map +1 -1
  62. package/dist/cjs/internal/configProvider.js +13 -1
  63. package/dist/cjs/internal/configProvider.js.map +1 -1
  64. package/dist/cjs/internal/core-effect.js +7 -7
  65. package/dist/cjs/internal/core-effect.js.map +1 -1
  66. package/dist/cjs/internal/core-stream.js.map +1 -1
  67. package/dist/cjs/internal/core.js +159 -11
  68. package/dist/cjs/internal/core.js.map +1 -1
  69. package/dist/cjs/internal/data.js +4 -22
  70. package/dist/cjs/internal/data.js.map +1 -1
  71. package/dist/cjs/internal/dataSource.js +1 -1
  72. package/dist/cjs/internal/dataSource.js.map +1 -1
  73. package/dist/cjs/internal/deferred.js.map +1 -1
  74. package/dist/cjs/internal/differ/orPatch.js.map +1 -1
  75. package/dist/cjs/internal/effect/circular.js.map +1 -1
  76. package/dist/cjs/internal/effectable.js +21 -3
  77. package/dist/cjs/internal/effectable.js.map +1 -1
  78. package/dist/cjs/internal/fiberMessage.js.map +1 -1
  79. package/dist/cjs/internal/fiberRuntime.js +9 -10
  80. package/dist/cjs/internal/fiberRuntime.js.map +1 -1
  81. package/dist/cjs/internal/hashMap.js +1 -1
  82. package/dist/cjs/internal/hashMap.js.map +1 -1
  83. package/dist/cjs/internal/hashSet.js +2 -2
  84. package/dist/cjs/internal/hashSet.js.map +1 -1
  85. package/dist/cjs/internal/keyedPool.js.map +1 -1
  86. package/dist/cjs/internal/layer.js.map +1 -1
  87. package/dist/cjs/internal/metric/polling.js +7 -7
  88. package/dist/cjs/internal/metric/polling.js.map +1 -1
  89. package/dist/cjs/internal/metric.js +4 -0
  90. package/dist/cjs/internal/metric.js.map +1 -1
  91. package/dist/cjs/internal/pool.js.map +1 -1
  92. package/dist/cjs/internal/pubsub.js +24 -23
  93. package/dist/cjs/internal/pubsub.js.map +1 -1
  94. package/dist/cjs/internal/queue.js +10 -1
  95. package/dist/cjs/internal/queue.js.map +1 -1
  96. package/dist/cjs/internal/redBlackTree.js +5 -1
  97. package/dist/cjs/internal/redBlackTree.js.map +1 -1
  98. package/dist/cjs/internal/reloadable.js.map +1 -1
  99. package/dist/cjs/internal/request.js +29 -15
  100. package/dist/cjs/internal/request.js.map +1 -1
  101. package/dist/cjs/internal/resource.js +2 -2
  102. package/dist/cjs/internal/resource.js.map +1 -1
  103. package/dist/cjs/internal/runtime.js +2 -3
  104. package/dist/cjs/internal/runtime.js.map +1 -1
  105. package/dist/cjs/internal/schedule.js +6 -7
  106. package/dist/cjs/internal/schedule.js.map +1 -1
  107. package/dist/cjs/internal/scopedCache.js.map +1 -1
  108. package/dist/cjs/internal/scopedRef.js.map +1 -1
  109. package/dist/cjs/internal/sink.js +1 -1
  110. package/dist/cjs/internal/sink.js.map +1 -1
  111. package/dist/cjs/internal/stm/core.js +2 -2
  112. package/dist/cjs/internal/stm/core.js.map +1 -1
  113. package/dist/cjs/internal/stm/tArray.js.map +1 -1
  114. package/dist/cjs/internal/stm/tDeferred.js.map +1 -1
  115. package/dist/cjs/internal/stm/tMap.js.map +1 -1
  116. package/dist/cjs/internal/stm/tPriorityQueue.js.map +1 -1
  117. package/dist/cjs/internal/stm/tPubSub.js +17 -14
  118. package/dist/cjs/internal/stm/tPubSub.js.map +1 -1
  119. package/dist/cjs/internal/stm/tQueue.js +6 -7
  120. package/dist/cjs/internal/stm/tQueue.js.map +1 -1
  121. package/dist/cjs/internal/stm/tSemaphore.js +2 -2
  122. package/dist/cjs/internal/stm/tSemaphore.js.map +1 -1
  123. package/dist/cjs/internal/stm/tSet.js.map +1 -1
  124. package/dist/cjs/internal/stream.js +4 -4
  125. package/dist/cjs/internal/stream.js.map +1 -1
  126. package/dist/cjs/internal/subscriptionRef.js.map +1 -1
  127. package/dist/cjs/internal/take.js +1 -1
  128. package/dist/cjs/internal/take.js.map +1 -1
  129. package/dist/cjs/internal/version.js +1 -1
  130. package/dist/dts/Brand.d.ts +4 -4
  131. package/dist/dts/Brand.d.ts.map +1 -1
  132. package/dist/dts/Cache.d.ts +15 -14
  133. package/dist/dts/Cache.d.ts.map +1 -1
  134. package/dist/dts/Cause.d.ts +92 -25
  135. package/dist/dts/Cause.d.ts.map +1 -1
  136. package/dist/dts/Channel.d.ts +4 -4
  137. package/dist/dts/Channel.d.ts.map +1 -1
  138. package/dist/dts/ChildExecutorDecision.d.ts.map +1 -1
  139. package/dist/dts/Chunk.d.ts +26 -24
  140. package/dist/dts/Chunk.d.ts.map +1 -1
  141. package/dist/dts/Clock.d.ts +4 -4
  142. package/dist/dts/Clock.d.ts.map +1 -1
  143. package/dist/dts/Config.d.ts +4 -4
  144. package/dist/dts/Config.d.ts.map +1 -1
  145. package/dist/dts/ConfigError.d.ts +7 -7
  146. package/dist/dts/ConfigError.d.ts.map +1 -1
  147. package/dist/dts/ConfigProvider.d.ts +3 -3
  148. package/dist/dts/ConfigProvider.d.ts.map +1 -1
  149. package/dist/dts/ConfigProviderPathPatch.d.ts +1 -1
  150. package/dist/dts/ConfigProviderPathPatch.d.ts.map +1 -1
  151. package/dist/dts/Console.d.ts +36 -36
  152. package/dist/dts/Console.d.ts.map +1 -1
  153. package/dist/dts/Context.d.ts +4 -4
  154. package/dist/dts/Context.d.ts.map +1 -1
  155. package/dist/dts/Data.d.ts +3 -17
  156. package/dist/dts/Data.d.ts.map +1 -1
  157. package/dist/dts/Deferred.d.ts +4 -4
  158. package/dist/dts/Deferred.d.ts.map +1 -1
  159. package/dist/dts/Differ.d.ts +9 -9
  160. package/dist/dts/Differ.d.ts.map +1 -1
  161. package/dist/dts/Duration.d.ts +1 -1
  162. package/dist/dts/Duration.d.ts.map +1 -1
  163. package/dist/dts/Effect.d.ts +34 -20
  164. package/dist/dts/Effect.d.ts.map +1 -1
  165. package/dist/dts/Either.d.ts +15 -3
  166. package/dist/dts/Either.d.ts.map +1 -1
  167. package/dist/dts/Equal.d.ts +1 -1
  168. package/dist/dts/Equal.d.ts.map +1 -1
  169. package/dist/dts/Equivalence.d.ts +1 -1
  170. package/dist/dts/Equivalence.d.ts.map +1 -1
  171. package/dist/dts/Exit.d.ts +5 -3
  172. package/dist/dts/Exit.d.ts.map +1 -1
  173. package/dist/dts/Fiber.d.ts +12 -12
  174. package/dist/dts/Fiber.d.ts.map +1 -1
  175. package/dist/dts/FiberRef.d.ts +3 -3
  176. package/dist/dts/FiberRef.d.ts.map +1 -1
  177. package/dist/dts/GroupBy.d.ts +2 -2
  178. package/dist/dts/GroupBy.d.ts.map +1 -1
  179. package/dist/dts/Hash.d.ts +1 -1
  180. package/dist/dts/Hash.d.ts.map +1 -1
  181. package/dist/dts/HashMap.d.ts +6 -4
  182. package/dist/dts/HashMap.d.ts.map +1 -1
  183. package/dist/dts/HashSet.d.ts +9 -9
  184. package/dist/dts/HashSet.d.ts.map +1 -1
  185. package/dist/dts/Inspectable.d.ts +3 -3
  186. package/dist/dts/Inspectable.d.ts.map +1 -1
  187. package/dist/dts/KeyedPool.d.ts +5 -5
  188. package/dist/dts/KeyedPool.d.ts.map +1 -1
  189. package/dist/dts/Layer.d.ts +2 -2
  190. package/dist/dts/Layer.d.ts.map +1 -1
  191. package/dist/dts/List.d.ts +16 -16
  192. package/dist/dts/List.d.ts.map +1 -1
  193. package/dist/dts/Logger.d.ts +4 -4
  194. package/dist/dts/Logger.d.ts.map +1 -1
  195. package/dist/dts/Match.d.ts +11 -11
  196. package/dist/dts/Match.d.ts.map +1 -1
  197. package/dist/dts/MergeDecision.d.ts +2 -2
  198. package/dist/dts/MergeDecision.d.ts.map +1 -1
  199. package/dist/dts/MergeState.d.ts +5 -5
  200. package/dist/dts/MergeState.d.ts.map +1 -1
  201. package/dist/dts/Metric.d.ts +5 -5
  202. package/dist/dts/Metric.d.ts.map +1 -1
  203. package/dist/dts/MetricHook.d.ts +4 -4
  204. package/dist/dts/MetricHook.d.ts.map +1 -1
  205. package/dist/dts/MetricKey.d.ts +2 -2
  206. package/dist/dts/MetricKey.d.ts.map +1 -1
  207. package/dist/dts/MetricKeyType.d.ts +2 -2
  208. package/dist/dts/MetricKeyType.d.ts.map +1 -1
  209. package/dist/dts/MetricPair.d.ts +2 -2
  210. package/dist/dts/MetricPair.d.ts.map +1 -1
  211. package/dist/dts/MetricPolling.d.ts +16 -16
  212. package/dist/dts/MetricPolling.d.ts.map +1 -1
  213. package/dist/dts/MetricRegistry.d.ts +7 -7
  214. package/dist/dts/MetricRegistry.d.ts.map +1 -1
  215. package/dist/dts/MetricState.d.ts +4 -4
  216. package/dist/dts/MetricState.d.ts.map +1 -1
  217. package/dist/dts/MutableHashMap.d.ts +1 -1
  218. package/dist/dts/MutableHashMap.d.ts.map +1 -1
  219. package/dist/dts/MutableHashSet.d.ts +1 -1
  220. package/dist/dts/MutableHashSet.d.ts.map +1 -1
  221. package/dist/dts/MutableList.d.ts +1 -1
  222. package/dist/dts/MutableList.d.ts.map +1 -1
  223. package/dist/dts/MutableQueue.d.ts +1 -1
  224. package/dist/dts/MutableQueue.d.ts.map +1 -1
  225. package/dist/dts/MutableRef.d.ts +1 -1
  226. package/dist/dts/MutableRef.d.ts.map +1 -1
  227. package/dist/dts/NonEmptyIterable.d.ts +2 -2
  228. package/dist/dts/NonEmptyIterable.d.ts.map +1 -1
  229. package/dist/dts/Option.d.ts +13 -11
  230. package/dist/dts/Option.d.ts.map +1 -1
  231. package/dist/dts/Order.d.ts +1 -1
  232. package/dist/dts/Order.d.ts.map +1 -1
  233. package/dist/dts/Pipeable.d.ts +21 -23
  234. package/dist/dts/Pipeable.d.ts.map +1 -1
  235. package/dist/dts/Pool.d.ts +4 -4
  236. package/dist/dts/Pool.d.ts.map +1 -1
  237. package/dist/dts/Predicate.d.ts +17 -2
  238. package/dist/dts/Predicate.d.ts.map +1 -1
  239. package/dist/dts/PrimaryKey.d.ts +16 -0
  240. package/dist/dts/PrimaryKey.d.ts.map +1 -0
  241. package/dist/dts/PubSub.d.ts +3 -3
  242. package/dist/dts/PubSub.d.ts.map +1 -1
  243. package/dist/dts/Queue.d.ts +46 -27
  244. package/dist/dts/Queue.d.ts.map +1 -1
  245. package/dist/dts/Random.d.ts +3 -3
  246. package/dist/dts/Random.d.ts.map +1 -1
  247. package/dist/dts/ReadonlyArray.d.ts +36 -36
  248. package/dist/dts/ReadonlyArray.d.ts.map +1 -1
  249. package/dist/dts/ReadonlyRecord.d.ts +13 -11
  250. package/dist/dts/ReadonlyRecord.d.ts.map +1 -1
  251. package/dist/dts/RedBlackTree.d.ts +5 -2
  252. package/dist/dts/RedBlackTree.d.ts.map +1 -1
  253. package/dist/dts/Ref.d.ts +3 -3
  254. package/dist/dts/Ref.d.ts.map +1 -1
  255. package/dist/dts/Reloadable.d.ts +3 -3
  256. package/dist/dts/Reloadable.d.ts.map +1 -1
  257. package/dist/dts/Request.d.ts +49 -8
  258. package/dist/dts/Request.d.ts.map +1 -1
  259. package/dist/dts/RequestBlock.d.ts +8 -8
  260. package/dist/dts/RequestBlock.d.ts.map +1 -1
  261. package/dist/dts/RequestResolver.d.ts +5 -5
  262. package/dist/dts/RequestResolver.d.ts.map +1 -1
  263. package/dist/dts/Resource.d.ts +4 -4
  264. package/dist/dts/Resource.d.ts.map +1 -1
  265. package/dist/dts/Runtime.d.ts +3 -3
  266. package/dist/dts/Runtime.d.ts.map +1 -1
  267. package/dist/dts/STM.d.ts +9 -9
  268. package/dist/dts/STM.d.ts.map +1 -1
  269. package/dist/dts/Schedule.d.ts +6 -6
  270. package/dist/dts/Schedule.d.ts.map +1 -1
  271. package/dist/dts/Scheduler.d.ts +3 -3
  272. package/dist/dts/Scheduler.d.ts.map +1 -1
  273. package/dist/dts/ScopedCache.d.ts +9 -9
  274. package/dist/dts/ScopedCache.d.ts.map +1 -1
  275. package/dist/dts/ScopedRef.d.ts +3 -3
  276. package/dist/dts/ScopedRef.d.ts.map +1 -1
  277. package/dist/dts/SingleProducerAsyncInput.d.ts +7 -7
  278. package/dist/dts/SingleProducerAsyncInput.d.ts.map +1 -1
  279. package/dist/dts/Sink.d.ts +7 -4
  280. package/dist/dts/Sink.d.ts.map +1 -1
  281. package/dist/dts/SortedMap.d.ts +5 -2
  282. package/dist/dts/SortedMap.d.ts.map +1 -1
  283. package/dist/dts/SortedSet.d.ts +6 -12
  284. package/dist/dts/SortedSet.d.ts.map +1 -1
  285. package/dist/dts/Stream.d.ts +27 -19
  286. package/dist/dts/Stream.d.ts.map +1 -1
  287. package/dist/dts/StreamEmit.d.ts +12 -12
  288. package/dist/dts/StreamEmit.d.ts.map +1 -1
  289. package/dist/dts/SubscriptionRef.d.ts +3 -3
  290. package/dist/dts/SubscriptionRef.d.ts.map +1 -1
  291. package/dist/dts/Supervisor.d.ts +9 -9
  292. package/dist/dts/Supervisor.d.ts.map +1 -1
  293. package/dist/dts/SynchronizedRef.d.ts +4 -4
  294. package/dist/dts/SynchronizedRef.d.ts.map +1 -1
  295. package/dist/dts/TArray.d.ts +3 -3
  296. package/dist/dts/TArray.d.ts.map +1 -1
  297. package/dist/dts/TDeferred.d.ts +4 -4
  298. package/dist/dts/TDeferred.d.ts.map +1 -1
  299. package/dist/dts/TMap.d.ts +4 -4
  300. package/dist/dts/TMap.d.ts.map +1 -1
  301. package/dist/dts/TPriorityQueue.d.ts +3 -3
  302. package/dist/dts/TPriorityQueue.d.ts.map +1 -1
  303. package/dist/dts/TPubSub.d.ts +4 -1
  304. package/dist/dts/TPubSub.d.ts.map +1 -1
  305. package/dist/dts/TQueue.d.ts +9 -9
  306. package/dist/dts/TQueue.d.ts.map +1 -1
  307. package/dist/dts/TRandom.d.ts +3 -3
  308. package/dist/dts/TRandom.d.ts.map +1 -1
  309. package/dist/dts/TRef.d.ts +3 -3
  310. package/dist/dts/TRef.d.ts.map +1 -1
  311. package/dist/dts/TSet.d.ts +3 -3
  312. package/dist/dts/TSet.d.ts.map +1 -1
  313. package/dist/dts/Take.d.ts +2 -2
  314. package/dist/dts/Take.d.ts.map +1 -1
  315. package/dist/dts/TestAnnotation.d.ts +5 -3
  316. package/dist/dts/TestAnnotation.d.ts.map +1 -1
  317. package/dist/dts/TestAnnotations.d.ts +2 -2
  318. package/dist/dts/TestAnnotations.d.ts.map +1 -1
  319. package/dist/dts/TestClock.d.ts +3 -3
  320. package/dist/dts/TestClock.d.ts.map +1 -1
  321. package/dist/dts/TestLive.d.ts +1 -1
  322. package/dist/dts/TestLive.d.ts.map +1 -1
  323. package/dist/dts/TestSized.d.ts +1 -1
  324. package/dist/dts/TestSized.d.ts.map +1 -1
  325. package/dist/dts/Tracer.d.ts +5 -5
  326. package/dist/dts/Tracer.d.ts.map +1 -1
  327. package/dist/dts/Types.d.ts +7 -0
  328. package/dist/dts/Types.d.ts.map +1 -1
  329. package/dist/dts/UpstreamPullRequest.d.ts +2 -2
  330. package/dist/dts/UpstreamPullRequest.d.ts.map +1 -1
  331. package/dist/dts/UpstreamPullStrategy.d.ts +3 -3
  332. package/dist/dts/UpstreamPullStrategy.d.ts.map +1 -1
  333. package/dist/dts/Utils.d.ts +1 -1
  334. package/dist/dts/Utils.d.ts.map +1 -1
  335. package/dist/dts/index.d.ts +4 -0
  336. package/dist/dts/index.d.ts.map +1 -1
  337. package/dist/dts/internal/core-stream.d.ts.map +1 -1
  338. package/dist/dts/internal/fiberScope.d.ts +1 -1
  339. package/dist/dts/internal/fiberScope.d.ts.map +1 -1
  340. package/dist/dts/internal/stream/handoffSignal.d.ts +1 -1
  341. package/dist/dts/internal/stream/handoffSignal.d.ts.map +1 -1
  342. package/dist/dts/internal/version.d.ts +1 -1
  343. package/dist/esm/Cache.js.map +1 -1
  344. package/dist/esm/Cause.js +52 -17
  345. package/dist/esm/Cause.js.map +1 -1
  346. package/dist/esm/ChildExecutorDecision.js.map +1 -1
  347. package/dist/esm/Chunk.js +5 -5
  348. package/dist/esm/Chunk.js.map +1 -1
  349. package/dist/esm/Data.js +10 -19
  350. package/dist/esm/Data.js.map +1 -1
  351. package/dist/esm/Duration.js +4 -0
  352. package/dist/esm/Duration.js.map +1 -1
  353. package/dist/esm/Effect.js +7 -0
  354. package/dist/esm/Effect.js.map +1 -1
  355. package/dist/esm/Either.js +8 -1
  356. package/dist/esm/Either.js.map +1 -1
  357. package/dist/esm/Exit.js.map +1 -1
  358. package/dist/esm/Fiber.js.map +1 -1
  359. package/dist/esm/HashMap.js.map +1 -1
  360. package/dist/esm/KeyedPool.js.map +1 -1
  361. package/dist/esm/List.js.map +1 -1
  362. package/dist/esm/MergeState.js.map +1 -1
  363. package/dist/esm/MetricPolling.js +1 -1
  364. package/dist/esm/MetricPolling.js.map +1 -1
  365. package/dist/esm/MetricState.js.map +1 -1
  366. package/dist/esm/NonEmptyIterable.js.map +1 -1
  367. package/dist/esm/Option.js +2 -2
  368. package/dist/esm/Option.js.map +1 -1
  369. package/dist/esm/Pipeable.js.map +1 -1
  370. package/dist/esm/Predicate.js +15 -0
  371. package/dist/esm/Predicate.js.map +1 -1
  372. package/dist/esm/PrimaryKey.js +9 -0
  373. package/dist/esm/PrimaryKey.js.map +1 -0
  374. package/dist/esm/Queue.js +5 -0
  375. package/dist/esm/Queue.js.map +1 -1
  376. package/dist/esm/ReadonlyArray.js +2 -0
  377. package/dist/esm/ReadonlyArray.js.map +1 -1
  378. package/dist/esm/ReadonlyRecord.js +2 -2
  379. package/dist/esm/ReadonlyRecord.js.map +1 -1
  380. package/dist/esm/RedBlackTree.js.map +1 -1
  381. package/dist/esm/Request.js +34 -0
  382. package/dist/esm/Request.js.map +1 -1
  383. package/dist/esm/STM.js +1 -1
  384. package/dist/esm/STM.js.map +1 -1
  385. package/dist/esm/Sink.js.map +1 -1
  386. package/dist/esm/SortedMap.js +4 -1
  387. package/dist/esm/SortedMap.js.map +1 -1
  388. package/dist/esm/SortedSet.js +2 -2
  389. package/dist/esm/SortedSet.js.map +1 -1
  390. package/dist/esm/Stream.js.map +1 -1
  391. package/dist/esm/SubscriptionRef.js.map +1 -1
  392. package/dist/esm/TPubSub.js.map +1 -1
  393. package/dist/esm/TestAnnotation.js +3 -1
  394. package/dist/esm/TestAnnotation.js.map +1 -1
  395. package/dist/esm/TestClock.js.map +1 -1
  396. package/dist/esm/UpstreamPullRequest.js.map +1 -1
  397. package/dist/esm/index.js +4 -0
  398. package/dist/esm/index.js.map +1 -1
  399. package/dist/esm/internal/cache.js.map +1 -1
  400. package/dist/esm/internal/cause.js +3 -96
  401. package/dist/esm/internal/cause.js.map +1 -1
  402. package/dist/esm/internal/channel/continuation.js.map +1 -1
  403. package/dist/esm/internal/configProvider.js +13 -1
  404. package/dist/esm/internal/configProvider.js.map +1 -1
  405. package/dist/esm/internal/core-effect.js +7 -7
  406. package/dist/esm/internal/core-effect.js.map +1 -1
  407. package/dist/esm/internal/core-stream.js.map +1 -1
  408. package/dist/esm/internal/core.js +151 -10
  409. package/dist/esm/internal/core.js.map +1 -1
  410. package/dist/esm/internal/data.js +3 -21
  411. package/dist/esm/internal/data.js.map +1 -1
  412. package/dist/esm/internal/dataSource.js +1 -1
  413. package/dist/esm/internal/dataSource.js.map +1 -1
  414. package/dist/esm/internal/deferred.js.map +1 -1
  415. package/dist/esm/internal/differ/orPatch.js.map +1 -1
  416. package/dist/esm/internal/effect/circular.js.map +1 -1
  417. package/dist/esm/internal/effectable.js +20 -2
  418. package/dist/esm/internal/effectable.js.map +1 -1
  419. package/dist/esm/internal/fiberMessage.js.map +1 -1
  420. package/dist/esm/internal/fiberRuntime.js +9 -10
  421. package/dist/esm/internal/fiberRuntime.js.map +1 -1
  422. package/dist/esm/internal/hashMap.js +1 -1
  423. package/dist/esm/internal/hashMap.js.map +1 -1
  424. package/dist/esm/internal/hashSet.js +2 -2
  425. package/dist/esm/internal/hashSet.js.map +1 -1
  426. package/dist/esm/internal/keyedPool.js.map +1 -1
  427. package/dist/esm/internal/layer.js.map +1 -1
  428. package/dist/esm/internal/metric/polling.js +6 -6
  429. package/dist/esm/internal/metric/polling.js.map +1 -1
  430. package/dist/esm/internal/metric.js +4 -0
  431. package/dist/esm/internal/metric.js.map +1 -1
  432. package/dist/esm/internal/pool.js.map +1 -1
  433. package/dist/esm/internal/pubsub.js +24 -23
  434. package/dist/esm/internal/pubsub.js.map +1 -1
  435. package/dist/esm/internal/queue.js +9 -0
  436. package/dist/esm/internal/queue.js.map +1 -1
  437. package/dist/esm/internal/redBlackTree.js +5 -1
  438. package/dist/esm/internal/redBlackTree.js.map +1 -1
  439. package/dist/esm/internal/reloadable.js.map +1 -1
  440. package/dist/esm/internal/request.js +27 -14
  441. package/dist/esm/internal/request.js.map +1 -1
  442. package/dist/esm/internal/resource.js +2 -2
  443. package/dist/esm/internal/resource.js.map +1 -1
  444. package/dist/esm/internal/runtime.js +1 -2
  445. package/dist/esm/internal/runtime.js.map +1 -1
  446. package/dist/esm/internal/schedule.js +6 -7
  447. package/dist/esm/internal/schedule.js.map +1 -1
  448. package/dist/esm/internal/scopedCache.js.map +1 -1
  449. package/dist/esm/internal/scopedRef.js.map +1 -1
  450. package/dist/esm/internal/sink.js +1 -1
  451. package/dist/esm/internal/sink.js.map +1 -1
  452. package/dist/esm/internal/stm/core.js +2 -2
  453. package/dist/esm/internal/stm/core.js.map +1 -1
  454. package/dist/esm/internal/stm/tArray.js.map +1 -1
  455. package/dist/esm/internal/stm/tDeferred.js.map +1 -1
  456. package/dist/esm/internal/stm/tMap.js.map +1 -1
  457. package/dist/esm/internal/stm/tPriorityQueue.js.map +1 -1
  458. package/dist/esm/internal/stm/tPubSub.js +17 -14
  459. package/dist/esm/internal/stm/tPubSub.js.map +1 -1
  460. package/dist/esm/internal/stm/tQueue.js +6 -7
  461. package/dist/esm/internal/stm/tQueue.js.map +1 -1
  462. package/dist/esm/internal/stm/tSemaphore.js +2 -2
  463. package/dist/esm/internal/stm/tSemaphore.js.map +1 -1
  464. package/dist/esm/internal/stm/tSet.js.map +1 -1
  465. package/dist/esm/internal/stream.js +4 -4
  466. package/dist/esm/internal/stream.js.map +1 -1
  467. package/dist/esm/internal/subscriptionRef.js.map +1 -1
  468. package/dist/esm/internal/take.js +1 -1
  469. package/dist/esm/internal/take.js.map +1 -1
  470. package/dist/esm/internal/version.js +1 -1
  471. package/dist/esm/package.json +1 -1
  472. package/package.json +10 -2
  473. package/src/Brand.ts +4 -4
  474. package/src/Cache.ts +15 -17
  475. package/src/Cause.ts +124 -40
  476. package/src/Channel.ts +4 -4
  477. package/src/ChildExecutorDecision.ts +10 -2
  478. package/src/Chunk.ts +44 -36
  479. package/src/Clock.ts +4 -4
  480. package/src/Config.ts +4 -4
  481. package/src/ConfigError.ts +8 -8
  482. package/src/ConfigProvider.ts +5 -5
  483. package/src/ConfigProviderPathPatch.ts +1 -1
  484. package/src/Console.ts +36 -36
  485. package/src/Context.ts +4 -4
  486. package/src/Data.ts +13 -44
  487. package/src/Deferred.ts +4 -4
  488. package/src/Differ.ts +9 -9
  489. package/src/Duration.ts +5 -0
  490. package/src/Effect.ts +88 -26
  491. package/src/Either.ts +28 -5
  492. package/src/Equal.ts +1 -1
  493. package/src/Equivalence.ts +1 -1
  494. package/src/Exit.ts +21 -7
  495. package/src/Fiber.ts +20 -14
  496. package/src/FiberRef.ts +7 -7
  497. package/src/GroupBy.ts +2 -2
  498. package/src/Hash.ts +1 -1
  499. package/src/HashMap.ts +6 -4
  500. package/src/HashSet.ts +11 -11
  501. package/src/Inspectable.ts +3 -3
  502. package/src/KeyedPool.ts +13 -7
  503. package/src/Layer.ts +2 -2
  504. package/src/List.ts +24 -22
  505. package/src/Logger.ts +4 -4
  506. package/src/Match.ts +11 -11
  507. package/src/MergeDecision.ts +2 -2
  508. package/src/MergeState.ts +11 -5
  509. package/src/Metric.ts +5 -5
  510. package/src/MetricHook.ts +4 -4
  511. package/src/MetricKey.ts +2 -2
  512. package/src/MetricKeyType.ts +2 -2
  513. package/src/MetricPair.ts +2 -2
  514. package/src/MetricPolling.ts +22 -22
  515. package/src/MetricRegistry.ts +9 -9
  516. package/src/MetricState.ts +6 -4
  517. package/src/MutableHashMap.ts +1 -1
  518. package/src/MutableHashSet.ts +1 -1
  519. package/src/MutableList.ts +1 -1
  520. package/src/MutableQueue.ts +1 -1
  521. package/src/MutableRef.ts +1 -1
  522. package/src/NonEmptyIterable.ts +2 -2
  523. package/src/Option.ts +18 -15
  524. package/src/Order.ts +1 -1
  525. package/src/Pipeable.ts +275 -277
  526. package/src/Pool.ts +4 -4
  527. package/src/Predicate.ts +21 -2
  528. package/src/PrimaryKey.ts +17 -0
  529. package/src/PubSub.ts +3 -3
  530. package/src/Queue.ts +52 -30
  531. package/src/Random.ts +3 -3
  532. package/src/ReadonlyArray.ts +51 -66
  533. package/src/ReadonlyRecord.ts +37 -35
  534. package/src/RedBlackTree.ts +5 -2
  535. package/src/Ref.ts +3 -3
  536. package/src/Reloadable.ts +3 -3
  537. package/src/Request.ts +53 -8
  538. package/src/RequestBlock.ts +9 -9
  539. package/src/RequestResolver.ts +5 -5
  540. package/src/Resource.ts +4 -4
  541. package/src/Runtime.ts +3 -3
  542. package/src/STM.ts +23 -12
  543. package/src/Schedule.ts +7 -7
  544. package/src/Scheduler.ts +3 -3
  545. package/src/Scope.ts +3 -3
  546. package/src/ScopedCache.ts +9 -9
  547. package/src/ScopedRef.ts +3 -3
  548. package/src/SingleProducerAsyncInput.ts +7 -7
  549. package/src/Sink.ts +23 -9
  550. package/src/SortedMap.ts +9 -3
  551. package/src/SortedSet.ts +26 -41
  552. package/src/Stream.ts +70 -29
  553. package/src/StreamEmit.ts +12 -12
  554. package/src/SubscriptionRef.ts +5 -3
  555. package/src/Supervisor.ts +10 -10
  556. package/src/SynchronizedRef.ts +4 -4
  557. package/src/TArray.ts +4 -4
  558. package/src/TDeferred.ts +5 -5
  559. package/src/TMap.ts +5 -5
  560. package/src/TPriorityQueue.ts +4 -4
  561. package/src/TPubSub.ts +6 -3
  562. package/src/TQueue.ts +9 -9
  563. package/src/TRandom.ts +3 -3
  564. package/src/TRef.ts +4 -4
  565. package/src/TSet.ts +4 -4
  566. package/src/Take.ts +2 -2
  567. package/src/TestAnnotation.ts +8 -4
  568. package/src/TestAnnotations.ts +2 -2
  569. package/src/TestClock.ts +3 -5
  570. package/src/TestLive.ts +1 -1
  571. package/src/TestSized.ts +1 -1
  572. package/src/Tracer.ts +6 -6
  573. package/src/Types.ts +8 -0
  574. package/src/UpstreamPullRequest.ts +10 -4
  575. package/src/UpstreamPullStrategy.ts +3 -3
  576. package/src/Utils.ts +1 -1
  577. package/src/index.ts +5 -0
  578. package/src/internal/blockedRequests.ts +6 -6
  579. package/src/internal/cache.ts +12 -12
  580. package/src/internal/cause.ts +14 -138
  581. package/src/internal/channel/channelExecutor.ts +1 -1
  582. package/src/internal/channel/channelState.ts +5 -5
  583. package/src/internal/channel/continuation.ts +52 -32
  584. package/src/internal/channel/mergeDecision.ts +1 -1
  585. package/src/internal/channel/singleProducerAsyncInput.ts +1 -1
  586. package/src/internal/channel/subexecutor.ts +7 -7
  587. package/src/internal/config.ts +6 -6
  588. package/src/internal/configProvider.ts +14 -1
  589. package/src/internal/core-effect.ts +49 -38
  590. package/src/internal/core-stream.ts +18 -21
  591. package/src/internal/core.ts +286 -38
  592. package/src/internal/data.ts +3 -22
  593. package/src/internal/dataSource.ts +1 -1
  594. package/src/internal/deferred.ts +5 -5
  595. package/src/internal/differ/contextPatch.ts +5 -5
  596. package/src/internal/differ/orPatch.ts +18 -6
  597. package/src/internal/effect/circular.ts +3 -3
  598. package/src/internal/effectable.ts +23 -4
  599. package/src/internal/fiberMessage.ts +1 -4
  600. package/src/internal/fiberRuntime.ts +14 -15
  601. package/src/internal/fiberScope.ts +1 -1
  602. package/src/internal/groupBy.ts +1 -1
  603. package/src/internal/hashMap/node.ts +5 -5
  604. package/src/internal/hashMap.ts +23 -22
  605. package/src/internal/hashSet.ts +18 -20
  606. package/src/internal/keyedPool.ts +4 -4
  607. package/src/internal/layer.ts +6 -12
  608. package/src/internal/metric/key.ts +1 -1
  609. package/src/internal/metric/polling.ts +26 -26
  610. package/src/internal/metric.ts +4 -0
  611. package/src/internal/pool.ts +2 -2
  612. package/src/internal/pubsub.ts +64 -61
  613. package/src/internal/queue.ts +20 -6
  614. package/src/internal/redBlackTree/iterator.ts +1 -1
  615. package/src/internal/redBlackTree/node.ts +1 -1
  616. package/src/internal/redBlackTree.ts +7 -2
  617. package/src/internal/ref.ts +1 -1
  618. package/src/internal/reloadable.ts +1 -1
  619. package/src/internal/request.ts +39 -13
  620. package/src/internal/resource.ts +4 -4
  621. package/src/internal/ringBuffer.ts +1 -1
  622. package/src/internal/runtime.ts +2 -3
  623. package/src/internal/schedule.ts +6 -7
  624. package/src/internal/scopedCache.ts +7 -5
  625. package/src/internal/scopedRef.ts +1 -1
  626. package/src/internal/sink.ts +6 -3
  627. package/src/internal/stack.ts +1 -1
  628. package/src/internal/stm/core.ts +3 -3
  629. package/src/internal/stm/stm/stmState.ts +1 -1
  630. package/src/internal/stm/stm/tExit.ts +3 -3
  631. package/src/internal/stm/stm/tryCommit.ts +1 -1
  632. package/src/internal/stm/stm/versioned.ts +1 -1
  633. package/src/internal/stm/stm.ts +2 -2
  634. package/src/internal/stm/tArray.ts +2 -2
  635. package/src/internal/stm/tDeferred.ts +3 -3
  636. package/src/internal/stm/tMap.ts +3 -3
  637. package/src/internal/stm/tPriorityQueue.ts +2 -2
  638. package/src/internal/stm/tPubSub.ts +43 -38
  639. package/src/internal/stm/tQueue.ts +7 -8
  640. package/src/internal/stm/tReentrantLock.ts +2 -2
  641. package/src/internal/stm/tRef.ts +1 -1
  642. package/src/internal/stm/tSemaphore.ts +2 -2
  643. package/src/internal/stm/tSet.ts +2 -2
  644. package/src/internal/stream/debounceState.ts +2 -2
  645. package/src/internal/stream/handoff.ts +3 -3
  646. package/src/internal/stream/handoffSignal.ts +2 -2
  647. package/src/internal/stream/pull.ts +1 -1
  648. package/src/internal/stream.ts +66 -33
  649. package/src/internal/subscriptionRef.ts +2 -2
  650. package/src/internal/supervisor.ts +3 -3
  651. package/src/internal/take.ts +2 -2
  652. package/src/internal/version.ts +1 -1
@@ -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
 
@@ -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
@@ -11,11 +11,11 @@ export const ChannelStateTypeId = Symbol.for("effect/ChannelState")
11
11
  export type ChannelStateTypeId = typeof ChannelStateTypeId
12
12
 
13
13
  /** @internal */
14
- export interface ChannelState<R, E> extends ChannelState.Variance<R, E> {}
14
+ export interface ChannelState<out R, out E> extends ChannelState.Variance<R, E> {}
15
15
 
16
16
  /** @internal */
17
17
  export declare namespace ChannelState {
18
- export interface Variance<R, E> {
18
+ export interface Variance<out R, out E> {
19
19
  readonly [ChannelStateTypeId]: {
20
20
  readonly _R: (_: never) => R
21
21
  readonly _E: (_: never) => E
@@ -63,9 +63,9 @@ export interface FromEffect extends
63
63
  export interface Read extends
64
64
  Op<OpCodes.OP_READ, {
65
65
  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>
66
+ onEffect(effect: Effect.Effect<unknown, never, void>): Effect.Effect<unknown, never, void>
67
+ onEmit(value: unknown): Effect.Effect<unknown, never, void>
68
+ onDone(exit: Exit.Exit<unknown, unknown>): Effect.Effect<unknown, never, void>
69
69
  }>
70
70
  {}
71
71
 
@@ -11,14 +11,32 @@ export const ContinuationTypeId = Symbol.for("effect/ChannelContinuation")
11
11
  export type ContinuationTypeId = typeof ContinuationTypeId
12
12
 
13
13
  /** @internal */
14
- export interface Continuation<Env, InErr, InElem, InDone, OutErr, OutErr2, OutElem, OutDone, OutDone2>
15
- extends Continuation.Variance<Env, InErr, InElem, InDone, OutErr, OutErr2, OutElem, OutDone, OutDone2>
16
- {}
14
+ export interface Continuation<
15
+ out Env,
16
+ in InErr,
17
+ in InElem,
18
+ in InDone,
19
+ out OutErr,
20
+ out OutErr2,
21
+ out OutElem,
22
+ out OutDone,
23
+ out OutDone2
24
+ > extends Continuation.Variance<Env, InErr, InElem, InDone, OutErr, OutErr2, OutElem, OutDone, OutDone2> {}
17
25
 
18
26
  /** @internal */
19
27
  export declare namespace Continuation {
20
28
  /** @internal */
21
- export interface Variance<Env, InErr, InElem, InDone, OutErr, OutErr2, OutElem, OutDone, OutDone2> {
29
+ export interface Variance<
30
+ out Env,
31
+ in InErr,
32
+ in InElem,
33
+ in InDone,
34
+ out OutErr,
35
+ out OutErr2,
36
+ out OutElem,
37
+ out OutDone,
38
+ out OutDone2
39
+ > {
22
40
  readonly [ContinuationTypeId]: {
23
41
  readonly _Env: (_: never) => Env
24
42
  readonly _InErr: (_: InErr) => void
@@ -54,15 +72,15 @@ export type ErasedContinuationFinalizer = ContinuationFinalizer<unknown, unknown
54
72
 
55
73
  /** @internal */
56
74
  export interface ContinuationK<
57
- Env,
58
- InErr,
59
- InElem,
60
- InDone,
61
- OutErr,
62
- OutErr2,
63
- OutElem,
64
- OutDone,
65
- OutDone2
75
+ out Env,
76
+ in InErr,
77
+ in InElem,
78
+ in InDone,
79
+ out OutErr,
80
+ out OutErr2,
81
+ out OutElem,
82
+ out OutDone,
83
+ out OutDone2
66
84
  > extends
67
85
  Continuation<
68
86
  Env,
@@ -77,19 +95,19 @@ export interface ContinuationK<
77
95
  >
78
96
  {
79
97
  readonly _tag: OpCodes.OP_CONTINUATION_K
80
- readonly onSuccess: (
98
+ onSuccess(
81
99
  o: OutDone
82
- ) => Channel.Channel<Env, InErr, InElem, InDone, OutErr2, OutElem, OutDone2>
83
- readonly onHalt: (
100
+ ): Channel.Channel<Env, InErr, InElem, InDone, OutErr2, OutElem, OutDone2>
101
+ onHalt(
84
102
  c: Cause.Cause<OutErr>
85
- ) => Channel.Channel<Env, InErr, InElem, InDone, OutErr2, OutElem, OutDone2>
86
- readonly onExit: (
103
+ ): Channel.Channel<Env, InErr, InElem, InDone, OutErr2, OutElem, OutDone2>
104
+ onExit(
87
105
  exit: Exit.Exit<OutErr, OutDone>
88
- ) => Channel.Channel<Env, InErr, InElem, InDone, OutErr2, OutElem, OutDone2>
106
+ ): Channel.Channel<Env, InErr, InElem, InDone, OutErr2, OutElem, OutDone2>
89
107
  }
90
108
 
91
109
  /** @internal */
92
- export interface ContinuationFinalizer<Env, OutErr, OutDone> extends
110
+ export interface ContinuationFinalizer<out Env, out OutErr, out OutDone> extends
93
111
  Continuation<
94
112
  Env,
95
113
  unknown,
@@ -103,7 +121,7 @@ export interface ContinuationFinalizer<Env, OutErr, OutDone> extends
103
121
  >
104
122
  {
105
123
  readonly _tag: OpCodes.OP_CONTINUATION_FINALIZER
106
- readonly finalizer: (exit: Exit.Exit<OutErr, OutDone>) => Effect.Effect<Env, never, unknown>
124
+ finalizer(exit: Exit.Exit<OutErr, OutDone>): Effect.Effect<Env, never, unknown>
107
125
  }
108
126
 
109
127
  /** @internal */
@@ -121,16 +139,16 @@ const continuationVariance = {
121
139
 
122
140
  /** @internal */
123
141
  export class ContinuationKImpl<
124
- Env,
125
- Env2,
126
- InErr,
127
- InElem,
128
- InDone,
129
- OutErr,
130
- OutErr2,
131
- OutElem,
132
- OutDone,
133
- OutDone2
142
+ out Env,
143
+ out Env2,
144
+ in InErr,
145
+ in InElem,
146
+ in InDone,
147
+ in out OutErr,
148
+ out OutErr2,
149
+ out OutElem,
150
+ in out OutDone,
151
+ out OutDone2
134
152
  > implements
135
153
  ContinuationK<
136
154
  Env | Env2,
@@ -163,7 +181,9 @@ export class ContinuationKImpl<
163
181
  }
164
182
 
165
183
  /** @internal */
166
- export class ContinuationFinalizerImpl<Env, OutErr, OutDone> implements ContinuationFinalizer<Env, OutErr, OutDone> {
184
+ export class ContinuationFinalizerImpl<out Env, in out OutErr, in out OutDone>
185
+ implements ContinuationFinalizer<Env, OutErr, OutDone>
186
+ {
167
187
  readonly _tag = OpCodes.OP_CONTINUATION_FINALIZER
168
188
  readonly [ContinuationTypeId] = continuationVariance
169
189
  constructor(readonly finalizer: (exit: Exit.Exit<OutErr, OutDone>) => Effect.Effect<Env, never, unknown>) {
@@ -47,7 +47,7 @@ export interface Done extends
47
47
  /** @internal */
48
48
  export interface Await extends
49
49
  Op<OpCodes.OP_AWAIT, {
50
- readonly f: (exit: Exit.Exit<unknown, unknown>) => Effect.Effect<never, never, never>
50
+ f(exit: Exit.Exit<unknown, unknown>): Effect.Effect<never, never, never>
51
51
  }>
52
52
  {}
53
53
 
@@ -89,7 +89,7 @@ const stateDone = <Done>(done: Done): State<never, never, Done> => ({
89
89
  })
90
90
 
91
91
  /** @internal */
92
- class SingleProducerAsyncInputImpl<Err, Elem, Done>
92
+ class SingleProducerAsyncInputImpl<in out Err, in out Elem, in out Done>
93
93
  implements SingleProducerAsyncInput.SingleProducerAsyncInput<Err, Elem, Done>
94
94
  {
95
95
  constructor(readonly ref: Ref.Ref<State<Err, Elem, Done>>) {
@@ -7,9 +7,9 @@ import type * as UpstreamPullStrategy from "../../UpstreamPullStrategy.js"
7
7
  import type { ErasedChannel, ErasedExecutor } from "./channelExecutor.js"
8
8
 
9
9
  /** @internal */
10
- export interface Subexecutor<R> {
11
- readonly close: (exit: Exit.Exit<unknown, unknown>) => Effect.Effect<R, never, unknown> | undefined
12
- readonly enqueuePullFromChild: (child: PullFromChild<R>) => Subexecutor<R>
10
+ export interface Subexecutor<in out R> {
11
+ close(exit: Exit.Exit<unknown, unknown>): Effect.Effect<R, never, unknown> | undefined
12
+ enqueuePullFromChild(child: PullFromChild<R>): Subexecutor<R>
13
13
  }
14
14
 
15
15
  /** @internal */
@@ -45,7 +45,7 @@ export type OP_EMIT = typeof OP_EMIT
45
45
  *
46
46
  * @internal
47
47
  */
48
- export class PullFromChild<R> implements Subexecutor<R> {
48
+ export class PullFromChild<in out R> implements Subexecutor<R> {
49
49
  readonly _tag: OP_PULL_FROM_CHILD = OP_PULL_FROM_CHILD
50
50
 
51
51
  constructor(
@@ -84,7 +84,7 @@ export class PullFromChild<R> implements Subexecutor<R> {
84
84
  *
85
85
  * @internal
86
86
  */
87
- export class PullFromUpstream<R> implements Subexecutor<R> {
87
+ export class PullFromUpstream<in out R> implements Subexecutor<R> {
88
88
  readonly _tag: OP_PULL_FROM_UPSTREAM = OP_PULL_FROM_UPSTREAM
89
89
 
90
90
  constructor(
@@ -152,7 +152,7 @@ export class PullFromUpstream<R> implements Subexecutor<R> {
152
152
  *
153
153
  * @internal
154
154
  */
155
- export class DrainChildExecutors<R> implements Subexecutor<R> {
155
+ export class DrainChildExecutors<in out R> implements Subexecutor<R> {
156
156
  readonly _tag: OP_DRAIN_CHILD_EXECUTORS = OP_DRAIN_CHILD_EXECUTORS
157
157
 
158
158
  constructor(
@@ -212,7 +212,7 @@ export class DrainChildExecutors<R> implements Subexecutor<R> {
212
212
  }
213
213
 
214
214
  /** @internal */
215
- export class Emit<R> implements Subexecutor<R> {
215
+ export class Emit<in out R> implements Subexecutor<R> {
216
216
  readonly _tag: OP_EMIT = OP_EMIT
217
217
 
218
218
  constructor(readonly value: unknown, readonly next: Subexecutor<R>) {
@@ -60,7 +60,7 @@ export type Op<Tag extends string, Body = {}> = Config.Config<never> & Body & {
60
60
  export interface Constant extends
61
61
  Op<OpCodes.OP_CONSTANT, {
62
62
  readonly value: unknown
63
- readonly parse: (text: string) => Either.Either<ConfigError.ConfigError, unknown>
63
+ parse(text: string): Either.Either<ConfigError.ConfigError, unknown>
64
64
  }>
65
65
  {}
66
66
 
@@ -85,14 +85,14 @@ export interface Fallback extends
85
85
  export interface Fail extends
86
86
  Op<OpCodes.OP_FAIL, {
87
87
  readonly message: string
88
- readonly parse: (text: string) => Either.Either<ConfigError.ConfigError, unknown>
88
+ parse(text: string): Either.Either<ConfigError.ConfigError, unknown>
89
89
  }>
90
90
  {}
91
91
 
92
92
  /** @internal */
93
93
  export interface Lazy extends
94
94
  Op<OpCodes.OP_LAZY, {
95
- readonly config: LazyArg<Config.Config<unknown>>
95
+ config(): Config.Config<unknown>
96
96
  }>
97
97
  {}
98
98
 
@@ -100,7 +100,7 @@ export interface Lazy extends
100
100
  export interface MapOrFail extends
101
101
  Op<OpCodes.OP_MAP_OR_FAIL, {
102
102
  readonly original: Config.Config<unknown>
103
- readonly mapOrFail: (value: unknown) => Either.Either<ConfigError.ConfigError, unknown>
103
+ mapOrFail(value: unknown): Either.Either<ConfigError.ConfigError, unknown>
104
104
  }>
105
105
  {}
106
106
 
@@ -116,7 +116,7 @@ export interface Nested extends
116
116
  export interface Primitive extends
117
117
  Op<OpCodes.OP_PRIMITIVE, {
118
118
  readonly description: string
119
- readonly parse: (text: string) => Either.Either<ConfigError.ConfigError, unknown>
119
+ parse(text: string): Either.Either<ConfigError.ConfigError, unknown>
120
120
  }>
121
121
  {}
122
122
 
@@ -141,7 +141,7 @@ export interface Zipped extends
141
141
  readonly op: OpCodes.OP_ZIP_WITH
142
142
  readonly left: Config.Config<unknown>
143
143
  readonly right: Config.Config<unknown>
144
- readonly zip: (a: unknown, b: unknown) => unknown
144
+ zip(a: unknown, b: unknown): unknown
145
145
  }>
146
146
  {}
147
147
 
@@ -218,6 +218,19 @@ const extend = <A, B>(
218
218
  return [leftExtension, rightExtension]
219
219
  }
220
220
 
221
+ const appendConfigPath = (path: ReadonlyArray<string>, config: Config.Config<unknown>): ReadonlyArray<string> => {
222
+ let op = config as _config.ConfigPrimitive
223
+ if (op._tag === "Nested") {
224
+ const out = path.slice()
225
+ while (op._tag === "Nested") {
226
+ out.push(op.name)
227
+ op = op.config as _config.ConfigPrimitive
228
+ }
229
+ return out
230
+ }
231
+ return path
232
+ }
233
+
221
234
  const fromFlatLoop = <A>(
222
235
  flat: ConfigProvider.ConfigProvider.Flat,
223
236
  prefix: ReadonlyArray<string>,
@@ -274,7 +287,7 @@ const fromFlatLoop = <A>(
274
287
  core.forEachSequential((a) =>
275
288
  pipe(
276
289
  op.mapOrFail(a),
277
- core.mapError(configError.prefixed(prefix))
290
+ core.mapError(configError.prefixed(appendConfigPath(prefix, op.original)))
278
291
  )
279
292
  )
280
293
  )