effect 2.0.0-next.55 → 2.0.0-next.57

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1063) hide show
  1. package/README.md +14 -9
  2. package/dist/cjs/BigDecimal.js +9 -9
  3. package/dist/cjs/BigDecimal.js.map +1 -1
  4. package/dist/cjs/BigInt.js.map +1 -1
  5. package/dist/cjs/Boolean.js.map +1 -1
  6. package/dist/cjs/Brand.js.map +1 -1
  7. package/dist/cjs/Cache.js.map +1 -1
  8. package/dist/cjs/Cause.js +53 -18
  9. package/dist/cjs/Cause.js.map +1 -1
  10. package/dist/cjs/Channel.js.map +1 -1
  11. package/dist/cjs/ChildExecutorDecision.js.map +1 -1
  12. package/dist/cjs/Chunk.js +43 -34
  13. package/dist/cjs/Chunk.js.map +1 -1
  14. package/dist/cjs/Config.js +3 -3
  15. package/dist/cjs/Config.js.map +1 -1
  16. package/dist/cjs/Context.js.map +1 -1
  17. package/dist/cjs/Data.js +11 -20
  18. package/dist/cjs/Data.js.map +1 -1
  19. package/dist/cjs/Deferred.js.map +1 -1
  20. package/dist/cjs/Differ.js.map +1 -1
  21. package/dist/cjs/Duration.js +49 -2
  22. package/dist/cjs/Duration.js.map +1 -1
  23. package/dist/cjs/Effect.js +10 -8
  24. package/dist/cjs/Effect.js.map +1 -1
  25. package/dist/cjs/Either.js +44 -8
  26. package/dist/cjs/Either.js.map +1 -1
  27. package/dist/cjs/Equal.js.map +1 -1
  28. package/dist/cjs/Equivalence.js +1 -1
  29. package/dist/cjs/Equivalence.js.map +1 -1
  30. package/dist/cjs/Exit.js.map +1 -1
  31. package/dist/cjs/Fiber.js.map +1 -1
  32. package/dist/cjs/FiberRef.js +6 -1
  33. package/dist/cjs/FiberRef.js.map +1 -1
  34. package/dist/cjs/Function.js.map +1 -1
  35. package/dist/cjs/GlobalValue.js.map +1 -1
  36. package/dist/cjs/GroupBy.js.map +1 -1
  37. package/dist/cjs/Hash.js.map +1 -1
  38. package/dist/cjs/HashMap.js.map +1 -1
  39. package/dist/cjs/Inspectable.js +4 -6
  40. package/dist/cjs/Inspectable.js.map +1 -1
  41. package/dist/cjs/KeyedPool.js.map +1 -1
  42. package/dist/cjs/Layer.js +9 -29
  43. package/dist/cjs/Layer.js.map +1 -1
  44. package/dist/cjs/List.js +25 -22
  45. package/dist/cjs/List.js.map +1 -1
  46. package/dist/cjs/LogLevel.js.map +1 -1
  47. package/dist/cjs/Logger.js.map +1 -1
  48. package/dist/cjs/Match.js.map +1 -1
  49. package/dist/cjs/MergeDecision.js.map +1 -1
  50. package/dist/cjs/MergeState.js.map +1 -1
  51. package/dist/cjs/Metric.js.map +1 -1
  52. package/dist/cjs/MetricHook.js.map +1 -1
  53. package/dist/cjs/MetricKey.js.map +1 -1
  54. package/dist/cjs/MetricKeyType.js.map +1 -1
  55. package/dist/cjs/MetricPair.js.map +1 -1
  56. package/dist/cjs/MetricPolling.js +2 -2
  57. package/dist/cjs/MetricPolling.js.map +1 -1
  58. package/dist/cjs/MetricState.js.map +1 -1
  59. package/dist/cjs/MutableHashMap.js +1 -1
  60. package/dist/cjs/MutableHashMap.js.map +1 -1
  61. package/dist/cjs/MutableHashSet.js +1 -1
  62. package/dist/cjs/MutableHashSet.js.map +1 -1
  63. package/dist/cjs/MutableList.js +1 -1
  64. package/dist/cjs/MutableList.js.map +1 -1
  65. package/dist/cjs/MutableQueue.js +1 -1
  66. package/dist/cjs/MutableQueue.js.map +1 -1
  67. package/dist/cjs/MutableRef.js +1 -1
  68. package/dist/cjs/MutableRef.js.map +1 -1
  69. package/dist/cjs/NonEmptyIterable.js.map +1 -1
  70. package/dist/cjs/Number.js.map +1 -1
  71. package/dist/cjs/Option.js +21 -14
  72. package/dist/cjs/Option.js.map +1 -1
  73. package/dist/cjs/Order.js +1 -1
  74. package/dist/cjs/Order.js.map +1 -1
  75. package/dist/cjs/Ordering.js.map +1 -1
  76. package/dist/cjs/Pipeable.js.map +1 -1
  77. package/dist/cjs/Pool.js +15 -17
  78. package/dist/cjs/Pool.js.map +1 -1
  79. package/dist/cjs/Predicate.js +17 -1
  80. package/dist/cjs/Predicate.js.map +1 -1
  81. package/dist/cjs/PrimaryKey.js +21 -0
  82. package/dist/cjs/PrimaryKey.js.map +1 -0
  83. package/dist/cjs/Queue.js +6 -1
  84. package/dist/cjs/Queue.js.map +1 -1
  85. package/dist/cjs/ReadonlyArray.js +202 -187
  86. package/dist/cjs/ReadonlyArray.js.map +1 -1
  87. package/dist/cjs/ReadonlyRecord.js +61 -8
  88. package/dist/cjs/ReadonlyRecord.js.map +1 -1
  89. package/dist/cjs/RedBlackTree.js.map +1 -1
  90. package/dist/cjs/Ref.js.map +1 -1
  91. package/dist/cjs/Reloadable.js.map +1 -1
  92. package/dist/cjs/Request.js +42 -1
  93. package/dist/cjs/Request.js.map +1 -1
  94. package/dist/cjs/RequestBlock.js +5 -24
  95. package/dist/cjs/RequestBlock.js.map +1 -1
  96. package/dist/cjs/RequestResolver.js.map +1 -1
  97. package/dist/cjs/Resource.js.map +1 -1
  98. package/dist/cjs/STM.js +1 -1
  99. package/dist/cjs/STM.js.map +1 -1
  100. package/dist/cjs/Schedule.js.map +1 -1
  101. package/dist/cjs/Scheduler.js.map +1 -1
  102. package/dist/cjs/ScopedCache.js.map +1 -1
  103. package/dist/cjs/ScopedRef.js.map +1 -1
  104. package/dist/cjs/Sink.js.map +1 -1
  105. package/dist/cjs/SortedMap.js +5 -2
  106. package/dist/cjs/SortedMap.js.map +1 -1
  107. package/dist/cjs/SortedSet.js +3 -3
  108. package/dist/cjs/SortedSet.js.map +1 -1
  109. package/dist/cjs/Stream.js.map +1 -1
  110. package/dist/cjs/Streamable.js +3 -0
  111. package/dist/cjs/Streamable.js.map +1 -1
  112. package/dist/cjs/String.js.map +1 -1
  113. package/dist/cjs/Struct.js.map +1 -1
  114. package/dist/cjs/SubscriptionRef.js.map +1 -1
  115. package/dist/cjs/Supervisor.js.map +1 -1
  116. package/dist/cjs/SynchronizedRef.js.map +1 -1
  117. package/dist/cjs/TArray.js.map +1 -1
  118. package/dist/cjs/TDeferred.js.map +1 -1
  119. package/dist/cjs/TMap.js.map +1 -1
  120. package/dist/cjs/TPriorityQueue.js.map +1 -1
  121. package/dist/cjs/TPubSub.js.map +1 -1
  122. package/dist/cjs/TQueue.js.map +1 -1
  123. package/dist/cjs/TRef.js.map +1 -1
  124. package/dist/cjs/TSet.js.map +1 -1
  125. package/dist/cjs/Take.js.map +1 -1
  126. package/dist/cjs/TestAnnotation.js +3 -1
  127. package/dist/cjs/TestAnnotation.js.map +1 -1
  128. package/dist/cjs/TestAnnotationMap.js.map +1 -1
  129. package/dist/cjs/TestAnnotations.js.map +1 -1
  130. package/dist/cjs/TestClock.js.map +1 -1
  131. package/dist/cjs/TestContext.js +2 -2
  132. package/dist/cjs/TestContext.js.map +1 -1
  133. package/dist/cjs/UpstreamPullRequest.js.map +1 -1
  134. package/dist/cjs/UpstreamPullStrategy.js.map +1 -1
  135. package/dist/cjs/Utils.js.map +1 -1
  136. package/dist/cjs/index.js +4 -2
  137. package/dist/cjs/index.js.map +1 -1
  138. package/dist/cjs/internal/Iterable.js.map +1 -1
  139. package/dist/cjs/internal/blockedRequests.js +3 -2
  140. package/dist/cjs/internal/blockedRequests.js.map +1 -1
  141. package/dist/cjs/internal/cache.js +3 -0
  142. package/dist/cjs/internal/cache.js.map +1 -1
  143. package/dist/cjs/internal/cause.js +5 -104
  144. package/dist/cjs/internal/cause.js.map +1 -1
  145. package/dist/cjs/internal/channel/channelExecutor.js.map +1 -1
  146. package/dist/cjs/internal/channel/channelState.js +2 -1
  147. package/dist/cjs/internal/channel/channelState.js.map +1 -1
  148. package/dist/cjs/internal/channel/childExecutorDecision.js.map +1 -1
  149. package/dist/cjs/internal/channel/continuation.js +9 -1
  150. package/dist/cjs/internal/channel/continuation.js.map +1 -1
  151. package/dist/cjs/internal/channel/mergeDecision.js.map +1 -1
  152. package/dist/cjs/internal/channel/mergeState.js.map +1 -1
  153. package/dist/cjs/internal/channel/mergeStrategy.js.map +1 -1
  154. package/dist/cjs/internal/channel/singleProducerAsyncInput.js.map +1 -1
  155. package/dist/cjs/internal/channel/subexecutor.js.map +1 -1
  156. package/dist/cjs/internal/channel/upstreamPullRequest.js +1 -1
  157. package/dist/cjs/internal/channel/upstreamPullRequest.js.map +1 -1
  158. package/dist/cjs/internal/channel/upstreamPullStrategy.js +1 -1
  159. package/dist/cjs/internal/channel/upstreamPullStrategy.js.map +1 -1
  160. package/dist/cjs/internal/channel.js.map +1 -1
  161. package/dist/cjs/internal/clock.js.map +1 -1
  162. package/dist/cjs/internal/concurrency.js.map +1 -1
  163. package/dist/cjs/internal/config.js +16 -24
  164. package/dist/cjs/internal/config.js.map +1 -1
  165. package/dist/cjs/internal/configError.js +2 -2
  166. package/dist/cjs/internal/configError.js.map +1 -1
  167. package/dist/cjs/internal/configProvider/pathPatch.js.map +1 -1
  168. package/dist/cjs/internal/configProvider.js +18 -4
  169. package/dist/cjs/internal/configProvider.js.map +1 -1
  170. package/dist/cjs/internal/configSecret.js.map +1 -1
  171. package/dist/cjs/internal/context.js +5 -5
  172. package/dist/cjs/internal/context.js.map +1 -1
  173. package/dist/cjs/internal/core-effect.js +19 -15
  174. package/dist/cjs/internal/core-effect.js.map +1 -1
  175. package/dist/cjs/internal/core-stream.js +7 -1
  176. package/dist/cjs/internal/core-stream.js.map +1 -1
  177. package/dist/cjs/internal/core.js +203 -85
  178. package/dist/cjs/internal/core.js.map +1 -1
  179. package/dist/cjs/internal/data.js +4 -22
  180. package/dist/cjs/internal/data.js.map +1 -1
  181. package/dist/cjs/internal/dataSource.js +1 -1
  182. package/dist/cjs/internal/dataSource.js.map +1 -1
  183. package/dist/cjs/internal/deferred.js +2 -0
  184. package/dist/cjs/internal/deferred.js.map +1 -1
  185. package/dist/cjs/internal/differ/chunkPatch.js.map +1 -1
  186. package/dist/cjs/internal/differ/contextPatch.js.map +1 -1
  187. package/dist/cjs/internal/differ/hashMapPatch.js.map +1 -1
  188. package/dist/cjs/internal/differ/hashSetPatch.js.map +1 -1
  189. package/dist/cjs/internal/differ/orPatch.js.map +1 -1
  190. package/dist/cjs/internal/differ.js.map +1 -1
  191. package/dist/cjs/internal/effect/circular.js +1 -0
  192. package/dist/cjs/internal/effect/circular.js.map +1 -1
  193. package/dist/cjs/internal/effectable.js +38 -7
  194. package/dist/cjs/internal/effectable.js.map +1 -1
  195. package/dist/cjs/internal/either.js +1 -1
  196. package/dist/cjs/internal/either.js.map +1 -1
  197. package/dist/cjs/internal/encoding/base64.js.map +1 -1
  198. package/dist/cjs/internal/encoding/base64Url.js.map +1 -1
  199. package/dist/cjs/internal/encoding/common.js.map +1 -1
  200. package/dist/cjs/internal/encoding/hex.js.map +1 -1
  201. package/dist/cjs/internal/executionStrategy.js.map +1 -1
  202. package/dist/cjs/internal/fiber.js +2 -0
  203. package/dist/cjs/internal/fiber.js.map +1 -1
  204. package/dist/cjs/internal/fiberId.js +3 -3
  205. package/dist/cjs/internal/fiberId.js.map +1 -1
  206. package/dist/cjs/internal/fiberMessage.js.map +1 -1
  207. package/dist/cjs/internal/fiberRefs/patch.js.map +1 -1
  208. package/dist/cjs/internal/fiberRefs.js.map +1 -1
  209. package/dist/cjs/internal/fiberRuntime.js +181 -218
  210. package/dist/cjs/internal/fiberRuntime.js.map +1 -1
  211. package/dist/cjs/internal/groupBy.js +4 -1
  212. package/dist/cjs/internal/groupBy.js.map +1 -1
  213. package/dist/cjs/internal/hashMap/array.js.map +1 -1
  214. package/dist/cjs/internal/hashMap/node.js.map +1 -1
  215. package/dist/cjs/internal/hashMap.js +2 -2
  216. package/dist/cjs/internal/hashMap.js.map +1 -1
  217. package/dist/cjs/internal/hashSet.js +3 -3
  218. package/dist/cjs/internal/hashSet.js.map +1 -1
  219. package/dist/cjs/internal/keyedPool.js +3 -0
  220. package/dist/cjs/internal/keyedPool.js.map +1 -1
  221. package/dist/cjs/internal/layer.js +23 -53
  222. package/dist/cjs/internal/layer.js.map +1 -1
  223. package/dist/cjs/internal/logger.js +2 -1
  224. package/dist/cjs/internal/logger.js.map +1 -1
  225. package/dist/cjs/internal/matcher.js.map +1 -1
  226. package/dist/cjs/internal/metric/hook.js +2 -1
  227. package/dist/cjs/internal/metric/hook.js.map +1 -1
  228. package/dist/cjs/internal/metric/key.js +1 -1
  229. package/dist/cjs/internal/metric/key.js.map +1 -1
  230. package/dist/cjs/internal/metric/keyType.js +2 -1
  231. package/dist/cjs/internal/metric/keyType.js.map +1 -1
  232. package/dist/cjs/internal/metric/pair.js +1 -1
  233. package/dist/cjs/internal/metric/pair.js.map +1 -1
  234. package/dist/cjs/internal/metric/polling.js +7 -7
  235. package/dist/cjs/internal/metric/polling.js.map +1 -1
  236. package/dist/cjs/internal/metric/registry.js.map +1 -1
  237. package/dist/cjs/internal/metric/state.js +1 -1
  238. package/dist/cjs/internal/metric/state.js.map +1 -1
  239. package/dist/cjs/internal/metric.js +11 -5
  240. package/dist/cjs/internal/metric.js.map +1 -1
  241. package/dist/cjs/internal/opCodes/layer.js +4 -4
  242. package/dist/cjs/internal/opCodes/layer.js.map +1 -1
  243. package/dist/cjs/internal/option.js +1 -1
  244. package/dist/cjs/internal/option.js.map +1 -1
  245. package/dist/cjs/internal/pool.js +2 -0
  246. package/dist/cjs/internal/pool.js.map +1 -1
  247. package/dist/cjs/internal/pubsub.js +25 -24
  248. package/dist/cjs/internal/pubsub.js.map +1 -1
  249. package/dist/cjs/internal/query.js +1 -1
  250. package/dist/cjs/internal/query.js.map +1 -1
  251. package/dist/cjs/internal/queue.js +14 -3
  252. package/dist/cjs/internal/queue.js.map +1 -1
  253. package/dist/cjs/internal/random.js.map +1 -1
  254. package/dist/cjs/internal/redBlackTree/iterator.js.map +1 -1
  255. package/dist/cjs/internal/redBlackTree.js +8 -2
  256. package/dist/cjs/internal/redBlackTree.js.map +1 -1
  257. package/dist/cjs/internal/ref.js +1 -0
  258. package/dist/cjs/internal/ref.js.map +1 -1
  259. package/dist/cjs/internal/reloadable.js +1 -1
  260. package/dist/cjs/internal/reloadable.js.map +1 -1
  261. package/dist/cjs/internal/request.js +33 -16
  262. package/dist/cjs/internal/request.js.map +1 -1
  263. package/dist/cjs/internal/resource.js +4 -3
  264. package/dist/cjs/internal/resource.js.map +1 -1
  265. package/dist/cjs/internal/ringBuffer.js.map +1 -1
  266. package/dist/cjs/internal/runtime.js +3 -4
  267. package/dist/cjs/internal/runtime.js.map +1 -1
  268. package/dist/cjs/internal/runtimeFlags.js.map +1 -1
  269. package/dist/cjs/internal/schedule/interval.js.map +1 -1
  270. package/dist/cjs/internal/schedule/intervals.js.map +1 -1
  271. package/dist/cjs/internal/schedule.js +12 -8
  272. package/dist/cjs/internal/schedule.js.map +1 -1
  273. package/dist/cjs/internal/scopedCache.js +5 -2
  274. package/dist/cjs/internal/scopedCache.js.map +1 -1
  275. package/dist/cjs/internal/scopedRef.js +1 -0
  276. package/dist/cjs/internal/scopedRef.js.map +1 -1
  277. package/dist/cjs/internal/sink.js +6 -2
  278. package/dist/cjs/internal/sink.js.map +1 -1
  279. package/dist/cjs/internal/stm/core.js +5 -3
  280. package/dist/cjs/internal/stm/core.js.map +1 -1
  281. package/dist/cjs/internal/stm/stm/journal.js.map +1 -1
  282. package/dist/cjs/internal/stm/stm/stmState.js.map +1 -1
  283. package/dist/cjs/internal/stm/stm/tExit.js +2 -1
  284. package/dist/cjs/internal/stm/stm/tExit.js.map +1 -1
  285. package/dist/cjs/internal/stm/stm.js.map +1 -1
  286. package/dist/cjs/internal/stm/tArray.js +1 -1
  287. package/dist/cjs/internal/stm/tArray.js.map +1 -1
  288. package/dist/cjs/internal/stm/tDeferred.js.map +1 -1
  289. package/dist/cjs/internal/stm/tMap.js +2 -1
  290. package/dist/cjs/internal/stm/tMap.js.map +1 -1
  291. package/dist/cjs/internal/stm/tPriorityQueue.js +1 -1
  292. package/dist/cjs/internal/stm/tPriorityQueue.js.map +1 -1
  293. package/dist/cjs/internal/stm/tPubSub.js +17 -14
  294. package/dist/cjs/internal/stm/tPubSub.js.map +1 -1
  295. package/dist/cjs/internal/stm/tQueue.js +8 -7
  296. package/dist/cjs/internal/stm/tQueue.js.map +1 -1
  297. package/dist/cjs/internal/stm/tRandom.js.map +1 -1
  298. package/dist/cjs/internal/stm/tReentrantLock.js.map +1 -1
  299. package/dist/cjs/internal/stm/tRef.js +1 -1
  300. package/dist/cjs/internal/stm/tRef.js.map +1 -1
  301. package/dist/cjs/internal/stm/tSemaphore.js +2 -2
  302. package/dist/cjs/internal/stm/tSemaphore.js.map +1 -1
  303. package/dist/cjs/internal/stm/tSet.js +1 -1
  304. package/dist/cjs/internal/stm/tSet.js.map +1 -1
  305. package/dist/cjs/internal/stream/haltStrategy.js.map +1 -1
  306. package/dist/cjs/internal/stream/handoff.js +1 -1
  307. package/dist/cjs/internal/stream/handoff.js.map +1 -1
  308. package/dist/cjs/internal/stream.js +5 -5
  309. package/dist/cjs/internal/stream.js.map +1 -1
  310. package/dist/cjs/internal/string-utils.js.map +1 -1
  311. package/dist/cjs/internal/subscriptionRef.js +1 -1
  312. package/dist/cjs/internal/subscriptionRef.js.map +1 -1
  313. package/dist/cjs/internal/supervisor/patch.js.map +1 -1
  314. package/dist/cjs/internal/supervisor.js +1 -0
  315. package/dist/cjs/internal/supervisor.js.map +1 -1
  316. package/dist/cjs/internal/synchronizedRef.js.map +1 -1
  317. package/dist/cjs/internal/take.js +3 -2
  318. package/dist/cjs/internal/take.js.map +1 -1
  319. package/dist/cjs/internal/version.js +1 -1
  320. package/dist/dts/BigDecimal.d.ts +5 -5
  321. package/dist/dts/BigDecimal.d.ts.map +1 -1
  322. package/dist/dts/Brand.d.ts +4 -4
  323. package/dist/dts/Brand.d.ts.map +1 -1
  324. package/dist/dts/Cache.d.ts +18 -16
  325. package/dist/dts/Cache.d.ts.map +1 -1
  326. package/dist/dts/Cause.d.ts +94 -26
  327. package/dist/dts/Cause.d.ts.map +1 -1
  328. package/dist/dts/Channel.d.ts +12 -11
  329. package/dist/dts/Channel.d.ts.map +1 -1
  330. package/dist/dts/ChildExecutorDecision.d.ts.map +1 -1
  331. package/dist/dts/Chunk.d.ts +81 -69
  332. package/dist/dts/Chunk.d.ts.map +1 -1
  333. package/dist/dts/Clock.d.ts +4 -4
  334. package/dist/dts/Clock.d.ts.map +1 -1
  335. package/dist/dts/Config.d.ts +20 -19
  336. package/dist/dts/Config.d.ts.map +1 -1
  337. package/dist/dts/ConfigError.d.ts +7 -7
  338. package/dist/dts/ConfigError.d.ts.map +1 -1
  339. package/dist/dts/ConfigProvider.d.ts +3 -3
  340. package/dist/dts/ConfigProvider.d.ts.map +1 -1
  341. package/dist/dts/ConfigProviderPathPatch.d.ts +1 -1
  342. package/dist/dts/ConfigProviderPathPatch.d.ts.map +1 -1
  343. package/dist/dts/Console.d.ts +36 -36
  344. package/dist/dts/Console.d.ts.map +1 -1
  345. package/dist/dts/Context.d.ts +8 -7
  346. package/dist/dts/Context.d.ts.map +1 -1
  347. package/dist/dts/Data.d.ts +6 -20
  348. package/dist/dts/Data.d.ts.map +1 -1
  349. package/dist/dts/Deferred.d.ts +5 -4
  350. package/dist/dts/Deferred.d.ts.map +1 -1
  351. package/dist/dts/Differ.d.ts +24 -23
  352. package/dist/dts/Differ.d.ts.map +1 -1
  353. package/dist/dts/Duration.d.ts +12 -1
  354. package/dist/dts/Duration.d.ts.map +1 -1
  355. package/dist/dts/Effect.d.ts +62 -45
  356. package/dist/dts/Effect.d.ts.map +1 -1
  357. package/dist/dts/Either.d.ts +61 -13
  358. package/dist/dts/Either.d.ts.map +1 -1
  359. package/dist/dts/Equal.d.ts +1 -1
  360. package/dist/dts/Equal.d.ts.map +1 -1
  361. package/dist/dts/Equivalence.d.ts +2 -2
  362. package/dist/dts/Equivalence.d.ts.map +1 -1
  363. package/dist/dts/Exit.d.ts +5 -3
  364. package/dist/dts/Exit.d.ts.map +1 -1
  365. package/dist/dts/Fiber.d.ts +17 -16
  366. package/dist/dts/Fiber.d.ts.map +1 -1
  367. package/dist/dts/FiberRef.d.ts +9 -3
  368. package/dist/dts/FiberRef.d.ts.map +1 -1
  369. package/dist/dts/GroupBy.d.ts +7 -6
  370. package/dist/dts/GroupBy.d.ts.map +1 -1
  371. package/dist/dts/HKT.d.ts +5 -4
  372. package/dist/dts/HKT.d.ts.map +1 -1
  373. package/dist/dts/Hash.d.ts +1 -1
  374. package/dist/dts/Hash.d.ts.map +1 -1
  375. package/dist/dts/HashMap.d.ts +6 -4
  376. package/dist/dts/HashMap.d.ts.map +1 -1
  377. package/dist/dts/HashSet.d.ts +9 -9
  378. package/dist/dts/HashSet.d.ts.map +1 -1
  379. package/dist/dts/Inspectable.d.ts +3 -7
  380. package/dist/dts/Inspectable.d.ts.map +1 -1
  381. package/dist/dts/KeyedPool.d.ts +8 -7
  382. package/dist/dts/KeyedPool.d.ts.map +1 -1
  383. package/dist/dts/Layer.d.ts +16 -41
  384. package/dist/dts/Layer.d.ts.map +1 -1
  385. package/dist/dts/List.d.ts +48 -49
  386. package/dist/dts/List.d.ts.map +1 -1
  387. package/dist/dts/Logger.d.ts +7 -6
  388. package/dist/dts/Logger.d.ts.map +1 -1
  389. package/dist/dts/Match.d.ts +31 -19
  390. package/dist/dts/Match.d.ts.map +1 -1
  391. package/dist/dts/MergeDecision.d.ts +8 -7
  392. package/dist/dts/MergeDecision.d.ts.map +1 -1
  393. package/dist/dts/MergeState.d.ts +5 -5
  394. package/dist/dts/MergeState.d.ts.map +1 -1
  395. package/dist/dts/Metric.d.ts +11 -10
  396. package/dist/dts/Metric.d.ts.map +1 -1
  397. package/dist/dts/MetricHook.d.ts +7 -6
  398. package/dist/dts/MetricHook.d.ts.map +1 -1
  399. package/dist/dts/MetricKey.d.ts +4 -3
  400. package/dist/dts/MetricKey.d.ts.map +1 -1
  401. package/dist/dts/MetricKeyType.d.ts +5 -4
  402. package/dist/dts/MetricKeyType.d.ts.map +1 -1
  403. package/dist/dts/MetricPair.d.ts +4 -3
  404. package/dist/dts/MetricPair.d.ts.map +1 -1
  405. package/dist/dts/MetricPolling.d.ts +16 -16
  406. package/dist/dts/MetricPolling.d.ts.map +1 -1
  407. package/dist/dts/MetricRegistry.d.ts +7 -7
  408. package/dist/dts/MetricRegistry.d.ts.map +1 -1
  409. package/dist/dts/MetricState.d.ts +6 -5
  410. package/dist/dts/MetricState.d.ts.map +1 -1
  411. package/dist/dts/MutableHashMap.d.ts +1 -1
  412. package/dist/dts/MutableHashMap.d.ts.map +1 -1
  413. package/dist/dts/MutableHashSet.d.ts +1 -1
  414. package/dist/dts/MutableHashSet.d.ts.map +1 -1
  415. package/dist/dts/MutableList.d.ts +1 -1
  416. package/dist/dts/MutableList.d.ts.map +1 -1
  417. package/dist/dts/MutableQueue.d.ts +1 -1
  418. package/dist/dts/MutableQueue.d.ts.map +1 -1
  419. package/dist/dts/MutableRef.d.ts +1 -1
  420. package/dist/dts/MutableRef.d.ts.map +1 -1
  421. package/dist/dts/NonEmptyIterable.d.ts +2 -2
  422. package/dist/dts/NonEmptyIterable.d.ts.map +1 -1
  423. package/dist/dts/Option.d.ts +39 -24
  424. package/dist/dts/Option.d.ts.map +1 -1
  425. package/dist/dts/Order.d.ts +2 -2
  426. package/dist/dts/Order.d.ts.map +1 -1
  427. package/dist/dts/Pipeable.d.ts +21 -23
  428. package/dist/dts/Pipeable.d.ts.map +1 -1
  429. package/dist/dts/Pool.d.ts +21 -22
  430. package/dist/dts/Pool.d.ts.map +1 -1
  431. package/dist/dts/Predicate.d.ts +17 -2
  432. package/dist/dts/Predicate.d.ts.map +1 -1
  433. package/dist/dts/PrimaryKey.d.ts +21 -0
  434. package/dist/dts/PrimaryKey.d.ts.map +1 -0
  435. package/dist/dts/PubSub.d.ts +3 -3
  436. package/dist/dts/PubSub.d.ts.map +1 -1
  437. package/dist/dts/Queue.d.ts +49 -29
  438. package/dist/dts/Queue.d.ts.map +1 -1
  439. package/dist/dts/Random.d.ts +3 -3
  440. package/dist/dts/Random.d.ts.map +1 -1
  441. package/dist/dts/ReadonlyArray.d.ts +170 -206
  442. package/dist/dts/ReadonlyArray.d.ts.map +1 -1
  443. package/dist/dts/ReadonlyRecord.d.ts +51 -16
  444. package/dist/dts/ReadonlyRecord.d.ts.map +1 -1
  445. package/dist/dts/RedBlackTree.d.ts +6 -2
  446. package/dist/dts/RedBlackTree.d.ts.map +1 -1
  447. package/dist/dts/Ref.d.ts +5 -4
  448. package/dist/dts/Ref.d.ts.map +1 -1
  449. package/dist/dts/Reloadable.d.ts +4 -3
  450. package/dist/dts/Reloadable.d.ts.map +1 -1
  451. package/dist/dts/Request.d.ts +63 -11
  452. package/dist/dts/Request.d.ts.map +1 -1
  453. package/dist/dts/RequestBlock.d.ts +20 -39
  454. package/dist/dts/RequestBlock.d.ts.map +1 -1
  455. package/dist/dts/RequestResolver.d.ts +7 -6
  456. package/dist/dts/RequestResolver.d.ts.map +1 -1
  457. package/dist/dts/Resource.d.ts +5 -4
  458. package/dist/dts/Resource.d.ts.map +1 -1
  459. package/dist/dts/Runtime.d.ts +3 -3
  460. package/dist/dts/Runtime.d.ts.map +1 -1
  461. package/dist/dts/STM.d.ts +13 -12
  462. package/dist/dts/STM.d.ts.map +1 -1
  463. package/dist/dts/Schedule.d.ts +13 -12
  464. package/dist/dts/Schedule.d.ts.map +1 -1
  465. package/dist/dts/Scheduler.d.ts +3 -3
  466. package/dist/dts/Scheduler.d.ts.map +1 -1
  467. package/dist/dts/ScopedCache.d.ts +13 -12
  468. package/dist/dts/ScopedCache.d.ts.map +1 -1
  469. package/dist/dts/ScopedRef.d.ts +4 -3
  470. package/dist/dts/ScopedRef.d.ts.map +1 -1
  471. package/dist/dts/SingleProducerAsyncInput.d.ts +7 -7
  472. package/dist/dts/SingleProducerAsyncInput.d.ts.map +1 -1
  473. package/dist/dts/Sink.d.ts +13 -9
  474. package/dist/dts/Sink.d.ts.map +1 -1
  475. package/dist/dts/SortedMap.d.ts +6 -2
  476. package/dist/dts/SortedMap.d.ts.map +1 -1
  477. package/dist/dts/SortedSet.d.ts +7 -12
  478. package/dist/dts/SortedSet.d.ts.map +1 -1
  479. package/dist/dts/Stream.d.ts +32 -23
  480. package/dist/dts/Stream.d.ts.map +1 -1
  481. package/dist/dts/StreamEmit.d.ts +12 -12
  482. package/dist/dts/StreamEmit.d.ts.map +1 -1
  483. package/dist/dts/Streamable.d.ts.map +1 -1
  484. package/dist/dts/SubscriptionRef.d.ts +4 -3
  485. package/dist/dts/SubscriptionRef.d.ts.map +1 -1
  486. package/dist/dts/Supervisor.d.ts +11 -10
  487. package/dist/dts/Supervisor.d.ts.map +1 -1
  488. package/dist/dts/SynchronizedRef.d.ts +5 -4
  489. package/dist/dts/SynchronizedRef.d.ts.map +1 -1
  490. package/dist/dts/TArray.d.ts +4 -3
  491. package/dist/dts/TArray.d.ts.map +1 -1
  492. package/dist/dts/TDeferred.d.ts +5 -4
  493. package/dist/dts/TDeferred.d.ts.map +1 -1
  494. package/dist/dts/TMap.d.ts +5 -4
  495. package/dist/dts/TMap.d.ts.map +1 -1
  496. package/dist/dts/TPriorityQueue.d.ts +4 -3
  497. package/dist/dts/TPriorityQueue.d.ts.map +1 -1
  498. package/dist/dts/TPubSub.d.ts +5 -1
  499. package/dist/dts/TPubSub.d.ts.map +1 -1
  500. package/dist/dts/TQueue.d.ts +12 -11
  501. package/dist/dts/TQueue.d.ts.map +1 -1
  502. package/dist/dts/TRandom.d.ts +3 -3
  503. package/dist/dts/TRandom.d.ts.map +1 -1
  504. package/dist/dts/TRef.d.ts +5 -4
  505. package/dist/dts/TRef.d.ts.map +1 -1
  506. package/dist/dts/TSet.d.ts +4 -3
  507. package/dist/dts/TSet.d.ts.map +1 -1
  508. package/dist/dts/Take.d.ts +5 -4
  509. package/dist/dts/Take.d.ts.map +1 -1
  510. package/dist/dts/TestAnnotation.d.ts +6 -3
  511. package/dist/dts/TestAnnotation.d.ts.map +1 -1
  512. package/dist/dts/TestAnnotations.d.ts +2 -2
  513. package/dist/dts/TestAnnotations.d.ts.map +1 -1
  514. package/dist/dts/TestClock.d.ts +3 -3
  515. package/dist/dts/TestClock.d.ts.map +1 -1
  516. package/dist/dts/TestContext.d.ts.map +1 -1
  517. package/dist/dts/TestLive.d.ts +1 -1
  518. package/dist/dts/TestLive.d.ts.map +1 -1
  519. package/dist/dts/TestSized.d.ts +1 -1
  520. package/dist/dts/TestSized.d.ts.map +1 -1
  521. package/dist/dts/Tracer.d.ts +5 -5
  522. package/dist/dts/Tracer.d.ts.map +1 -1
  523. package/dist/dts/Types.d.ts +28 -0
  524. package/dist/dts/Types.d.ts.map +1 -1
  525. package/dist/dts/UpstreamPullRequest.d.ts +4 -3
  526. package/dist/dts/UpstreamPullRequest.d.ts.map +1 -1
  527. package/dist/dts/UpstreamPullStrategy.d.ts +5 -4
  528. package/dist/dts/UpstreamPullStrategy.d.ts.map +1 -1
  529. package/dist/dts/Utils.d.ts +7 -6
  530. package/dist/dts/Utils.d.ts.map +1 -1
  531. package/dist/dts/index.d.ts +4 -0
  532. package/dist/dts/index.d.ts.map +1 -1
  533. package/dist/dts/internal/config.d.ts +1 -2
  534. package/dist/dts/internal/config.d.ts.map +1 -1
  535. package/dist/dts/internal/core-stream.d.ts.map +1 -1
  536. package/dist/dts/internal/fiberScope.d.ts +1 -1
  537. package/dist/dts/internal/fiberScope.d.ts.map +1 -1
  538. package/dist/dts/internal/logger.d.ts.map +1 -1
  539. package/dist/dts/internal/metric/keyType.d.ts.map +1 -1
  540. package/dist/dts/internal/stream/handoffSignal.d.ts +1 -1
  541. package/dist/dts/internal/stream/handoffSignal.d.ts.map +1 -1
  542. package/dist/dts/internal/version.d.ts +1 -1
  543. package/dist/esm/BigDecimal.js +7 -7
  544. package/dist/esm/BigDecimal.js.map +1 -1
  545. package/dist/esm/BigInt.js.map +1 -1
  546. package/dist/esm/Boolean.js.map +1 -1
  547. package/dist/esm/Brand.js.map +1 -1
  548. package/dist/esm/Cache.js.map +1 -1
  549. package/dist/esm/Cause.js +52 -17
  550. package/dist/esm/Cause.js.map +1 -1
  551. package/dist/esm/Channel.js.map +1 -1
  552. package/dist/esm/ChildExecutorDecision.js.map +1 -1
  553. package/dist/esm/Chunk.js +43 -34
  554. package/dist/esm/Chunk.js.map +1 -1
  555. package/dist/esm/Config.js +3 -3
  556. package/dist/esm/Config.js.map +1 -1
  557. package/dist/esm/Context.js.map +1 -1
  558. package/dist/esm/Data.js +10 -19
  559. package/dist/esm/Data.js.map +1 -1
  560. package/dist/esm/Deferred.js.map +1 -1
  561. package/dist/esm/Differ.js.map +1 -1
  562. package/dist/esm/Duration.js +48 -2
  563. package/dist/esm/Duration.js.map +1 -1
  564. package/dist/esm/Effect.js +9 -7
  565. package/dist/esm/Effect.js.map +1 -1
  566. package/dist/esm/Either.js +43 -7
  567. package/dist/esm/Either.js.map +1 -1
  568. package/dist/esm/Equal.js.map +1 -1
  569. package/dist/esm/Equivalence.js +1 -1
  570. package/dist/esm/Equivalence.js.map +1 -1
  571. package/dist/esm/Exit.js.map +1 -1
  572. package/dist/esm/Fiber.js.map +1 -1
  573. package/dist/esm/FiberRef.js +5 -0
  574. package/dist/esm/FiberRef.js.map +1 -1
  575. package/dist/esm/Function.js.map +1 -1
  576. package/dist/esm/GlobalValue.js.map +1 -1
  577. package/dist/esm/GroupBy.js.map +1 -1
  578. package/dist/esm/HKT.js +0 -3
  579. package/dist/esm/HKT.js.map +1 -1
  580. package/dist/esm/Hash.js.map +1 -1
  581. package/dist/esm/HashMap.js.map +1 -1
  582. package/dist/esm/Inspectable.js +2 -4
  583. package/dist/esm/Inspectable.js.map +1 -1
  584. package/dist/esm/KeyedPool.js.map +1 -1
  585. package/dist/esm/Layer.js +8 -28
  586. package/dist/esm/Layer.js.map +1 -1
  587. package/dist/esm/List.js +25 -22
  588. package/dist/esm/List.js.map +1 -1
  589. package/dist/esm/LogLevel.js.map +1 -1
  590. package/dist/esm/Logger.js.map +1 -1
  591. package/dist/esm/Match.js.map +1 -1
  592. package/dist/esm/MergeDecision.js.map +1 -1
  593. package/dist/esm/MergeState.js.map +1 -1
  594. package/dist/esm/Metric.js.map +1 -1
  595. package/dist/esm/MetricHook.js.map +1 -1
  596. package/dist/esm/MetricKey.js.map +1 -1
  597. package/dist/esm/MetricKeyType.js.map +1 -1
  598. package/dist/esm/MetricPair.js.map +1 -1
  599. package/dist/esm/MetricPolling.js +1 -1
  600. package/dist/esm/MetricPolling.js.map +1 -1
  601. package/dist/esm/MetricState.js.map +1 -1
  602. package/dist/esm/MutableHashMap.js +2 -2
  603. package/dist/esm/MutableHashMap.js.map +1 -1
  604. package/dist/esm/MutableHashSet.js +2 -2
  605. package/dist/esm/MutableHashSet.js.map +1 -1
  606. package/dist/esm/MutableList.js +2 -2
  607. package/dist/esm/MutableList.js.map +1 -1
  608. package/dist/esm/MutableQueue.js +2 -2
  609. package/dist/esm/MutableQueue.js.map +1 -1
  610. package/dist/esm/MutableRef.js +2 -2
  611. package/dist/esm/MutableRef.js.map +1 -1
  612. package/dist/esm/NonEmptyIterable.js.map +1 -1
  613. package/dist/esm/Number.js.map +1 -1
  614. package/dist/esm/Option.js +21 -14
  615. package/dist/esm/Option.js.map +1 -1
  616. package/dist/esm/Order.js +1 -1
  617. package/dist/esm/Order.js.map +1 -1
  618. package/dist/esm/Ordering.js.map +1 -1
  619. package/dist/esm/Pipeable.js.map +1 -1
  620. package/dist/esm/Pool.js +15 -17
  621. package/dist/esm/Pool.js.map +1 -1
  622. package/dist/esm/Predicate.js +15 -0
  623. package/dist/esm/Predicate.js.map +1 -1
  624. package/dist/esm/PrimaryKey.js +14 -0
  625. package/dist/esm/PrimaryKey.js.map +1 -0
  626. package/dist/esm/Queue.js +5 -0
  627. package/dist/esm/Queue.js.map +1 -1
  628. package/dist/esm/ReadonlyArray.js +195 -177
  629. package/dist/esm/ReadonlyArray.js.map +1 -1
  630. package/dist/esm/ReadonlyRecord.js +58 -7
  631. package/dist/esm/ReadonlyRecord.js.map +1 -1
  632. package/dist/esm/RedBlackTree.js.map +1 -1
  633. package/dist/esm/Ref.js.map +1 -1
  634. package/dist/esm/Reloadable.js.map +1 -1
  635. package/dist/esm/Request.js +41 -0
  636. package/dist/esm/Request.js.map +1 -1
  637. package/dist/esm/RequestBlock.js +3 -22
  638. package/dist/esm/RequestBlock.js.map +1 -1
  639. package/dist/esm/RequestResolver.js.map +1 -1
  640. package/dist/esm/Resource.js.map +1 -1
  641. package/dist/esm/STM.js +1 -1
  642. package/dist/esm/STM.js.map +1 -1
  643. package/dist/esm/Schedule.js.map +1 -1
  644. package/dist/esm/Scheduler.js.map +1 -1
  645. package/dist/esm/ScopedCache.js.map +1 -1
  646. package/dist/esm/ScopedRef.js.map +1 -1
  647. package/dist/esm/Sink.js.map +1 -1
  648. package/dist/esm/SortedMap.js +6 -3
  649. package/dist/esm/SortedMap.js.map +1 -1
  650. package/dist/esm/SortedSet.js +4 -4
  651. package/dist/esm/SortedSet.js.map +1 -1
  652. package/dist/esm/Stream.js.map +1 -1
  653. package/dist/esm/Streamable.js +3 -0
  654. package/dist/esm/Streamable.js.map +1 -1
  655. package/dist/esm/String.js.map +1 -1
  656. package/dist/esm/Struct.js.map +1 -1
  657. package/dist/esm/SubscriptionRef.js.map +1 -1
  658. package/dist/esm/Supervisor.js.map +1 -1
  659. package/dist/esm/SynchronizedRef.js.map +1 -1
  660. package/dist/esm/TArray.js.map +1 -1
  661. package/dist/esm/TDeferred.js.map +1 -1
  662. package/dist/esm/TMap.js.map +1 -1
  663. package/dist/esm/TPriorityQueue.js.map +1 -1
  664. package/dist/esm/TPubSub.js.map +1 -1
  665. package/dist/esm/TQueue.js.map +1 -1
  666. package/dist/esm/TRef.js.map +1 -1
  667. package/dist/esm/TSet.js.map +1 -1
  668. package/dist/esm/Take.js.map +1 -1
  669. package/dist/esm/TestAnnotation.js +3 -1
  670. package/dist/esm/TestAnnotation.js.map +1 -1
  671. package/dist/esm/TestAnnotationMap.js.map +1 -1
  672. package/dist/esm/TestAnnotations.js.map +1 -1
  673. package/dist/esm/TestClock.js.map +1 -1
  674. package/dist/esm/TestContext.js +2 -2
  675. package/dist/esm/TestContext.js.map +1 -1
  676. package/dist/esm/UpstreamPullRequest.js.map +1 -1
  677. package/dist/esm/UpstreamPullStrategy.js.map +1 -1
  678. package/dist/esm/Utils.js.map +1 -1
  679. package/dist/esm/index.js +4 -0
  680. package/dist/esm/index.js.map +1 -1
  681. package/dist/esm/internal/Iterable.js.map +1 -1
  682. package/dist/esm/internal/blockedRequests.js +3 -2
  683. package/dist/esm/internal/blockedRequests.js.map +1 -1
  684. package/dist/esm/internal/cache.js +3 -0
  685. package/dist/esm/internal/cache.js.map +1 -1
  686. package/dist/esm/internal/cause.js +4 -97
  687. package/dist/esm/internal/cause.js.map +1 -1
  688. package/dist/esm/internal/channel/channelExecutor.js.map +1 -1
  689. package/dist/esm/internal/channel/channelState.js +2 -1
  690. package/dist/esm/internal/channel/channelState.js.map +1 -1
  691. package/dist/esm/internal/channel/childExecutorDecision.js.map +1 -1
  692. package/dist/esm/internal/channel/continuation.js +9 -1
  693. package/dist/esm/internal/channel/continuation.js.map +1 -1
  694. package/dist/esm/internal/channel/mergeDecision.js.map +1 -1
  695. package/dist/esm/internal/channel/mergeState.js.map +1 -1
  696. package/dist/esm/internal/channel/mergeStrategy.js.map +1 -1
  697. package/dist/esm/internal/channel/singleProducerAsyncInput.js.map +1 -1
  698. package/dist/esm/internal/channel/subexecutor.js.map +1 -1
  699. package/dist/esm/internal/channel/upstreamPullRequest.js +1 -1
  700. package/dist/esm/internal/channel/upstreamPullRequest.js.map +1 -1
  701. package/dist/esm/internal/channel/upstreamPullStrategy.js +1 -1
  702. package/dist/esm/internal/channel/upstreamPullStrategy.js.map +1 -1
  703. package/dist/esm/internal/channel.js.map +1 -1
  704. package/dist/esm/internal/clock.js.map +1 -1
  705. package/dist/esm/internal/concurrency.js.map +1 -1
  706. package/dist/esm/internal/config.js +15 -22
  707. package/dist/esm/internal/config.js.map +1 -1
  708. package/dist/esm/internal/configError.js +2 -2
  709. package/dist/esm/internal/configError.js.map +1 -1
  710. package/dist/esm/internal/configProvider/pathPatch.js.map +1 -1
  711. package/dist/esm/internal/configProvider.js +18 -4
  712. package/dist/esm/internal/configProvider.js.map +1 -1
  713. package/dist/esm/internal/configSecret.js.map +1 -1
  714. package/dist/esm/internal/context.js +6 -6
  715. package/dist/esm/internal/context.js.map +1 -1
  716. package/dist/esm/internal/core-effect.js +19 -15
  717. package/dist/esm/internal/core-effect.js.map +1 -1
  718. package/dist/esm/internal/core-stream.js +7 -1
  719. package/dist/esm/internal/core-stream.js.map +1 -1
  720. package/dist/esm/internal/core.js +196 -84
  721. package/dist/esm/internal/core.js.map +1 -1
  722. package/dist/esm/internal/data.js +3 -21
  723. package/dist/esm/internal/data.js.map +1 -1
  724. package/dist/esm/internal/dataSource.js +1 -1
  725. package/dist/esm/internal/dataSource.js.map +1 -1
  726. package/dist/esm/internal/deferred.js +2 -0
  727. package/dist/esm/internal/deferred.js.map +1 -1
  728. package/dist/esm/internal/differ/chunkPatch.js.map +1 -1
  729. package/dist/esm/internal/differ/contextPatch.js.map +1 -1
  730. package/dist/esm/internal/differ/hashMapPatch.js.map +1 -1
  731. package/dist/esm/internal/differ/hashSetPatch.js.map +1 -1
  732. package/dist/esm/internal/differ/orPatch.js.map +1 -1
  733. package/dist/esm/internal/differ.js.map +1 -1
  734. package/dist/esm/internal/effect/circular.js +1 -0
  735. package/dist/esm/internal/effect/circular.js.map +1 -1
  736. package/dist/esm/internal/effectable.js +37 -6
  737. package/dist/esm/internal/effectable.js.map +1 -1
  738. package/dist/esm/internal/either.js +2 -2
  739. package/dist/esm/internal/either.js.map +1 -1
  740. package/dist/esm/internal/encoding/base64.js.map +1 -1
  741. package/dist/esm/internal/encoding/base64Url.js.map +1 -1
  742. package/dist/esm/internal/encoding/common.js.map +1 -1
  743. package/dist/esm/internal/encoding/hex.js.map +1 -1
  744. package/dist/esm/internal/executionStrategy.js.map +1 -1
  745. package/dist/esm/internal/fiber.js +2 -0
  746. package/dist/esm/internal/fiber.js.map +1 -1
  747. package/dist/esm/internal/fiberId.js +4 -4
  748. package/dist/esm/internal/fiberId.js.map +1 -1
  749. package/dist/esm/internal/fiberMessage.js.map +1 -1
  750. package/dist/esm/internal/fiberRefs/patch.js.map +1 -1
  751. package/dist/esm/internal/fiberRefs.js.map +1 -1
  752. package/dist/esm/internal/fiberRuntime.js +178 -215
  753. package/dist/esm/internal/fiberRuntime.js.map +1 -1
  754. package/dist/esm/internal/groupBy.js +4 -1
  755. package/dist/esm/internal/groupBy.js.map +1 -1
  756. package/dist/esm/internal/hashMap/array.js.map +1 -1
  757. package/dist/esm/internal/hashMap/node.js.map +1 -1
  758. package/dist/esm/internal/hashMap.js +3 -3
  759. package/dist/esm/internal/hashMap.js.map +1 -1
  760. package/dist/esm/internal/hashSet.js +4 -4
  761. package/dist/esm/internal/hashSet.js.map +1 -1
  762. package/dist/esm/internal/keyedPool.js +3 -0
  763. package/dist/esm/internal/keyedPool.js.map +1 -1
  764. package/dist/esm/internal/layer.js +22 -52
  765. package/dist/esm/internal/layer.js.map +1 -1
  766. package/dist/esm/internal/logger.js +2 -1
  767. package/dist/esm/internal/logger.js.map +1 -1
  768. package/dist/esm/internal/matcher.js.map +1 -1
  769. package/dist/esm/internal/metric/hook.js +2 -1
  770. package/dist/esm/internal/metric/hook.js.map +1 -1
  771. package/dist/esm/internal/metric/key.js +1 -1
  772. package/dist/esm/internal/metric/key.js.map +1 -1
  773. package/dist/esm/internal/metric/keyType.js +2 -1
  774. package/dist/esm/internal/metric/keyType.js.map +1 -1
  775. package/dist/esm/internal/metric/pair.js +1 -1
  776. package/dist/esm/internal/metric/pair.js.map +1 -1
  777. package/dist/esm/internal/metric/polling.js +6 -6
  778. package/dist/esm/internal/metric/polling.js.map +1 -1
  779. package/dist/esm/internal/metric/registry.js.map +1 -1
  780. package/dist/esm/internal/metric/state.js +1 -1
  781. package/dist/esm/internal/metric/state.js.map +1 -1
  782. package/dist/esm/internal/metric.js +11 -5
  783. package/dist/esm/internal/metric.js.map +1 -1
  784. package/dist/esm/internal/opCodes/layer.js +3 -3
  785. package/dist/esm/internal/opCodes/layer.js.map +1 -1
  786. package/dist/esm/internal/option.js +2 -2
  787. package/dist/esm/internal/option.js.map +1 -1
  788. package/dist/esm/internal/pool.js +2 -0
  789. package/dist/esm/internal/pool.js.map +1 -1
  790. package/dist/esm/internal/pubsub.js +25 -24
  791. package/dist/esm/internal/pubsub.js.map +1 -1
  792. package/dist/esm/internal/query.js +1 -1
  793. package/dist/esm/internal/query.js.map +1 -1
  794. package/dist/esm/internal/queue.js +13 -2
  795. package/dist/esm/internal/queue.js.map +1 -1
  796. package/dist/esm/internal/random.js.map +1 -1
  797. package/dist/esm/internal/redBlackTree/iterator.js.map +1 -1
  798. package/dist/esm/internal/redBlackTree.js +9 -3
  799. package/dist/esm/internal/redBlackTree.js.map +1 -1
  800. package/dist/esm/internal/ref.js +1 -0
  801. package/dist/esm/internal/ref.js.map +1 -1
  802. package/dist/esm/internal/reloadable.js +1 -1
  803. package/dist/esm/internal/reloadable.js.map +1 -1
  804. package/dist/esm/internal/request.js +31 -15
  805. package/dist/esm/internal/request.js.map +1 -1
  806. package/dist/esm/internal/resource.js +4 -3
  807. package/dist/esm/internal/resource.js.map +1 -1
  808. package/dist/esm/internal/ringBuffer.js.map +1 -1
  809. package/dist/esm/internal/runtime.js +3 -4
  810. package/dist/esm/internal/runtime.js.map +1 -1
  811. package/dist/esm/internal/runtimeFlags.js.map +1 -1
  812. package/dist/esm/internal/schedule/interval.js.map +1 -1
  813. package/dist/esm/internal/schedule/intervals.js.map +1 -1
  814. package/dist/esm/internal/schedule.js +12 -8
  815. package/dist/esm/internal/schedule.js.map +1 -1
  816. package/dist/esm/internal/scopedCache.js +5 -2
  817. package/dist/esm/internal/scopedCache.js.map +1 -1
  818. package/dist/esm/internal/scopedRef.js +1 -0
  819. package/dist/esm/internal/scopedRef.js.map +1 -1
  820. package/dist/esm/internal/sink.js +6 -2
  821. package/dist/esm/internal/sink.js.map +1 -1
  822. package/dist/esm/internal/stm/core.js +5 -3
  823. package/dist/esm/internal/stm/core.js.map +1 -1
  824. package/dist/esm/internal/stm/stm/journal.js.map +1 -1
  825. package/dist/esm/internal/stm/stm/stmState.js.map +1 -1
  826. package/dist/esm/internal/stm/stm/tExit.js +2 -1
  827. package/dist/esm/internal/stm/stm/tExit.js.map +1 -1
  828. package/dist/esm/internal/stm/stm.js.map +1 -1
  829. package/dist/esm/internal/stm/tArray.js +1 -1
  830. package/dist/esm/internal/stm/tArray.js.map +1 -1
  831. package/dist/esm/internal/stm/tDeferred.js.map +1 -1
  832. package/dist/esm/internal/stm/tMap.js +2 -1
  833. package/dist/esm/internal/stm/tMap.js.map +1 -1
  834. package/dist/esm/internal/stm/tPriorityQueue.js +1 -1
  835. package/dist/esm/internal/stm/tPriorityQueue.js.map +1 -1
  836. package/dist/esm/internal/stm/tPubSub.js +17 -14
  837. package/dist/esm/internal/stm/tPubSub.js.map +1 -1
  838. package/dist/esm/internal/stm/tQueue.js +8 -7
  839. package/dist/esm/internal/stm/tQueue.js.map +1 -1
  840. package/dist/esm/internal/stm/tRandom.js.map +1 -1
  841. package/dist/esm/internal/stm/tReentrantLock.js.map +1 -1
  842. package/dist/esm/internal/stm/tRef.js +1 -1
  843. package/dist/esm/internal/stm/tRef.js.map +1 -1
  844. package/dist/esm/internal/stm/tSemaphore.js +2 -2
  845. package/dist/esm/internal/stm/tSemaphore.js.map +1 -1
  846. package/dist/esm/internal/stm/tSet.js +1 -1
  847. package/dist/esm/internal/stm/tSet.js.map +1 -1
  848. package/dist/esm/internal/stream/haltStrategy.js.map +1 -1
  849. package/dist/esm/internal/stream/handoff.js +1 -1
  850. package/dist/esm/internal/stream/handoff.js.map +1 -1
  851. package/dist/esm/internal/stream.js +5 -5
  852. package/dist/esm/internal/stream.js.map +1 -1
  853. package/dist/esm/internal/string-utils.js.map +1 -1
  854. package/dist/esm/internal/subscriptionRef.js +1 -1
  855. package/dist/esm/internal/subscriptionRef.js.map +1 -1
  856. package/dist/esm/internal/supervisor/patch.js.map +1 -1
  857. package/dist/esm/internal/supervisor.js +1 -0
  858. package/dist/esm/internal/supervisor.js.map +1 -1
  859. package/dist/esm/internal/synchronizedRef.js.map +1 -1
  860. package/dist/esm/internal/take.js +3 -2
  861. package/dist/esm/internal/take.js.map +1 -1
  862. package/dist/esm/internal/version.js +1 -1
  863. package/dist/esm/package.json +1 -1
  864. package/package.json +10 -2
  865. package/src/BigDecimal.ts +7 -7
  866. package/src/Brand.ts +4 -4
  867. package/src/Cache.ts +18 -19
  868. package/src/Cause.ts +126 -41
  869. package/src/Channel.ts +12 -11
  870. package/src/ChildExecutorDecision.ts +10 -2
  871. package/src/Chunk.ts +110 -93
  872. package/src/Clock.ts +4 -4
  873. package/src/Config.ts +20 -20
  874. package/src/ConfigError.ts +8 -8
  875. package/src/ConfigProvider.ts +5 -5
  876. package/src/ConfigProviderPathPatch.ts +1 -1
  877. package/src/Console.ts +36 -36
  878. package/src/Context.ts +8 -7
  879. package/src/Data.ts +17 -48
  880. package/src/Deferred.ts +5 -4
  881. package/src/Differ.ts +24 -23
  882. package/src/Duration.ts +59 -2
  883. package/src/Effect.ts +104 -53
  884. package/src/Either.ts +93 -15
  885. package/src/Equal.ts +1 -1
  886. package/src/Equivalence.ts +2 -2
  887. package/src/Exit.ts +21 -7
  888. package/src/Fiber.ts +25 -18
  889. package/src/FiberRef.ts +14 -7
  890. package/src/GroupBy.ts +7 -6
  891. package/src/HKT.ts +5 -4
  892. package/src/Hash.ts +1 -1
  893. package/src/HashMap.ts +6 -4
  894. package/src/HashSet.ts +11 -11
  895. package/src/Inspectable.ts +5 -7
  896. package/src/KeyedPool.ts +16 -9
  897. package/src/Layer.ts +21 -58
  898. package/src/List.ts +68 -65
  899. package/src/Logger.ts +7 -6
  900. package/src/Match.ts +61 -49
  901. package/src/MergeDecision.ts +8 -7
  902. package/src/MergeState.ts +11 -5
  903. package/src/Metric.ts +13 -10
  904. package/src/MetricHook.ts +7 -6
  905. package/src/MetricKey.ts +4 -3
  906. package/src/MetricKeyType.ts +5 -4
  907. package/src/MetricPair.ts +4 -3
  908. package/src/MetricPolling.ts +22 -22
  909. package/src/MetricRegistry.ts +9 -9
  910. package/src/MetricState.ts +8 -5
  911. package/src/MutableHashMap.ts +3 -3
  912. package/src/MutableHashSet.ts +3 -3
  913. package/src/MutableList.ts +3 -3
  914. package/src/MutableQueue.ts +3 -3
  915. package/src/MutableRef.ts +3 -3
  916. package/src/NonEmptyIterable.ts +2 -2
  917. package/src/Option.ts +50 -29
  918. package/src/Order.ts +2 -2
  919. package/src/Pipeable.ts +275 -277
  920. package/src/Pool.ts +21 -22
  921. package/src/Predicate.ts +21 -2
  922. package/src/PrimaryKey.ts +23 -0
  923. package/src/PubSub.ts +3 -3
  924. package/src/Queue.ts +55 -32
  925. package/src/Random.ts +3 -3
  926. package/src/ReadonlyArray.ts +351 -390
  927. package/src/ReadonlyRecord.ts +97 -40
  928. package/src/RedBlackTree.ts +6 -2
  929. package/src/Ref.ts +5 -4
  930. package/src/Reloadable.ts +4 -3
  931. package/src/Request.ts +68 -11
  932. package/src/RequestBlock.ts +27 -66
  933. package/src/RequestResolver.ts +7 -6
  934. package/src/Resource.ts +5 -4
  935. package/src/Runtime.ts +3 -3
  936. package/src/STM.ts +27 -15
  937. package/src/Schedule.ts +14 -13
  938. package/src/Scheduler.ts +3 -3
  939. package/src/Scope.ts +3 -3
  940. package/src/ScopedCache.ts +13 -12
  941. package/src/ScopedRef.ts +4 -3
  942. package/src/SingleProducerAsyncInput.ts +7 -7
  943. package/src/Sink.ts +29 -14
  944. package/src/SortedMap.ts +12 -5
  945. package/src/SortedSet.ts +29 -43
  946. package/src/Stream.ts +75 -33
  947. package/src/StreamEmit.ts +12 -12
  948. package/src/Streamable.ts +3 -0
  949. package/src/SubscriptionRef.ts +6 -3
  950. package/src/Supervisor.ts +12 -11
  951. package/src/SynchronizedRef.ts +5 -4
  952. package/src/TArray.ts +5 -4
  953. package/src/TDeferred.ts +6 -5
  954. package/src/TMap.ts +6 -5
  955. package/src/TPriorityQueue.ts +5 -4
  956. package/src/TPubSub.ts +7 -3
  957. package/src/TQueue.ts +12 -11
  958. package/src/TRandom.ts +3 -3
  959. package/src/TRef.ts +6 -5
  960. package/src/TSet.ts +5 -4
  961. package/src/Take.ts +5 -4
  962. package/src/TestAnnotation.ts +9 -5
  963. package/src/TestAnnotations.ts +2 -2
  964. package/src/TestClock.ts +3 -5
  965. package/src/TestContext.ts +5 -4
  966. package/src/TestLive.ts +1 -1
  967. package/src/TestSized.ts +1 -1
  968. package/src/Tracer.ts +6 -6
  969. package/src/Types.ts +32 -0
  970. package/src/UpstreamPullRequest.ts +12 -5
  971. package/src/UpstreamPullStrategy.ts +5 -4
  972. package/src/Utils.ts +7 -6
  973. package/src/index.ts +5 -0
  974. package/src/internal/blockedRequests.ts +78 -81
  975. package/src/internal/cache.ts +15 -12
  976. package/src/internal/cause.ts +15 -139
  977. package/src/internal/channel/channelExecutor.ts +1 -1
  978. package/src/internal/channel/channelState.ts +10 -8
  979. package/src/internal/channel/continuation.ts +71 -42
  980. package/src/internal/channel/mergeDecision.ts +1 -1
  981. package/src/internal/channel/singleProducerAsyncInput.ts +1 -1
  982. package/src/internal/channel/subexecutor.ts +7 -7
  983. package/src/internal/channel/upstreamPullRequest.ts +1 -1
  984. package/src/internal/channel/upstreamPullStrategy.ts +1 -1
  985. package/src/internal/config.ts +21 -29
  986. package/src/internal/configError.ts +2 -2
  987. package/src/internal/configProvider.ts +20 -5
  988. package/src/internal/context.ts +6 -6
  989. package/src/internal/core-effect.ts +75 -67
  990. package/src/internal/core-stream.ts +25 -22
  991. package/src/internal/core.ts +360 -152
  992. package/src/internal/data.ts +3 -22
  993. package/src/internal/dataSource.ts +1 -1
  994. package/src/internal/deferred.ts +7 -5
  995. package/src/internal/differ/contextPatch.ts +5 -5
  996. package/src/internal/differ/orPatch.ts +18 -6
  997. package/src/internal/effect/circular.ts +4 -3
  998. package/src/internal/effectable.ts +41 -8
  999. package/src/internal/either.ts +2 -2
  1000. package/src/internal/fiber.ts +2 -0
  1001. package/src/internal/fiberId.ts +4 -4
  1002. package/src/internal/fiberMessage.ts +1 -4
  1003. package/src/internal/fiberRuntime.ts +242 -284
  1004. package/src/internal/fiberScope.ts +1 -1
  1005. package/src/internal/groupBy.ts +5 -2
  1006. package/src/internal/hashMap/node.ts +5 -5
  1007. package/src/internal/hashMap.ts +25 -24
  1008. package/src/internal/hashSet.ts +20 -22
  1009. package/src/internal/keyedPool.ts +7 -4
  1010. package/src/internal/layer.ts +35 -89
  1011. package/src/internal/logger.ts +2 -1
  1012. package/src/internal/metric/hook.ts +2 -1
  1013. package/src/internal/metric/key.ts +2 -2
  1014. package/src/internal/metric/keyType.ts +2 -1
  1015. package/src/internal/metric/pair.ts +1 -1
  1016. package/src/internal/metric/polling.ts +26 -26
  1017. package/src/internal/metric/state.ts +1 -1
  1018. package/src/internal/metric.ts +12 -5
  1019. package/src/internal/opCodes/layer.ts +6 -6
  1020. package/src/internal/option.ts +2 -2
  1021. package/src/internal/pool.ts +4 -2
  1022. package/src/internal/pubsub.ts +66 -62
  1023. package/src/internal/query.ts +1 -1
  1024. package/src/internal/queue.ts +36 -14
  1025. package/src/internal/redBlackTree/iterator.ts +1 -1
  1026. package/src/internal/redBlackTree/node.ts +1 -1
  1027. package/src/internal/redBlackTree.ts +11 -4
  1028. package/src/internal/ref.ts +2 -1
  1029. package/src/internal/reloadable.ts +2 -2
  1030. package/src/internal/request.ts +53 -14
  1031. package/src/internal/resource.ts +6 -5
  1032. package/src/internal/ringBuffer.ts +1 -1
  1033. package/src/internal/runtime.ts +4 -5
  1034. package/src/internal/schedule.ts +12 -8
  1035. package/src/internal/scopedCache.ts +14 -7
  1036. package/src/internal/scopedRef.ts +2 -1
  1037. package/src/internal/sink.ts +11 -4
  1038. package/src/internal/stack.ts +1 -1
  1039. package/src/internal/stm/core.ts +6 -4
  1040. package/src/internal/stm/stm/stmState.ts +1 -1
  1041. package/src/internal/stm/stm/tExit.ts +8 -6
  1042. package/src/internal/stm/stm/tryCommit.ts +1 -1
  1043. package/src/internal/stm/stm/versioned.ts +1 -1
  1044. package/src/internal/stm/stm.ts +2 -2
  1045. package/src/internal/stm/tArray.ts +3 -3
  1046. package/src/internal/stm/tDeferred.ts +3 -3
  1047. package/src/internal/stm/tMap.ts +5 -4
  1048. package/src/internal/stm/tPriorityQueue.ts +3 -3
  1049. package/src/internal/stm/tPubSub.ts +43 -38
  1050. package/src/internal/stm/tQueue.ts +9 -8
  1051. package/src/internal/stm/tReentrantLock.ts +2 -2
  1052. package/src/internal/stm/tRef.ts +2 -2
  1053. package/src/internal/stm/tSemaphore.ts +2 -2
  1054. package/src/internal/stm/tSet.ts +3 -3
  1055. package/src/internal/stream/debounceState.ts +2 -2
  1056. package/src/internal/stream/handoff.ts +4 -4
  1057. package/src/internal/stream/handoffSignal.ts +2 -2
  1058. package/src/internal/stream/pull.ts +1 -1
  1059. package/src/internal/stream.ts +68 -35
  1060. package/src/internal/subscriptionRef.ts +3 -3
  1061. package/src/internal/supervisor.ts +4 -3
  1062. package/src/internal/take.ts +4 -3
  1063. package/src/internal/version.ts +1 -1
