effect 3.4.8 → 3.5.0

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 (696) hide show
  1. package/RcMap/package.json +6 -0
  2. package/RcRef/package.json +6 -0
  3. package/dist/cjs/Array.js +14 -37
  4. package/dist/cjs/Array.js.map +1 -1
  5. package/dist/cjs/BigDecimal.js +11 -34
  6. package/dist/cjs/BigDecimal.js.map +1 -1
  7. package/dist/cjs/BigInt.js +7 -30
  8. package/dist/cjs/BigInt.js.map +1 -1
  9. package/dist/cjs/Boolean.js +6 -29
  10. package/dist/cjs/Boolean.js.map +1 -1
  11. package/dist/cjs/Brand.js +6 -29
  12. package/dist/cjs/Brand.js.map +1 -1
  13. package/dist/cjs/Cache.js +3 -26
  14. package/dist/cjs/Cache.js.map +1 -1
  15. package/dist/cjs/Cause.js +26 -28
  16. package/dist/cjs/Cause.js.map +1 -1
  17. package/dist/cjs/Channel.js +6 -29
  18. package/dist/cjs/Channel.js.map +1 -1
  19. package/dist/cjs/ChildExecutorDecision.js +3 -26
  20. package/dist/cjs/ChildExecutorDecision.js.map +1 -1
  21. package/dist/cjs/Chunk.js +12 -35
  22. package/dist/cjs/Chunk.js.map +1 -1
  23. package/dist/cjs/Clock.js +4 -27
  24. package/dist/cjs/Clock.js.map +1 -1
  25. package/dist/cjs/Config.js +3 -26
  26. package/dist/cjs/Config.js.map +1 -1
  27. package/dist/cjs/ConfigError.js +3 -26
  28. package/dist/cjs/ConfigError.js.map +1 -1
  29. package/dist/cjs/ConfigProvider.js +3 -26
  30. package/dist/cjs/ConfigProvider.js.map +1 -1
  31. package/dist/cjs/ConfigProviderPathPatch.js +3 -26
  32. package/dist/cjs/ConfigProviderPathPatch.js.map +1 -1
  33. package/dist/cjs/Console.js +4 -27
  34. package/dist/cjs/Console.js.map +1 -1
  35. package/dist/cjs/Context.js +3 -26
  36. package/dist/cjs/Context.js.map +1 -1
  37. package/dist/cjs/Cron.js +13 -36
  38. package/dist/cjs/Cron.js.map +1 -1
  39. package/dist/cjs/Data.js +9 -30
  40. package/dist/cjs/Data.js.map +1 -1
  41. package/dist/cjs/DefaultServices.js +3 -26
  42. package/dist/cjs/DefaultServices.js.map +1 -1
  43. package/dist/cjs/Deferred.js +4 -27
  44. package/dist/cjs/Deferred.js.map +1 -1
  45. package/dist/cjs/Differ.js +10 -33
  46. package/dist/cjs/Differ.js.map +1 -1
  47. package/dist/cjs/Duration.js +33 -35
  48. package/dist/cjs/Duration.js.map +1 -1
  49. package/dist/cjs/Effect.js +16 -39
  50. package/dist/cjs/Effect.js.map +1 -1
  51. package/dist/cjs/Effectable.js +3 -26
  52. package/dist/cjs/Effectable.js.map +1 -1
  53. package/dist/cjs/Either.js +8 -31
  54. package/dist/cjs/Either.js.map +1 -1
  55. package/dist/cjs/Encoding.js +7 -30
  56. package/dist/cjs/Encoding.js.map +1 -1
  57. package/dist/cjs/Equal.js +5 -28
  58. package/dist/cjs/Equal.js.map +1 -1
  59. package/dist/cjs/Equivalence.js +1 -1
  60. package/dist/cjs/Equivalence.js.map +1 -1
  61. package/dist/cjs/ExecutionStrategy.js +3 -26
  62. package/dist/cjs/ExecutionStrategy.js.map +1 -1
  63. package/dist/cjs/Exit.js +3 -26
  64. package/dist/cjs/Exit.js.map +1 -1
  65. package/dist/cjs/Fiber.js +6 -29
  66. package/dist/cjs/Fiber.js.map +1 -1
  67. package/dist/cjs/FiberHandle.js +15 -38
  68. package/dist/cjs/FiberHandle.js.map +1 -1
  69. package/dist/cjs/FiberId.js +3 -26
  70. package/dist/cjs/FiberId.js.map +1 -1
  71. package/dist/cjs/FiberMap.js +17 -40
  72. package/dist/cjs/FiberMap.js.map +1 -1
  73. package/dist/cjs/FiberRef.js +6 -29
  74. package/dist/cjs/FiberRef.js.map +1 -1
  75. package/dist/cjs/FiberRefs.js +3 -26
  76. package/dist/cjs/FiberRefs.js.map +1 -1
  77. package/dist/cjs/FiberRefsPatch.js +3 -26
  78. package/dist/cjs/FiberRefsPatch.js.map +1 -1
  79. package/dist/cjs/FiberSet.js +16 -39
  80. package/dist/cjs/FiberSet.js.map +1 -1
  81. package/dist/cjs/FiberStatus.js +3 -26
  82. package/dist/cjs/FiberStatus.js.map +1 -1
  83. package/dist/cjs/GlobalValue.js +3 -26
  84. package/dist/cjs/GlobalValue.js.map +1 -1
  85. package/dist/cjs/GroupBy.js +3 -26
  86. package/dist/cjs/GroupBy.js.map +1 -1
  87. package/dist/cjs/Hash.js +4 -4
  88. package/dist/cjs/Hash.js.map +1 -1
  89. package/dist/cjs/HashMap.js +4 -27
  90. package/dist/cjs/HashMap.js.map +1 -1
  91. package/dist/cjs/HashSet.js +3 -26
  92. package/dist/cjs/HashSet.js.map +1 -1
  93. package/dist/cjs/Inspectable.js +1 -1
  94. package/dist/cjs/Inspectable.js.map +1 -1
  95. package/dist/cjs/Iterable.js +8 -31
  96. package/dist/cjs/Iterable.js.map +1 -1
  97. package/dist/cjs/KeyedPool.js +3 -26
  98. package/dist/cjs/KeyedPool.js.map +1 -1
  99. package/dist/cjs/Layer.js +11 -34
  100. package/dist/cjs/Layer.js.map +1 -1
  101. package/dist/cjs/List.js +13 -36
  102. package/dist/cjs/List.js.map +1 -1
  103. package/dist/cjs/LogLevel.js +6 -29
  104. package/dist/cjs/LogLevel.js.map +1 -1
  105. package/dist/cjs/LogSpan.js +3 -26
  106. package/dist/cjs/LogSpan.js.map +1 -1
  107. package/dist/cjs/Logger.js +17 -30
  108. package/dist/cjs/Logger.js.map +1 -1
  109. package/dist/cjs/ManagedRuntime.js +3 -26
  110. package/dist/cjs/ManagedRuntime.js.map +1 -1
  111. package/dist/cjs/Match.js +4 -27
  112. package/dist/cjs/Match.js.map +1 -1
  113. package/dist/cjs/MergeDecision.js +3 -26
  114. package/dist/cjs/MergeDecision.js.map +1 -1
  115. package/dist/cjs/MergeState.js +3 -26
  116. package/dist/cjs/MergeState.js.map +1 -1
  117. package/dist/cjs/MergeStrategy.js +3 -26
  118. package/dist/cjs/MergeStrategy.js.map +1 -1
  119. package/dist/cjs/Metric.js +4 -27
  120. package/dist/cjs/Metric.js.map +1 -1
  121. package/dist/cjs/MetricBoundaries.js +3 -26
  122. package/dist/cjs/MetricBoundaries.js.map +1 -1
  123. package/dist/cjs/MetricHook.js +3 -26
  124. package/dist/cjs/MetricHook.js.map +1 -1
  125. package/dist/cjs/MetricKey.js +3 -26
  126. package/dist/cjs/MetricKey.js.map +1 -1
  127. package/dist/cjs/MetricKeyType.js +3 -26
  128. package/dist/cjs/MetricKeyType.js.map +1 -1
  129. package/dist/cjs/MetricLabel.js +3 -26
  130. package/dist/cjs/MetricLabel.js.map +1 -1
  131. package/dist/cjs/MetricPair.js +3 -26
  132. package/dist/cjs/MetricPair.js.map +1 -1
  133. package/dist/cjs/MetricPolling.js +3 -26
  134. package/dist/cjs/MetricPolling.js.map +1 -1
  135. package/dist/cjs/MetricRegistry.js +3 -26
  136. package/dist/cjs/MetricRegistry.js.map +1 -1
  137. package/dist/cjs/MetricState.js +3 -26
  138. package/dist/cjs/MetricState.js.map +1 -1
  139. package/dist/cjs/Micro.js +15 -38
  140. package/dist/cjs/Micro.js.map +1 -1
  141. package/dist/cjs/ModuleVersion.js +3 -26
  142. package/dist/cjs/ModuleVersion.js.map +1 -1
  143. package/dist/cjs/MutableHashMap.js +8 -31
  144. package/dist/cjs/MutableHashMap.js.map +1 -1
  145. package/dist/cjs/MutableHashSet.js +6 -29
  146. package/dist/cjs/MutableHashSet.js.map +1 -1
  147. package/dist/cjs/MutableList.js +5 -28
  148. package/dist/cjs/MutableList.js.map +1 -1
  149. package/dist/cjs/MutableQueue.js +7 -30
  150. package/dist/cjs/MutableQueue.js.map +1 -1
  151. package/dist/cjs/MutableRef.js +6 -29
  152. package/dist/cjs/MutableRef.js.map +1 -1
  153. package/dist/cjs/Number.js +7 -30
  154. package/dist/cjs/Number.js.map +1 -1
  155. package/dist/cjs/Option.js +10 -33
  156. package/dist/cjs/Option.js.map +1 -1
  157. package/dist/cjs/Order.js +1 -1
  158. package/dist/cjs/Order.js.map +1 -1
  159. package/dist/cjs/Ordering.js +1 -1
  160. package/dist/cjs/Ordering.js.map +1 -1
  161. package/dist/cjs/Pool.js +3 -26
  162. package/dist/cjs/Pool.js.map +1 -1
  163. package/dist/cjs/Predicate.js +1 -1
  164. package/dist/cjs/Predicate.js.map +1 -1
  165. package/dist/cjs/PubSub.js +3 -26
  166. package/dist/cjs/PubSub.js.map +1 -1
  167. package/dist/cjs/Queue.js +3 -26
  168. package/dist/cjs/Queue.js.map +1 -1
  169. package/dist/cjs/Random.js +13 -28
  170. package/dist/cjs/Random.js.map +1 -1
  171. package/dist/cjs/RateLimiter.js +3 -26
  172. package/dist/cjs/RateLimiter.js.map +1 -1
  173. package/dist/cjs/RcMap.js +52 -0
  174. package/dist/cjs/RcMap.js.map +1 -0
  175. package/dist/cjs/RcRef.js +51 -0
  176. package/dist/cjs/RcRef.js.map +1 -0
  177. package/dist/cjs/Readable.js +6 -29
  178. package/dist/cjs/Readable.js.map +1 -1
  179. package/dist/cjs/Record.js +6 -29
  180. package/dist/cjs/Record.js.map +1 -1
  181. package/dist/cjs/RedBlackTree.js +4 -27
  182. package/dist/cjs/RedBlackTree.js.map +1 -1
  183. package/dist/cjs/Redacted.js +4 -27
  184. package/dist/cjs/Redacted.js.map +1 -1
  185. package/dist/cjs/Ref.js +3 -26
  186. package/dist/cjs/Ref.js.map +1 -1
  187. package/dist/cjs/Reloadable.js +3 -26
  188. package/dist/cjs/Reloadable.js.map +1 -1
  189. package/dist/cjs/Request.js +7 -30
  190. package/dist/cjs/Request.js.map +1 -1
  191. package/dist/cjs/RequestBlock.js +3 -26
  192. package/dist/cjs/RequestBlock.js.map +1 -1
  193. package/dist/cjs/RequestResolver.js +6 -29
  194. package/dist/cjs/RequestResolver.js.map +1 -1
  195. package/dist/cjs/Resource.js +3 -26
  196. package/dist/cjs/Resource.js.map +1 -1
  197. package/dist/cjs/Runtime.js +3 -26
  198. package/dist/cjs/Runtime.js.map +1 -1
  199. package/dist/cjs/RuntimeFlags.js +4 -27
  200. package/dist/cjs/RuntimeFlags.js.map +1 -1
  201. package/dist/cjs/RuntimeFlagsPatch.js +4 -27
  202. package/dist/cjs/RuntimeFlagsPatch.js.map +1 -1
  203. package/dist/cjs/STM.js +6 -29
  204. package/dist/cjs/STM.js.map +1 -1
  205. package/dist/cjs/Schedule.js +3 -26
  206. package/dist/cjs/Schedule.js.map +1 -1
  207. package/dist/cjs/ScheduleDecision.js +3 -26
  208. package/dist/cjs/ScheduleDecision.js.map +1 -1
  209. package/dist/cjs/ScheduleInterval.js +3 -26
  210. package/dist/cjs/ScheduleInterval.js.map +1 -1
  211. package/dist/cjs/ScheduleIntervals.js +3 -26
  212. package/dist/cjs/ScheduleIntervals.js.map +1 -1
  213. package/dist/cjs/Scheduler.js +5 -28
  214. package/dist/cjs/Scheduler.js.map +1 -1
  215. package/dist/cjs/Scope.js +4 -27
  216. package/dist/cjs/Scope.js.map +1 -1
  217. package/dist/cjs/ScopedCache.js +3 -26
  218. package/dist/cjs/ScopedCache.js.map +1 -1
  219. package/dist/cjs/ScopedRef.js +3 -26
  220. package/dist/cjs/ScopedRef.js.map +1 -1
  221. package/dist/cjs/Secret.js +3 -26
  222. package/dist/cjs/Secret.js.map +1 -1
  223. package/dist/cjs/SingleProducerAsyncInput.js +3 -26
  224. package/dist/cjs/SingleProducerAsyncInput.js.map +1 -1
  225. package/dist/cjs/Sink.js +3 -26
  226. package/dist/cjs/Sink.js.map +1 -1
  227. package/dist/cjs/SortedMap.js +10 -33
  228. package/dist/cjs/SortedMap.js.map +1 -1
  229. package/dist/cjs/SortedSet.js +9 -32
  230. package/dist/cjs/SortedSet.js.map +1 -1
  231. package/dist/cjs/Stream.js +1077 -32
  232. package/dist/cjs/Stream.js.map +1 -1
  233. package/dist/cjs/StreamHaltStrategy.js +3 -26
  234. package/dist/cjs/StreamHaltStrategy.js.map +1 -1
  235. package/dist/cjs/Streamable.js +4 -27
  236. package/dist/cjs/Streamable.js.map +1 -1
  237. package/dist/cjs/String.js +9 -32
  238. package/dist/cjs/String.js.map +1 -1
  239. package/dist/cjs/Struct.js +6 -29
  240. package/dist/cjs/Struct.js.map +1 -1
  241. package/dist/cjs/Subscribable.js +8 -31
  242. package/dist/cjs/Subscribable.js.map +1 -1
  243. package/dist/cjs/SubscriptionRef.js +5 -28
  244. package/dist/cjs/SubscriptionRef.js.map +1 -1
  245. package/dist/cjs/Supervisor.js +5 -28
  246. package/dist/cjs/Supervisor.js.map +1 -1
  247. package/dist/cjs/Symbol.js +4 -27
  248. package/dist/cjs/Symbol.js.map +1 -1
  249. package/dist/cjs/SynchronizedRef.js +5 -28
  250. package/dist/cjs/SynchronizedRef.js.map +1 -1
  251. package/dist/cjs/TArray.js +3 -26
  252. package/dist/cjs/TArray.js.map +1 -1
  253. package/dist/cjs/TDeferred.js +3 -26
  254. package/dist/cjs/TDeferred.js.map +1 -1
  255. package/dist/cjs/TMap.js +3 -26
  256. package/dist/cjs/TMap.js.map +1 -1
  257. package/dist/cjs/TPriorityQueue.js +3 -26
  258. package/dist/cjs/TPriorityQueue.js.map +1 -1
  259. package/dist/cjs/TPubSub.js +3 -26
  260. package/dist/cjs/TPubSub.js.map +1 -1
  261. package/dist/cjs/TQueue.js +3 -26
  262. package/dist/cjs/TQueue.js.map +1 -1
  263. package/dist/cjs/TRandom.js +3 -26
  264. package/dist/cjs/TRandom.js.map +1 -1
  265. package/dist/cjs/TReentrantLock.js +3 -26
  266. package/dist/cjs/TReentrantLock.js.map +1 -1
  267. package/dist/cjs/TRef.js +3 -26
  268. package/dist/cjs/TRef.js.map +1 -1
  269. package/dist/cjs/TSemaphore.js +3 -26
  270. package/dist/cjs/TSemaphore.js.map +1 -1
  271. package/dist/cjs/TSet.js +3 -26
  272. package/dist/cjs/TSet.js.map +1 -1
  273. package/dist/cjs/Take.js +3 -26
  274. package/dist/cjs/Take.js.map +1 -1
  275. package/dist/cjs/TestAnnotation.js +10 -33
  276. package/dist/cjs/TestAnnotation.js.map +1 -1
  277. package/dist/cjs/TestAnnotationMap.js +5 -28
  278. package/dist/cjs/TestAnnotationMap.js.map +1 -1
  279. package/dist/cjs/TestAnnotations.js +15 -38
  280. package/dist/cjs/TestAnnotations.js.map +1 -1
  281. package/dist/cjs/TestClock.js +25 -48
  282. package/dist/cjs/TestClock.js.map +1 -1
  283. package/dist/cjs/TestConfig.js +3 -26
  284. package/dist/cjs/TestConfig.js.map +1 -1
  285. package/dist/cjs/TestContext.js +7 -30
  286. package/dist/cjs/TestContext.js.map +1 -1
  287. package/dist/cjs/TestLive.js +5 -28
  288. package/dist/cjs/TestLive.js.map +1 -1
  289. package/dist/cjs/TestServices.js +15 -38
  290. package/dist/cjs/TestServices.js.map +1 -1
  291. package/dist/cjs/TestSized.js +4 -27
  292. package/dist/cjs/TestSized.js.map +1 -1
  293. package/dist/cjs/Tracer.js +4 -27
  294. package/dist/cjs/Tracer.js.map +1 -1
  295. package/dist/cjs/Trie.js +3 -26
  296. package/dist/cjs/Trie.js.map +1 -1
  297. package/dist/cjs/Tuple.js +6 -29
  298. package/dist/cjs/Tuple.js.map +1 -1
  299. package/dist/cjs/Unify.js +1 -1
  300. package/dist/cjs/Unify.js.map +1 -1
  301. package/dist/cjs/UpstreamPullRequest.js +3 -26
  302. package/dist/cjs/UpstreamPullRequest.js.map +1 -1
  303. package/dist/cjs/UpstreamPullStrategy.js +3 -26
  304. package/dist/cjs/UpstreamPullStrategy.js.map +1 -1
  305. package/dist/cjs/Utils.js +4 -4
  306. package/dist/cjs/Utils.js.map +1 -1
  307. package/dist/cjs/index.js +166 -185
  308. package/dist/cjs/index.js.map +1 -1
  309. package/dist/cjs/internal/blockedRequests.js +9 -32
  310. package/dist/cjs/internal/blockedRequests.js.map +1 -1
  311. package/dist/cjs/internal/cache.js +20 -43
  312. package/dist/cjs/internal/cache.js.map +1 -1
  313. package/dist/cjs/internal/cause.js +37 -44
  314. package/dist/cjs/internal/cause.js.map +1 -1
  315. package/dist/cjs/internal/channel/channelExecutor.js +21 -44
  316. package/dist/cjs/internal/channel/channelExecutor.js.map +1 -1
  317. package/dist/cjs/internal/channel/channelState.js +5 -28
  318. package/dist/cjs/internal/channel/channelState.js.map +1 -1
  319. package/dist/cjs/internal/channel/childExecutorDecision.js +5 -28
  320. package/dist/cjs/internal/channel/childExecutorDecision.js.map +1 -1
  321. package/dist/cjs/internal/channel/continuation.js +4 -27
  322. package/dist/cjs/internal/channel/continuation.js.map +1 -1
  323. package/dist/cjs/internal/channel/mergeDecision.js +5 -28
  324. package/dist/cjs/internal/channel/mergeDecision.js.map +1 -1
  325. package/dist/cjs/internal/channel/mergeState.js +5 -28
  326. package/dist/cjs/internal/channel/mergeState.js.map +1 -1
  327. package/dist/cjs/internal/channel/mergeStrategy.js +5 -28
  328. package/dist/cjs/internal/channel/mergeStrategy.js.map +1 -1
  329. package/dist/cjs/internal/channel/singleProducerAsyncInput.js +9 -32
  330. package/dist/cjs/internal/channel/singleProducerAsyncInput.js.map +1 -1
  331. package/dist/cjs/internal/channel/subexecutor.js +5 -28
  332. package/dist/cjs/internal/channel/subexecutor.js.map +1 -1
  333. package/dist/cjs/internal/channel/upstreamPullRequest.js +5 -28
  334. package/dist/cjs/internal/channel/upstreamPullRequest.js.map +1 -1
  335. package/dist/cjs/internal/channel/upstreamPullStrategy.js +5 -28
  336. package/dist/cjs/internal/channel/upstreamPullStrategy.js.map +1 -1
  337. package/dist/cjs/internal/channel.js +31 -54
  338. package/dist/cjs/internal/channel.js.map +1 -1
  339. package/dist/cjs/internal/clock.js +6 -29
  340. package/dist/cjs/internal/clock.js.map +1 -1
  341. package/dist/cjs/internal/completedRequestMap.js +2 -2
  342. package/dist/cjs/internal/completedRequestMap.js.map +1 -1
  343. package/dist/cjs/internal/concurrency.js +3 -26
  344. package/dist/cjs/internal/concurrency.js.map +1 -1
  345. package/dist/cjs/internal/config.js +17 -40
  346. package/dist/cjs/internal/config.js.map +1 -1
  347. package/dist/cjs/internal/configError.js +7 -30
  348. package/dist/cjs/internal/configError.js.map +1 -1
  349. package/dist/cjs/internal/configProvider/pathPatch.js +8 -31
  350. package/dist/cjs/internal/configProvider/pathPatch.js.map +1 -1
  351. package/dist/cjs/internal/configProvider.js +17 -40
  352. package/dist/cjs/internal/configProvider.js.map +1 -1
  353. package/dist/cjs/internal/console.js +9 -32
  354. package/dist/cjs/internal/console.js.map +1 -1
  355. package/dist/cjs/internal/context.js +10 -33
  356. package/dist/cjs/internal/context.js.map +1 -1
  357. package/dist/cjs/internal/core-effect.js +29 -57
  358. package/dist/cjs/internal/core-effect.js.map +1 -1
  359. package/dist/cjs/internal/core-stream.js +14 -37
  360. package/dist/cjs/internal/core-stream.js.map +1 -1
  361. package/dist/cjs/internal/core.js +47 -65
  362. package/dist/cjs/internal/core.js.map +1 -1
  363. package/dist/cjs/internal/data.js +5 -28
  364. package/dist/cjs/internal/data.js.map +1 -1
  365. package/dist/cjs/internal/dataSource.js +10 -33
  366. package/dist/cjs/internal/dataSource.js.map +1 -1
  367. package/dist/cjs/internal/defaultServices/console.js +4 -27
  368. package/dist/cjs/internal/defaultServices/console.js.map +1 -1
  369. package/dist/cjs/internal/defaultServices.js +14 -37
  370. package/dist/cjs/internal/defaultServices.js.map +1 -1
  371. package/dist/cjs/internal/deferred.js +3 -26
  372. package/dist/cjs/internal/deferred.js.map +1 -1
  373. package/dist/cjs/internal/differ/chunkPatch.js +6 -29
  374. package/dist/cjs/internal/differ/chunkPatch.js.map +1 -1
  375. package/dist/cjs/internal/differ/contextPatch.js +7 -30
  376. package/dist/cjs/internal/differ/contextPatch.js.map +1 -1
  377. package/dist/cjs/internal/differ/hashMapPatch.js +7 -30
  378. package/dist/cjs/internal/differ/hashMapPatch.js.map +1 -1
  379. package/dist/cjs/internal/differ/hashSetPatch.js +6 -29
  380. package/dist/cjs/internal/differ/hashSetPatch.js.map +1 -1
  381. package/dist/cjs/internal/differ/orPatch.js +7 -30
  382. package/dist/cjs/internal/differ/orPatch.js.map +1 -1
  383. package/dist/cjs/internal/differ/readonlyArrayPatch.js +6 -29
  384. package/dist/cjs/internal/differ/readonlyArrayPatch.js.map +1 -1
  385. package/dist/cjs/internal/differ.js +10 -33
  386. package/dist/cjs/internal/differ.js.map +1 -1
  387. package/dist/cjs/internal/doNotation.js +1 -1
  388. package/dist/cjs/internal/doNotation.js.map +1 -1
  389. package/dist/cjs/internal/effect/circular.js +24 -47
  390. package/dist/cjs/internal/effect/circular.js.map +1 -1
  391. package/dist/cjs/internal/effectable.js +8 -31
  392. package/dist/cjs/internal/effectable.js.map +1 -1
  393. package/dist/cjs/internal/either.js +9 -32
  394. package/dist/cjs/internal/either.js.map +1 -1
  395. package/dist/cjs/internal/encoding/base64.js +4 -27
  396. package/dist/cjs/internal/encoding/base64.js.map +1 -1
  397. package/dist/cjs/internal/encoding/base64Url.js +5 -28
  398. package/dist/cjs/internal/encoding/base64Url.js.map +1 -1
  399. package/dist/cjs/internal/encoding/common.js +1 -1
  400. package/dist/cjs/internal/encoding/common.js.map +1 -1
  401. package/dist/cjs/internal/encoding/hex.js +4 -27
  402. package/dist/cjs/internal/encoding/hex.js.map +1 -1
  403. package/dist/cjs/internal/executionStrategy.js +1 -1
  404. package/dist/cjs/internal/executionStrategy.js.map +1 -1
  405. package/dist/cjs/internal/fiber.js +17 -40
  406. package/dist/cjs/internal/fiber.js.map +1 -1
  407. package/dist/cjs/internal/fiberId.js +11 -34
  408. package/dist/cjs/internal/fiberId.js.map +1 -1
  409. package/dist/cjs/internal/fiberRefs/patch.js +6 -29
  410. package/dist/cjs/internal/fiberRefs/patch.js.map +1 -1
  411. package/dist/cjs/internal/fiberRefs.js +9 -32
  412. package/dist/cjs/internal/fiberRefs.js.map +1 -1
  413. package/dist/cjs/internal/fiberRuntime.js +58 -79
  414. package/dist/cjs/internal/fiberRuntime.js.map +1 -1
  415. package/dist/cjs/internal/fiberScope.js +5 -28
  416. package/dist/cjs/internal/fiberScope.js.map +1 -1
  417. package/dist/cjs/internal/fiberStatus.js +6 -29
  418. package/dist/cjs/internal/fiberStatus.js.map +1 -1
  419. package/dist/cjs/internal/groupBy.js +18 -41
  420. package/dist/cjs/internal/groupBy.js.map +1 -1
  421. package/dist/cjs/internal/hashMap/bitwise.js +1 -1
  422. package/dist/cjs/internal/hashMap/bitwise.js.map +1 -1
  423. package/dist/cjs/internal/hashMap/keySet.js +1 -1
  424. package/dist/cjs/internal/hashMap/keySet.js.map +1 -1
  425. package/dist/cjs/internal/hashMap/node.js +9 -32
  426. package/dist/cjs/internal/hashMap/node.js.map +1 -1
  427. package/dist/cjs/internal/hashMap.js +12 -35
  428. package/dist/cjs/internal/hashMap.js.map +1 -1
  429. package/dist/cjs/internal/hashSet.js +9 -32
  430. package/dist/cjs/internal/hashSet.js.map +1 -1
  431. package/dist/cjs/internal/keyedPool.js +14 -37
  432. package/dist/cjs/internal/keyedPool.js.map +1 -1
  433. package/dist/cjs/internal/layer/circular.js +12 -35
  434. package/dist/cjs/internal/layer/circular.js.map +1 -1
  435. package/dist/cjs/internal/layer.js +25 -48
  436. package/dist/cjs/internal/layer.js.map +1 -1
  437. package/dist/cjs/internal/logger-circular.js +9 -32
  438. package/dist/cjs/internal/logger-circular.js.map +1 -1
  439. package/dist/cjs/internal/logger.js +139 -61
  440. package/dist/cjs/internal/logger.js.map +1 -1
  441. package/dist/cjs/internal/managedRuntime.js +9 -32
  442. package/dist/cjs/internal/managedRuntime.js.map +1 -1
  443. package/dist/cjs/internal/matcher.js +6 -29
  444. package/dist/cjs/internal/matcher.js.map +1 -1
  445. package/dist/cjs/internal/metric/boundaries.js +9 -32
  446. package/dist/cjs/internal/metric/boundaries.js.map +1 -1
  447. package/dist/cjs/internal/metric/hook.js +9 -32
  448. package/dist/cjs/internal/metric/hook.js.map +1 -1
  449. package/dist/cjs/internal/metric/key.js +11 -34
  450. package/dist/cjs/internal/metric/key.js.map +1 -1
  451. package/dist/cjs/internal/metric/keyType.js +8 -31
  452. package/dist/cjs/internal/metric/keyType.js.map +1 -1
  453. package/dist/cjs/internal/metric/label.js +6 -29
  454. package/dist/cjs/internal/metric/label.js.map +1 -1
  455. package/dist/cjs/internal/metric/pair.js +1 -1
  456. package/dist/cjs/internal/metric/pair.js.map +1 -1
  457. package/dist/cjs/internal/metric/polling.js +8 -31
  458. package/dist/cjs/internal/metric/polling.js.map +1 -1
  459. package/dist/cjs/internal/metric/registry.js +8 -31
  460. package/dist/cjs/internal/metric/registry.js.map +1 -1
  461. package/dist/cjs/internal/metric/state.js +8 -31
  462. package/dist/cjs/internal/metric/state.js.map +1 -1
  463. package/dist/cjs/internal/metric.js +15 -38
  464. package/dist/cjs/internal/metric.js.map +1 -1
  465. package/dist/cjs/internal/option.js +7 -30
  466. package/dist/cjs/internal/option.js.map +1 -1
  467. package/dist/cjs/internal/pool.js +43 -42
  468. package/dist/cjs/internal/pool.js.map +1 -1
  469. package/dist/cjs/internal/pubsub.js +229 -72
  470. package/dist/cjs/internal/pubsub.js.map +1 -1
  471. package/dist/cjs/internal/query.js +10 -33
  472. package/dist/cjs/internal/query.js.map +1 -1
  473. package/dist/cjs/internal/queue.js +12 -35
  474. package/dist/cjs/internal/queue.js.map +1 -1
  475. package/dist/cjs/internal/random.js +9 -31
  476. package/dist/cjs/internal/random.js.map +1 -1
  477. package/dist/cjs/internal/rateLimiter.js +6 -29
  478. package/dist/cjs/internal/rateLimiter.js.map +1 -1
  479. package/dist/cjs/internal/rcMap.js +129 -0
  480. package/dist/cjs/internal/rcMap.js.map +1 -0
  481. package/dist/cjs/internal/rcRef.js +122 -0
  482. package/dist/cjs/internal/rcRef.js.map +1 -0
  483. package/dist/cjs/internal/redBlackTree/iterator.js +4 -27
  484. package/dist/cjs/internal/redBlackTree/iterator.js.map +1 -1
  485. package/dist/cjs/internal/redBlackTree.js +13 -36
  486. package/dist/cjs/internal/redBlackTree.js.map +1 -1
  487. package/dist/cjs/internal/redacted.js +8 -31
  488. package/dist/cjs/internal/redacted.js.map +1 -1
  489. package/dist/cjs/internal/ref.js +8 -31
  490. package/dist/cjs/internal/ref.js.map +1 -1
  491. package/dist/cjs/internal/reloadable.js +10 -33
  492. package/dist/cjs/internal/reloadable.js.map +1 -1
  493. package/dist/cjs/internal/request.js +7 -30
  494. package/dist/cjs/internal/request.js.map +1 -1
  495. package/dist/cjs/internal/resource.js +7 -30
  496. package/dist/cjs/internal/resource.js.map +1 -1
  497. package/dist/cjs/internal/ringBuffer.js +5 -28
  498. package/dist/cjs/internal/ringBuffer.js.map +1 -1
  499. package/dist/cjs/internal/runtime.js +23 -46
  500. package/dist/cjs/internal/runtime.js.map +1 -1
  501. package/dist/cjs/internal/runtimeFlags.js +5 -28
  502. package/dist/cjs/internal/runtimeFlags.js.map +1 -1
  503. package/dist/cjs/internal/runtimeFlagsPatch.js +1 -1
  504. package/dist/cjs/internal/runtimeFlagsPatch.js.map +1 -1
  505. package/dist/cjs/internal/schedule/decision.js +4 -27
  506. package/dist/cjs/internal/schedule/decision.js.map +1 -1
  507. package/dist/cjs/internal/schedule/interval.js +5 -28
  508. package/dist/cjs/internal/schedule/interval.js.map +1 -1
  509. package/dist/cjs/internal/schedule/intervals.js +7 -30
  510. package/dist/cjs/internal/schedule/intervals.js.map +1 -1
  511. package/dist/cjs/internal/schedule.js +21 -44
  512. package/dist/cjs/internal/schedule.js.map +1 -1
  513. package/dist/cjs/internal/scopedCache.js +19 -42
  514. package/dist/cjs/internal/scopedCache.js.map +1 -1
  515. package/dist/cjs/internal/scopedRef.js +10 -33
  516. package/dist/cjs/internal/scopedRef.js.map +1 -1
  517. package/dist/cjs/internal/secret.js +5 -28
  518. package/dist/cjs/internal/secret.js.map +1 -1
  519. package/dist/cjs/internal/singleShotGen.js.map +1 -1
  520. package/dist/cjs/internal/sink.js +22 -45
  521. package/dist/cjs/internal/sink.js.map +1 -1
  522. package/dist/cjs/internal/stm/core.js +30 -53
  523. package/dist/cjs/internal/stm/core.js.map +1 -1
  524. package/dist/cjs/internal/stm/stm/entry.js +3 -26
  525. package/dist/cjs/internal/stm/stm/entry.js.map +1 -1
  526. package/dist/cjs/internal/stm/stm/journal.js +3 -26
  527. package/dist/cjs/internal/stm/stm/journal.js.map +1 -1
  528. package/dist/cjs/internal/stm/stm/stmState.js +9 -32
  529. package/dist/cjs/internal/stm/stm/stmState.js.map +1 -1
  530. package/dist/cjs/internal/stm/stm/tExit.js +7 -30
  531. package/dist/cjs/internal/stm/stm/tExit.js.map +1 -1
  532. package/dist/cjs/internal/stm/stm/tryCommit.js +3 -26
  533. package/dist/cjs/internal/stm/stm/tryCommit.js.map +1 -1
  534. package/dist/cjs/internal/stm/stm/versioned.js.map +1 -1
  535. package/dist/cjs/internal/stm/stm.js +17 -40
  536. package/dist/cjs/internal/stm/stm.js.map +1 -1
  537. package/dist/cjs/internal/stm/tArray.js +9 -32
  538. package/dist/cjs/internal/stm/tArray.js.map +1 -1
  539. package/dist/cjs/internal/stm/tDeferred.js +8 -31
  540. package/dist/cjs/internal/stm/tDeferred.js.map +1 -1
  541. package/dist/cjs/internal/stm/tMap.js +15 -38
  542. package/dist/cjs/internal/stm/tMap.js.map +1 -1
  543. package/dist/cjs/internal/stm/tPriorityQueue.js +9 -32
  544. package/dist/cjs/internal/stm/tPriorityQueue.js.map +1 -1
  545. package/dist/cjs/internal/stm/tPubSub.js +12 -35
  546. package/dist/cjs/internal/stm/tPubSub.js.map +1 -1
  547. package/dist/cjs/internal/stm/tQueue.js +12 -35
  548. package/dist/cjs/internal/stm/tQueue.js.map +1 -1
  549. package/dist/cjs/internal/stm/tRandom.js +10 -33
  550. package/dist/cjs/internal/stm/tRandom.js.map +1 -1
  551. package/dist/cjs/internal/stm/tReentrantLock.js +10 -33
  552. package/dist/cjs/internal/stm/tReentrantLock.js.map +1 -1
  553. package/dist/cjs/internal/stm/tRef.js +7 -30
  554. package/dist/cjs/internal/stm/tRef.js.map +1 -1
  555. package/dist/cjs/internal/stm/tSemaphore.js +8 -31
  556. package/dist/cjs/internal/stm/tSemaphore.js.map +1 -1
  557. package/dist/cjs/internal/stm/tSet.js +10 -33
  558. package/dist/cjs/internal/stm/tSet.js.map +1 -1
  559. package/dist/cjs/internal/stream/emit.js +8 -31
  560. package/dist/cjs/internal/stream/emit.js.map +1 -1
  561. package/dist/cjs/internal/stream/haltStrategy.js +4 -27
  562. package/dist/cjs/internal/stream/haltStrategy.js.map +1 -1
  563. package/dist/cjs/internal/stream/handoff.js +7 -30
  564. package/dist/cjs/internal/stream/handoff.js.map +1 -1
  565. package/dist/cjs/internal/stream/pull.js +7 -30
  566. package/dist/cjs/internal/stream/pull.js.map +1 -1
  567. package/dist/cjs/internal/stream.js +103 -80
  568. package/dist/cjs/internal/stream.js.map +1 -1
  569. package/dist/cjs/internal/subscriptionRef.js +13 -36
  570. package/dist/cjs/internal/subscriptionRef.js.map +1 -1
  571. package/dist/cjs/internal/supervisor/patch.js +8 -31
  572. package/dist/cjs/internal/supervisor/patch.js.map +1 -1
  573. package/dist/cjs/internal/supervisor.js +8 -31
  574. package/dist/cjs/internal/supervisor.js.map +1 -1
  575. package/dist/cjs/internal/synchronizedRef.js +5 -28
  576. package/dist/cjs/internal/synchronizedRef.js.map +1 -1
  577. package/dist/cjs/internal/take.js +9 -32
  578. package/dist/cjs/internal/take.js.map +1 -1
  579. package/dist/cjs/internal/tracer.js +3 -26
  580. package/dist/cjs/internal/tracer.js.map +1 -1
  581. package/dist/cjs/internal/trie.js +9 -32
  582. package/dist/cjs/internal/trie.js.map +1 -1
  583. package/dist/cjs/internal/version.js +1 -1
  584. package/dist/dts/Cause.d.ts +40 -1
  585. package/dist/dts/Cause.d.ts.map +1 -1
  586. package/dist/dts/Channel.d.ts +3 -3
  587. package/dist/dts/Channel.d.ts.map +1 -1
  588. package/dist/dts/Config.d.ts +5 -0
  589. package/dist/dts/Config.d.ts.map +1 -1
  590. package/dist/dts/Console.d.ts +2 -4
  591. package/dist/dts/Console.d.ts.map +1 -1
  592. package/dist/dts/Duration.d.ts +5 -0
  593. package/dist/dts/Duration.d.ts.map +1 -1
  594. package/dist/dts/Logger.d.ts +15 -0
  595. package/dist/dts/Logger.d.ts.map +1 -1
  596. package/dist/dts/PubSub.d.ts +15 -4
  597. package/dist/dts/PubSub.d.ts.map +1 -1
  598. package/dist/dts/Random.d.ts +8 -0
  599. package/dist/dts/Random.d.ts.map +1 -1
  600. package/dist/dts/RcMap.d.ts +93 -0
  601. package/dist/dts/RcMap.d.ts.map +1 -0
  602. package/dist/dts/RcRef.d.ts +83 -0
  603. package/dist/dts/RcRef.d.ts.map +1 -0
  604. package/dist/dts/Stream.d.ts +1139 -29
  605. package/dist/dts/Stream.d.ts.map +1 -1
  606. package/dist/dts/index.d.ts +8 -0
  607. package/dist/dts/index.d.ts.map +1 -1
  608. package/dist/dts/internal/core-effect.d.ts.map +1 -1
  609. package/dist/dts/internal/fiberRuntime.d.ts.map +1 -1
  610. package/dist/dts/internal/logger.d.ts.map +1 -1
  611. package/dist/dts/internal/random.d.ts +1 -1
  612. package/dist/dts/internal/random.d.ts.map +1 -1
  613. package/dist/dts/internal/rcMap.d.ts +2 -0
  614. package/dist/dts/internal/rcMap.d.ts.map +1 -0
  615. package/dist/dts/internal/rcRef.d.ts +2 -0
  616. package/dist/dts/internal/rcRef.d.ts.map +1 -0
  617. package/dist/dts/internal/stream.d.ts +1 -0
  618. package/dist/dts/internal/stream.d.ts.map +1 -1
  619. package/dist/esm/Cause.js +21 -0
  620. package/dist/esm/Cause.js.map +1 -1
  621. package/dist/esm/Channel.js.map +1 -1
  622. package/dist/esm/Config.js.map +1 -1
  623. package/dist/esm/Console.js.map +1 -1
  624. package/dist/esm/Data.js +3 -1
  625. package/dist/esm/Data.js.map +1 -1
  626. package/dist/esm/Duration.js +20 -0
  627. package/dist/esm/Duration.js.map +1 -1
  628. package/dist/esm/Logger.js +10 -0
  629. package/dist/esm/Logger.js.map +1 -1
  630. package/dist/esm/PubSub.js.map +1 -1
  631. package/dist/esm/Random.js +8 -0
  632. package/dist/esm/Random.js.map +1 -1
  633. package/dist/esm/RcMap.js +44 -0
  634. package/dist/esm/RcMap.js.map +1 -0
  635. package/dist/esm/RcRef.js +43 -0
  636. package/dist/esm/RcRef.js.map +1 -0
  637. package/dist/esm/Stream.js +1102 -3
  638. package/dist/esm/Stream.js.map +1 -1
  639. package/dist/esm/index.js +8 -0
  640. package/dist/esm/index.js.map +1 -1
  641. package/dist/esm/internal/cause.js +21 -5
  642. package/dist/esm/internal/cause.js.map +1 -1
  643. package/dist/esm/internal/channel/channelExecutor.js.map +1 -1
  644. package/dist/esm/internal/channel.js.map +1 -1
  645. package/dist/esm/internal/core-effect.js +0 -5
  646. package/dist/esm/internal/core-effect.js.map +1 -1
  647. package/dist/esm/internal/core.js +11 -7
  648. package/dist/esm/internal/core.js.map +1 -1
  649. package/dist/esm/internal/defaultServices.js +1 -1
  650. package/dist/esm/internal/defaultServices.js.map +1 -1
  651. package/dist/esm/internal/fiberRuntime.js +2 -0
  652. package/dist/esm/internal/fiberRuntime.js.map +1 -1
  653. package/dist/esm/internal/logger.js +126 -26
  654. package/dist/esm/internal/logger.js.map +1 -1
  655. package/dist/esm/internal/pool.js +29 -5
  656. package/dist/esm/internal/pool.js.map +1 -1
  657. package/dist/esm/internal/pubsub.js +216 -36
  658. package/dist/esm/internal/pubsub.js.map +1 -1
  659. package/dist/esm/internal/random.js +2 -1
  660. package/dist/esm/internal/random.js.map +1 -1
  661. package/dist/esm/internal/rcMap.js +120 -0
  662. package/dist/esm/internal/rcMap.js.map +1 -0
  663. package/dist/esm/internal/rcRef.js +112 -0
  664. package/dist/esm/internal/rcRef.js.map +1 -0
  665. package/dist/esm/internal/stream.js +53 -8
  666. package/dist/esm/internal/stream.js.map +1 -1
  667. package/dist/esm/internal/version.js +1 -1
  668. package/package.json +17 -1
  669. package/src/Cause.ts +47 -1
  670. package/src/Channel.ts +3 -3
  671. package/src/Config.ts +6 -0
  672. package/src/Console.ts +2 -4
  673. package/src/Data.ts +1 -1
  674. package/src/Duration.ts +18 -0
  675. package/src/Logger.ts +19 -0
  676. package/src/PubSub.ts +11 -4
  677. package/src/Random.ts +9 -0
  678. package/src/RcMap.ts +103 -0
  679. package/src/RcRef.ts +91 -0
  680. package/src/Stream.ts +1158 -29
  681. package/src/index.ts +10 -0
  682. package/src/internal/cause.ts +26 -5
  683. package/src/internal/channel/channelExecutor.ts +1 -1
  684. package/src/internal/channel.ts +4 -3
  685. package/src/internal/core-effect.ts +0 -5
  686. package/src/internal/core.ts +19 -9
  687. package/src/internal/defaultServices.ts +1 -1
  688. package/src/internal/fiberRuntime.ts +6 -0
  689. package/src/internal/logger.ts +133 -27
  690. package/src/internal/pool.ts +36 -5
  691. package/src/internal/pubsub.ts +249 -58
  692. package/src/internal/random.ts +2 -1
  693. package/src/internal/rcMap.ts +213 -0
  694. package/src/internal/rcRef.ts +172 -0
  695. package/src/internal/stream.ts +325 -111
  696. package/src/internal/version.ts +1 -1
