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/TArray.ts CHANGED
@@ -24,12 +24,12 @@ export type TArrayTypeId = typeof TArrayTypeId
24
24
  * @since 2.0.0
25
25
  * @category models
26
26
  */
27
- export interface TArray<A> extends TArray.Variance<A> {}
27
+ export interface TArray<in out A> extends TArray.Variance<A> {}
28
28
  /**
29
29
  * @internal
30
30
  * @since 2.0.0
31
31
  */
32
- export interface TArray<A> {
32
+ export interface TArray<in out A> {
33
33
  /** @internal */
34
34
  readonly chunk: Array<TRef.TRef<A>>
35
35
  }
@@ -42,9 +42,9 @@ export declare namespace TArray {
42
42
  * @since 2.0.0
43
43
  * @category models
44
44
  */
45
- export interface Variance<A> {
45
+ export interface Variance<in out A> {
46
46
  readonly [TArrayTypeId]: {
47
- readonly _A: (_: never) => A
47
+ readonly _A: (_: A) => A
48
48
  }
49
49
  }
50
50
  }
package/src/TDeferred.ts CHANGED
@@ -23,12 +23,12 @@ export type TDeferredTypeId = typeof TDeferredTypeId
23
23
  * @since 2.0.0
24
24
  * @category models
25
25
  */
26
- export interface TDeferred<E, A> extends TDeferred.Variance<E, A> {}
26
+ export interface TDeferred<in out E, in out A> extends TDeferred.Variance<E, A> {}
27
27
  /**
28
28
  * @internal
29
29
  * @since 2.0.0
30
30
  */
31
- export interface TDeferred<E, A> {
31
+ export interface TDeferred<in out E, in out A> {
32
32
  /** @internal */
33
33
  readonly ref: TRef.TRef<Option.Option<Either.Either<E, A>>>
34
34
  }
@@ -41,10 +41,10 @@ export declare namespace TDeferred {
41
41
  * @since 2.0.0
42
42
  * @category models
43
43
  */
44
- export interface Variance<E, A> {
44
+ export interface Variance<in out E, in out A> {
45
45
  readonly [TDeferredTypeId]: {
46
- readonly _E: (_: never) => E
47
- readonly _A: (_: never) => A
46
+ readonly _E: (_: E) => E
47
+ readonly _A: (_: A) => A
48
48
  }
49
49
  }
50
50
  }
package/src/TMap.ts CHANGED
@@ -29,12 +29,12 @@ export type TMapTypeId = typeof TMapTypeId
29
29
  * @since 2.0.0
30
30
  * @category models
31
31
  */
32
- export interface TMap<K, V> extends TMap.Variance<K, V> {}
32
+ export interface TMap<in out K, in out V> extends TMap.Variance<K, V> {}
33
33
  /**
34
34
  * @internal
35
35
  * @since 2.0.0
36
36
  */
37
- export interface TMap<K, V> {
37
+ export interface TMap<in out K, in out V> {
38
38
  /** @internal */
39
39
  readonly tBuckets: TRef.TRef<TArray.TArray<Chunk.Chunk<readonly [K, V]>>>
40
40
  /** @internal */
@@ -49,10 +49,10 @@ export declare namespace TMap {
49
49
  * @since 2.0.0
50
50
  * @category models
51
51
  */
52
- export interface Variance<K, V> {
52
+ export interface Variance<in out K, in out V> {
53
53
  readonly [TMapTypeId]: {
54
- readonly _K: (_: never) => K
55
- readonly _V: (_: never) => V
54
+ readonly _K: (_: K) => K
55
+ readonly _V: (_: V) => V
56
56
  }
57
57
  }
58
58
  }
@@ -32,12 +32,12 @@ export type TPriorityQueueTypeId = typeof TPriorityQueueTypeId
32
32
  * @since 2.0.0
33
33
  * @category models
34
34
  */
35
- export interface TPriorityQueue<A> extends TPriorityQueue.Variance<A> {}
35
+ export interface TPriorityQueue<in out A> extends TPriorityQueue.Variance<A> {}
36
36
  /**
37
37
  * @internal
38
38
  * @since 2.0.0
39
39
  */
40
- export interface TPriorityQueue<A> {
40
+ export interface TPriorityQueue<in out A> {
41
41
  /** @internal */
42
42
  readonly ref: TRef.TRef<SortedMap.SortedMap<A, [A, ...Array<A>]>>
43
43
  }
@@ -50,9 +50,9 @@ export declare namespace TPriorityQueue {
50
50
  * @since 2.0.0
51
51
  * @category models
52
52
  */
53
- export interface Variance<A> {
53
+ export interface Variance<in out A> {
54
54
  readonly [TPriorityQueueTypeId]: {
55
- readonly _A: (_: never) => A
55
+ readonly _A: (_: A) => A
56
56
  }
57
57
  }
58
58
  }
package/src/TPubSub.ts CHANGED
@@ -26,13 +26,16 @@ export type TPubSubTypeId = typeof TPubSubTypeId
26
26
  * @since 2.0.0
27
27
  * @category models
28
28
  */
29
- export interface TPubSub<A> extends TQueue.TEnqueue<A> {}
29
+ export interface TPubSub<in out A> extends TQueue.TEnqueue<A> {
30
+ readonly [TPubSubTypeId]: {
31
+ readonly _A: (_: A) => A
32
+ }
33
+ }
30
34
  /**
31
35
  * @internal
32
36
  * @since 2.0.0
33
37
  */
34
- export interface TPubSub<A> {
35
- readonly [TPubSubTypeId]: TPubSubTypeId
38
+ export interface TPubSub<in out A> {
36
39
  /** @internal */
37
40
  readonly pubsubSize: TRef.TRef<number>
38
41
  /** @internal */
package/src/TQueue.ts CHANGED
@@ -34,17 +34,17 @@ export type TEnqueueTypeId = typeof TEnqueueTypeId
34
34
  * @since 2.0.0
35
35
  * @category models
36
36
  */
37
- export interface TQueue<A> extends TEnqueue<A>, TDequeue<A> {}
37
+ export interface TQueue<in out A> extends TEnqueue<A>, TDequeue<A> {}
38
38
 
39
39
  /**
40
40
  * @since 2.0.0
41
41
  * @category models
42
42
  */
43
- export interface TEnqueue<A> extends TQueue.TEnqueueVariance<A>, BaseTQueue {
43
+ export interface TEnqueue<in A> extends TQueue.TEnqueueVariance<A>, BaseTQueue {
44
44
  /**
45
45
  * Places one value in the queue.
46
46
  */
47
- readonly offer: (value: A) => STM.STM<never, never, boolean>
47
+ offer(value: A): STM.STM<never, never, boolean>
48
48
 
49
49
  /**
50
50
  * For Bounded TQueue: uses the `BackPressure` Strategy, places the values in
@@ -61,14 +61,14 @@ export interface TEnqueue<A> extends TQueue.TEnqueueVariance<A>, BaseTQueue {
61
61
  * For Dropping TQueue: uses `Dropping` Strategy, It places the values in the
62
62
  * queue but if there is no room it will not enqueue them and return false.
63
63
  */
64
- readonly offerAll: (iterable: Iterable<A>) => STM.STM<never, never, boolean>
64
+ offerAll(iterable: Iterable<A>): STM.STM<never, never, boolean>
65
65
  }
66
66
 
67
67
  /**
68
68
  * @since 2.0.0
69
69
  * @category models
70
70
  */
71
- export interface TDequeue<A> extends TQueue.TDequeueVariance<A>, BaseTQueue {
71
+ export interface TDequeue<out A> extends TQueue.TDequeueVariance<A>, BaseTQueue {
72
72
  /**
73
73
  * Views the next element in the queue without removing it, retrying if the
74
74
  * queue is empty.
@@ -96,7 +96,7 @@ export interface TDequeue<A> extends TQueue.TDequeueVariance<A>, BaseTQueue {
96
96
  /**
97
97
  * Takes up to max number of values from the queue.
98
98
  */
99
- readonly takeUpTo: (max: number) => STM.STM<never, never, Array<A>>
99
+ takeUpTo(max: number): STM.STM<never, never, Array<A>>
100
100
  }
101
101
 
102
102
  /**
@@ -109,7 +109,7 @@ export interface BaseTQueue {
109
109
  /**
110
110
  * Returns the number of elements the queue can hold.
111
111
  */
112
- readonly capacity: () => number
112
+ capacity(): number
113
113
 
114
114
  /**
115
115
  * Retrieves the size of the queue, which is equal to the number of elements
@@ -156,7 +156,7 @@ export declare namespace TQueue {
156
156
  * @since 2.0.0
157
157
  * @category models
158
158
  */
159
- export interface TEnqueueVariance<A> {
159
+ export interface TEnqueueVariance<in A> {
160
160
  readonly [TEnqueueTypeId]: {
161
161
  readonly _In: (_: A) => void
162
162
  }
@@ -166,7 +166,7 @@ export declare namespace TQueue {
166
166
  * @since 2.0.0
167
167
  * @category models
168
168
  */
169
- export interface TDequeueVariance<A> {
169
+ export interface TDequeueVariance<out A> {
170
170
  readonly [TDequeueTypeId]: {
171
171
  readonly _Out: (_: never) => A
172
172
  }
package/src/TRandom.ts CHANGED
@@ -42,16 +42,16 @@ export interface TRandom {
42
42
  * Returns the next numeric value in the specified range from the
43
43
  * pseudo-random number generator.
44
44
  */
45
- readonly nextRange: (min: number, max: number) => STM.STM<never, never, number>
45
+ nextRange(min: number, max: number): STM.STM<never, never, number>
46
46
  /**
47
47
  * Returns the next integer value in the specified range from the
48
48
  * pseudo-random number generator.
49
49
  */
50
- readonly nextIntBetween: (min: number, max: number) => STM.STM<never, never, number>
50
+ nextIntBetween(min: number, max: number): STM.STM<never, never, number>
51
51
  /**
52
52
  * Uses the pseudo-random number generator to shuffle the specified iterable.
53
53
  */
54
- readonly shuffle: <A>(elements: Iterable<A>) => STM.STM<never, never, Array<A>>
54
+ shuffle<A>(elements: Iterable<A>): STM.STM<never, never, Array<A>>
55
55
  }
56
56
  /**
57
57
  * @internal
package/src/TRef.ts CHANGED
@@ -33,17 +33,17 @@ export type TRefTypeId = typeof TRefTypeId
33
33
  * @since 2.0.0
34
34
  * @category models
35
35
  */
36
- export interface TRef<A> extends TRef.Variance<A> {
36
+ export interface TRef<in out A> extends TRef.Variance<A> {
37
37
  /**
38
38
  * Note: the method is unbound, exposed only for potential extensions.
39
39
  */
40
- readonly modify: <B>(f: (a: A) => readonly [B, A]) => STM.STM<never, never, B>
40
+ modify<B>(f: (a: A) => readonly [B, A]): STM.STM<never, never, B>
41
41
  }
42
42
  /**
43
43
  * @internal
44
44
  * @since 2.0.0
45
45
  */
46
- export interface TRef<A> {
46
+ export interface TRef<in out A> {
47
47
  /** @internal */
48
48
  todos: Map<TxnId.TxnId, Journal.Todo>
49
49
  /** @internal */
@@ -57,7 +57,7 @@ export declare namespace TRef {
57
57
  /**
58
58
  * @since 2.0.0
59
59
  */
60
- export interface Variance<A> {
60
+ export interface Variance<in out A> {
61
61
  readonly [TRefTypeId]: {
62
62
  readonly _A: (_: A) => A
63
63
  }
package/src/TSet.ts CHANGED
@@ -27,12 +27,12 @@ export type TSetTypeId = typeof TSetTypeId
27
27
  * @since 2.0.0
28
28
  * @category models
29
29
  */
30
- export interface TSet<A> extends TSet.Variance<A> {}
30
+ export interface TSet<in out A> extends TSet.Variance<A> {}
31
31
  /**
32
32
  * @internal
33
33
  * @since 2.0.0
34
34
  */
35
- export interface TSet<A> {
35
+ export interface TSet<in out A> {
36
36
  /** @internal */
37
37
  readonly tMap: TMap.TMap<A, void>
38
38
  }
@@ -45,9 +45,9 @@ export declare namespace TSet {
45
45
  * @since 2.0.0
46
46
  * @category models
47
47
  */
48
- export interface Variance<A> {
48
+ export interface Variance<in out A> {
49
49
  readonly [TSetTypeId]: {
50
- readonly _A: (_: never) => A
50
+ readonly _A: (_: A) => A
51
51
  }
52
52
  }
53
53
  }
package/src/Take.ts CHANGED
@@ -29,7 +29,7 @@ export type TakeTypeId = typeof TakeTypeId
29
29
  * @since 2.0.0
30
30
  * @category models
31
31
  */
32
- export interface Take<E, A> extends Take.Variance<E, A>, Pipeable {
32
+ export interface Take<out E, out A> extends Take.Variance<E, A>, Pipeable {
33
33
  /** @internal */
34
34
  readonly exit: Exit.Exit<Option.Option<E>, Chunk.Chunk<A>>
35
35
  }
@@ -42,7 +42,7 @@ export declare namespace Take {
42
42
  * @since 2.0.0
43
43
  * @category models
44
44
  */
45
- export interface Variance<E, A> {
45
+ export interface Variance<out E, out A> {
46
46
  readonly [TakeTypeId]: {
47
47
  readonly _E: (_: never) => E
48
48
  readonly _A: (_: never) => A
@@ -29,17 +29,21 @@ export type TestAnnotationTypeId = typeof TestAnnotationTypeId
29
29
  /**
30
30
  * @since 2.0.0
31
31
  */
32
- export interface TestAnnotation<A> extends Equal.Equal {
33
- readonly [TestAnnotationTypeId]: TestAnnotationTypeId
32
+ export interface TestAnnotation<in out A> extends Equal.Equal {
33
+ readonly [TestAnnotationTypeId]: {
34
+ readonly _A: (_: A) => A
35
+ }
34
36
  readonly identifier: string
35
37
  readonly tag: Context.Tag<A, A>
36
38
  readonly initial: A
37
- readonly combine: (a: A, b: A) => A
39
+ combine(a: A, b: A): A
38
40
  }
39
41
 
40
42
  /** @internal */
41
43
  class TestAnnotationImpl<A> implements Equal.Equal {
42
- readonly [TestAnnotationTypeId]: TestAnnotationTypeId = TestAnnotationTypeId
44
+ readonly [TestAnnotationTypeId] = {
45
+ _A: (_: any) => _
46
+ }
43
47
  constructor(
44
48
  readonly identifier: string,
45
49
  readonly tag: Context.Tag<A, A>,
@@ -46,13 +46,13 @@ export interface TestAnnotations {
46
46
  * Accesses an `Annotations` instance in the context and retrieves the
47
47
  * annotation of the specified type, or its default value if there is none.
48
48
  */
49
- readonly get: <A>(key: TestAnnotation.TestAnnotation<A>) => Effect.Effect<never, never, A>
49
+ get<A>(key: TestAnnotation.TestAnnotation<A>): Effect.Effect<never, never, A>
50
50
 
51
51
  /**
52
52
  * Accesses an `Annotations` instance in the context and appends the
53
53
  * specified annotation to the annotation map.
54
54
  */
55
- readonly annotate: <A>(key: TestAnnotation.TestAnnotation<A>, value: A) => Effect.Effect<never, never, void>
55
+ annotate<A>(key: TestAnnotation.TestAnnotation<A>, value: A): Effect.Effect<never, never, void>
56
56
 
57
57
  /**
58
58
  * Returns the set of all fibers in this test.
package/src/TestClock.ts CHANGED
@@ -76,12 +76,10 @@ import * as Live from "./TestLive.js"
76
76
  * @since 2.0.0
77
77
  */
78
78
  export interface TestClock extends Clock.Clock {
79
- readonly adjust: (duration: Duration.DurationInput) => Effect.Effect<never, never, void>
80
- readonly adjustWith: (
81
- duration: Duration.DurationInput
82
- ) => <R, E, A>(effect: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>
79
+ adjust(duration: Duration.DurationInput): Effect.Effect<never, never, void>
80
+ adjustWith(duration: Duration.DurationInput): <R, E, A>(effect: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>
83
81
  readonly save: Effect.Effect<never, never, Effect.Effect<never, never, void>>
84
- readonly setTime: (time: number) => Effect.Effect<never, never, void>
82
+ setTime(time: number): Effect.Effect<never, never, void>
85
83
  readonly sleeps: Effect.Effect<never, never, Chunk.Chunk<number>>
86
84
  }
87
85
 
package/src/TestLive.ts CHANGED
@@ -27,7 +27,7 @@ export type TestLiveTypeId = typeof TestLiveTypeId
27
27
  */
28
28
  export interface TestLive {
29
29
  readonly [TestLiveTypeId]: TestLiveTypeId
30
- readonly provide: <R, E, A>(effect: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>
30
+ provide<R, E, A>(effect: Effect.Effect<R, E, A>): Effect.Effect<R, E, A>
31
31
  }
32
32
 
33
33
  /**
package/src/TestSized.ts CHANGED
@@ -23,7 +23,7 @@ export interface TestSized {
23
23
  readonly [TestSizedTypeId]: TestSizedTypeId
24
24
  readonly fiberRef: FiberRef.FiberRef<number>
25
25
  readonly size: Effect.Effect<never, never, number>
26
- readonly withSize: (size: number) => <R, E, A>(effect: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>
26
+ withSize(size: number): <R, E, A>(effect: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>
27
27
  }
28
28
 
29
29
  /**
package/src/Tracer.ts CHANGED
@@ -24,14 +24,14 @@ export type TracerTypeId = typeof TracerTypeId
24
24
  */
25
25
  export interface Tracer {
26
26
  readonly [TracerTypeId]: TracerTypeId
27
- readonly span: (
27
+ span(
28
28
  name: string,
29
29
  parent: Option.Option<ParentSpan>,
30
30
  context: Context.Context<never>,
31
31
  links: ReadonlyArray<SpanLink>,
32
32
  startTime: bigint
33
- ) => Span
34
- readonly context: <X>(f: () => X, fiber: Fiber.RuntimeFiber<any, any>) => X
33
+ ): Span
34
+ context<X>(f: () => X, fiber: Fiber.RuntimeFiber<any, any>): X
35
35
  }
36
36
 
37
37
  /**
@@ -87,9 +87,9 @@ export interface Span {
87
87
  readonly attributes: ReadonlyMap<string, unknown>
88
88
  readonly links: ReadonlyArray<SpanLink>
89
89
  readonly sampled: boolean
90
- readonly end: (endTime: bigint, exit: Exit.Exit<unknown, unknown>) => void
91
- readonly attribute: (key: string, value: unknown) => void
92
- readonly event: (name: string, startTime: bigint, attributes?: Record<string, unknown>) => void
90
+ end(endTime: bigint, exit: Exit.Exit<unknown, unknown>): void
91
+ attribute(key: string, value: unknown): void
92
+ event(name: string, startTime: bigint, attributes?: Record<string, unknown>): void
93
93
  }
94
94
 
95
95
  /**
package/src/Types.ts CHANGED
@@ -142,3 +142,11 @@ export type Concurrency = number | "unbounded" | "inherit"
142
142
  export type Mutable<T> = {
143
143
  -readonly [P in keyof T]: T[P]
144
144
  }
145
+
146
+ /**
147
+ * Avoid inference on a specific parameter
148
+ *
149
+ * @since 2.0.0
150
+ * @category models
151
+ */
152
+ export type NoInfer<A> = [A][A extends any ? 0 : never]
@@ -29,7 +29,7 @@ export declare namespace UpstreamPullRequest {
29
29
  * @since 2.0.0
30
30
  * @category models
31
31
  */
32
- export interface Variance<A> {
32
+ export interface Variance<out A> {
33
33
  readonly [UpstreamPullRequestTypeId]: {
34
34
  readonly _A: (_: never) => A
35
35
  }
@@ -40,7 +40,7 @@ export declare namespace UpstreamPullRequest {
40
40
  * @since 2.0.0
41
41
  * @category models
42
42
  */
43
- export interface Pulled<A> extends UpstreamPullRequest.Variance<A> {
43
+ export interface Pulled<out A> extends UpstreamPullRequest.Variance<A> {
44
44
  readonly _tag: "Pulled"
45
45
  readonly value: A
46
46
  }
@@ -101,10 +101,16 @@ export const isNoUpstream: <A>(self: UpstreamPullRequest<A>) => self is NoUpstre
101
101
  */
102
102
  export const match: {
103
103
  <A, Z>(
104
- options: { readonly onPulled: (value: A) => Z; readonly onNoUpstream: (activeDownstreamCount: number) => Z }
104
+ options: {
105
+ readonly onPulled: (value: A) => Z
106
+ readonly onNoUpstream: (activeDownstreamCount: number) => Z
107
+ }
105
108
  ): (self: UpstreamPullRequest<A>) => Z
106
109
  <A, Z>(
107
110
  self: UpstreamPullRequest<A>,
108
- options: { readonly onPulled: (value: A) => Z; readonly onNoUpstream: (activeDownstreamCount: number) => Z }
111
+ options: {
112
+ readonly onPulled: (value: A) => Z
113
+ readonly onNoUpstream: (activeDownstreamCount: number) => Z
114
+ }
109
115
  ): Z
110
116
  } = internal.match
@@ -30,7 +30,7 @@ export declare namespace UpstreamPullStrategy {
30
30
  * @since 2.0.0
31
31
  * @category models
32
32
  */
33
- export interface Variance<A> {
33
+ export interface Variance<out A> {
34
34
  readonly [UpstreamPullStrategyTypeId]: {
35
35
  readonly _A: (_: never) => A
36
36
  }
@@ -41,7 +41,7 @@ export declare namespace UpstreamPullStrategy {
41
41
  * @since 2.0.0
42
42
  * @category models
43
43
  */
44
- export interface PullAfterNext<A> extends UpstreamPullStrategy.Variance<A> {
44
+ export interface PullAfterNext<out A> extends UpstreamPullStrategy.Variance<A> {
45
45
  readonly _tag: "PullAfterNext"
46
46
  readonly emitSeparator: Option.Option<A>
47
47
  }
@@ -50,7 +50,7 @@ export interface PullAfterNext<A> extends UpstreamPullStrategy.Variance<A> {
50
50
  * @since 2.0.0
51
51
  * @category models
52
52
  */
53
- export interface PullAfterAllEnqueued<A> extends UpstreamPullStrategy.Variance<A> {
53
+ export interface PullAfterAllEnqueued<out A> extends UpstreamPullStrategy.Variance<A> {
54
54
  readonly _tag: "PullAfterAllEnqueued"
55
55
  readonly emitSeparator: Option.Option<A>
56
56
  }
package/src/Utils.ts CHANGED
@@ -38,7 +38,7 @@ export type GenKindTypeId = typeof GenKindTypeId
38
38
  export interface GenKind<F extends TypeLambda, R, O, E, A> extends Variance<F, R, O, E> {
39
39
  readonly value: Kind<F, R, O, E, A>
40
40
 
41
- readonly [Symbol.iterator]: () => Generator<GenKind<F, R, O, E, A>, A>
41
+ [Symbol.iterator](): Generator<GenKind<F, R, O, E, A>, A>
42
42
  }
43
43
 
44
44
  /**
package/src/index.ts CHANGED
@@ -514,6 +514,11 @@ export * as Pool from "./Pool.js"
514
514
  */
515
515
  export * as Predicate from "./Predicate.js"
516
516
 
517
+ /**
518
+ * @since 2.0.0
519
+ */
520
+ export * as PrimaryKey from "./PrimaryKey.js"
521
+
517
522
  /**
518
523
  * @since 2.0.0
519
524
  */
@@ -354,7 +354,7 @@ const parallelVariance = {
354
354
  _R: (_: never) => _
355
355
  }
356
356
 
357
- class ParallelImpl<R> implements ParallelCollection<R> {
357
+ class ParallelImpl<out R> implements ParallelCollection<R> {
358
358
  readonly [RequestBlockParallelTypeId] = parallelVariance
359
359
  constructor(
360
360
  readonly map: HashMap.HashMap<
@@ -417,7 +417,7 @@ const sequentialVariance = {
417
417
  _R: (_: never) => _
418
418
  }
419
419
 
420
- class SequentialImpl<R> implements SequentialCollection<R> {
420
+ class SequentialImpl<out R> implements SequentialCollection<R> {
421
421
  readonly [SequentialCollectionTypeId] = sequentialVariance
422
422
  constructor(
423
423
  readonly map: HashMap.HashMap<
@@ -468,7 +468,7 @@ export const sequentialCollectionToChunk = <R>(
468
468
  export type RequestBlockParallelTypeId = typeof RequestBlockParallelTypeId
469
469
 
470
470
  /** @internal */
471
- export interface ParallelCollection<R> extends ParallelCollection.Variance<R> {
471
+ export interface ParallelCollection<out R> extends ParallelCollection.Variance<R> {
472
472
  readonly map: HashMap.HashMap<
473
473
  RequestResolver.RequestResolver<unknown, unknown>,
474
474
  Array<Request.Entry<unknown>>
@@ -478,7 +478,7 @@ export interface ParallelCollection<R> extends ParallelCollection.Variance<R> {
478
478
  /** @internal */
479
479
  export declare namespace ParallelCollection {
480
480
  /** @internal */
481
- export interface Variance<R> {
481
+ export interface Variance<out R> {
482
482
  readonly [RequestBlockParallelTypeId]: {
483
483
  readonly _R: (_: never) => R
484
484
  }
@@ -489,7 +489,7 @@ export declare namespace ParallelCollection {
489
489
  export type SequentialCollectionTypeId = typeof SequentialCollectionTypeId
490
490
 
491
491
  /** @internal */
492
- export interface SequentialCollection<R> extends SequentialCollection.Variance<R> {
492
+ export interface SequentialCollection<out R> extends SequentialCollection.Variance<R> {
493
493
  readonly map: HashMap.HashMap<
494
494
  RequestResolver.RequestResolver<unknown, unknown>,
495
495
  Array<Array<Request.Entry<unknown>>>
@@ -499,7 +499,7 @@ export interface SequentialCollection<R> extends SequentialCollection.Variance<R
499
499
  /** @internal */
500
500
  export declare namespace SequentialCollection {
501
501
  /** @internal */
502
- export interface Variance<R> {
502
+ export interface Variance<out R> {
503
503
  readonly [SequentialCollectionTypeId]: {
504
504
  readonly _R: (_: never) => R
505
505
  }
@@ -35,7 +35,7 @@ export type MapValue<Key, Error, Value> =
35
35
  | Refreshing<Key, Error, Value>
36
36
 
37
37
  /** @internal */
38
- export interface Complete<Key, Error, Value> {
38
+ export interface Complete<out Key, out Error, out Value> {
39
39
  readonly _tag: "Complete"
40
40
  readonly key: MapKey<Key>
41
41
  readonly exit: Exit.Exit<Error, Value>
@@ -44,14 +44,14 @@ export interface Complete<Key, Error, Value> {
44
44
  }
45
45
 
46
46
  /** @internal */
47
- export interface Pending<Key, Error, Value> {
47
+ export interface Pending<out Key, in out Error, in out Value> {
48
48
  readonly _tag: "Pending"
49
49
  readonly key: MapKey<Key>
50
50
  readonly deferred: Deferred.Deferred<Error, Value>
51
51
  }
52
52
 
53
53
  /** @internal */
54
- export interface Refreshing<Key, Error, Value> {
54
+ export interface Refreshing<out Key, in out Error, in out Value> {
55
55
  readonly _tag: "Refreshing"
56
56
  readonly deferred: Deferred.Deferred<Error, Value>
57
57
  readonly complete: Complete<Key, Error, Value>
@@ -107,14 +107,14 @@ export type MapKeyTypeId = typeof MapKeyTypeId
107
107
  *
108
108
  * @internal
109
109
  */
110
- export interface MapKey<K> extends Equal.Equal {
110
+ export interface MapKey<out K> extends Equal.Equal {
111
111
  readonly [MapKeyTypeId]: MapKeyTypeId
112
112
  readonly current: K
113
113
  previous: MapKey<K> | undefined // mutable by design
114
114
  next: MapKey<K> | undefined // mutable by design
115
115
  }
116
116
 
117
- class MapKeyImpl<K> implements MapKey<K> {
117
+ class MapKeyImpl<out K> implements MapKey<K> {
118
118
  readonly [MapKeyTypeId]: MapKeyTypeId = MapKeyTypeId
119
119
  previous: MapKey<K> | undefined = undefined
120
120
  next: MapKey<K> | undefined = undefined
@@ -150,20 +150,20 @@ export const isMapKey = (u: unknown): u is MapKey<unknown> => hasProperty(u, Map
150
150
  *
151
151
  * @internal
152
152
  */
153
- export interface KeySet<K> {
153
+ export interface KeySet<in out K> {
154
154
  head: MapKey<K> | undefined // mutable by design
155
155
  tail: MapKey<K> | undefined // mutable by design
156
156
  /**
157
157
  * Adds the specified key to the set.
158
158
  */
159
- readonly add: (key: MapKey<K>) => void
159
+ add(key: MapKey<K>): void
160
160
  /**
161
161
  * Removes the lowest priority key from the set.
162
162
  */
163
- readonly remove: () => MapKey<K> | undefined
163
+ remove(): MapKey<K> | undefined
164
164
  }
165
165
 
166
- class KeySetImpl<K> implements KeySet<K> {
166
+ class KeySetImpl<in out K> implements KeySet<K> {
167
167
  head: MapKey<K> | undefined = undefined
168
168
  tail: MapKey<K> | undefined = undefined
169
169
  add(key: MapKey<K>): void {
@@ -215,7 +215,7 @@ export const makeKeySet = <K>(): KeySet<K> => new KeySetImpl<K>()
215
215
  *
216
216
  * @internal
217
217
  */
218
- export interface CacheState<Key, Error, Value> {
218
+ export interface CacheState<in out Key, in out Error, in out Value> {
219
219
  map: MutableHashMap.MutableHashMap<Key, MapValue<Key, Error, Value>> // mutable by design
220
220
  keys: KeySet<Key> // mutable by design
221
221
  accesses: MutableQueue.MutableQueue<MapKey<Key>> // mutable by design
@@ -269,7 +269,7 @@ export const CacheTypeId: Cache.CacheTypeId = Symbol.for(
269
269
  ) as Cache.CacheTypeId
270
270
 
271
271
  const cacheVariance = {
272
- _Key: (_: unknown) => _,
272
+ _Key: (_: any) => _,
273
273
  _Error: (_: never) => _,
274
274
  _Value: (_: never) => _
275
275
  }
@@ -288,7 +288,7 @@ export const makeEntryStats = (loadedMillis: number): Cache.EntryStats => ({
288
288
  loadedMillis
289
289
  })
290
290
 
291
- class CacheImpl<Key, Error, Value> implements Cache.Cache<Key, Error, Value> {
291
+ class CacheImpl<in out Key, in out Error, in out Value> implements Cache.Cache<Key, Error, Value> {
292
292
  readonly [CacheTypeId] = cacheVariance
293
293
  readonly cacheState: CacheState<Key, Error, Value>
294
294
  constructor(