@@ -9,31 +9,33 @@ import { pipeArguments } from "../Pipeable.js"
9
9
  import type * as PubSub from "../PubSub.js"
10
10
  import type * as Queue from "../Queue.js"
11
11
  import type * as Scope from "../Scope.js"
12
- import * as cause from "./cause.js"
13
12
  import * as core from "./core.js"
14
13
  import * as executionStrategy from "./executionStrategy.js"
15
14
  import * as fiberRuntime from "./fiberRuntime.js"
16
15
  import * as queue from "./queue.js"
17
16
 
17
+ const AbsentValue = Symbol.for("effect/PubSub/AbsentValue")
18
+ type AbsentValue = typeof AbsentValue
19
+
18
20
  /** @internal */
19
- export interface AtomicPubSub<A> {
21
+ export interface AtomicPubSub<in out A> {
20
22
  readonly capacity: number
21
- readonly isEmpty: () => boolean
22
- readonly isFull: () => boolean
23
- readonly size: () => number
24
- readonly publish: (value: A) => boolean
25
- readonly publishAll: (elements: Iterable<A>) => Chunk.Chunk<A>
26
- readonly slide: () => void
27
- readonly subscribe: () => Subscription<A>
23
+ isEmpty(): boolean
24
+ isFull(): boolean
25
+ size(): number
26
+ publish(value: A): boolean
27
+ publishAll(elements: Iterable<A>): Chunk.Chunk<A>
28
+ slide(): void
29
+ subscribe(): Subscription<A>
28
30
  }
29
31
 
30
32
  /** @internal */
31
- interface Subscription<A> {
32
- readonly isEmpty: () => boolean
33
- readonly size: () => number
34
- readonly poll: <D>(default_: D) => A | D
35
- readonly pollUpTo: (n: number) => Chunk.Chunk<A>
36
- readonly unsubscribe: () => void
33
+ interface Subscription<out A> {
34
+ isEmpty(): boolean
35
+ size(): number
36
+ poll<D>(default_: D): A | D
37
+ pollUpTo(n: number): Chunk.Chunk<A>
38
+ unsubscribe(): void
37
39
  }
38
40
 
39
41
  /** @internal */
@@ -190,7 +192,7 @@ export const unsafeMakeSubscription = <A>(
190
192
  }
191
193
 
192
194
  /** @internal */
193
- class BoundedPubSubArb<A> implements AtomicPubSub<A> {
195
+ class BoundedPubSubArb<in out A> implements AtomicPubSub<A> {
194
196
  array: Array<A>
195
197
  publisherIndex = 0
196
198
  subscribers: Array<number>
@@ -254,7 +256,7 @@ class BoundedPubSubArb<A> implements AtomicPubSub<A> {
254
256
  slide(): void {
255
257
  if (this.subscribersIndex !== this.publisherIndex) {
256
258
  const index = this.subscribersIndex % this.capacity
257
- this.array[index] = null as unknown as A
259
+ this.array[index] = AbsentValue as unknown as A
258
260
  this.subscribers[index] = 0
259
261
  this.subscribersIndex += 1
260
262
  }
@@ -266,7 +268,7 @@ class BoundedPubSubArb<A> implements AtomicPubSub<A> {
266
268
  }
267
269
  }
268
270
 
269
- class BoundedPubSubArbSubscription<A> implements Subscription<A> {
271
+ class BoundedPubSubArbSubscription<in out A> implements Subscription<A> {
270
272
  constructor(
271
273
  private self: BoundedPubSubArb<A>,
272
274
  private subscriberIndex: number,
@@ -299,7 +301,7 @@ class BoundedPubSubArbSubscription<A> implements Subscription<A> {
299
301
  const elem = this.self.array[index]!
300
302
  this.self.subscribers[index] -= 1
301
303
  if (this.self.subscribers[index] === 0) {
302
- this.self.array[index] = null as unknown as A
304
+ this.self.array[index] = AbsentValue as unknown as A
303
305
  this.self.subscribersIndex += 1
304
306
  }
305
307
  this.subscriberIndex += 1
@@ -325,7 +327,7 @@ class BoundedPubSubArbSubscription<A> implements Subscription<A> {
325
327
  const a = this.self.array[index] as A
326
328
  this.self.subscribers[index] -= 1
327
329
  if (this.self.subscribers[index] === 0) {
328
- this.self.array[index] = null as unknown as A
330
+ this.self.array[index] = AbsentValue as unknown as A
329
331
  this.self.subscribersIndex += 1
330
332
  }
331
333
  builder.push(a)
@@ -344,7 +346,7 @@ class BoundedPubSubArbSubscription<A> implements Subscription<A> {
344
346
  const index = this.subscriberIndex % this.self.capacity
345
347
  this.self.subscribers[index] -= 1
346
348
  if (this.self.subscribers[index] === 0) {
347
- this.self.array[index] = null as unknown as A
349
+ this.self.array[index] = AbsentValue as unknown as A
348
350
  this.self.subscribersIndex += 1
349
351
  }
350
352
  this.subscriberIndex += 1
@@ -354,7 +356,7 @@ class BoundedPubSubArbSubscription<A> implements Subscription<A> {
354
356
  }
355
357
 
356
358
  /** @internal */
357
- class BoundedPubSubPow2<A> implements AtomicPubSub<A> {
359
+ class BoundedPubSubPow2<in out A> implements AtomicPubSub<A> {
358
360
  array: Array<A>
359
361
  mask: number
360
362
  publisherIndex = 0
@@ -420,7 +422,7 @@ class BoundedPubSubPow2<A> implements AtomicPubSub<A> {
420
422
  slide(): void {
421
423
  if (this.subscribersIndex !== this.publisherIndex) {
422
424
  const index = this.subscribersIndex & this.mask
423
- this.array[index] = null as unknown as A
425
+ this.array[index] = AbsentValue as unknown as A
424
426
  this.subscribers[index] = 0
425
427
  this.subscribersIndex += 1
426
428
  }
@@ -433,7 +435,7 @@ class BoundedPubSubPow2<A> implements AtomicPubSub<A> {
433
435
  }
434
436
 
435
437
  /** @internal */
436
- class BoundedPubSubPow2Subscription<A> implements Subscription<A> {
438
+ class BoundedPubSubPow2Subscription<in out A> implements Subscription<A> {
437
439
  constructor(
438
440
  private self: BoundedPubSubPow2<A>,
439
441
  private subscriberIndex: number,
@@ -466,7 +468,7 @@ class BoundedPubSubPow2Subscription<A> implements Subscription<A> {
466
468
  const elem = this.self.array[index]!
467
469
  this.self.subscribers[index] -= 1
468
470
  if (this.self.subscribers[index] === 0) {
469
- this.self.array[index] = null as unknown as A
471
+ this.self.array[index] = AbsentValue as unknown as A
470
472
  this.self.subscribersIndex += 1
471
473
  }
472
474
  this.subscriberIndex += 1
@@ -492,7 +494,7 @@ class BoundedPubSubPow2Subscription<A> implements Subscription<A> {
492
494
  const elem = this.self.array[index] as A
493
495
  this.self.subscribers[index] -= 1
494
496
  if (this.self.subscribers[index] === 0) {
495
- this.self.array[index] = null as unknown as A
497
+ this.self.array[index] = AbsentValue as unknown as A
496
498
  this.self.subscribersIndex += 1
497
499
  }
498
500
  builder.push(elem)
@@ -510,7 +512,7 @@ class BoundedPubSubPow2Subscription<A> implements Subscription<A> {
510
512
  const index = this.subscriberIndex & this.self.mask
511
513
  this.self.subscribers[index] -= 1
512
514
  if (this.self.subscribers[index] === 0) {
513
- this.self.array[index] = null as unknown as A
515
+ this.self.array[index] = AbsentValue as unknown as A
514
516
  this.self.subscribersIndex += 1
515
517
  }
516
518
  this.subscriberIndex += 1
@@ -520,11 +522,11 @@ class BoundedPubSubPow2Subscription<A> implements Subscription<A> {
520
522
  }
521
523
 
522
524
  /** @internal */
523
- class BoundedPubSubSingle<A> implements AtomicPubSub<A> {
525
+ class BoundedPubSubSingle<in out A> implements AtomicPubSub<A> {
524
526
  publisherIndex = 0
525
527
  subscriberCount = 0
526
528
  subscribers = 0
527
- value: A = null as unknown as A
529
+ value: A = AbsentValue as unknown as A
528
530
 
529
531
  readonly capacity = 1
530
532
 
@@ -571,7 +573,7 @@ class BoundedPubSubSingle<A> implements AtomicPubSub<A> {
571
573
  slide(): void {
572
574
  if (this.isFull()) {
573
575
  this.subscribers = 0
574
- this.value = null as unknown as A
576
+ this.value = AbsentValue as unknown as A
575
577
  }
576
578
  }
577
579
 
@@ -582,7 +584,7 @@ class BoundedPubSubSingle<A> implements AtomicPubSub<A> {
582
584
  }
583
585
 
584
586
  /** @internal */
585
- class BoundedPubSubSingleSubscription<A> implements Subscription<A> {
587
+ class BoundedPubSubSingleSubscription<in out A> implements Subscription<A> {
586
588
  constructor(
587
589
  private self: BoundedPubSubSingle<A>,
588
590
  private subscriberIndex: number,
@@ -609,7 +611,7 @@ class BoundedPubSubSingleSubscription<A> implements Subscription<A> {
609
611
  const elem = this.self.value
610
612
  this.self.subscribers -= 1
611
613
  if (this.self.subscribers === 0) {
612
- this.self.value = null as unknown as A
614
+ this.self.value = AbsentValue as unknown as A
613
615
  }
614
616
  this.subscriberIndex += 1
615
617
  return elem
@@ -622,7 +624,7 @@ class BoundedPubSubSingleSubscription<A> implements Subscription<A> {
622
624
  const a = this.self.value
623
625
  this.self.subscribers -= 1
624
626
  if (this.self.subscribers === 0) {
625
- this.self.value = null as unknown as A
627
+ this.self.value = AbsentValue as unknown as A
626
628
  }
627
629
  this.subscriberIndex += 1
628
630
  return Chunk.of(a)
@@ -635,7 +637,7 @@ class BoundedPubSubSingleSubscription<A> implements Subscription<A> {
635
637
  if (this.subscriberIndex !== this.self.publisherIndex) {
636
638
  this.self.subscribers -= 1
637
639
  if (this.self.subscribers === 0) {
638
- this.self.value = null as unknown as A
640
+ this.self.value = AbsentValue as unknown as A
639
641
  }
640
642
  }
641
643
  }
@@ -643,9 +645,9 @@ class BoundedPubSubSingleSubscription<A> implements Subscription<A> {
643
645
  }
644
646
 
645
647
  /** @internal */
646
- class Node<A> {
648
+ class Node<out A> {
647
649
  constructor(
648
- public value: A | null,
650
+ public value: A | AbsentValue,
649
651
  public subscribers: number,
650
652
  public next: Node<A> | null
651
653
  ) {
@@ -653,8 +655,8 @@ class Node<A> {
653
655
  }
654
656
 
655
657
  /** @internal */
656
- class UnboundedPubSub<A> implements AtomicPubSub<A> {
657
- publisherHead = new Node<A>(null, 0, null)
658
+ class UnboundedPubSub<in out A> implements AtomicPubSub<A> {
659
+ publisherHead = new Node<A>(AbsentValue, 0, null)
658
660
  publisherIndex = 0
659
661
  publisherTail: Node<A>
660
662
  subscribersIndex = 0
@@ -697,7 +699,7 @@ class UnboundedPubSub<A> implements AtomicPubSub<A> {
697
699
  slide(): void {
698
700
  if (this.publisherHead !== this.publisherTail) {
699
701
  this.publisherHead = this.publisherHead.next!
700
- this.publisherHead.value = null
702
+ this.publisherHead.value = AbsentValue
701
703
  this.subscribersIndex += 1
702
704
  }
703
705
  }
@@ -714,7 +716,7 @@ class UnboundedPubSub<A> implements AtomicPubSub<A> {
714
716
  }
715
717
 
716
718
  /** @internal */
717
- class UnboundedPubSubSubscription<A> implements Subscription<A> {
719
+ class UnboundedPubSubSubscription<in out A> implements Subscription<A> {
718
720
  constructor(
719
721
  private self: UnboundedPubSub<A>,
720
722
  private subscriberHead: Node<A>,
@@ -733,7 +735,7 @@ class UnboundedPubSubSubscription<A> implements Subscription<A> {
733
735
  if (this.subscriberHead === this.self.publisherTail) {
734
736
  loop = false
735
737
  } else {
736
- if (this.subscriberHead.next!.value !== null) {
738
+ if (this.subscriberHead.next!.value !== AbsentValue) {
737
739
  empty = false
738
740
  loop = false
739
741
  } else {
@@ -763,12 +765,12 @@ class UnboundedPubSubSubscription<A> implements Subscription<A> {
763
765
  loop = false
764
766
  } else {
765
767
  const elem = this.subscriberHead.next!.value
766
- if (elem !== null) {
768
+ if (elem !== AbsentValue) {
767
769
  polled = elem
768
770
  this.subscriberHead.subscribers -= 1
769
771
  if (this.subscriberHead.subscribers === 0) {
770
772
  this.self.publisherHead = this.self.publisherHead.next!
771
- this.self.publisherHead.value = null
773
+ this.self.publisherHead.value = AbsentValue
772
774
  this.self.subscribersIndex += 1
773
775
  }
774
776
  loop = false
@@ -782,7 +784,7 @@ class UnboundedPubSubSubscription<A> implements Subscription<A> {
782
784
 
783
785
  pollUpTo(n: number): Chunk.Chunk<A> {
784
786
  const builder: Array<A> = []
785
- const default_ = null
787
+ const default_ = AbsentValue
786
788
  let i = 0
787
789
  while (i !== n) {
788
790
  const a = this.poll(default_ as unknown as A)
@@ -801,11 +803,11 @@ class UnboundedPubSubSubscription<A> implements Subscription<A> {
801
803
  this.unsubscribed = true
802
804
  this.self.publisherTail.subscribers -= 1
803
805
  while (this.subscriberHead !== this.self.publisherTail) {
804
- if (this.subscriberHead.next!.value !== null) {
806
+ if (this.subscriberHead.next!.value !== AbsentValue) {
805
807
  this.subscriberHead.subscribers -= 1
806
808
  if (this.subscriberHead.subscribers === 0) {
807
809
  this.self.publisherHead = this.self.publisherHead.next!
808
- this.self.publisherHead.value = null
810
+ this.self.publisherHead.value = AbsentValue
809
811
  this.self.subscribersIndex += 1
810
812
  }
811
813
  }
@@ -816,7 +818,7 @@ class UnboundedPubSubSubscription<A> implements Subscription<A> {
816
818
  }
817
819
 
818
820
  /** @internal */
819
- class SubscriptionImpl<A> implements Queue.Dequeue<A> {
821
+ class SubscriptionImpl<in out A> implements Queue.Dequeue<A> {
820
822
  [queue.DequeueTypeId] = queue.dequeueVariance
821
823
 
822
824
  constructor(
@@ -993,8 +995,9 @@ const takeRemainderLoop = <A>(
993
995
  }
994
996
 
995
997
  /** @internal */
996
- class PubSubImpl<A> implements PubSub.PubSub<A> {
998
+ class PubSubImpl<in out A> implements PubSub.PubSub<A> {
997
999
  readonly [queue.EnqueueTypeId] = queue.enqueueVariance
1000
+ readonly [queue.DequeueTypeId] = queue.dequeueVariance
998
1001
 
999
1002
  constructor(
1000
1003
  readonly pubsub: AtomicPubSub<A>,
@@ -1176,7 +1179,7 @@ const nextPow2 = (n: number): number => {
1176
1179
  /** @internal */
1177
1180
  const ensureCapacity = (capacity: number): void => {
1178
1181
  if (capacity <= 0) {
1179
- throw cause.InvalidPubSubCapacityException(`Cannot construct PubSub with capacity of ${capacity}`)
1182
+ throw new core.InvalidPubSubCapacityException(`Cannot construct PubSub with capacity of ${capacity}`)
1180
1183
  }
1181
1184
  }
1182
1185
 
@@ -1228,7 +1231,7 @@ const unsafeRemove = <A>(queue: MutableQueue.MutableQueue<A>, value: A): void =>
1228
1231
  *
1229
1232
  * @internal
1230
1233
  */
1231
- export interface PubSubStrategy<A> {
1234
+ export interface PubSubStrategy<in out A> {
1232
1235
  /**
1233
1236
  * Describes any finalization logic associated with this strategy.
1234
1237
  */
@@ -1238,42 +1241,42 @@ export interface PubSubStrategy<A> {
1238
1241
  * Describes how publishers should signal to subscribers that they are
1239
1242
  * waiting for space to become available in the `PubSub`.
1240
1243
  */
1241
- readonly handleSurplus: (
1244
+ handleSurplus(
1242
1245
  pubsub: AtomicPubSub<A>,
1243
1246
  subscribers: Subscribers<A>,
1244
1247
  elements: Iterable<A>,
1245
1248
  isShutdown: MutableRef.MutableRef<boolean>
1246
- ) => Effect.Effect<never, never, boolean>
1249
+ ): Effect.Effect<never, never, boolean>
1247
1250
 
1248
1251
  /**
1249
1252
  * Describes how subscribers should signal to publishers waiting for space
1250
1253
  * to become available in the `PubSub` that space may be available.
1251
1254
  */
1252
- readonly unsafeOnPubSubEmptySpace: (
1255
+ unsafeOnPubSubEmptySpace(
1253
1256
  pubsub: AtomicPubSub<A>,
1254
1257
  subscribers: Subscribers<A>
1255
- ) => void
1258
+ ): void
1256
1259
 
1257
1260
  /**
1258
1261
  * Describes how subscribers waiting for additional values from the `PubSub`
1259
1262
  * should take those values and signal to publishers that they are no
1260
1263
  * longer waiting for additional values.
1261
1264
  */
1262
- readonly unsafeCompletePollers: (
1265
+ unsafeCompletePollers(
1263
1266
  pubsub: AtomicPubSub<A>,
1264
1267
  subscribers: Subscribers<A>,
1265
1268
  subscription: Subscription<A>,
1266
1269
  pollers: MutableQueue.MutableQueue<Deferred.Deferred<never, A>>
1267
- ) => void
1270
+ ): void
1268
1271
 
1269
1272
  /**
1270
1273
  * Describes how publishers should signal to subscribers waiting for
1271
1274
  * additional values from the `PubSub` that new values are available.
1272
1275
  */
1273
- readonly unsafeCompleteSubscribers: (
1276
+ unsafeCompleteSubscribers(
1274
1277
  pubsub: AtomicPubSub<A>,
1275
1278
  subscribers: Subscribers<A>
1276
- ) => void
1279
+ ): void
1277
1280
  }
1278
1281
 
1279
1282
  /**
@@ -1285,7 +1288,7 @@ export interface PubSubStrategy<A> {
1285
1288
  *
1286
1289
  * @internal
1287
1290
  */
1288
- class BackPressureStrategy<A> implements PubSubStrategy<A> {
1291
+ class BackPressureStrategy<in out A> implements PubSubStrategy<A> {
1289
1292
  publishers: MutableQueue.MutableQueue<
1290
1293
  readonly [
1291
1294
  A,
@@ -1299,12 +1302,13 @@ class BackPressureStrategy<A> implements PubSubStrategy<A> {
1299
1302
  core.flatMap(
1300
1303
  core.sync(() => unsafePollAllQueue(this.publishers)),
1301
1304
  (publishers) =>
1302
- fiberRuntime.forEachParUnboundedDiscard(
1305
+ fiberRuntime.forEachConcurrentDiscard(
1303
1306
  publishers,
1304
1307
  ([_, deferred, last]) =>
1305
1308
  last ?
1306
1309
  pipe(core.deferredInterruptWith(deferred, fiberId), core.asUnit) :
1307
1310
  core.unit,
1311
+ false,
1308
1312
  false
1309
1313
  )
1310
1314
  ))
@@ -1410,7 +1414,7 @@ class BackPressureStrategy<A> implements PubSubStrategy<A> {
1410
1414
  *
1411
1415
  * @internal
1412
1416
  */
1413
- export class DroppingStrategy<A> implements PubSubStrategy<A> {
1417
+ export class DroppingStrategy<in out A> implements PubSubStrategy<A> {
1414
1418
  get shutdown(): Effect.Effect<never, never, void> {
1415
1419
  return core.unit
1416
1420
  }
@@ -1454,7 +1458,7 @@ export class DroppingStrategy<A> implements PubSubStrategy<A> {
1454
1458
  *
1455
1459
  * @internal
1456
1460
  */
1457
- export class SlidingStrategy<A> implements PubSubStrategy<A> {
1461
+ export class SlidingStrategy<in out A> implements PubSubStrategy<A> {
1458
1462
  get shutdown(): Effect.Effect<never, never, void> {
1459
1463
  return core.unit
1460
1464
  }
@@ -78,7 +78,7 @@ export const fromRequest = <
78
78
  proxy,
79
79
  (entry) => entry.handle === orNew.left.handle
80
80
  ),
81
- () => fromRequest(proxy, dataSource)
81
+ () => fromRequest(proxy, ds)
82
82
  )
83
83
  }
84
84
  return ensuring(
@@ -33,22 +33,37 @@ export const QueueStrategyTypeId: Queue.QueueStrategyTypeId = Symbol.for(
33
33
  ) as Queue.QueueStrategyTypeId
34
34
 
35
35
  /** @internal */
36
+ const BackingQueueSymbolKey = "effect/BackingQueue"
37
+
38
+ /** @internal */
39
+ export const BackingQueueTypeId: Queue.BackingQueueTypeId = Symbol.for(
40
+ BackingQueueSymbolKey
41
+ ) as Queue.BackingQueueTypeId
42
+
36
43
  const queueStrategyVariance = {
37
- _A: (_: never) => _
44
+ /* c8 ignore next */
45
+ _A: (_: any) => _
46
+ }
47
+
48
+ const backingQueueVariance = {
49
+ /* c8 ignore next */
50
+ _A: (_: any) => _
38
51
  }
39
52
 
40
53
  /** @internal */
41
54
  export const enqueueVariance = {
55
+ /* c8 ignore next */
42
56
  _In: (_: unknown) => _
43
57
  }
44
58
 
45
59
  /** @internal */
46
60
  export const dequeueVariance = {
61
+ /* c8 ignore next */
47
62
  _Out: (_: never) => _
48
63
  }
49
64
 
50
65
  /** @internal */
51
- class QueueImpl<A> implements Queue.Queue<A> {
66
+ class QueueImpl<in out A> implements Queue.Queue<A> {
52
67
  readonly [EnqueueTypeId] = enqueueVariance
53
68
  readonly [DequeueTypeId] = dequeueVariance
54
69
 
@@ -102,9 +117,10 @@ class QueueImpl<A> implements Queue.Queue<A> {
102
117
  core.withFiberRuntime<never, never, void>((state) => {
103
118
  pipe(this.shutdownFlag, MutableRef.set(true))
104
119
  return pipe(
105
- fiberRuntime.forEachParUnboundedDiscard(
120
+ fiberRuntime.forEachConcurrentDiscard(
106
121
  unsafePollAll(this.takers),
107
122
  (d) => core.deferredInterruptWith(d, state.id()),
123
+ false,
108
124
  false
109
125
  ),
110
126
  core.zipRight(this.strategy.shutdown),
@@ -386,7 +402,8 @@ export const make = <A>(
386
402
  )
387
403
 
388
404
  /** @internal */
389
- export class BackingQueueFromMutableQueue<A> implements Queue.BackingQueue<A> {
405
+ export class BackingQueueFromMutableQueue<in out A> implements Queue.BackingQueue<A> {
406
+ readonly [BackingQueueTypeId] = backingQueueVariance
390
407
  constructor(readonly mutable: MutableQueue.MutableQueue<A>) {}
391
408
  poll<Def>(def: Def): A | Def {
392
409
  return MutableQueue.poll(this.mutable, def)
@@ -503,7 +520,7 @@ export const droppingStrategy = <A>(): Queue.Strategy<A> => new DroppingStrategy
503
520
  export const slidingStrategy = <A>(): Queue.Strategy<A> => new SlidingStrategy()
504
521
 
505
522
  /** @internal */
506
- class BackPressureStrategy<A> implements Queue.Strategy<A> {
523
+ class BackPressureStrategy<in out A> implements Queue.Strategy<A> {
507
524
  readonly [QueueStrategyTypeId] = queueStrategyVariance
508
525
 
509
526
  readonly putters = MutableQueue.unbounded<readonly [A, Deferred.Deferred<never, boolean>, boolean]>()
@@ -530,13 +547,18 @@ class BackPressureStrategy<A> implements Queue.Strategy<A> {
530
547
  pipe(
531
548
  core.sync(() => unsafePollAll(this.putters)),
532
549
  core.flatMap((putters) =>
533
- fiberRuntime.forEachParUnboundedDiscard(putters, ([_, deferred, isLastItem]) =>
534
- isLastItem ?
535
- pipe(
536
- core.deferredInterruptWith(deferred, fiberId),
537
- core.asUnit
538
- ) :
539
- core.unit, false)
550
+ fiberRuntime.forEachConcurrentDiscard(
551
+ putters,
552
+ ([_, deferred, isLastItem]) =>
553
+ isLastItem ?
554
+ pipe(
555
+ core.deferredInterruptWith(deferred, fiberId),
556
+ core.asUnit
557
+ ) :
558
+ core.unit,
559
+ false,
560
+ false
561
+ )
540
562
  )
541
563
  )
542
564
  )
@@ -605,7 +627,7 @@ class BackPressureStrategy<A> implements Queue.Strategy<A> {
605
627
  }
606
628
 
607
629
  /** @internal */
608
- class DroppingStrategy<A> implements Queue.Strategy<A> {
630
+ class DroppingStrategy<in out A> implements Queue.Strategy<A> {
609
631
  readonly [QueueStrategyTypeId] = queueStrategyVariance
610
632
 
611
633
  surplusSize(): number {
@@ -637,7 +659,7 @@ class DroppingStrategy<A> implements Queue.Strategy<A> {
637
659
  }
638
660
 
639
661
  /** @internal */
640
- class SlidingStrategy<A> implements Queue.Strategy<A> {
662
+ class SlidingStrategy<in out A> implements Queue.Strategy<A> {
641
663
  readonly [QueueStrategyTypeId] = queueStrategyVariance
642
664
 
643
665
  surplusSize(): number {
@@ -11,7 +11,7 @@ export const Direction = {
11
11
  } as const
12
12
 
13
13
  /** @internal */
14
- export class RedBlackTreeIterator<K, V> implements Iterator<[K, V]> {
14
+ export class RedBlackTreeIterator<in out K, out V> implements Iterator<[K, V]> {
15
15
  private count = 0
16
16
 
17
17
  constructor(
@@ -11,7 +11,7 @@ export declare namespace Node {
11
11
  }
12
12
 
13
13
  /** @internal */
14
- export class Node<K, V> {
14
+ export class Node<out K, out V> {
15
15
  constructor(
16
16
  public color: Node.Color,
17
17
  public key: K,
@@ -2,7 +2,7 @@ import * as Chunk from "../Chunk.js"
2
2
  import * as Equal from "../Equal.js"
3
3
  import { dual, pipe } from "../Function.js"
4
4
  import * as Hash from "../Hash.js"
5
- import { NodeInspectSymbol, toJSON, toString } from "../Inspectable.js"
5
+ import { format, NodeInspectSymbol, toJSON } from "../Inspectable.js"
6
6
  import * as Option from "../Option.js"
7
7
  import type * as Order from "../Order.js"
8
8
  import type * as Ordering from "../Ordering.js"
@@ -19,13 +19,20 @@ const RedBlackTreeSymbolKey = "effect/RedBlackTree"
19
19
  export const RedBlackTreeTypeId: RBT.TypeId = Symbol.for(RedBlackTreeSymbolKey) as RBT.TypeId
20
20
 
21
21
  /** @internal */
22
- export interface RedBlackTreeImpl<K, V> extends RBT.RedBlackTree<K, V> {
22
+ export interface RedBlackTreeImpl<in out K, out V> extends RBT.RedBlackTree<K, V> {
23
23
  readonly _ord: Order.Order<K>
24
24
  readonly _root: Node.Node<K, V> | undefined
25
25
  }
26
26
 
27
+ const redBlackTreeVariance = {
28
+ /* c8 ignore next */
29
+ _Key: (_: any) => _,
30
+ /* c8 ignore next */
31
+ _Value: (_: never) => _
32
+ }
33
+
27
34
  const RedBlackTreeProto: RBT.RedBlackTree<unknown, unknown> = {
28
- [RedBlackTreeTypeId]: RedBlackTreeTypeId,
35
+ [RedBlackTreeTypeId]: redBlackTreeVariance,
29
36
  [Hash.symbol](): number {
30
37
  let hash = Hash.hash(RedBlackTreeSymbolKey)
31
38
  for (const item of this) {
@@ -56,7 +63,7 @@ const RedBlackTreeProto: RBT.RedBlackTree<unknown, unknown> = {
56
63
  return new RedBlackTreeIterator(this, stack, Direction.Forward)
57
64
  },
58
65
  toString() {
59
- return toString(this.toJSON())
66
+ return format(this.toJSON())
60
67
  },
61
68
  toJSON() {
62
69
  return {
@@ -11,10 +11,11 @@ export const RefTypeId: Ref.RefTypeId = Symbol.for("effect/Ref") as Ref.RefTypeI
11
11
 
12
12
  /** @internal */
13
13
  export const refVariance = {
14
+ /* c8 ignore next */
14
15
  _A: (_: any) => _
15
16
  }
16
17
 
17
- class RefImpl<A> implements Ref.Ref<A> {
18
+ class RefImpl<in out A> implements Ref.Ref<A> {
18
19
  readonly [RefTypeId] = refVariance
19
20
  constructor(readonly ref: MutableRef.MutableRef<A>) {}
20
21
  modify<B>(f: (a: A) => readonly [B, A]): Effect.Effect<never, never, B> {
@@ -20,9 +20,9 @@ export const ReloadableTypeId: Reloadable.ReloadableTypeId = Symbol.for(
20
20
  ReloadableSymbolKey
21
21
  ) as Reloadable.ReloadableTypeId
22
22
 
23
- /** @internal */
24
23
  const reloadableVariance = {
25
- _A: (_: never) => _
24
+ /* c8 ignore next */
25
+ _A: (_: any) => _
26
26
  }
27
27
 
28
28
  /** @internal */