@@ -163,8 +163,23 @@ export const aggregateWithinEither = /*#__PURE__*/dual(3, (self, sink, schedule)
163
163
  });
164
164
  /** @internal */
165
165
  export const as = /*#__PURE__*/dual(2, (self, value) => map(self, () => value));
166
+ const queueFromBufferOptions = bufferSize => {
167
+ if (bufferSize === "unbounded") {
168
+ return Queue.unbounded();
169
+ } else if (typeof bufferSize === "number" || bufferSize === undefined) {
170
+ return Queue.bounded(bufferSize ?? 16);
171
+ }
172
+ switch (bufferSize.strategy) {
173
+ case "dropping":
174
+ return Queue.dropping(bufferSize.bufferSize ?? 16);
175
+ case "sliding":
176
+ return Queue.sliding(bufferSize.bufferSize ?? 16);
177
+ default:
178
+ return Queue.bounded(bufferSize.bufferSize ?? 16);
179
+ }
180
+ };
166
181
  /** @internal */
167
- export const _async = (register, outputBuffer = 16) => Effect.acquireRelease(Queue.bounded(outputBuffer), queue => Queue.shutdown(queue)).pipe(Effect.flatMap(output => Effect.runtime().pipe(Effect.flatMap(runtime => Effect.sync(() => {
182
+ export const _async = (register, bufferSize) => Effect.acquireRelease(queueFromBufferOptions(bufferSize), queue => Queue.shutdown(queue)).pipe(Effect.flatMap(output => Effect.runtime().pipe(Effect.flatMap(runtime => Effect.sync(() => {
168
183
  const runPromiseExit = Runtime.runPromiseExit(runtime);
169
184
  const canceler = register(emit.make(resume => InternalTake.fromPull(resume).pipe(Effect.flatMap(take => Queue.offer(output, take)), Effect.asVoid, runPromiseExit).then(exit => {
170
185
  if (Exit.isFailure(exit)) {
@@ -185,7 +200,7 @@ export const _async = (register, outputBuffer = 16) => Effect.acquireRelease(Que
185
200
  return fromChannel(loop).pipe(ensuring(value ?? Effect.void));
186
201
  }))), unwrapScoped);
187
202
  /** @internal */
188
- export const asyncEffect = (register, outputBuffer = 16) => pipe(Effect.acquireRelease(Queue.bounded(outputBuffer), queue => Queue.shutdown(queue)), Effect.flatMap(output => pipe(Effect.runtime(), Effect.flatMap(runtime => pipe(register(emit.make(k => pipe(InternalTake.fromPull(k), Effect.flatMap(take => Queue.offer(output, take)), Effect.asVoid, Runtime.runPromiseExit(runtime)).then(exit => {
203
+ export const asyncEffect = (register, bufferSize) => pipe(Effect.acquireRelease(queueFromBufferOptions(bufferSize), queue => Queue.shutdown(queue)), Effect.flatMap(output => pipe(Effect.runtime(), Effect.flatMap(runtime => pipe(register(emit.make(k => pipe(InternalTake.fromPull(k), Effect.flatMap(take => Queue.offer(output, take)), Effect.asVoid, Runtime.runPromiseExit(runtime)).then(exit => {
189
204
  if (Exit.isFailure(exit)) {
190
205
  if (!Cause.isInterrupted(exit.cause)) {
191
206
  throw Cause.squash(exit.cause);
@@ -202,7 +217,7 @@ export const asyncEffect = (register, outputBuffer = 16) => pipe(Effect.acquireR
202
217
  return loop;
203
218
  }))))), channel.unwrapScoped, fromChannel);
204
219
  /** @internal */
205
- export const asyncScoped = (register, outputBuffer = 16) => pipe(Effect.acquireRelease(Queue.bounded(outputBuffer), queue => Queue.shutdown(queue)), Effect.flatMap(output => pipe(Effect.runtime(), Effect.flatMap(runtime => pipe(register(emit.make(k => pipe(InternalTake.fromPull(k), Effect.flatMap(take => Queue.offer(output, take)), Effect.asVoid, Runtime.runPromiseExit(runtime)).then(exit => {
220
+ export const asyncScoped = (register, bufferSize) => pipe(Effect.acquireRelease(queueFromBufferOptions(bufferSize), queue => Queue.shutdown(queue)), Effect.flatMap(output => pipe(Effect.runtime(), Effect.flatMap(runtime => pipe(register(emit.make(k => pipe(InternalTake.fromPull(k), Effect.flatMap(take => Queue.offer(output, take)), Effect.asVoid, Runtime.runPromiseExit(runtime)).then(exit => {
206
221
  if (Exit.isFailure(exit)) {
207
222
  if (!Cause.isInterrupted(exit.cause)) {
208
223
  throw Cause.squash(exit.cause);
@@ -231,9 +246,9 @@ export const broadcast = /*#__PURE__*/dual(3, (self, n, maximumLag) => pipe(self
231
246
  shutdown: true
232
247
  }))))));
233
248
  /** @internal */
234
- export const broadcastDynamic = /*#__PURE__*/dual(2, (self, maximumLag) => pipe(self, broadcastedQueuesDynamic(maximumLag), Effect.map(effect => flattenTake(flatMap(scoped(effect), fromQueue)))));
249
+ export const broadcastDynamic = /*#__PURE__*/dual(2, (self, maximumLag) => Effect.map(toPubSub(self, maximumLag), pubsub => flattenTake(fromPubSub(pubsub))));
235
250
  /** @internal */
236
- export const broadcastedQueues = /*#__PURE__*/dual(3, (self, n, maximumLag) => Effect.flatMap(PubSub.bounded(maximumLag), pubsub => pipe(Effect.all(Array.from({
251
+ export const broadcastedQueues = /*#__PURE__*/dual(3, (self, n, maximumLag) => Effect.flatMap(pubsubFromOptions(maximumLag), pubsub => pipe(Effect.all(Array.from({
237
252
  length: n
238
253
  }, () => PubSub.subscribe(pubsub))), Effect.tap(() => Effect.forkScoped(runIntoPubSubScoped(self, pubsub))))));
239
254
  /** @internal */
@@ -1269,9 +1284,9 @@ export const mergeEither = /*#__PURE__*/dual(2, (self, that) => mergeWith(self,
1269
1284
  onOther: Either.right
1270
1285
  }));
1271
1286
  /** @internal */
1272
- export const mergeLeft = /*#__PURE__*/dual(2, (self, that) => pipe(self, merge(drain(that))));
1287
+ export const mergeLeft = /*#__PURE__*/dual(2, (left, right) => pipe(left, merge(drain(right))));
1273
1288
  /** @internal */
1274
- export const mergeRight = /*#__PURE__*/dual(2, (self, that) => pipe(drain(self), merge(that)));
1289
+ export const mergeRight = /*#__PURE__*/dual(2, (left, right) => pipe(drain(left), merge(right)));
1275
1290
  /** @internal */
1276
1291
  export const mergeWith = /*#__PURE__*/dual(3, (self, other, options) => {
1277
1292
  const strategy = options.haltStrategy ? haltStrategy.fromInput(options.haltStrategy) : HaltStrategy.Both;
@@ -1454,6 +1469,19 @@ export const range = (min, max, chunkSize = DefaultChunkSize) => suspend(() => {
1454
1469
  };
1455
1470
  return new StreamImpl(go(min, max, chunkSize));
1456
1471
  });
1472
+ export const raceAll = (...streams) => Deferred.make().pipe(Effect.map(halt => {
1473
+ let winner = null;
1474
+ return mergeAll(streams.map((stream, index) => stream.pipe(takeWhile(() => {
1475
+ if (winner === null) {
1476
+ winner = index;
1477
+ Deferred.unsafeDone(halt, Exit.void);
1478
+ return true;
1479
+ }
1480
+ return winner === index;
1481
+ }), interruptWhen(Deferred.await(halt).pipe(Effect.flatMap(() => winner === index ? Effect.never : Effect.void))))), {
1482
+ concurrency: streams.length
1483
+ });
1484
+ }), unwrap);
1457
1485
  /** @internal */
1458
1486
  export const rechunk = /*#__PURE__*/dual(2, (self, n) => suspend(() => {
1459
1487
  const target = Math.max(n, 1);
@@ -2016,8 +2044,25 @@ export const timeoutTo = /*#__PURE__*/dual(3, (self, duration, that) => {
2016
2044
  const StreamTimeout = new Cause.RuntimeException("Stream Timeout");
2017
2045
  return pipe(self, timeoutFailCause(() => Cause.die(StreamTimeout), duration), catchSomeCause(cause => Cause.isDieType(cause) && Cause.isRuntimeException(cause.defect) && cause.defect.message !== undefined && cause.defect.message === "Stream Timeout" ? Option.some(that) : Option.none()));
2018
2046
  });
2047
+ const pubsubFromOptions = options => {
2048
+ if (typeof options === "number") {
2049
+ return PubSub.bounded(options);
2050
+ } else if (options.capacity === "unbounded") {
2051
+ return PubSub.unbounded({
2052
+ replay: options.replay
2053
+ });
2054
+ }
2055
+ switch (options.strategy) {
2056
+ case "dropping":
2057
+ return PubSub.dropping(options);
2058
+ case "sliding":
2059
+ return PubSub.sliding(options);
2060
+ default:
2061
+ return PubSub.bounded(options);
2062
+ }
2063
+ };
2019
2064
  /** @internal */
2020
- export const toPubSub = /*#__PURE__*/dual(2, (self, capacity) => pipe(Effect.acquireRelease(PubSub.bounded(capacity), pubsub => PubSub.shutdown(pubsub)), Effect.tap(pubsub => pipe(self, runIntoPubSubScoped(pubsub), Effect.forkScoped))));
2065
+ export const toPubSub = /*#__PURE__*/dual(2, (self, capacity) => pipe(Effect.acquireRelease(pubsubFromOptions(capacity), pubsub => PubSub.shutdown(pubsub)), Effect.tap(pubsub => pipe(self, runIntoPubSubScoped(pubsub), Effect.forkScoped))));
2021
2066
  /** @internal */
2022
2067
  export const toPull = self => Effect.map(channel.toPull(toChannel(self)), pull => pipe(pull, Effect.mapError(Option.some), Effect.flatMap(Either.match({
2023
2068
  onLeft: () => Effect.fail(Option.none()),