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
@@ -129,10 +129,18 @@ export const isYield: (self: ChildExecutorDecision) => self is Yield = internal.
129
129
  */
130
130
  export const match: {
131
131
  <A>(
132
- options: { readonly onContinue: () => A; readonly onClose: (value: unknown) => A; readonly onYield: () => A }
132
+ options: {
133
+ readonly onContinue: () => A
134
+ readonly onClose: (value: unknown) => A
135
+ readonly onYield: () => A
136
+ }
133
137
  ): (self: ChildExecutorDecision) => A
134
138
  <A>(
135
139
  self: ChildExecutorDecision,
136
- options: { readonly onContinue: () => A; readonly onClose: (value: unknown) => A; readonly onYield: () => A }
140
+ options: {
141
+ readonly onContinue: () => A
142
+ readonly onClose: (value: unknown) => A
143
+ readonly onYield: () => A
144
+ }
137
145
  ): A
138
146
  } = internal.match
package/src/Chunk.ts CHANGED
@@ -30,7 +30,7 @@ export type TypeId = typeof TypeId
30
30
  * @category models
31
31
  * @since 2.0.0
32
32
  */
33
- export interface Chunk<A> extends Iterable<A>, Equal.Equal, Pipeable, Inspectable {
33
+ export interface Chunk<out A> extends Iterable<A>, Equal.Equal, Pipeable, Inspectable {
34
34
  readonly [TypeId]: {
35
35
  readonly _A: (_: never) => A
36
36
  }
@@ -49,7 +49,7 @@ export interface Chunk<A> extends Iterable<A>, Equal.Equal, Pipeable, Inspectabl
49
49
  * @category model
50
50
  * @since 2.0.0
51
51
  */
52
- export interface NonEmptyChunk<A> extends Chunk<A>, NonEmptyIterable<A> {}
52
+ export interface NonEmptyChunk<out A> extends Chunk<A>, NonEmptyIterable<A> {}
53
53
 
54
54
  /**
55
55
  * @category type lambdas
@@ -533,13 +533,13 @@ export const dropRight: {
533
533
  * @since 2.0.0
534
534
  */
535
535
  export const dropWhile: {
536
- <A>(f: (a: A) => boolean): (self: Chunk<A>) => Chunk<A>
537
- <A>(self: Chunk<A>, f: (a: A) => boolean): Chunk<A>
538
- } = dual(2, <A>(self: Chunk<A>, f: (a: A) => boolean): Chunk<A> => {
536
+ <B extends A, A = B>(predicate: Predicate<A>): (self: Chunk<B>) => Chunk<B>
537
+ <A>(self: Chunk<A>, predicate: Predicate<A>): Chunk<A>
538
+ } = dual(2, <A>(self: Chunk<A>, predicate: Predicate<A>): Chunk<A> => {
539
539
  const arr = toReadonlyArray(self)
540
540
  const len = arr.length
541
541
  let i = 0
542
- while (i < len && f(arr[i]!)) {
542
+ while (i < len && predicate(arr[i]!)) {
543
543
  i++
544
544
  }
545
545
  return drop(self, i)
@@ -647,13 +647,13 @@ export const filterMap: {
647
647
  * @category filtering
648
648
  */
649
649
  export const filter: {
650
- <C extends A, B extends A, A = C>(refinement: Refinement<A, B>): (self: Chunk<C>) => Chunk<B>
650
+ <A, B extends A>(refinement: Refinement<A, B>): (self: Chunk<A>) => Chunk<B>
651
651
  <B extends A, A = B>(predicate: Predicate<A>): (self: Chunk<B>) => Chunk<B>
652
- <C extends A, B extends A, A = C>(self: Chunk<C>, refinement: Refinement<A, B>): Chunk<B>
653
- <B extends A, A = B>(self: Chunk<B>, predicate: Predicate<A>): Chunk<B>
652
+ <A, B extends A>(self: Chunk<A>, refinement: Refinement<A, B>): Chunk<B>
653
+ <A>(self: Chunk<A>, predicate: Predicate<A>): Chunk<A>
654
654
  } = dual(
655
655
  2,
656
- <B extends A, A = B>(self: Chunk<B>, predicate: Predicate<A>) =>
656
+ <A>(self: Chunk<A>, predicate: Predicate<A>): Chunk<A> =>
657
657
  unsafeFromArray(RA.filterMap(self, O.liftPredicate(predicate)))
658
658
  )
659
659
 
@@ -881,13 +881,20 @@ export const mapAccum: {
881
881
  * @since 2.0.0
882
882
  */
883
883
  export const partition: {
884
- <C extends A, B extends A, A = C>(refinement: Refinement<A, B>): (self: Chunk<C>) => [Chunk<Exclude<C, B>>, Chunk<B>]
885
- <B extends A, A = B>(predicate: (a: A) => boolean): (self: Chunk<B>) => [Chunk<B>, Chunk<B>]
886
- <C extends A, B extends A, A = C>(self: Chunk<C>, refinement: Refinement<A, B>): [Chunk<Exclude<C, B>>, Chunk<B>]
887
- <B extends A, A = B>(self: Chunk<B>, predicate: (a: A) => boolean): [Chunk<B>, Chunk<B>]
884
+ <C extends A, B extends A, A = C>(
885
+ refinement: (a: A, i: number) => a is B
886
+ ): (self: Chunk<C>) => [excluded: Chunk<Exclude<C, B>>, satisfying: Chunk<B>]
887
+ <B extends A, A = B>(
888
+ predicate: (a: A, i: number) => boolean
889
+ ): (self: Chunk<B>) => [excluded: Chunk<B>, satisfying: Chunk<B>]
890
+ <A, B extends A>(
891
+ self: Chunk<A>,
892
+ refinement: (a: A, i: number) => a is B
893
+ ): [excluded: Chunk<Exclude<A, B>>, satisfying: Chunk<B>]
894
+ <A>(self: Chunk<A>, predicate: (a: A, i: number) => boolean): [excluded: Chunk<A>, satisfying: Chunk<A>]
888
895
  } = dual(
889
896
  2,
890
- <B extends A, A = B>(self: Chunk<B>, predicate: (a: A) => boolean): [Chunk<B>, Chunk<B>] =>
897
+ <A>(self: Chunk<A>, predicate: (a: A, i: number) => boolean): [excluded: Chunk<A>, satisfying: Chunk<A>] =>
891
898
  pipe(
892
899
  RA.partition(toReadonlyArray(self), predicate),
893
900
  ([l, r]) => [unsafeFromArray(l), unsafeFromArray(r)]
@@ -901,9 +908,9 @@ export const partition: {
901
908
  * @since 2.0.0
902
909
  */
903
910
  export const partitionMap: {
904
- <A, B, C>(f: (a: A) => Either<B, C>): (self: Chunk<A>) => [Chunk<B>, Chunk<C>]
905
- <A, B, C>(self: Chunk<A>, f: (a: A) => Either<B, C>): [Chunk<B>, Chunk<C>]
906
- } = dual(2, <A, B, C>(self: Chunk<A>, f: (a: A) => Either<B, C>): [Chunk<B>, Chunk<C>] =>
911
+ <A, B, C>(f: (a: A) => Either<B, C>): (self: Chunk<A>) => [left: Chunk<B>, right: Chunk<C>]
912
+ <A, B, C>(self: Chunk<A>, f: (a: A) => Either<B, C>): [left: Chunk<B>, right: Chunk<C>]
913
+ } = dual(2, <A, B, C>(self: Chunk<A>, f: (a: A) => Either<B, C>): [left: Chunk<B>, right: Chunk<C>] =>
907
914
  pipe(
908
915
  RA.partitionMap(toReadonlyArray(self), f),
909
916
  ([l, r]) => [unsafeFromArray(l), unsafeFromArray(r)]
@@ -962,8 +969,8 @@ export const sortWith: {
962
969
  * @category elements
963
970
  */
964
971
  export const splitAt: {
965
- (n: number): <A>(self: Chunk<A>) => [Chunk<A>, Chunk<A>]
966
- <A>(self: Chunk<A>, n: number): [Chunk<A>, Chunk<A>]
972
+ (n: number): <A>(self: Chunk<A>) => [beforeIndex: Chunk<A>, fromIndex: Chunk<A>]
973
+ <A>(self: Chunk<A>, n: number): [beforeIndex: Chunk<A>, fromIndex: Chunk<A>]
967
974
  } = dual(2, <A>(self: Chunk<A>, n: number): [Chunk<A>, Chunk<A>] => [take(self, n), drop(self, n)])
968
975
 
969
976
  /**
@@ -984,9 +991,9 @@ export const split: {
984
991
  * @since 2.0.0
985
992
  */
986
993
  export const splitWhere: {
987
- <A>(predicate: Predicate<A>): (self: Chunk<A>) => [Chunk<A>, Chunk<A>]
988
- <A>(self: Chunk<A>, predicate: Predicate<A>): [Chunk<A>, Chunk<A>]
989
- } = dual(2, <A>(self: Chunk<A>, predicate: Predicate<A>): [Chunk<A>, Chunk<A>] => {
994
+ <B extends A, A = B>(predicate: Predicate<A>): (self: Chunk<B>) => [beforeMatch: Chunk<B>, fromMatch: Chunk<B>]
995
+ <A>(self: Chunk<A>, predicate: Predicate<A>): [beforeMatch: Chunk<A>, fromMatch: Chunk<A>]
996
+ } = dual(2, <A>(self: Chunk<A>, predicate: Predicate<A>): [beforeMatch: Chunk<A>, fromMatch: Chunk<A>] => {
990
997
  let i = 0
991
998
  for (const a of toReadonlyArray(self)) {
992
999
  if (predicate(a)) {
@@ -1032,18 +1039,20 @@ export const takeRight: {
1032
1039
  * @category elements
1033
1040
  */
1034
1041
  export const takeWhile: {
1035
- <A>(predicate: Predicate<A>): (self: Chunk<A>) => Chunk<A>
1042
+ <A, B extends A>(refinement: Refinement<A, B>): (self: Chunk<A>) => Chunk<B>
1043
+ <B extends A, A = B>(predicate: Predicate<A>): (self: Chunk<B>) => Chunk<B>
1044
+ <A, B extends A>(self: Chunk<A>, refinement: Refinement<A, B>): Chunk<B>
1036
1045
  <A>(self: Chunk<A>, predicate: Predicate<A>): Chunk<A>
1037
- } = dual(2, <A>(self: Chunk<A>, predicate: Predicate<A>) => {
1038
- const res: Array<A> = []
1046
+ } = dual(2, <A>(self: Chunk<A>, predicate: Predicate<A>): Chunk<A> => {
1047
+ const out: Array<A> = []
1039
1048
  for (const a of toReadonlyArray(self)) {
1040
1049
  if (predicate(a)) {
1041
- res.push(a)
1050
+ out.push(a)
1042
1051
  } else {
1043
1052
  break
1044
1053
  }
1045
1054
  }
1046
- return unsafeFromArray(res)
1055
+ return unsafeFromArray(out)
1047
1056
  })
1048
1057
 
1049
1058
  /**
@@ -1236,9 +1245,9 @@ export const containsWith: <A>(
1236
1245
  */
1237
1246
  export const findFirst: {
1238
1247
  <A, B extends A>(refinement: Refinement<A, B>): (self: Chunk<A>) => Option<B>
1239
- <A>(predicate: Predicate<A>): <B extends A>(self: Chunk<B>) => Option<B>
1248
+ <B extends A, A = B>(predicate: Predicate<A>): (self: Chunk<B>) => Option<B>
1240
1249
  <A, B extends A>(self: Chunk<A>, refinement: Refinement<A, B>): Option<B>
1241
- <B extends A, A>(self: Chunk<B>, predicate: Predicate<A>): Option<B>
1250
+ <A>(self: Chunk<A>, predicate: Predicate<A>): Option<A>
1242
1251
  } = RA.findFirst
1243
1252
 
1244
1253
  /**
@@ -1260,9 +1269,9 @@ export const findFirstIndex: {
1260
1269
  */
1261
1270
  export const findLast: {
1262
1271
  <A, B extends A>(refinement: Refinement<A, B>): (self: Chunk<A>) => Option<B>
1263
- <A>(predicate: Predicate<A>): <B extends A>(self: Chunk<B>) => Option<B>
1272
+ <B extends A, A = B>(predicate: Predicate<A>): (self: Chunk<B>) => Option<B>
1264
1273
  <A, B extends A>(self: Chunk<A>, refinement: Refinement<A, B>): Option<B>
1265
- <B extends A, A>(self: Chunk<B>, predicate: Predicate<A>): Option<B>
1274
+ <A>(self: Chunk<A>, predicate: Predicate<A>): Option<A>
1266
1275
  } = RA.findLast
1267
1276
 
1268
1277
  /**
@@ -1300,12 +1309,11 @@ export const every: {
1300
1309
  * @since 2.0.0
1301
1310
  */
1302
1311
  export const some: {
1303
- <A>(predicate: Predicate<A>): <B extends A>(self: Chunk<B>) => self is NonEmptyChunk<B>
1304
- <B extends A, A = B>(self: Chunk<B>, predicate: Predicate<A>): self is NonEmptyChunk<B>
1312
+ <B extends A, A = B>(predicate: Predicate<A>): (self: Chunk<B>) => self is NonEmptyChunk<B>
1313
+ <A>(self: Chunk<A>, predicate: Predicate<A>): self is NonEmptyChunk<A>
1305
1314
  } = dual(
1306
1315
  2,
1307
- <B extends A, A = B>(self: Chunk<B>, predicate: Predicate<A>): self is NonEmptyChunk<B> =>
1308
- RA.fromIterable(self).some(predicate)
1316
+ <A>(self: Chunk<A>, predicate: Predicate<A>): self is NonEmptyChunk<A> => RA.fromIterable(self).some(predicate)
1309
1317
  )
1310
1318
 
1311
1319
  /**
package/src/Clock.ts CHANGED
@@ -31,7 +31,7 @@ export interface Clock {
31
31
  /**
32
32
  * Unsafely returns the current time in milliseconds.
33
33
  */
34
- readonly unsafeCurrentTimeMillis: () => number
34
+ unsafeCurrentTimeMillis(): number
35
35
  /**
36
36
  * Returns the current time in milliseconds.
37
37
  */
@@ -39,7 +39,7 @@ export interface Clock {
39
39
  /**
40
40
  * Unsafely returns the current time in nanoseconds.
41
41
  */
42
- readonly unsafeCurrentTimeNanos: () => bigint
42
+ unsafeCurrentTimeNanos(): bigint
43
43
  /**
44
44
  * Returns the current time in nanoseconds.
45
45
  */
@@ -47,7 +47,7 @@ export interface Clock {
47
47
  /**
48
48
  * Asynchronously sleeps for the specified duration.
49
49
  */
50
- readonly sleep: (duration: Duration.Duration) => Effect.Effect<never, never, void>
50
+ sleep(duration: Duration.Duration): Effect.Effect<never, never, void>
51
51
  }
52
52
 
53
53
  /**
@@ -70,7 +70,7 @@ export interface ClockScheduler {
70
70
  /**
71
71
  * Unsafely schedules the specified task for the specified duration.
72
72
  */
73
- readonly unsafeSchedule: (task: Task, duration: Duration.Duration) => CancelToken
73
+ unsafeSchedule(task: Task, duration: Duration.Duration): CancelToken
74
74
  }
75
75
 
76
76
  /**
package/src/Config.ts CHANGED
@@ -32,7 +32,7 @@ export type ConfigTypeId = typeof ConfigTypeId
32
32
  * @since 2.0.0
33
33
  * @category models
34
34
  */
35
- export interface Config<A> extends Config.Variance<A>, Pipeable {}
35
+ export interface Config<out A> extends Config.Variance<A>, Pipeable {}
36
36
 
37
37
  /**
38
38
  * @since 2.0.0
@@ -42,7 +42,7 @@ export declare namespace Config {
42
42
  * @since 2.0.0
43
43
  * @category models
44
44
  */
45
- export interface Variance<A> {
45
+ export interface Variance<out A> {
46
46
  readonly [ConfigTypeId]: {
47
47
  readonly _A: (_: never) => A
48
48
  }
@@ -52,9 +52,9 @@ export declare namespace Config {
52
52
  * @since 2.0.0
53
53
  * @category models
54
54
  */
55
- export interface Primitive<A> extends Config<A> {
55
+ export interface Primitive<out A> extends Config<A> {
56
56
  readonly description: string
57
- readonly parse: (text: string) => Either.Either<ConfigError.ConfigError, A>
57
+ parse(text: string): Either.Either<ConfigError.ConfigError, A>
58
58
  }
59
59
 
60
60
  /**
@@ -53,18 +53,18 @@ export declare namespace ConfigError {
53
53
  * @since 2.0.0
54
54
  * @category models
55
55
  */
56
- export interface ConfigErrorReducer<C, Z> {
57
- readonly andCase: (context: C, left: Z, right: Z) => Z
58
- readonly orCase: (context: C, left: Z, right: Z) => Z
59
- readonly invalidDataCase: (context: C, path: Array<string>, message: string) => Z
60
- readonly missingDataCase: (context: C, path: Array<string>, message: string) => Z
61
- readonly sourceUnavailableCase: (
56
+ export interface ConfigErrorReducer<in C, in out Z> {
57
+ andCase(context: C, left: Z, right: Z): Z
58
+ orCase(context: C, left: Z, right: Z): Z
59
+ invalidDataCase(context: C, path: Array<string>, message: string): Z
60
+ missingDataCase(context: C, path: Array<string>, message: string): Z
61
+ sourceUnavailableCase(
62
62
  context: C,
63
63
  path: Array<string>,
64
64
  message: string,
65
65
  cause: Cause.Cause<unknown>
66
- ) => Z
67
- readonly unsupportedCase: (context: C, path: Array<string>, message: string) => Z
66
+ ): Z
67
+ unsupportedCase(context: C, path: Array<string>, message: string): Z
68
68
  }
69
69
 
70
70
  /**
@@ -46,7 +46,7 @@ export interface ConfigProvider extends ConfigProvider.Proto, Pipeable {
46
46
  /**
47
47
  * Loads the specified configuration, or fails with a config error.
48
48
  */
49
- readonly load: <A>(config: Config.Config<A>) => Effect.Effect<never, ConfigError.ConfigError, A>
49
+ load<A>(config: Config.Config<A>): Effect.Effect<never, ConfigError.ConfigError, A>
50
50
  /**
51
51
  * Flattens this config provider into a simplified config provider that knows
52
52
  * only how to deal with flat (key/value) properties.
@@ -77,14 +77,14 @@ export declare namespace ConfigProvider {
77
77
  export interface Flat {
78
78
  readonly [FlatConfigProviderTypeId]: FlatConfigProviderTypeId
79
79
  readonly patch: PathPatch.PathPatch
80
- readonly load: <A>(
80
+ load<A>(
81
81
  path: ReadonlyArray<string>,
82
82
  config: Config.Config.Primitive<A>,
83
83
  split?: boolean
84
- ) => Effect.Effect<never, ConfigError.ConfigError, ReadonlyArray<A>>
85
- readonly enumerateChildren: (
84
+ ): Effect.Effect<never, ConfigError.ConfigError, ReadonlyArray<A>>
85
+ enumerateChildren(
86
86
  path: ReadonlyArray<string>
87
- ) => Effect.Effect<never, ConfigError.ConfigError, HashSet.HashSet<string>>
87
+ ): Effect.Effect<never, ConfigError.ConfigError, HashSet.HashSet<string>>
88
88
  }
89
89
 
90
90
  /**
@@ -36,7 +36,7 @@ export interface AndThen {
36
36
  */
37
37
  export interface MapName {
38
38
  readonly _tag: "MapName"
39
- readonly f: (string: string) => string
39
+ f(string: string): string
40
40
  }
41
41
 
42
42
  /**
package/src/Console.ts CHANGED
@@ -25,27 +25,27 @@ export type TypeId = typeof TypeId
25
25
  */
26
26
  export interface Console {
27
27
  readonly [TypeId]: TypeId
28
- readonly assert: (condition: boolean, ...args: ReadonlyArray<any>) => Effect<never, never, void>
28
+ assert(condition: boolean, ...args: ReadonlyArray<any>): Effect<never, never, void>
29
29
  readonly clear: Effect<never, never, void>
30
- readonly count: (label?: string) => Effect<never, never, void>
31
- readonly countReset: (label?: string) => Effect<never, never, void>
32
- readonly debug: (...args: ReadonlyArray<any>) => Effect<never, never, void>
33
- readonly dir: (item: any, options?: any) => Effect<never, never, void>
34
- readonly dirxml: (...args: ReadonlyArray<any>) => Effect<never, never, void>
35
- readonly error: (...args: ReadonlyArray<any>) => Effect<never, never, void>
36
- readonly group: (options?: {
30
+ count(label?: string): Effect<never, never, void>
31
+ countReset(label?: string): Effect<never, never, void>
32
+ debug(...args: ReadonlyArray<any>): Effect<never, never, void>
33
+ dir(item: any, options?: any): Effect<never, never, void>
34
+ dirxml(...args: ReadonlyArray<any>): Effect<never, never, void>
35
+ error(...args: ReadonlyArray<any>): Effect<never, never, void>
36
+ group(options?: {
37
37
  readonly label?: string | undefined
38
38
  readonly collapsed?: boolean | undefined
39
- }) => Effect<never, never, void>
39
+ }): Effect<never, never, void>
40
40
  readonly groupEnd: Effect<never, never, void>
41
- readonly info: (...args: ReadonlyArray<any>) => Effect<never, never, void>
42
- readonly log: (...args: ReadonlyArray<any>) => Effect<never, never, void>
43
- readonly table: (tabularData: any, properties?: ReadonlyArray<string>) => Effect<never, never, void>
44
- readonly time: (label?: string) => Effect<never, never, void>
45
- readonly timeEnd: (label?: string) => Effect<never, never, void>
46
- readonly timeLog: (label?: string, ...args: ReadonlyArray<any>) => Effect<never, never, void>
47
- readonly trace: (...args: ReadonlyArray<any>) => Effect<never, never, void>
48
- readonly warn: (...args: ReadonlyArray<any>) => Effect<never, never, void>
41
+ info(...args: ReadonlyArray<any>): Effect<never, never, void>
42
+ log(...args: ReadonlyArray<any>): Effect<never, never, void>
43
+ table(tabularData: any, properties?: ReadonlyArray<string>): Effect<never, never, void>
44
+ time(label?: string): Effect<never, never, void>
45
+ timeEnd(label?: string): Effect<never, never, void>
46
+ timeLog(label?: string, ...args: ReadonlyArray<any>): Effect<never, never, void>
47
+ trace(...args: ReadonlyArray<any>): Effect<never, never, void>
48
+ warn(...args: ReadonlyArray<any>): Effect<never, never, void>
49
49
  readonly unsafe: UnsafeConsole
50
50
  }
51
51
 
@@ -54,27 +54,27 @@ export interface Console {
54
54
  * @category model
55
55
  */
56
56
  export interface UnsafeConsole {
57
- readonly assert: (condition: boolean, ...args: ReadonlyArray<any>) => void
58
- readonly clear: () => void
59
- readonly count: (label?: string) => void
60
- readonly countReset: (label?: string) => void
61
- readonly debug: (...args: ReadonlyArray<any>) => void
62
- readonly dir: (item: any, options?: any) => void
63
- readonly dirxml: (...args: ReadonlyArray<any>) => void
64
- readonly error: (...args: ReadonlyArray<any>) => void
65
- readonly group: (options?: {
57
+ assert(condition: boolean, ...args: ReadonlyArray<any>): void
58
+ clear(): void
59
+ count(label?: string): void
60
+ countReset(label?: string): void
61
+ debug(...args: ReadonlyArray<any>): void
62
+ dir(item: any, options?: any): void
63
+ dirxml(...args: ReadonlyArray<any>): void
64
+ error(...args: ReadonlyArray<any>): void
65
+ group(options?: {
66
66
  readonly label?: string | undefined
67
67
  readonly collapsed?: boolean | undefined
68
- }) => void
69
- readonly groupEnd: () => void
70
- readonly info: (...args: ReadonlyArray<any>) => void
71
- readonly log: (...args: ReadonlyArray<any>) => void
72
- readonly table: (tabularData: any, properties?: ReadonlyArray<string>) => void
73
- readonly time: (label?: string) => void
74
- readonly timeEnd: (label?: string) => void
75
- readonly timeLog: (label?: string, ...args: ReadonlyArray<any>) => void
76
- readonly trace: (...args: ReadonlyArray<any>) => void
77
- readonly warn: (...args: ReadonlyArray<any>) => void
68
+ }): void
69
+ groupEnd(): void
70
+ info(...args: ReadonlyArray<any>): void
71
+ log(...args: ReadonlyArray<any>): void
72
+ table(tabularData: any, properties?: ReadonlyArray<string>): void
73
+ time(label?: string): void
74
+ timeEnd(label?: string): void
75
+ timeLog(label?: string, ...args: ReadonlyArray<any>): void
76
+ trace(...args: ReadonlyArray<any>): void
77
+ warn(...args: ReadonlyArray<any>): void
78
78
  }
79
79
 
80
80
  /**
package/src/Context.ts CHANGED
@@ -26,15 +26,15 @@ export type TagTypeId = typeof TagTypeId
26
26
  * @since 2.0.0
27
27
  * @category models
28
28
  */
29
- export interface Tag<Identifier, Service> extends Pipeable, Inspectable {
29
+ export interface Tag<in out Identifier, in out Service> extends Pipeable, Inspectable {
30
30
  readonly _tag: "Tag"
31
31
  readonly _op: "Tag"
32
32
  readonly [TagTypeId]: {
33
33
  readonly _S: (_: Service) => Service
34
34
  readonly _I: (_: Identifier) => Identifier
35
35
  }
36
- readonly of: (self: Service) => Service
37
- readonly context: (self: Service) => Context<Identifier>
36
+ of(self: Service): Service
37
+ context(self: Service): Context<Identifier>
38
38
  readonly stack?: string | undefined
39
39
  readonly identifier?: unknown
40
40
  [Unify.typeSymbol]?: unknown
@@ -111,7 +111,7 @@ export type ValidTagsById<R> = R extends infer S ? Tag<S, any> : never
111
111
  * @since 2.0.0
112
112
  * @category models
113
113
  */
114
- export interface Context<Services> extends Equal, Pipeable, Inspectable {
114
+ export interface Context<in Services> extends Equal, Pipeable, Inspectable {
115
115
  readonly [TypeId]: {
116
116
  readonly _S: (_: Services) => unknown
117
117
  }
package/src/Data.ts CHANGED
@@ -1,13 +1,11 @@
1
1
  /**
2
2
  * @since 2.0.0
3
3
  */
4
- import type * as Channel from "./Channel.js"
5
- import * as Effect from "./Effect.js"
6
- import * as Effectable from "./Effectable.js"
4
+ import type * as Cause from "./Cause.js"
7
5
  import type * as Equal from "./Equal.js"
6
+ import * as core from "./internal/core.js"
8
7
  import * as internal from "./internal/data.js"
9
- import { type Pipeable } from "./Pipeable.js"
10
- import type * as Sink from "./Sink.js"
8
+ import { StructuralPrototype } from "./internal/effectable.js"
11
9
  import type * as Types from "./Types.js"
12
10
 
13
11
  /**
@@ -69,7 +67,7 @@ export const struct: <A extends Record<string, any>>(a: A) => Data<{ readonly [P
69
67
  * @since 2.0.0
70
68
  */
71
69
  export const unsafeStruct = <A extends Record<string, any>>(as: A): Data<{ readonly [P in keyof A]: A[P] }> =>
72
- Object.setPrototypeOf(as, internal.StructProto)
70
+ Object.setPrototypeOf(as, StructuralPrototype)
73
71
 
74
72
  /**
75
73
  * @example
@@ -126,7 +124,7 @@ export const unsafeArray = <As extends ReadonlyArray<any>>(as: As): Data<Readonl
126
124
  Object.setPrototypeOf(as, internal.ArrayProto)
127
125
 
128
126
  const _case = <A extends Case>(): Case.Constructor<A> => (args) =>
129
- (args === undefined ? Object.create(internal.StructProto) : struct(args)) as any
127
+ (args === undefined ? Object.create(StructuralPrototype) : struct(args)) as any
130
128
 
131
129
  export {
132
130
  /**
@@ -183,7 +181,7 @@ export const tagged = <A extends Case & { readonly _tag: string }>(
183
181
  tag: A["_tag"]
184
182
  ): Case.Constructor<A, "_tag"> =>
185
183
  (args) => {
186
- const value = args === undefined ? Object.create(internal.StructProto) : struct(args)
184
+ const value = args === undefined ? Object.create(StructuralPrototype) : struct(args)
187
185
  value._tag = tag
188
186
  return value
189
187
  }
@@ -442,35 +440,6 @@ export const taggedEnum: {
442
440
  }
443
441
  }) as any
444
442
 
445
- /**
446
- * @since 2.0.0
447
- * @category models
448
- */
449
- export interface YieldableError extends Case, Pipeable, Readonly<Error> {
450
- readonly [Effectable.EffectTypeId]: Effect.Effect.VarianceStruct<never, this, never>
451
- readonly [Effectable.StreamTypeId]: Effect.Effect.VarianceStruct<never, this, never>
452
- readonly [Effectable.SinkTypeId]: Sink.Sink.VarianceStruct<never, this, unknown, never, never>
453
- readonly [Effectable.ChannelTypeId]: Channel.Channel.VarianceStruct<
454
- never,
455
- unknown,
456
- unknown,
457
- unknown,
458
- this,
459
- never,
460
- never
461
- >
462
- }
463
-
464
- const YieldableErrorProto = {
465
- ...Effectable.StructuralCommitPrototype,
466
- commit() {
467
- return Effect.fail(this)
468
- },
469
- toString(this: globalThis.Error) {
470
- return `${this.name}: ${this.message}`
471
- }
472
- }
473
-
474
443
  /**
475
444
  * Provides a constructor for a Case Class.
476
445
  *
@@ -480,15 +449,15 @@ const YieldableErrorProto = {
480
449
  export const Error: new<A extends Record<string, any>>(
481
450
  args: Types.Equals<Omit<A, keyof Equal.Equal>, {}> extends true ? void
482
451
  : { readonly [P in keyof A as P extends keyof Equal.Equal ? never : P]: A[P] }
483
- ) => YieldableError & Readonly<A> = (function() {
484
- class Base extends globalThis.Error {
452
+ ) => Cause.YieldableError & Readonly<A> = (function() {
453
+ return class Base extends core.YieldableError {
485
454
  constructor(args: any) {
486
455
  super()
487
- Object.assign(this, args)
456
+ if (args) {
457
+ Object.assign(this, args)
458
+ }
488
459
  }
489
- }
490
- Object.assign(Base.prototype, YieldableErrorProto)
491
- return Base as any
460
+ } as any
492
461
  })()
493
462
 
494
463
  /**
@@ -498,7 +467,7 @@ export const Error: new<A extends Record<string, any>>(
498
467
  export const TaggedError = <Tag extends string>(tag: Tag): new<A extends Record<string, any>>(
499
468
  args: Types.Equals<Omit<A, keyof Equal.Equal>, {}> extends true ? void
500
469
  : { readonly [P in keyof A as P extends "_tag" | keyof Equal.Equal ? never : P]: A[P] }
501
- ) => YieldableError & { readonly _tag: Tag } & Readonly<A> => {
470
+ ) => Cause.YieldableError & { readonly _tag: Tag } & Readonly<A> => {
502
471
  class Base extends Error<{}> {
503
472
  readonly _tag = tag
504
473
  }
package/src/Deferred.ts CHANGED
@@ -36,7 +36,7 @@ export type DeferredTypeId = typeof DeferredTypeId
36
36
  * @since 2.0.0
37
37
  * @category models
38
38
  */
39
- export interface Deferred<E, A> extends Deferred.Variance<E, A>, Pipeable {
39
+ export interface Deferred<in out E, in out A> extends Deferred.Variance<E, A>, Pipeable {
40
40
  /** @internal */
41
41
  readonly state: MutableRef.MutableRef<internal.State<E, A>>
42
42
  /** @internal */
@@ -51,10 +51,10 @@ export declare namespace Deferred {
51
51
  * @since 2.0.0
52
52
  * @category models
53
53
  */
54
- export interface Variance<E, A> {
54
+ export interface Variance<in out E, in out A> {
55
55
  readonly [DeferredTypeId]: {
56
- readonly _E: (_: never) => E
57
- readonly _A: (_: never) => A
56
+ readonly _E: (_: E) => E
57
+ readonly _A: (_: A) => A
58
58
  }
59
59
  }
60
60
  }
package/src/Differ.ts CHANGED
@@ -46,15 +46,15 @@ export type TypeId = typeof TypeId
46
46
  * @since 2.0.0
47
47
  * @category models
48
48
  */
49
- export interface Differ<Value, Patch> {
49
+ export interface Differ<in out Value, in out Patch> {
50
50
  readonly [TypeId]: {
51
51
  readonly _V: (_: Value) => Value
52
52
  readonly _P: (_: Patch) => Patch
53
53
  }
54
54
  readonly empty: Patch
55
- readonly diff: (oldValue: Value, newValue: Value) => Patch
56
- readonly combine: (first: Patch, second: Patch) => Patch
57
- readonly patch: (patch: Patch, oldValue: Value) => Value
55
+ diff(oldValue: Value, newValue: Value): Patch
56
+ combine(first: Patch, second: Patch): Patch
57
+ patch(patch: Patch, oldValue: Value): Value
58
58
  }
59
59
 
60
60
  const ChunkPatchTypeId: unique symbol = ChunkPatch.ChunkPatchTypeId as Differ.Chunk.TypeId
@@ -84,7 +84,7 @@ export declare namespace Differ {
84
84
  * @since 2.0.0
85
85
  * @category models
86
86
  */
87
- export interface Patch<Input, Output> extends Equal {
87
+ export interface Patch<in Input, out Output> extends Equal {
88
88
  readonly [ContextPatchTypeId]: {
89
89
  readonly _Input: (_: Input) => void
90
90
  readonly _Output: (_: never) => Output
@@ -107,7 +107,7 @@ export declare namespace Differ {
107
107
  * @since 2.0.0
108
108
  * @category models
109
109
  */
110
- export interface Patch<Value, Patch> extends Equal {
110
+ export interface Patch<in out Value, in out Patch> extends Equal {
111
111
  readonly [ChunkPatchTypeId]: {
112
112
  readonly _Value: (_: Value) => Value
113
113
  readonly _Patch: (_: Patch) => Patch
@@ -130,7 +130,7 @@ export declare namespace Differ {
130
130
  * @since 2.0.0
131
131
  * @category models
132
132
  */
133
- export interface Patch<Key, Value, Patch> extends Equal {
133
+ export interface Patch<in out Key, in out Value, in out Patch> extends Equal {
134
134
  readonly [HashMapPatchTypeId]: {
135
135
  readonly _Key: (_: Key) => Key
136
136
  readonly _Value: (_: Value) => Value
@@ -154,7 +154,7 @@ export declare namespace Differ {
154
154
  * @since 2.0.0
155
155
  * @category models
156
156
  */
157
- export interface Patch<Value> extends Equal {
157
+ export interface Patch<in out Value> extends Equal {
158
158
  readonly [HashSetPatchTypeId]: {
159
159
  readonly _Value: (_: Value) => Value
160
160
  }
@@ -176,7 +176,7 @@ export declare namespace Differ {
176
176
  * @since 2.0.0
177
177
  * @category models
178
178
  */
179
- export interface Patch<Value, Value2, Patch, Patch2> extends Equal {
179
+ export interface Patch<in out Value, in out Value2, in out Patch, in out Patch2> extends Equal {
180
180
  readonly [OrPatchTypeId]: {
181
181
  readonly _Value: (_: Value) => Value
182
182
  readonly _Value2: (_: Value2) => Value2