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
package/src/Sink.ts CHANGED
@@ -44,7 +44,7 @@ export type SinkTypeId = typeof SinkTypeId
44
44
  * @since 2.0.0
45
45
  * @category models
46
46
  */
47
- export interface Sink<R, E, In, L, Z> extends Sink.Variance<R, E, In, L, Z>, Pipeable {}
47
+ export interface Sink<out R, out E, in In, out L, out Z> extends Sink.Variance<R, E, In, L, Z>, Pipeable {}
48
48
 
49
49
  /**
50
50
  * @since 2.0.0
@@ -90,14 +90,14 @@ export declare namespace Sink {
90
90
  * @since 2.0.0
91
91
  * @category models
92
92
  */
93
- export interface Variance<R, E, In, L, Z> {
93
+ export interface Variance<out R, out E, in In, out L, out Z> {
94
94
  readonly [SinkTypeId]: VarianceStruct<R, E, In, L, Z>
95
95
  }
96
96
  /**
97
97
  * @since 2.0.0
98
98
  * @category models
99
99
  */
100
- export interface VarianceStruct<R, E, In, L, Z> {
100
+ export interface VarianceStruct<out R, out E, in In, out L, out Z> {
101
101
  _R: (_: never) => R
102
102
  _E: (_: never) => E
103
103
  _In: (_: In) => void
@@ -215,8 +215,10 @@ export const collectAllUntilEffect: <In, R, E>(
215
215
  * @since 2.0.0
216
216
  * @category constructors
217
217
  */
218
- export const collectAllWhile: <In>(predicate: Predicate<In>) => Sink<never, never, In, In, Chunk.Chunk<In>> =
219
- internal.collectAllWhile
218
+ export const collectAllWhile: {
219
+ <In, Out extends In>(refinement: Refinement<In, Out>): Sink<never, never, In, In, Chunk.Chunk<Out>>
220
+ <In>(predicate: Predicate<In>): Sink<never, never, In, In, Chunk.Chunk<In>>
221
+ } = internal.collectAllWhile
220
222
 
221
223
  /**
222
224
  * Accumulates incoming elements into a chunk as long as they verify effectful
@@ -356,11 +358,17 @@ export const dieSync: (evaluate: LazyArg<unknown>) => Sink<never, never, unknown
356
358
  */
357
359
  export const dimap: {
358
360
  <In0, In, Z, Z2>(
359
- options: { readonly onInput: (input: In0) => In; readonly onDone: (z: Z) => Z2 }
361
+ options: {
362
+ readonly onInput: (input: In0) => In
363
+ readonly onDone: (z: Z) => Z2
364
+ }
360
365
  ): <R, E, L>(self: Sink<R, E, In, L, Z>) => Sink<R, E, In0, L, Z2>
361
366
  <R, E, L, In0, In, Z, Z2>(
362
367
  self: Sink<R, E, In, L, Z>,
363
- options: { readonly onInput: (input: In0) => In; readonly onDone: (z: Z) => Z2 }
368
+ options: {
369
+ readonly onInput: (input: In0) => In
370
+ readonly onDone: (z: Z) => Z2
371
+ }
364
372
  ): Sink<R, E, In0, L, Z2>
365
373
  } = internal.dimap
366
374
 
@@ -396,11 +404,17 @@ export const dimapEffect: {
396
404
  */
397
405
  export const dimapChunks: {
398
406
  <In0, In, Z, Z2>(
399
- options: { readonly onInput: (chunk: Chunk.Chunk<In0>) => Chunk.Chunk<In>; readonly onDone: (z: Z) => Z2 }
407
+ options: {
408
+ readonly onInput: (chunk: Chunk.Chunk<In0>) => Chunk.Chunk<In>
409
+ readonly onDone: (z: Z) => Z2
410
+ }
400
411
  ): <R, E, L>(self: Sink<R, E, In, L, Z>) => Sink<R, E, In0, L, Z2>
401
412
  <R, E, L, In0, In, Z, Z2>(
402
413
  self: Sink<R, E, In, L, Z>,
403
- options: { readonly onInput: (chunk: Chunk.Chunk<In0>) => Chunk.Chunk<In>; readonly onDone: (z: Z) => Z2 }
414
+ options: {
415
+ readonly onInput: (chunk: Chunk.Chunk<In0>) => Chunk.Chunk<In>
416
+ readonly onDone: (z: Z) => Z2
417
+ }
404
418
  ): Sink<R, E, In0, L, Z2>
405
419
  } = internal.dimapChunks
406
420
 
package/src/SortedMap.ts CHANGED
@@ -25,14 +25,20 @@ export type TypeId = typeof TypeId
25
25
  * @since 2.0.0
26
26
  * @category models
27
27
  */
28
- export interface SortedMap<K, V> extends Iterable<[K, V]>, Equal.Equal, Pipeable, Inspectable {
29
- readonly [TypeId]: TypeId
28
+ export interface SortedMap<in out K, out V> extends Iterable<[K, V]>, Equal.Equal, Pipeable, Inspectable {
29
+ readonly [TypeId]: {
30
+ readonly _K: (_: K) => K
31
+ readonly _V: (_: never) => V
32
+ }
30
33
  /** @internal */
31
34
  readonly tree: RBT.RedBlackTree<K, V>
32
35
  }
33
36
 
34
37
  const SortedMapProto: Omit<SortedMap<unknown, unknown>, "tree"> = {
35
- [TypeId]: TypeId,
38
+ [TypeId]: {
39
+ _K: (_: any) => _,
40
+ _V: (_: never) => _
41
+ },
36
42
  [Hash.symbol]<K, V>(this: SortedMap<K, V>): number {
37
43
  return pipe(Hash.hash(this.tree), Hash.combine(Hash.hash("effect/SortedMap")))
38
44
  },
package/src/SortedSet.ts CHANGED
@@ -10,7 +10,7 @@ import { NodeInspectSymbol, toJSON, toString } from "./Inspectable.js"
10
10
  import type { Order } from "./Order.js"
11
11
  import type { Pipeable } from "./Pipeable.js"
12
12
  import { pipeArguments } from "./Pipeable.js"
13
- import type { Predicate, Refinement } from "./Predicate.js"
13
+ import type { Predicate } from "./Predicate.js"
14
14
  import { hasProperty } from "./Predicate.js"
15
15
  import * as RBT from "./RedBlackTree.js"
16
16
 
@@ -26,9 +26,9 @@ export type TypeId = typeof TypeId
26
26
  * @since 2.0.0
27
27
  * @category models
28
28
  */
29
- export interface SortedSet<A> extends Iterable<A>, Equal.Equal, Pipeable, Inspectable {
29
+ export interface SortedSet<in out A> extends Iterable<A>, Equal.Equal, Pipeable, Inspectable {
30
30
  readonly [TypeId]: {
31
- readonly _A: (_: never) => A
31
+ readonly _A: (_: A) => A
32
32
  }
33
33
  /** @internal */
34
34
  readonly keyTree: RBT.RedBlackTree<A, boolean>
@@ -36,7 +36,7 @@ export interface SortedSet<A> extends Iterable<A>, Equal.Equal, Pipeable, Inspec
36
36
 
37
37
  const SortedSetProto: Omit<SortedSet<unknown>, "keyTree"> = {
38
38
  [TypeId]: {
39
- _A: (_: never) => _
39
+ _A: (_: any) => _
40
40
  },
41
41
  [Hash.symbol]<A>(this: SortedSet<A>): number {
42
42
  return pipe(Hash.hash(this.keyTree), Hash.combine(Hash.hash(TypeId)))
@@ -145,13 +145,11 @@ export const difference: {
145
145
  * @category elements
146
146
  */
147
147
  export const every: {
148
- <A, B extends A>(refinement: Refinement<A, B>): (self: SortedSet<A>) => self is SortedSet<B>
149
148
  <A>(predicate: Predicate<A>): (self: SortedSet<A>) => boolean
150
- <A, B extends A>(self: SortedSet<A>, refinement: Refinement<A, B>): self is SortedSet<B>
151
149
  <A>(self: SortedSet<A>, predicate: Predicate<A>): boolean
152
- } = Dual.dual(2, <A, B extends A>(self: SortedSet<A>, refinement: Refinement<A, B>): self is SortedSet<B> => {
150
+ } = Dual.dual(2, <A>(self: SortedSet<A>, predicate: Predicate<A>): boolean => {
153
151
  for (const value of self) {
154
- if (!refinement(value)) {
152
+ if (!predicate(value)) {
155
153
  return false
156
154
  }
157
155
  }
@@ -163,20 +161,9 @@ export const every: {
163
161
  * @category filtering
164
162
  */
165
163
  export const filter: {
166
- <A, B extends A>(refinement: Refinement<A, B>): (self: SortedSet<A>) => SortedSet<B>
167
- <A>(predicate: Predicate<A>): (self: SortedSet<A>) => SortedSet<A>
168
- <A, B extends A>(self: SortedSet<A>, refinement: Refinement<A, B>): SortedSet<B>
164
+ <A, B extends A>(predicate: Predicate<B>): (self: SortedSet<A>) => SortedSet<A>
169
165
  <A>(self: SortedSet<A>, predicate: Predicate<A>): SortedSet<A>
170
- } = Dual.dual<
171
- {
172
- <A, B extends A>(refinement: Refinement<A, B>): (self: SortedSet<A>) => SortedSet<B>
173
- <A>(predicate: Predicate<A>): (self: SortedSet<A>) => SortedSet<A>
174
- },
175
- {
176
- <A, B extends A>(self: SortedSet<A>, refinement: Refinement<A, B>): SortedSet<B>
177
- <A>(self: SortedSet<A>, predicate: Predicate<A>): SortedSet<A>
178
- }
179
- >(2, <A>(self: SortedSet<A>, predicate: Predicate<A>) => {
166
+ } = Dual.dual(2, <A>(self: SortedSet<A>, predicate: Predicate<A>): SortedSet<A> => {
180
167
  const ord = RBT.getOrder(self.keyTree)
181
168
  let out = empty<A>(ord)
182
169
  for (const value of self) {
@@ -289,28 +276,26 @@ export const map: {
289
276
  * @category filtering
290
277
  */
291
278
  export const partition: {
292
- <C extends A, B extends A, A = C>(
293
- refinement: Refinement<A, B>
294
- ): (self: SortedSet<C>) => [SortedSet<Exclude<C, B>>, SortedSet<B>]
295
- <B extends A, A = B>(predicate: (a: A) => boolean): (self: SortedSet<B>) => [SortedSet<B>, SortedSet<B>]
296
- <C extends A, B extends A, A = C>(
297
- self: SortedSet<C>,
298
- refinement: Refinement<A, B>
299
- ): [SortedSet<Exclude<C, B>>, SortedSet<B>]
300
- <B extends A, A = B>(self: SortedSet<B>, predicate: (a: A) => boolean): [SortedSet<B>, SortedSet<B>]
301
- } = Dual.dual(2, <A>(self: SortedSet<A>, predicate: Predicate<A>) => {
302
- const ord = RBT.getOrder(self.keyTree)
303
- let right = empty(ord)
304
- let left = empty(ord)
305
- for (const value of self) {
306
- if (predicate(value)) {
307
- right = add(right, value)
308
- } else {
309
- left = add(left, value)
279
+ <B extends A, A = B>(
280
+ predicate: (a: A) => boolean
281
+ ): (self: SortedSet<B>) => [excluded: SortedSet<B>, satisfying: SortedSet<B>]
282
+ <A>(self: SortedSet<A>, predicate: (a: A) => boolean): [excluded: SortedSet<A>, satisfying: SortedSet<A>]
283
+ } = Dual.dual(
284
+ 2,
285
+ <A>(self: SortedSet<A>, predicate: (a: A) => boolean): [excluded: SortedSet<A>, satisfying: SortedSet<A>] => {
286
+ const ord = RBT.getOrder(self.keyTree)
287
+ let right = empty(ord)
288
+ let left = empty(ord)
289
+ for (const value of self) {
290
+ if (predicate(value)) {
291
+ right = add(right, value)
292
+ } else {
293
+ left = add(left, value)
294
+ }
310
295
  }
296
+ return [left, right]
311
297
  }
312
- return [left, right] as const
313
- })
298
+ )
314
299
 
315
300
  /**
316
301
  * @since 2.0.0
package/src/Stream.ts CHANGED
@@ -63,7 +63,7 @@ export type StreamTypeId = typeof StreamTypeId
63
63
  * @since 2.0.0
64
64
  * @category models
65
65
  */
66
- export interface Stream<R, E, A> extends Stream.Variance<R, E, A>, Pipeable {
66
+ export interface Stream<out R, out E, out A> extends Stream.Variance<R, E, A>, Pipeable {
67
67
  [Unify.typeSymbol]?: unknown
68
68
  [Unify.unifySymbol]?: StreamUnify<this>
69
69
  [Unify.ignoreSymbol]?: StreamUnifyIgnore
@@ -112,7 +112,7 @@ export declare namespace Stream {
112
112
  * @since 2.0.0
113
113
  * @category models
114
114
  */
115
- export interface Variance<R, E, A> {
115
+ export interface Variance<out R, out E, out A> {
116
116
  readonly [StreamTypeId]: {
117
117
  _R: (_: never) => R
118
118
  _E: (_: never) => E
@@ -994,8 +994,8 @@ export const dropRight: {
994
994
  * @category utils
995
995
  */
996
996
  export const dropUntil: {
997
- <A, X extends A>(predicate: Predicate<X>): <R, E>(self: Stream<R, E, A>) => Stream<R, E, A>
998
- <R, E, A, X extends A>(self: Stream<R, E, A>, predicate: Predicate<X>): Stream<R, E, A>
997
+ <B extends A, A = B>(predicate: Predicate<A>): <R, E>(self: Stream<R, E, B>) => Stream<R, E, B>
998
+ <R, E, A>(self: Stream<R, E, A>, predicate: Predicate<A>): Stream<R, E, A>
999
999
  } = internal.dropUntil
1000
1000
 
1001
1001
  /**
@@ -1023,8 +1023,8 @@ export const dropUntilEffect: {
1023
1023
  * @category utils
1024
1024
  */
1025
1025
  export const dropWhile: {
1026
- <A, X extends A>(predicate: Predicate<X>): <R, E>(self: Stream<R, E, A>) => Stream<R, E, A>
1027
- <R, E, A, X extends A>(self: Stream<R, E, A>, predicate: Predicate<X>): Stream<R, E, A>
1026
+ <B extends A, A = B>(predicate: Predicate<A>): <R, E>(self: Stream<R, E, B>) => Stream<R, E, B>
1027
+ <R, E, A>(self: Stream<R, E, A>, predicate: Predicate<A>): Stream<R, E, A>
1028
1028
  } = internal.dropWhile
1029
1029
 
1030
1030
  /**
@@ -1175,9 +1175,9 @@ export const failCauseSync: <E>(evaluate: LazyArg<Cause.Cause<E>>) => Stream<nev
1175
1175
  */
1176
1176
  export const filter: {
1177
1177
  <A, B extends A>(refinement: Refinement<A, B>): <R, E>(self: Stream<R, E, A>) => Stream<R, E, B>
1178
- <A, X extends A>(predicate: Predicate<X>): <R, E>(self: Stream<R, E, A>) => Stream<R, E, A>
1178
+ <B extends A, A = B>(predicate: Predicate<A>): <R, E>(self: Stream<R, E, B>) => Stream<R, E, B>
1179
1179
  <R, E, A, B extends A>(self: Stream<R, E, A>, refinement: Refinement<A, B>): Stream<R, E, B>
1180
- <R, E, A, X extends A>(self: Stream<R, E, A>, predicate: Predicate<X>): Stream<R, E, A>
1180
+ <R, E, A>(self: Stream<R, E, A>, predicate: Predicate<A>): Stream<R, E, A>
1181
1181
  } = internal.filter
1182
1182
 
1183
1183
  /**
@@ -1270,9 +1270,9 @@ export const finalizer: <R, _>(finalizer: Effect.Effect<R, never, _>) => Stream<
1270
1270
  */
1271
1271
  export const find: {
1272
1272
  <A, B extends A>(refinement: Refinement<A, B>): <R, E>(self: Stream<R, E, A>) => Stream<R, E, B>
1273
- <A, X extends A>(predicate: Predicate<X>): <R, E>(self: Stream<R, E, A>) => Stream<R, E, A>
1273
+ <B extends A, A = B>(predicate: Predicate<A>): <R, E>(self: Stream<R, E, B>) => Stream<R, E, B>
1274
1274
  <R, E, A, B extends A>(self: Stream<R, E, A>, refinement: Refinement<A, B>): Stream<R, E, B>
1275
- <R, E, A, X extends A>(self: Stream<R, E, A>, predicate: Predicate<X>): Stream<R, E, A>
1275
+ <R, E, A>(self: Stream<R, E, A>, predicate: Predicate<A>): Stream<R, E, A>
1276
1276
  } = internal.find
1277
1277
 
1278
1278
  /**
@@ -1984,11 +1984,17 @@ export const mapAccumEffect: {
1984
1984
  */
1985
1985
  export const mapBoth: {
1986
1986
  <E, E2, A, A2>(
1987
- options: { readonly onFailure: (e: E) => E2; readonly onSuccess: (a: A) => A2 }
1987
+ options: {
1988
+ readonly onFailure: (e: E) => E2
1989
+ readonly onSuccess: (a: A) => A2
1990
+ }
1988
1991
  ): <R>(self: Stream<R, E, A>) => Stream<R, E2, A2>
1989
1992
  <R, E, E2, A, A2>(
1990
1993
  self: Stream<R, E, A>,
1991
- options: { readonly onFailure: (e: E) => E2; readonly onSuccess: (a: A) => A2 }
1994
+ options: {
1995
+ readonly onFailure: (e: E) => E2
1996
+ readonly onSuccess: (a: A) => A2
1997
+ }
1992
1998
  ): Stream<R, E2, A2>
1993
1999
  } = internal.mapBoth
1994
2000
 
@@ -2472,21 +2478,36 @@ export const paginateEffect: <S, R, E, A>(
2472
2478
  * @category utils
2473
2479
  */
2474
2480
  export const partition: {
2481
+ <C extends A, B extends A, A = C>(
2482
+ refinement: Refinement<A, B>,
2483
+ options?: {
2484
+ bufferSize?: number | undefined
2485
+ }
2486
+ ): <R, E>(
2487
+ self: Stream<R, E, C>
2488
+ ) => Effect.Effect<Scope.Scope | R, E, [excluded: Stream<never, E, Exclude<C, B>>, satisfying: Stream<never, E, B>]>
2475
2489
  <A>(
2476
2490
  predicate: Predicate<A>,
2477
2491
  options?: {
2478
2492
  bufferSize?: number | undefined
2479
2493
  }
2480
- ): <R, E>(
2481
- self: Stream<R, E, A>
2482
- ) => Effect.Effect<Scope.Scope | R, E, [Stream<never, E, A>, Stream<never, E, A>]>
2494
+ ): <R, E, B extends A>(
2495
+ self: Stream<R, E, B>
2496
+ ) => Effect.Effect<Scope.Scope | R, E, [excluded: Stream<never, E, B>, satisfying: Stream<never, E, B>]>
2497
+ <R, E, A, B extends A>(
2498
+ self: Stream<R, E, A>,
2499
+ refinement: Refinement<A, B>,
2500
+ options?: {
2501
+ bufferSize?: number | undefined
2502
+ }
2503
+ ): Effect.Effect<Scope.Scope | R, E, [excluded: Stream<never, E, Exclude<A, B>>, satisfying: Stream<never, E, B>]>
2483
2504
  <R, E, A>(
2484
2505
  self: Stream<R, E, A>,
2485
2506
  predicate: Predicate<A>,
2486
2507
  options?: {
2487
2508
  bufferSize?: number | undefined
2488
2509
  }
2489
- ): Effect.Effect<Scope.Scope | R, E, [Stream<never, E, A>, Stream<never, E, A>]>
2510
+ ): Effect.Effect<Scope.Scope | R, E, [excluded: Stream<never, E, A>, satisfying: Stream<never, E, A>]>
2490
2511
  } = internal.partition
2491
2512
 
2492
2513
  /**
@@ -2504,14 +2525,14 @@ export const partitionEither: {
2504
2525
  }
2505
2526
  ): <R, E>(
2506
2527
  self: Stream<R, E, A>
2507
- ) => Effect.Effect<Scope.Scope | R2 | R, E2 | E, [Stream<never, E2 | E, A2>, Stream<never, E2 | E, A3>]>
2528
+ ) => Effect.Effect<Scope.Scope | R2 | R, E2 | E, [left: Stream<never, E2 | E, A2>, right: Stream<never, E2 | E, A3>]>
2508
2529
  <R, E, A, R2, E2, A2, A3>(
2509
2530
  self: Stream<R, E, A>,
2510
2531
  predicate: (a: A) => Effect.Effect<R2, E2, Either.Either<A2, A3>>,
2511
2532
  options?: {
2512
2533
  readonly bufferSize?: number | undefined
2513
2534
  }
2514
- ): Effect.Effect<Scope.Scope | R | R2, E | E2, [Stream<never, E | E2, A2>, Stream<never, E | E2, A3>]>
2535
+ ): Effect.Effect<Scope.Scope | R | R2, E | E2, [left: Stream<never, E | E2, A2>, right: Stream<never, E | E2, A3>]>
2515
2536
  } = internal.partitionEither
2516
2537
 
2517
2538
  /**
@@ -2860,12 +2881,18 @@ export const repeatElements: {
2860
2881
  export const repeatElementsWith: {
2861
2882
  <R2, B, A, C>(
2862
2883
  schedule: Schedule.Schedule<R2, unknown, B>,
2863
- options: { readonly onElement: (a: A) => C; readonly onSchedule: (b: B) => C }
2884
+ options: {
2885
+ readonly onElement: (a: A) => C
2886
+ readonly onSchedule: (b: B) => C
2887
+ }
2864
2888
  ): <R, E>(self: Stream<R, E, A>) => Stream<R2 | R, E, C>
2865
2889
  <R, E, R2, B, A, C>(
2866
2890
  self: Stream<R, E, A>,
2867
2891
  schedule: Schedule.Schedule<R2, unknown, B>,
2868
- options: { readonly onElement: (a: A) => C; readonly onSchedule: (b: B) => C }
2892
+ options: {
2893
+ readonly onElement: (a: A) => C
2894
+ readonly onSchedule: (b: B) => C
2895
+ }
2869
2896
  ): Stream<R | R2, E, C>
2870
2897
  } = internal.repeatElementsWith
2871
2898
 
@@ -2889,12 +2916,18 @@ export const repeatValue: <A>(value: A) => Stream<never, never, A> = internal.re
2889
2916
  export const repeatWith: {
2890
2917
  <R2, B, A, C>(
2891
2918
  schedule: Schedule.Schedule<R2, unknown, B>,
2892
- options: { readonly onElement: (a: A) => C; readonly onSchedule: (b: B) => C }
2919
+ options: {
2920
+ readonly onElement: (a: A) => C
2921
+ readonly onSchedule: (b: B) => C
2922
+ }
2893
2923
  ): <R, E>(self: Stream<R, E, A>) => Stream<R2 | R, E, C>
2894
2924
  <R, E, R2, B, A, C>(
2895
2925
  self: Stream<R, E, A>,
2896
2926
  schedule: Schedule.Schedule<R2, unknown, B>,
2897
- options: { readonly onElement: (a: A) => C; readonly onSchedule: (b: B) => C }
2927
+ options: {
2928
+ readonly onElement: (a: A) => C
2929
+ readonly onSchedule: (b: B) => C
2930
+ }
2898
2931
  ): Stream<R | R2, E, C>
2899
2932
  } = internal.repeatWith
2900
2933
 
@@ -3386,12 +3419,18 @@ export const schedule: {
3386
3419
  export const scheduleWith: {
3387
3420
  <R2, A, A0 extends A, B, C>(
3388
3421
  schedule: Schedule.Schedule<R2, A0, B>,
3389
- options: { readonly onElement: (a: A) => C; readonly onSchedule: (b: B) => C }
3422
+ options: {
3423
+ readonly onElement: (a: A) => C
3424
+ readonly onSchedule: (b: B) => C
3425
+ }
3390
3426
  ): <R, E>(self: Stream<R, E, A>) => Stream<R2 | R, E, C>
3391
3427
  <R, E, R2, A, A0 extends A, B, C>(
3392
3428
  self: Stream<R, E, A>,
3393
3429
  schedule: Schedule.Schedule<R2, A0, B>,
3394
- options: { readonly onElement: (a: A) => C; readonly onSchedule: (b: B) => C }
3430
+ options: {
3431
+ readonly onElement: (a: A) => C
3432
+ readonly onSchedule: (b: B) => C
3433
+ }
3395
3434
  ): Stream<R | R2, E, C>
3396
3435
  } = internal.scheduleWith
3397
3436
 
@@ -3487,7 +3526,7 @@ export const someOrFail: {
3487
3526
  * @category utils
3488
3527
  */
3489
3528
  export const split: {
3490
- <A>(predicate: Predicate<A>): <R, E>(self: Stream<R, E, A>) => Stream<R, E, Chunk.Chunk<A>>
3529
+ <B extends A, A = B>(predicate: Predicate<A>): <R, E>(self: Stream<R, E, B>) => Stream<R, E, Chunk.Chunk<B>>
3491
3530
  <R, E, A>(self: Stream<R, E, A>, predicate: Predicate<A>): Stream<R, E, Chunk.Chunk<A>>
3492
3531
  } = internal.split
3493
3532
 
@@ -3565,7 +3604,7 @@ export const takeRight: {
3565
3604
  * @category utils
3566
3605
  */
3567
3606
  export const takeUntil: {
3568
- <A>(predicate: Predicate<A>): <R, E>(self: Stream<R, E, A>) => Stream<R, E, A>
3607
+ <B extends A, A = B>(predicate: Predicate<A>): <R, E>(self: Stream<R, E, B>) => Stream<R, E, B>
3569
3608
  <R, E, A>(self: Stream<R, E, A>, predicate: Predicate<A>): Stream<R, E, A>
3570
3609
  } = internal.takeUntil
3571
3610
 
@@ -3594,7 +3633,9 @@ export const takeUntilEffect: {
3594
3633
  * @category utils
3595
3634
  */
3596
3635
  export const takeWhile: {
3597
- <A>(predicate: Predicate<A>): <R, E>(self: Stream<R, E, A>) => Stream<R, E, A>
3636
+ <A, B extends A>(refinement: Refinement<A, B>): <R, E>(self: Stream<R, E, A>) => Stream<R, E, B>
3637
+ <B extends A, A = B>(predicate: Predicate<A>): <R, E>(self: Stream<R, E, B>) => Stream<R, E, B>
3638
+ <R, E, A, B extends A>(self: Stream<R, E, A>, refinement: Refinement<A, B>): Stream<R, E, B>
3598
3639
  <R, E, A>(self: Stream<R, E, A>, predicate: Predicate<A>): Stream<R, E, A>
3599
3640
  } = internal.takeWhile
3600
3641
 
@@ -4019,8 +4060,8 @@ export const updateService = internal.updateService
4019
4060
  * @category utils
4020
4061
  */
4021
4062
  export const when: {
4022
- (predicate: LazyArg<boolean>): <R, E, A>(self: Stream<R, E, A>) => Stream<R, E, A>
4023
- <R, E, A>(self: Stream<R, E, A>, predicate: LazyArg<boolean>): Stream<R, E, A>
4063
+ (test: LazyArg<boolean>): <R, E, A>(self: Stream<R, E, A>) => Stream<R, E, A>
4064
+ <R, E, A>(self: Stream<R, E, A>, test: LazyArg<boolean>): Stream<R, E, A>
4024
4065
  } = internal.when
4025
4066
 
4026
4067
  /**
package/src/StreamEmit.ts CHANGED
@@ -18,7 +18,7 @@ import type * as Option from "./Option.js"
18
18
  * @since 2.0.0
19
19
  * @category models
20
20
  */
21
- export interface Emit<R, E, A, B> extends EmitOps<R, E, A, B> {
21
+ export interface Emit<in R, in E, in A, out B> extends EmitOps<R, E, A, B> {
22
22
  (f: Effect.Effect<R, Option.Option<E>, Chunk.Chunk<A>>): Promise<B>
23
23
  }
24
24
 
@@ -26,58 +26,58 @@ export interface Emit<R, E, A, B> extends EmitOps<R, E, A, B> {
26
26
  * @since 2.0.0
27
27
  * @category models
28
28
  */
29
- export interface EmitOps<R, E, A, B> {
29
+ export interface EmitOps<in R, in E, in A, out B> {
30
30
  /**
31
31
  * Emits a chunk containing the specified values.
32
32
  */
33
- readonly chunk: (chunk: Chunk.Chunk<A>) => Promise<B>
33
+ chunk(chunk: Chunk.Chunk<A>): Promise<B>
34
34
 
35
35
  /**
36
36
  * Terminates with a cause that dies with the specified defect.
37
37
  */
38
- readonly die: <Err>(defect: Err) => Promise<B>
38
+ die<Err>(defect: Err): Promise<B>
39
39
 
40
40
  /**
41
41
  * Terminates with a cause that dies with a `Throwable` with the specified
42
42
  * message.
43
43
  */
44
- readonly dieMessage: (message: string) => Promise<B>
44
+ dieMessage(message: string): Promise<B>
45
45
 
46
46
  /**
47
47
  * Either emits the specified value if this `Exit` is a `Success` or else
48
48
  * terminates with the specified cause if this `Exit` is a `Failure`.
49
49
  */
50
- readonly done: (exit: Exit.Exit<E, A>) => Promise<B>
50
+ done(exit: Exit.Exit<E, A>): Promise<B>
51
51
 
52
52
  /**
53
53
  * Terminates with an end of stream signal.
54
54
  */
55
- readonly end: () => Promise<B>
55
+ end(): Promise<B>
56
56
 
57
57
  /**
58
58
  * Terminates with the specified error.
59
59
  */
60
- readonly fail: (error: E) => Promise<B>
60
+ fail(error: E): Promise<B>
61
61
 
62
62
  /**
63
63
  * Either emits the success value of this effect or terminates the stream
64
64
  * with the failure value of this effect.
65
65
  */
66
- readonly fromEffect: (effect: Effect.Effect<R, E, A>) => Promise<B>
66
+ fromEffect(effect: Effect.Effect<R, E, A>): Promise<B>
67
67
 
68
68
  /**
69
69
  * Either emits the success value of this effect or terminates the stream
70
70
  * with the failure value of this effect.
71
71
  */
72
- readonly fromEffectChunk: (effect: Effect.Effect<R, E, Chunk.Chunk<A>>) => Promise<B>
72
+ fromEffectChunk(effect: Effect.Effect<R, E, Chunk.Chunk<A>>): Promise<B>
73
73
 
74
74
  /**
75
75
  * Terminates the stream with the specified cause.
76
76
  */
77
- readonly halt: (cause: Cause.Cause<E>) => Promise<B>
77
+ halt(cause: Cause.Cause<E>): Promise<B>
78
78
 
79
79
  /**
80
80
  * Emits a chunk containing the specified value.
81
81
  */
82
- readonly single: (value: A) => Promise<B>
82
+ single(value: A): Promise<B>
83
83
  }
@@ -29,7 +29,9 @@ export type SubscriptionRefTypeId = typeof SubscriptionRefTypeId
29
29
  * @since 2.0.0
30
30
  * @category models
31
31
  */
32
- export interface SubscriptionRef<A> extends SubscriptionRef.Variance<A>, Synchronized.SynchronizedRef<A>, Pipeable {
32
+ export interface SubscriptionRef<in out A>
33
+ extends SubscriptionRef.Variance<A>, Synchronized.SynchronizedRef<A>, Pipeable
34
+ {
33
35
  /** @internal */
34
36
  readonly ref: Ref.Ref<A>
35
37
  /** @internal */
@@ -51,9 +53,9 @@ export declare namespace SubscriptionRef {
51
53
  * @since 2.0.0
52
54
  * @category models
53
55
  */
54
- export interface Variance<A> {
56
+ export interface Variance<in out A> {
55
57
  readonly [SubscriptionRefTypeId]: {
56
- readonly _A: (_: never) => A
58
+ readonly _A: (_: A) => A
57
59
  }
58
60
  }
59
61
  }
package/src/Supervisor.ts CHANGED
@@ -32,7 +32,7 @@ export type SupervisorTypeId = typeof SupervisorTypeId
32
32
  * @since 2.0.0
33
33
  * @category models
34
34
  */
35
- export interface Supervisor<T> extends Supervisor.Variance<T> {
35
+ export interface Supervisor<out T> extends Supervisor.Variance<T> {
36
36
  /**
37
37
  * Returns an `Effect` that succeeds with the value produced by this
38
38
  * supervisor. This value may change over time, reflecting what the supervisor
@@ -43,45 +43,45 @@ export interface Supervisor<T> extends Supervisor.Variance<T> {
43
43
  /**
44
44
  * Supervises the start of a `Fiber`.
45
45
  */
46
- readonly onStart: <R, E, A>(
46
+ onStart<R, E, A>(
47
47
  context: Context.Context<R>,
48
48
  effect: Effect.Effect<R, E, A>,
49
49
  parent: Option.Option<Fiber.RuntimeFiber<any, any>>,
50
50
  fiber: Fiber.RuntimeFiber<E, A>
51
- ) => void
51
+ ): void
52
52
 
53
53
  /**
54
54
  * Supervises the end of a `Fiber`.
55
55
  */
56
- readonly onEnd: <E, A>(value: Exit.Exit<E, A>, fiber: Fiber.RuntimeFiber<E, A>) => void
56
+ onEnd<E, A>(value: Exit.Exit<E, A>, fiber: Fiber.RuntimeFiber<E, A>): void
57
57
 
58
58
  /**
59
59
  * Supervises the execution of an `Effect` by a `Fiber`.
60
60
  */
61
- readonly onEffect: <E, A>(fiber: Fiber.RuntimeFiber<E, A>, effect: Effect.Effect<any, any, any>) => void
61
+ onEffect<E, A>(fiber: Fiber.RuntimeFiber<E, A>, effect: Effect.Effect<any, any, any>): void
62
62
 
63
63
  /**
64
64
  * Supervises the suspension of a computation running within a `Fiber`.
65
65
  */
66
- readonly onSuspend: <E, A>(fiber: Fiber.RuntimeFiber<E, A>) => void
66
+ onSuspend<E, A>(fiber: Fiber.RuntimeFiber<E, A>): void
67
67
 
68
68
  /**
69
69
  * Supervises the resumption of a computation running within a `Fiber`.
70
70
  */
71
- readonly onResume: <E, A>(fiber: Fiber.RuntimeFiber<E, A>) => void
71
+ onResume<E, A>(fiber: Fiber.RuntimeFiber<E, A>): void
72
72
 
73
73
  /**
74
74
  * Maps this supervisor to another one, which has the same effect, but whose
75
75
  * value has been transformed by the specified function.
76
76
  */
77
- readonly map: <B>(f: (a: T) => B) => Supervisor<B>
77
+ map<B>(f: (a: T) => B): Supervisor<B>
78
78
 
79
79
  /**
80
80
  * Returns a new supervisor that performs the function of this supervisor, and
81
81
  * the function of the specified supervisor, producing a tuple of the outputs
82
82
  * produced by both supervisors.
83
83
  */
84
- readonly zip: <A>(right: Supervisor<A>) => Supervisor<[T, A]>
84
+ zip<A>(right: Supervisor<A>): Supervisor<[T, A]>
85
85
  }
86
86
 
87
87
  /**
@@ -92,7 +92,7 @@ export declare namespace Supervisor {
92
92
  * @since 2.0.0
93
93
  * @category models
94
94
  */
95
- export interface Variance<T> {
95
+ export interface Variance<out T> {
96
96
  readonly [SupervisorTypeId]: {
97
97
  readonly _T: (_: never) => T
98
98
  }
@@ -24,8 +24,8 @@ export type SynchronizedRefTypeId = typeof SynchronizedRefTypeId
24
24
  * @since 2.0.0
25
25
  * @category models
26
26
  */
27
- export interface SynchronizedRef<A> extends SynchronizedRef.Variance<A>, Ref.Ref<A> {
28
- readonly modifyEffect: <R, E, B>(f: (a: A) => Effect.Effect<R, E, readonly [B, A]>) => Effect.Effect<R, E, B>
27
+ export interface SynchronizedRef<in out A> extends SynchronizedRef.Variance<A>, Ref.Ref<A> {
28
+ modifyEffect<R, E, B>(f: (a: A) => Effect.Effect<R, E, readonly [B, A]>): Effect.Effect<R, E, B>
29
29
  }
30
30
 
31
31
  /**
@@ -36,9 +36,9 @@ export declare namespace SynchronizedRef {
36
36
  * @since 2.0.0
37
37
  * @category models
38
38
  */
39
- export interface Variance<A> {
39
+ export interface Variance<in out A> {
40
40
  readonly [SynchronizedRefTypeId]: {
41
- readonly _A: (_: never) => A
41
+ readonly _A: (_: A) => A
42
42
  }
43
43
  }
44
44
  }