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
package/src/Effect.ts CHANGED
@@ -54,7 +54,7 @@ import * as Scheduler from "./Scheduler.js"
54
54
  import type * as Scope from "./Scope.js"
55
55
  import type * as Supervisor from "./Supervisor.js"
56
56
  import type * as Tracer from "./Tracer.js"
57
- import type { Concurrency } from "./Types.js"
57
+ import type { Concurrency, Covariant, NoInfer } from "./Types.js"
58
58
  import type * as Unify from "./Unify.js"
59
59
 
60
60
  // -------------------------------------------------------------------------------------
@@ -99,7 +99,7 @@ export type EffectTypeId = typeof EffectTypeId
99
99
  * @since 2.0.0
100
100
  * @category models
101
101
  */
102
- export interface Effect<R, E, A> extends Effect.Variance<R, E, A>, Equal.Equal, Pipeable {
102
+ export interface Effect<out R, out E, out A> extends Effect.Variance<R, E, A>, Equal.Equal, Pipeable {
103
103
  readonly [Unify.typeSymbol]?: unknown
104
104
  readonly [Unify.unifySymbol]?: EffectUnify<this>
105
105
  readonly [Unify.ignoreSymbol]?: EffectUnifyIgnore
@@ -137,10 +137,10 @@ export interface EffectTypeLambda extends TypeLambda {
137
137
  * @since 2.0.0
138
138
  * @category models
139
139
  */
140
- export interface Blocked<R, E, A> extends Effect<R, E, A> {
140
+ export interface Blocked<out E, out A> extends Effect<never, E, A> {
141
141
  readonly _op: "Blocked"
142
- readonly i0: RequestBlock<R>
143
- readonly i1: Effect<R, E, A>
142
+ readonly i0: RequestBlock
143
+ readonly i1: Effect<never, E, A>
144
144
  }
145
145
 
146
146
  /**
@@ -200,18 +200,18 @@ export declare namespace Effect {
200
200
  * @since 2.0.0
201
201
  * @category models
202
202
  */
203
- export interface Variance<R, E, A> {
203
+ export interface Variance<out R, out E, out A> {
204
204
  readonly [EffectTypeId]: VarianceStruct<R, E, A>
205
205
  }
206
206
  /**
207
207
  * @since 2.0.0
208
208
  * @category models
209
209
  */
210
- export interface VarianceStruct<R, E, A> {
210
+ export interface VarianceStruct<out R, out E, out A> {
211
211
  readonly _V: string
212
- readonly _R: (_: never) => R
213
- readonly _E: (_: never) => E
214
- readonly _A: (_: never) => A
212
+ readonly _R: Covariant<R>
213
+ readonly _E: Covariant<E>
214
+ readonly _A: Covariant<A>
215
215
  }
216
216
  /**
217
217
  * @since 2.0.0
@@ -508,7 +508,9 @@ export const allSuccesses: <R, E, A>(
508
508
  * @category collecting & elements
509
509
  */
510
510
  export const dropUntil: {
511
- <A, R, E>(predicate: (a: A, i: number) => Effect<R, E, boolean>): (elements: Iterable<A>) => Effect<R, E, Array<A>>
511
+ <B extends A, R, E, A = B>(
512
+ predicate: (a: A, i: number) => Effect<R, E, boolean>
513
+ ): (elements: Iterable<B>) => Effect<R, E, Array<B>>
512
514
  <A, R, E>(elements: Iterable<A>, predicate: (a: A, i: number) => Effect<R, E, boolean>): Effect<R, E, Array<A>>
513
515
  } = effect.dropUntil
514
516
 
@@ -519,8 +521,10 @@ export const dropUntil: {
519
521
  * @category collecting & elements
520
522
  */
521
523
  export const dropWhile: {
522
- <R, E, A>(f: (a: A, i: number) => Effect<R, E, boolean>): (elements: Iterable<A>) => Effect<R, E, Array<A>>
523
- <R, E, A>(elements: Iterable<A>, f: (a: A, i: number) => Effect<R, E, boolean>): Effect<R, E, Array<A>>
524
+ <B extends A, R, E, A = B>(
525
+ predicate: (a: A, i: number) => Effect<R, E, boolean>
526
+ ): (elements: Iterable<B>) => Effect<R, E, Array<B>>
527
+ <A, R, E>(elements: Iterable<A>, predicate: (a: A, i: number) => Effect<R, E, boolean>): Effect<R, E, Array<A>>
524
528
  } = effect.dropWhile
525
529
 
526
530
  /**
@@ -709,11 +713,11 @@ export const partition: {
709
713
  readonly concurrency?: Concurrency | undefined
710
714
  readonly batching?: boolean | "inherit" | undefined
711
715
  }
712
- ): (elements: Iterable<A>) => Effect<R, never, [Array<E>, Array<B>]>
716
+ ): (elements: Iterable<A>) => Effect<R, never, [excluded: Array<E>, satisfying: Array<B>]>
713
717
  <R, E, A, B>(elements: Iterable<A>, f: (a: A) => Effect<R, E, B>, options?: {
714
718
  readonly concurrency?: Concurrency | undefined
715
719
  readonly batching?: boolean | "inherit" | undefined
716
- }): Effect<R, never, [Array<E>, Array<B>]>
720
+ }): Effect<R, never, [excluded: Array<E>, satisfying: Array<B>]>
717
721
  } = fiberRuntime.partition
718
722
 
719
723
  /**
@@ -852,7 +856,9 @@ export const replicateEffect: {
852
856
  * @category collecting & elements
853
857
  */
854
858
  export const takeUntil: {
855
- <R, E, A>(predicate: (a: A, i: number) => Effect<R, E, boolean>): (elements: Iterable<A>) => Effect<R, E, Array<A>>
859
+ <B extends A, R, E, A = B>(
860
+ predicate: (a: A, i: number) => Effect<R, E, boolean>
861
+ ): (elements: Iterable<B>) => Effect<R, E, Array<B>>
856
862
  <R, E, A>(elements: Iterable<A>, predicate: (a: A, i: number) => Effect<R, E, boolean>): Effect<R, E, Array<A>>
857
863
  } = effect.takeUntil
858
864
 
@@ -863,7 +869,9 @@ export const takeUntil: {
863
869
  * @category collecting & elements
864
870
  */
865
871
  export const takeWhile: {
866
- <R, E, A>(predicate: (a: A, i: number) => Effect<R, E, boolean>): (elements: Iterable<A>) => Effect<R, E, Array<A>>
872
+ <R, E, B extends A, A = B>(
873
+ predicate: (a: A, i: number) => Effect<R, E, boolean>
874
+ ): (elements: Iterable<B>) => Effect<R, E, Array<B>>
867
875
  <R, E, A>(elements: Iterable<A>, predicate: (a: A, i: number) => Effect<R, E, boolean>): Effect<R, E, Array<A>>
868
876
  } = effect.takeWhile
869
877
 
@@ -1105,7 +1113,7 @@ export const gen: {
1105
1113
  * @category models
1106
1114
  * @since 2.0.0
1107
1115
  */
1108
- export interface EffectGen<R, E, A> {
1116
+ export interface EffectGen<out R, out E, out A> {
1109
1117
  readonly _R: () => R
1110
1118
  readonly _E: () => E
1111
1119
  readonly _A: () => A
@@ -1504,7 +1512,7 @@ export const catchAll: {
1504
1512
  /**
1505
1513
  * Recovers from both recoverable and unrecoverable errors.
1506
1514
  *
1507
- * See `absorb`, `sandbox`, `mapErrorCause` for other functions that can
1515
+ * See `sandbox`, `mapErrorCause` for other functions that can
1508
1516
  * recover from defects.
1509
1517
  *
1510
1518
  * @since 2.0.0
@@ -1648,10 +1656,9 @@ export const catchTag: {
1648
1656
  export const catchTags: {
1649
1657
  <
1650
1658
  E,
1651
- Cases
1652
- extends (E extends { _tag: string }
1653
- ? { [K in E["_tag"]]+?: ((error: Extract<E, { _tag: K }>) => Effect<any, any, any>) }
1654
- : {})
1659
+ Cases extends
1660
+ & { [K in Extract<E, { _tag: string }>["_tag"]]+?: ((error: Extract<E, { _tag: K }>) => Effect<any, any, any>) }
1661
+ & (unknown extends E ? {} : { [K in Exclude<keyof Cases, Extract<E, { _tag: string }>["_tag"]>]: never })
1655
1662
  >(
1656
1663
  cases: Cases
1657
1664
  ): <R, A>(
@@ -1674,10 +1681,9 @@ export const catchTags: {
1674
1681
  R,
1675
1682
  E,
1676
1683
  A,
1677
- Cases
1678
- extends (E extends { _tag: string }
1679
- ? { [K in E["_tag"]]+?: ((error: Extract<E, { _tag: K }>) => Effect<any, any, any>) }
1680
- : {})
1684
+ Cases extends
1685
+ & { [K in Extract<E, { _tag: string }>["_tag"]]+?: ((error: Extract<E, { _tag: K }>) => Effect<any, any, any>) }
1686
+ & (unknown extends E ? {} : { [K in Exclude<keyof Cases, Extract<E, { _tag: string }>["_tag"]>]: never })
1681
1687
  >(
1682
1688
  self: Effect<R, E, A>,
1683
1689
  cases: Cases
@@ -1844,7 +1850,7 @@ export const retryWhileEffect: {
1844
1850
 
1845
1851
  const try_: {
1846
1852
  <A, E>(options: { readonly try: LazyArg<A>; readonly catch: (error: unknown) => E }): Effect<never, E, A>
1847
- <A>(evaluate: LazyArg<A>): Effect<never, unknown, A>
1853
+ <A>(evaluate: LazyArg<A>): Effect<never, Cause.UnknownException, A>
1848
1854
  } = effect.try_
1849
1855
  export {
1850
1856
  /**
@@ -1914,12 +1920,9 @@ export const tryMapPromise: {
1914
1920
  */
1915
1921
  export const tryPromise: {
1916
1922
  <A, E>(
1917
- options: {
1918
- readonly try: (signal: AbortSignal) => Promise<A>
1919
- readonly catch: (error: unknown) => E
1920
- }
1923
+ options: { readonly try: (signal: AbortSignal) => Promise<A>; readonly catch: (error: unknown) => E }
1921
1924
  ): Effect<never, E, A>
1922
- <A>(try_: (signal: AbortSignal) => Promise<A>): Effect<never, unknown, A>
1925
+ <A>(try_: (signal: AbortSignal) => Promise<A>): Effect<never, Cause.UnknownException, A>
1923
1926
  } = effect.tryPromise
1924
1927
 
1925
1928
  /**
@@ -2196,7 +2199,7 @@ export const mapError: {
2196
2199
  * function. This can be used to transform errors while preserving the
2197
2200
  * original structure of `Cause`.
2198
2201
  *
2199
- * See `absorb`, `sandbox`, `catchAllCause` for other functions for dealing
2202
+ * See `sandbox`, `catchAllCause` for other functions for dealing
2200
2203
  * with defects.
2201
2204
  *
2202
2205
  * @since 2.0.0
@@ -3537,6 +3540,41 @@ export const flatMap: {
3537
3540
  <R, E, A, R1, E1, B>(self: Effect<R, E, A>, f: (a: A) => Effect<R1, E1, B>): Effect<R | R1, E | E1, B>
3538
3541
  } = core.flatMap
3539
3542
 
3543
+ /**
3544
+ * Executes a sequence of two `Effect`s. The second `Effect` can be dependent on the result of the first `Effect`.
3545
+ *
3546
+ * @since 2.0.0
3547
+ * @category sequencing
3548
+ */
3549
+ export const andThen: {
3550
+ <A, X>(
3551
+ f: (a: NoInfer<A>) => X
3552
+ ): <R, E>(
3553
+ self: Effect<R, E, A>
3554
+ ) => [X] extends [Effect<infer R1, infer E1, infer A1>] ? Effect<R | R1, E | E1, A1>
3555
+ : [X] extends [Promise<infer A1>] ? Effect<R, E | Cause.UnknownException, A1>
3556
+ : Effect<R, E, X>
3557
+ <X>(
3558
+ f: X
3559
+ ): <R, E, A>(
3560
+ self: Effect<R, E, A>
3561
+ ) => [X] extends [Effect<infer R1, infer E1, infer A1>] ? Effect<R | R1, E | E1, A1>
3562
+ : [X] extends [Promise<infer A1>] ? Effect<R, Cause.UnknownException | E, A1>
3563
+ : Effect<R, E, X>
3564
+ <A, R, E, X>(
3565
+ self: Effect<R, E, A>,
3566
+ f: (a: NoInfer<A>) => X
3567
+ ): [X] extends [Effect<infer R1, infer E1, infer A1>] ? Effect<R | R1, E | E1, A1>
3568
+ : [X] extends [Promise<infer A1>] ? Effect<R, Cause.UnknownException | E, A1>
3569
+ : Effect<R, E, X>
3570
+ <A, R, E, X>(
3571
+ self: Effect<R, E, A>,
3572
+ f: X
3573
+ ): [X] extends [Effect<infer R1, infer E1, infer A1>] ? Effect<R | R1, E | E1, A1>
3574
+ : [X] extends [Promise<infer A1>] ? Effect<R, Cause.UnknownException | E, A1>
3575
+ : Effect<R, E, X>
3576
+ } = core.andThen
3577
+
3540
3578
  /**
3541
3579
  * @since 2.0.0
3542
3580
  * @category sequencing
@@ -3638,10 +3676,32 @@ export const summarized: {
3638
3676
  * @category sequencing
3639
3677
  */
3640
3678
  export const tap: {
3641
- <A, X extends A, R2, E2, _>(
3642
- f: (a: X) => Effect<R2, E2, _>
3643
- ): <R, E>(self: Effect<R, E, A>) => Effect<R2 | R, E2 | E, A>
3644
- <R, E, A, X extends A, R2, E2, _>(self: Effect<R, E, A>, f: (a: X) => Effect<R2, E2, _>): Effect<R | R2, E | E2, A>
3679
+ <A, X>(
3680
+ f: (a: NoInfer<A>) => X
3681
+ ): <R, E>(
3682
+ self: Effect<R, E, A>
3683
+ ) => [X] extends [Effect<infer R1, infer E1, infer _A1>] ? Effect<R | R1, E | E1, A>
3684
+ : [X] extends [Promise<infer _A1>] ? Effect<R, E | Cause.UnknownException, A>
3685
+ : Effect<R, E, A>
3686
+ <X>(
3687
+ f: X
3688
+ ): <R, E, A>(
3689
+ self: Effect<R, E, A>
3690
+ ) => [X] extends [Effect<infer R1, infer E1, infer _A1>] ? Effect<R | R1, E | E1, A>
3691
+ : [X] extends [Promise<infer _A1>] ? Effect<R, Cause.UnknownException | E, A>
3692
+ : Effect<R, E, A>
3693
+ <A, R, E, X>(
3694
+ self: Effect<R, E, A>,
3695
+ f: (a: NoInfer<A>) => X
3696
+ ): [X] extends [Effect<infer R1, infer E1, infer _A1>] ? Effect<R | R1, E | E1, A>
3697
+ : [X] extends [Promise<infer _A1>] ? Effect<R, Cause.UnknownException | E, A>
3698
+ : Effect<R, E, A>
3699
+ <A, R, E, X>(
3700
+ self: Effect<R, E, A>,
3701
+ f: X
3702
+ ): [X] extends [Effect<infer R1, infer E1, infer _A1>] ? Effect<R | R1, E | E1, A>
3703
+ : [X] extends [Promise<infer _A1>] ? Effect<R, Cause.UnknownException | E, A>
3704
+ : Effect<R, E, A>
3645
3705
  } = core.tap
3646
3706
 
3647
3707
  /**
@@ -4580,9 +4640,9 @@ export interface Permit {
4580
4640
  * @since 2.0.0
4581
4641
  */
4582
4642
  export interface Semaphore {
4583
- readonly withPermits: (permits: number) => <R, E, A>(self: Effect<R, E, A>) => Effect<R, E, A>
4584
- readonly take: (permits: number) => Effect<never, never, number>
4585
- readonly release: (permits: number) => Effect<never, never, void>
4643
+ withPermits(permits: number): <R, E, A>(self: Effect<R, E, A>) => Effect<R, E, A>
4644
+ take(permits: number): Effect<never, never, number>
4645
+ release(permits: number): Effect<never, never, void>
4586
4646
  }
4587
4647
 
4588
4648
  /**
@@ -4820,29 +4880,20 @@ export const ap: {
4820
4880
  * @category requests & batching
4821
4881
  * @since 2.0.0
4822
4882
  */
4823
- export const blocked: <R, E, A>(blockedRequests: RequestBlock<R>, _continue: Effect<R, E, A>) => Blocked<R, E, A> =
4883
+ export const blocked: <E, A>(blockedRequests: RequestBlock, _continue: Effect<never, E, A>) => Blocked<E, A> =
4824
4884
  core.blocked
4825
4885
 
4826
4886
  /**
4827
4887
  * @category requests & batching
4828
4888
  * @since 2.0.0
4829
4889
  */
4830
- export const runRequestBlock: <R>(blockedRequests: RequestBlock<R>) => Blocked<R, never, void> = core.runRequestBlock
4831
-
4832
- /**
4833
- * @category requests & batching
4834
- * @since 2.0.0
4835
- */
4836
- export const step: <R, E, A>(self: Effect<R, E, A>) => Effect<R, E, Exit.Exit<E, A> | Blocked<R, E, A>> = core.step
4890
+ export const runRequestBlock: <R>(blockedRequests: RequestBlock) => Effect<R, never, void> = core.runRequestBlock
4837
4891
 
4838
4892
  /**
4839
4893
  * @category requests & batching
4840
4894
  * @since 2.0.0
4841
4895
  */
4842
- export const flatMapStep: <R, E, A, R1, E1, B>(
4843
- self: Effect<R, E, A>,
4844
- f: (step: Exit.Exit<E, A> | Blocked<R, E, A>) => Effect<R1, E1, B>
4845
- ) => Effect<R | R1, E1, B> = core.flatMapStep
4896
+ export const step: <R, E, A>(self: Effect<R, E, A>) => Effect<R, E, Exit.Exit<E, A> | Blocked<E, A>> = core.step
4846
4897
 
4847
4898
  /**
4848
4899
  * @since 2.0.0
package/src/Either.ts CHANGED
@@ -11,7 +11,9 @@ import type { Inspectable } from "./Inspectable.js"
11
11
  import * as either from "./internal/either.js"
12
12
  import type { Option } from "./Option.js"
13
13
  import type { Pipeable } from "./Pipeable.js"
14
+ import type { Predicate, Refinement } from "./Predicate.js"
14
15
  import { isFunction } from "./Predicate.js"
16
+ import type * as Types from "./Types.js"
15
17
  import type * as Unify from "./Unify.js"
16
18
  import * as Gen from "./Utils.js"
17
19
 
@@ -37,13 +39,13 @@ export type TypeId = typeof TypeId
37
39
  * @category models
38
40
  * @since 2.0.0
39
41
  */
40
- export interface Left<E, A> extends Data.Case, Pipeable, Inspectable {
42
+ export interface Left<out E, out A> extends Data.Case, Pipeable, Inspectable {
41
43
  readonly _tag: "Left"
42
44
  readonly _op: "Left"
43
45
  readonly left: E
44
46
  readonly [TypeId]: {
45
- readonly _A: (_: never) => A
46
- readonly _E: (_: never) => E
47
+ readonly _A: Types.Covariant<A>
48
+ readonly _E: Types.Covariant<E>
47
49
  }
48
50
  [Unify.typeSymbol]?: unknown
49
51
  [Unify.unifySymbol]?: EitherUnify<this>
@@ -54,13 +56,13 @@ export interface Left<E, A> extends Data.Case, Pipeable, Inspectable {
54
56
  * @category models
55
57
  * @since 2.0.0
56
58
  */
57
- export interface Right<E, A> extends Data.Case, Pipeable, Inspectable {
59
+ export interface Right<out E, out A> extends Data.Case, Pipeable, Inspectable {
58
60
  readonly _tag: "Right"
59
61
  readonly _op: "Right"
60
62
  readonly right: A
61
63
  readonly [TypeId]: {
62
- readonly _A: (_: never) => A
63
- readonly _E: (_: never) => E
64
+ readonly _A: Types.Covariant<A>
65
+ readonly _E: Types.Covariant<E>
64
66
  }
65
67
  [Unify.typeSymbol]?: unknown
66
68
  [Unify.unifySymbol]?: EitherUnify<this>
@@ -147,11 +149,17 @@ export const fromOption: {
147
149
 
148
150
  const try_: {
149
151
  <A, E>(
150
- options: { readonly try: LazyArg<A>; readonly catch: (error: unknown) => E }
152
+ options: {
153
+ readonly try: LazyArg<A>
154
+ readonly catch: (error: unknown) => E
155
+ }
151
156
  ): Either<E, A>
152
157
  <A>(evaluate: LazyArg<A>): Either<unknown, A>
153
158
  } = (<A, E>(
154
- evaluate: LazyArg<A> | { readonly try: LazyArg<A>; readonly catch: (error: unknown) => E }
159
+ evaluate: LazyArg<A> | {
160
+ readonly try: LazyArg<A>
161
+ readonly catch: (error: unknown) => E
162
+ }
155
163
  ) => {
156
164
  if (isFunction(evaluate)) {
157
165
  try {
@@ -368,6 +376,59 @@ export const match: {
368
376
  }): B | C => isLeft(self) ? onLeft(self.left) : onRight(self.right)
369
377
  )
370
378
 
379
+ /**
380
+ * Filter the right value with the provided function.
381
+ * If the predicate fails, set the left value with the result of the provided function.
382
+ *
383
+ * @example
384
+ * import * as E from 'effect/Either'
385
+ * import { pipe } from 'effect/Function'
386
+ *
387
+ * const isPositive = (n: number): boolean => n > 0
388
+ *
389
+ * assert.deepStrictEqual(
390
+ * pipe(
391
+ * E.right(1),
392
+ * E.filterOrLeft(isPositive, n => `${n} is not positive`)
393
+ * ),
394
+ * E.right(1)
395
+ * )
396
+ * assert.deepStrictEqual(
397
+ * pipe(
398
+ * E.right(0),
399
+ * E.filterOrLeft(isPositive, n => `${n} is not positive`)
400
+ * ),
401
+ * E.left("0 is not positive")
402
+ * )
403
+ *
404
+ * @since 2.0.0
405
+ * @category filtering & conditionals
406
+ */
407
+ export const filterOrLeft: {
408
+ <A, B extends A, X extends A, E2>(
409
+ filter: Refinement<A, B>,
410
+ orLeftWith: (a: X) => E2
411
+ ): <E>(self: Either<E, A>) => Either<E2 | E, B>
412
+ <A, X extends A, Y extends A, E2>(
413
+ filter: Predicate<X>,
414
+ orLeftWith: (a: Y) => E2
415
+ ): <E>(self: Either<E, A>) => Either<E2 | E, A>
416
+ <E, A, B extends A, X extends A, E2>(
417
+ self: Either<E, A>,
418
+ filter: Refinement<A, B>,
419
+ orLeftWith: (a: X) => E2
420
+ ): Either<E | E2, B>
421
+ <E, A, X extends A, Y extends A, E2>(
422
+ self: Either<E, A>,
423
+ filter: Predicate<X>,
424
+ orLeftWith: (a: Y) => E2
425
+ ): Either<E | E2, A>
426
+ } = dual(3, <E, A, E2>(
427
+ self: Either<E, A>,
428
+ filter: Predicate<A>,
429
+ orLeftWith: (a: A) => E2
430
+ ): Either<E | E2, A> => flatMap(self, (a) => filter(a) ? right(a) : left(orLeftWith(a))))
431
+
371
432
  /**
372
433
  * @category getters
373
434
  * @since 2.0.0
@@ -491,7 +552,7 @@ export const orElse: {
491
552
  )
492
553
 
493
554
  /**
494
- * @category combining
555
+ * @category sequencing
495
556
  * @since 2.0.0
496
557
  */
497
558
  export const flatMap: {
@@ -504,8 +565,25 @@ export const flatMap: {
504
565
  )
505
566
 
506
567
  /**
568
+ * Executes a sequence of two `Either`s. The second `Either` can be dependent on the result of the first `Either`.
569
+ *
570
+ * @category sequencing
571
+ * @since 2.0.0
572
+ */
573
+ export const andThen: {
574
+ <A, E2, B>(f: (a: A) => Either<E2, B>): <E1>(self: Either<E1, A>) => Either<E1 | E2, B>
575
+ <E2, B>(f: Either<E2, B>): <E1, A>(self: Either<E1, A>) => Either<E1 | E2, B>
576
+ <E1, A, E2, B>(self: Either<E1, A>, f: (a: A) => Either<E2, B>): Either<E1 | E2, B>
577
+ <E1, A, E2, B>(self: Either<E1, A>, f: Either<E2, B>): Either<E1 | E2, B>
578
+ } = dual(
579
+ 2,
580
+ <E1, A, E2, B>(self: Either<E1, A>, f: (a: A) => Either<E2, B> | Either<E2, B>): Either<E1 | E2, B> =>
581
+ isFunction(f) ? flatMap(self, f) : flatMap(self, () => f)
582
+ )
583
+
584
+ /**
585
+ * @category zipping
507
586
  * @since 2.0.0
508
- * @category combining
509
587
  */
510
588
  export const zipWith: {
511
589
  <E2, A2, A, B>(
@@ -537,13 +615,13 @@ export const ap: {
537
615
  )
538
616
 
539
617
  /**
540
- * Takes a structure of `Option`s and returns an `Option` of values with the same structure.
618
+ * Takes a structure of `Either`s and returns an `Either` of values with the same structure.
541
619
  *
542
- * - If a tuple is supplied, then the returned `Option` will contain a tuple with the same length.
543
- * - If a struct is supplied, then the returned `Option` will contain a struct with the same keys.
544
- * - If an iterable is supplied, then the returned `Option` will contain an array.
620
+ * - If a tuple is supplied, then the returned `Either` will contain a tuple with the same length.
621
+ * - If a struct is supplied, then the returned `Either` will contain a struct with the same keys.
622
+ * - If an iterable is supplied, then the returned `Either` will contain an array.
545
623
  *
546
- * @param fields - the struct of `Option`s to be sequenced.
624
+ * @param fields - the struct of `Either`s to be sequenced.
547
625
  *
548
626
  * @example
549
627
  * import * as Either from "effect/Either"
package/src/Equal.ts CHANGED
@@ -16,7 +16,7 @@ export const symbol: unique symbol = Symbol.for("effect/Equal")
16
16
  * @category models
17
17
  */
18
18
  export interface Equal extends Hash.Hash {
19
- readonly [symbol]: (that: Equal) => boolean
19
+ [symbol](that: Equal): boolean
20
20
  }
21
21
 
22
22
  /**
@@ -12,7 +12,7 @@ import type { TypeLambda } from "./HKT.js"
12
12
  * @category type class
13
13
  * @since 2.0.0
14
14
  */
15
- export interface Equivalence<A> {
15
+ export interface Equivalence<in A> {
16
16
  (self: A, that: A): boolean
17
17
  }
18
18
 
@@ -110,7 +110,7 @@ export const combineAll = <A>(collection: Iterable<Equivalence<A>>): Equivalence
110
110
  combineMany(isAlwaysEquivalent, collection)
111
111
 
112
112
  /**
113
- * @category combinators
113
+ * @category mapping
114
114
  * @since 2.0.0
115
115
  */
116
116
  export const mapInput: {
package/src/Exit.ts CHANGED
@@ -9,7 +9,7 @@ import type { Inspectable } from "./Inspectable.js"
9
9
  import * as core from "./internal/core.js"
10
10
  import type * as Option from "./Option.js"
11
11
  import type { Pipeable } from "./Pipeable.js"
12
- import type { Predicate } from "./Predicate.js"
12
+ import type { Predicate, Refinement } from "./Predicate.js"
13
13
  import type * as Unify from "./Unify.js"
14
14
 
15
15
  /**
@@ -31,7 +31,7 @@ export type Exit<E, A> = Failure<E, A> | Success<E, A>
31
31
  * @since 2.0.0
32
32
  * @category models
33
33
  */
34
- export interface Failure<E, A> extends Effect.Effect<never, E, A>, Pipeable, Inspectable {
34
+ export interface Failure<out E, out A> extends Effect.Effect<never, E, A>, Pipeable, Inspectable {
35
35
  readonly _tag: "Failure"
36
36
  readonly _op: "Failure"
37
37
  readonly cause: Cause.Cause<E>
@@ -65,7 +65,7 @@ export interface ExitUnifyIgnore extends Effect.EffectUnifyIgnore {
65
65
  * @since 2.0.0
66
66
  * @category models
67
67
  */
68
- export interface Success<E, A> extends Effect.Effect<never, E, A>, Pipeable, Inspectable {
68
+ export interface Success<out E, out A> extends Effect.Effect<never, E, A>, Pipeable, Inspectable {
69
69
  readonly _tag: "Success"
70
70
  readonly _op: "Success"
71
71
  readonly value: A
@@ -168,7 +168,9 @@ export const die: (defect: unknown) => Exit<never, never> = core.exitDie
168
168
  * @category elements
169
169
  */
170
170
  export const exists: {
171
+ <A, B extends A>(refinement: Refinement<A, B>): <E>(self: Exit<E, A>) => self is Exit<never, B>
171
172
  <A>(predicate: Predicate<A>): <E>(self: Exit<E, A>) => boolean
173
+ <E, A, B extends A>(self: Exit<E, A>, refinement: Refinement<A, B>): self is Exit<never, B>
172
174
  <E, A>(self: Exit<E, A>, predicate: Predicate<A>): boolean
173
175
  } = core.exitExists
174
176
 
@@ -286,11 +288,17 @@ export const map: {
286
288
  */
287
289
  export const mapBoth: {
288
290
  <E, A, E2, A2>(
289
- options: { readonly onFailure: (e: E) => E2; readonly onSuccess: (a: A) => A2 }
291
+ options: {
292
+ readonly onFailure: (e: E) => E2
293
+ readonly onSuccess: (a: A) => A2
294
+ }
290
295
  ): (self: Exit<E, A>) => Exit<E2, A2>
291
296
  <E, A, E2, A2>(
292
297
  self: Exit<E, A>,
293
- options: { readonly onFailure: (e: E) => E2; readonly onSuccess: (a: A) => A2 }
298
+ options: {
299
+ readonly onFailure: (e: E) => E2
300
+ readonly onSuccess: (a: A) => A2
301
+ }
294
302
  ): Exit<E2, A2>
295
303
  } = core.exitMapBoth
296
304
 
@@ -324,11 +332,17 @@ export const mapErrorCause: {
324
332
  */
325
333
  export const match: {
326
334
  <E, A, Z1, Z2>(
327
- options: { readonly onFailure: (cause: Cause.Cause<E>) => Z1; readonly onSuccess: (a: A) => Z2 }
335
+ options: {
336
+ readonly onFailure: (cause: Cause.Cause<E>) => Z1
337
+ readonly onSuccess: (a: A) => Z2
338
+ }
328
339
  ): (self: Exit<E, A>) => Z1 | Z2
329
340
  <E, A, Z1, Z2>(
330
341
  self: Exit<E, A>,
331
- options: { readonly onFailure: (cause: Cause.Cause<E>) => Z1; readonly onSuccess: (a: A) => Z2 }
342
+ options: {
343
+ readonly onFailure: (cause: Cause.Cause<E>) => Z1
344
+ readonly onSuccess: (a: A) => Z2
345
+ }
332
346
  ): Z1 | Z2
333
347
  } = core.exitMatch
334
348