effect 2.4.19 → 3.0.1

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 (615) hide show
  1. package/Array/package.json +6 -0
  2. package/FiberHandle/package.json +6 -0
  3. package/Record/package.json +6 -0
  4. package/dist/cjs/{ReadonlyArray.js → Array.js} +46 -23
  5. package/dist/cjs/Array.js.map +1 -0
  6. package/dist/cjs/Brand.js +2 -2
  7. package/dist/cjs/Brand.js.map +1 -1
  8. package/dist/cjs/Channel.js +4 -8
  9. package/dist/cjs/Channel.js.map +1 -1
  10. package/dist/cjs/Chunk.js +5 -1
  11. package/dist/cjs/Chunk.js.map +1 -1
  12. package/dist/cjs/ConfigError.js.map +1 -1
  13. package/dist/cjs/Cron.js +13 -13
  14. package/dist/cjs/Cron.js.map +1 -1
  15. package/dist/cjs/Effect.js +14 -10
  16. package/dist/cjs/Effect.js.map +1 -1
  17. package/dist/cjs/Either.js +4 -1
  18. package/dist/cjs/Either.js.map +1 -1
  19. package/dist/cjs/ExecutionStrategy.js.map +1 -1
  20. package/dist/cjs/Exit.js +3 -9
  21. package/dist/cjs/Exit.js.map +1 -1
  22. package/dist/cjs/Fiber.js +2 -8
  23. package/dist/cjs/Fiber.js.map +1 -1
  24. package/dist/cjs/FiberHandle.js +306 -0
  25. package/dist/cjs/FiberHandle.js.map +1 -0
  26. package/dist/cjs/FiberMap.js +105 -28
  27. package/dist/cjs/FiberMap.js.map +1 -1
  28. package/dist/cjs/FiberRefs.js.map +1 -1
  29. package/dist/cjs/FiberSet.js +51 -15
  30. package/dist/cjs/FiberSet.js.map +1 -1
  31. package/dist/cjs/HashMap.js.map +1 -1
  32. package/dist/cjs/HashSet.js.map +1 -1
  33. package/dist/cjs/Iterable.js +40 -5
  34. package/dist/cjs/Iterable.js.map +1 -1
  35. package/dist/cjs/Layer.js.map +1 -1
  36. package/dist/cjs/List.js +3 -3
  37. package/dist/cjs/List.js.map +1 -1
  38. package/dist/cjs/Metric.js +3 -1
  39. package/dist/cjs/Metric.js.map +1 -1
  40. package/dist/cjs/MetricKey.js.map +1 -1
  41. package/dist/cjs/MetricKeyType.js.map +1 -1
  42. package/dist/cjs/MutableHashMap.js +0 -4
  43. package/dist/cjs/MutableHashMap.js.map +1 -1
  44. package/dist/cjs/Option.js +3 -6
  45. package/dist/cjs/Option.js.map +1 -1
  46. package/dist/cjs/{ReadonlyRecord.js → Record.js} +29 -29
  47. package/dist/cjs/Record.js.map +1 -0
  48. package/dist/cjs/STM.js +4 -10
  49. package/dist/cjs/STM.js.map +1 -1
  50. package/dist/cjs/Schedule.js +2 -2
  51. package/dist/cjs/Schedule.js.map +1 -1
  52. package/dist/cjs/ScopedCache.js.map +1 -1
  53. package/dist/cjs/Stream.js +3 -9
  54. package/dist/cjs/Stream.js.map +1 -1
  55. package/dist/cjs/StreamHaltStrategy.js +2 -0
  56. package/dist/cjs/StreamHaltStrategy.js.map +1 -1
  57. package/dist/cjs/String.js +44 -2
  58. package/dist/cjs/String.js.map +1 -1
  59. package/dist/cjs/TestAnnotations.js +1 -1
  60. package/dist/cjs/TestAnnotations.js.map +1 -1
  61. package/dist/cjs/TestClock.js +3 -3
  62. package/dist/cjs/TestClock.js.map +1 -1
  63. package/dist/cjs/Tracer.js.map +1 -1
  64. package/dist/cjs/index.js +8 -6
  65. package/dist/cjs/index.js.map +1 -1
  66. package/dist/cjs/internal/{readonlyArray.js → array.js} +1 -1
  67. package/dist/cjs/internal/array.js.map +1 -0
  68. package/dist/cjs/internal/cache.js +3 -3
  69. package/dist/cjs/internal/cache.js.map +1 -1
  70. package/dist/cjs/internal/cause.js +3 -3
  71. package/dist/cjs/internal/cause.js.map +1 -1
  72. package/dist/cjs/internal/channel/channelExecutor.js +15 -15
  73. package/dist/cjs/internal/channel/channelExecutor.js.map +1 -1
  74. package/dist/cjs/internal/channel/channelState.js +1 -1
  75. package/dist/cjs/internal/channel/channelState.js.map +1 -1
  76. package/dist/cjs/internal/channel/singleProducerAsyncInput.js +1 -1
  77. package/dist/cjs/internal/channel/singleProducerAsyncInput.js.map +1 -1
  78. package/dist/cjs/internal/channel.js +10 -10
  79. package/dist/cjs/internal/channel.js.map +1 -1
  80. package/dist/cjs/internal/clock.js +2 -2
  81. package/dist/cjs/internal/clock.js.map +1 -1
  82. package/dist/cjs/internal/configError.js +20 -19
  83. package/dist/cjs/internal/configError.js.map +1 -1
  84. package/dist/cjs/internal/configProvider/pathPatch.js +1 -1
  85. package/dist/cjs/internal/configProvider/pathPatch.js.map +1 -1
  86. package/dist/cjs/internal/configProvider.js +47 -48
  87. package/dist/cjs/internal/configProvider.js.map +1 -1
  88. package/dist/cjs/internal/core-effect.js +42 -28
  89. package/dist/cjs/internal/core-effect.js.map +1 -1
  90. package/dist/cjs/internal/core-stream.js +2 -3
  91. package/dist/cjs/internal/core-stream.js.map +1 -1
  92. package/dist/cjs/internal/core.js +27 -31
  93. package/dist/cjs/internal/core.js.map +1 -1
  94. package/dist/cjs/internal/dataSource.js +19 -2
  95. package/dist/cjs/internal/dataSource.js.map +1 -1
  96. package/dist/cjs/internal/differ/readonlyArrayPatch.js +6 -6
  97. package/dist/cjs/internal/differ/readonlyArrayPatch.js.map +1 -1
  98. package/dist/cjs/internal/effect/circular.js +1 -1
  99. package/dist/cjs/internal/effect/circular.js.map +1 -1
  100. package/dist/cjs/internal/executionStrategy.js +4 -4
  101. package/dist/cjs/internal/executionStrategy.js.map +1 -1
  102. package/dist/cjs/internal/fiber.js +5 -6
  103. package/dist/cjs/internal/fiber.js.map +1 -1
  104. package/dist/cjs/internal/fiberRefs/patch.js +1 -1
  105. package/dist/cjs/internal/fiberRefs/patch.js.map +1 -1
  106. package/dist/cjs/internal/fiberRefs.js +1 -1
  107. package/dist/cjs/internal/fiberRefs.js.map +1 -1
  108. package/dist/cjs/internal/fiberRuntime.js +33 -33
  109. package/dist/cjs/internal/fiberRuntime.js.map +1 -1
  110. package/dist/cjs/internal/groupBy.js +3 -3
  111. package/dist/cjs/internal/groupBy.js.map +1 -1
  112. package/dist/cjs/internal/hashMap.js.map +1 -1
  113. package/dist/cjs/internal/hashSet.js.map +1 -1
  114. package/dist/cjs/internal/layer/circular.js.map +1 -1
  115. package/dist/cjs/internal/layer.js +5 -5
  116. package/dist/cjs/internal/layer.js.map +1 -1
  117. package/dist/cjs/internal/logger.js +28 -8
  118. package/dist/cjs/internal/logger.js.map +1 -1
  119. package/dist/cjs/internal/managedRuntime.js +1 -1
  120. package/dist/cjs/internal/managedRuntime.js.map +1 -1
  121. package/dist/cjs/internal/metric/boundaries.js +4 -4
  122. package/dist/cjs/internal/metric/boundaries.js.map +1 -1
  123. package/dist/cjs/internal/metric/hook.js +20 -17
  124. package/dist/cjs/internal/metric/hook.js.map +1 -1
  125. package/dist/cjs/internal/metric/key.js +4 -4
  126. package/dist/cjs/internal/metric/key.js.map +1 -1
  127. package/dist/cjs/internal/metric/keyType.js +6 -1
  128. package/dist/cjs/internal/metric/keyType.js.map +1 -1
  129. package/dist/cjs/internal/metric/state.js +4 -4
  130. package/dist/cjs/internal/metric/state.js.map +1 -1
  131. package/dist/cjs/internal/metric.js +4 -4
  132. package/dist/cjs/internal/metric.js.map +1 -1
  133. package/dist/cjs/internal/pool.js +11 -11
  134. package/dist/cjs/internal/pool.js.map +1 -1
  135. package/dist/cjs/internal/pubsub.js +5 -5
  136. package/dist/cjs/internal/pubsub.js.map +1 -1
  137. package/dist/cjs/internal/query.js +2 -2
  138. package/dist/cjs/internal/query.js.map +1 -1
  139. package/dist/cjs/internal/queue.js +9 -9
  140. package/dist/cjs/internal/queue.js.map +1 -1
  141. package/dist/cjs/internal/rateLimiter.js +1 -1
  142. package/dist/cjs/internal/rateLimiter.js.map +1 -1
  143. package/dist/cjs/internal/redBlackTree/iterator.js +2 -2
  144. package/dist/cjs/internal/redBlackTree/iterator.js.map +1 -1
  145. package/dist/cjs/internal/reloadable.js +1 -1
  146. package/dist/cjs/internal/reloadable.js.map +1 -1
  147. package/dist/cjs/internal/runtime.js +4 -4
  148. package/dist/cjs/internal/runtime.js.map +1 -1
  149. package/dist/cjs/internal/schedule.js +5 -5
  150. package/dist/cjs/internal/schedule.js.map +1 -1
  151. package/dist/cjs/internal/scopedCache.js +7 -7
  152. package/dist/cjs/internal/scopedCache.js.map +1 -1
  153. package/dist/cjs/internal/scopedRef.js +4 -4
  154. package/dist/cjs/internal/scopedRef.js.map +1 -1
  155. package/dist/cjs/internal/secret.js +2 -2
  156. package/dist/cjs/internal/secret.js.map +1 -1
  157. package/dist/cjs/internal/sink.js +10 -10
  158. package/dist/cjs/internal/sink.js.map +1 -1
  159. package/dist/cjs/internal/stm/stm/tExit.js +2 -4
  160. package/dist/cjs/internal/stm/stm/tExit.js.map +1 -1
  161. package/dist/cjs/internal/stm/stm.js +11 -11
  162. package/dist/cjs/internal/stm/stm.js.map +1 -1
  163. package/dist/cjs/internal/stm/tMap.js +3 -3
  164. package/dist/cjs/internal/stm/tMap.js.map +1 -1
  165. package/dist/cjs/internal/stm/tPriorityQueue.js +11 -11
  166. package/dist/cjs/internal/stm/tPriorityQueue.js.map +1 -1
  167. package/dist/cjs/internal/stm/tPubSub.js +3 -3
  168. package/dist/cjs/internal/stm/tPubSub.js.map +1 -1
  169. package/dist/cjs/internal/stm/tQueue.js +3 -3
  170. package/dist/cjs/internal/stm/tQueue.js.map +1 -1
  171. package/dist/cjs/internal/stm/tSet.js +1 -1
  172. package/dist/cjs/internal/stm/tSet.js.map +1 -1
  173. package/dist/cjs/internal/stream/haltStrategy.js +5 -5
  174. package/dist/cjs/internal/stream/haltStrategy.js.map +1 -1
  175. package/dist/cjs/internal/stream.js +84 -85
  176. package/dist/cjs/internal/stream.js.map +1 -1
  177. package/dist/cjs/internal/supervisor.js +1 -1
  178. package/dist/cjs/internal/supervisor.js.map +1 -1
  179. package/dist/cjs/internal/take.js +1 -1
  180. package/dist/cjs/internal/take.js.map +1 -1
  181. package/dist/cjs/internal/tracer.js.map +1 -1
  182. package/dist/cjs/internal/trie.js.map +1 -1
  183. package/dist/cjs/internal/version.js +1 -1
  184. package/dist/cjs/internal/version.js.map +1 -1
  185. package/dist/dts/{ReadonlyArray.d.ts → Array.d.ts} +42 -18
  186. package/dist/dts/Array.d.ts.map +1 -0
  187. package/dist/dts/BigDecimal.d.ts.map +1 -1
  188. package/dist/dts/BigInt.d.ts.map +1 -1
  189. package/dist/dts/Brand.d.ts +1 -19
  190. package/dist/dts/Brand.d.ts.map +1 -1
  191. package/dist/dts/Cache.d.ts +10 -10
  192. package/dist/dts/Cache.d.ts.map +1 -1
  193. package/dist/dts/Cause.d.ts +1 -1
  194. package/dist/dts/Cause.d.ts.map +1 -1
  195. package/dist/dts/Channel.d.ts +6 -4
  196. package/dist/dts/Channel.d.ts.map +1 -1
  197. package/dist/dts/Chunk.d.ts +1 -4
  198. package/dist/dts/Chunk.d.ts.map +1 -1
  199. package/dist/dts/ConfigError.d.ts +7 -6
  200. package/dist/dts/ConfigError.d.ts.map +1 -1
  201. package/dist/dts/Cron.d.ts +0 -5
  202. package/dist/dts/Cron.d.ts.map +1 -1
  203. package/dist/dts/Duration.d.ts.map +1 -1
  204. package/dist/dts/Effect.d.ts +38 -33
  205. package/dist/dts/Effect.d.ts.map +1 -1
  206. package/dist/dts/Either.d.ts +5 -2
  207. package/dist/dts/Either.d.ts.map +1 -1
  208. package/dist/dts/Encoding.d.ts.map +1 -1
  209. package/dist/dts/Equivalence.d.ts.map +1 -1
  210. package/dist/dts/ExecutionStrategy.d.ts +10 -2
  211. package/dist/dts/ExecutionStrategy.d.ts.map +1 -1
  212. package/dist/dts/Exit.d.ts +4 -3
  213. package/dist/dts/Exit.d.ts.map +1 -1
  214. package/dist/dts/Fiber.d.ts +4 -2
  215. package/dist/dts/Fiber.d.ts.map +1 -1
  216. package/dist/dts/FiberHandle.d.ts +189 -0
  217. package/dist/dts/FiberHandle.d.ts.map +1 -0
  218. package/dist/dts/FiberMap.d.ts +48 -12
  219. package/dist/dts/FiberMap.d.ts.map +1 -1
  220. package/dist/dts/FiberRefs.d.ts +1 -1
  221. package/dist/dts/FiberRefs.d.ts.map +1 -1
  222. package/dist/dts/FiberSet.d.ts +9 -5
  223. package/dist/dts/FiberSet.d.ts.map +1 -1
  224. package/dist/dts/Function.d.ts.map +1 -1
  225. package/dist/dts/GroupBy.d.ts +1 -1
  226. package/dist/dts/GroupBy.d.ts.map +1 -1
  227. package/dist/dts/HashMap.d.ts +0 -1
  228. package/dist/dts/HashMap.d.ts.map +1 -1
  229. package/dist/dts/HashSet.d.ts +0 -1
  230. package/dist/dts/HashSet.d.ts.map +1 -1
  231. package/dist/dts/Iterable.d.ts +12 -5
  232. package/dist/dts/Iterable.d.ts.map +1 -1
  233. package/dist/dts/Layer.d.ts +6 -6
  234. package/dist/dts/Layer.d.ts.map +1 -1
  235. package/dist/dts/List.d.ts +0 -11
  236. package/dist/dts/List.d.ts.map +1 -1
  237. package/dist/dts/Logger.d.ts +2 -2
  238. package/dist/dts/Logger.d.ts.map +1 -1
  239. package/dist/dts/Metric.d.ts +7 -2
  240. package/dist/dts/Metric.d.ts.map +1 -1
  241. package/dist/dts/MetricKey.d.ts +4 -1
  242. package/dist/dts/MetricKey.d.ts.map +1 -1
  243. package/dist/dts/MetricKeyType.d.ts +4 -1
  244. package/dist/dts/MetricKeyType.d.ts.map +1 -1
  245. package/dist/dts/MutableHashMap.d.ts.map +1 -1
  246. package/dist/dts/Option.d.ts +5 -3
  247. package/dist/dts/Option.d.ts.map +1 -1
  248. package/dist/dts/Order.d.ts.map +1 -1
  249. package/dist/dts/{ReadonlyRecord.d.ts → Record.d.ts} +29 -30
  250. package/dist/dts/Record.d.ts.map +1 -0
  251. package/dist/dts/Request.d.ts +1 -1
  252. package/dist/dts/Request.d.ts.map +1 -1
  253. package/dist/dts/RequestResolver.d.ts +2 -2
  254. package/dist/dts/RequestResolver.d.ts.map +1 -1
  255. package/dist/dts/STM.d.ts +6 -4
  256. package/dist/dts/STM.d.ts.map +1 -1
  257. package/dist/dts/Schedule.d.ts +1 -1
  258. package/dist/dts/Scheduler.d.ts.map +1 -1
  259. package/dist/dts/ScopedCache.d.ts +9 -9
  260. package/dist/dts/ScopedCache.d.ts.map +1 -1
  261. package/dist/dts/SortedMap.d.ts.map +1 -1
  262. package/dist/dts/SortedSet.d.ts +1 -1
  263. package/dist/dts/SortedSet.d.ts.map +1 -1
  264. package/dist/dts/Stream.d.ts +8 -6
  265. package/dist/dts/Stream.d.ts.map +1 -1
  266. package/dist/dts/StreamHaltStrategy.d.ts +14 -2
  267. package/dist/dts/StreamHaltStrategy.d.ts.map +1 -1
  268. package/dist/dts/String.d.ts +25 -1
  269. package/dist/dts/String.d.ts.map +1 -1
  270. package/dist/dts/Subscribable.d.ts.map +1 -1
  271. package/dist/dts/TestAnnotation.d.ts.map +1 -1
  272. package/dist/dts/TestAnnotationMap.d.ts.map +1 -1
  273. package/dist/dts/TestAnnotations.d.ts +0 -3
  274. package/dist/dts/TestAnnotations.d.ts.map +1 -1
  275. package/dist/dts/TestClock.d.ts.map +1 -1
  276. package/dist/dts/TestLive.d.ts.map +1 -1
  277. package/dist/dts/TestServices.d.ts.map +1 -1
  278. package/dist/dts/TestSized.d.ts.map +1 -1
  279. package/dist/dts/Tracer.d.ts +12 -5
  280. package/dist/dts/Tracer.d.ts.map +1 -1
  281. package/dist/dts/Trie.d.ts +1 -1
  282. package/dist/dts/Trie.d.ts.map +1 -1
  283. package/dist/dts/Types.d.ts +0 -7
  284. package/dist/dts/Types.d.ts.map +1 -1
  285. package/dist/dts/index.d.ts +11 -7
  286. package/dist/dts/index.d.ts.map +1 -1
  287. package/dist/dts/internal/array.d.ts +5 -0
  288. package/dist/dts/internal/array.d.ts.map +1 -0
  289. package/dist/dts/internal/core-stream.d.ts +4 -0
  290. package/dist/dts/internal/core-stream.d.ts.map +1 -1
  291. package/dist/dts/internal/core.d.ts +3 -1
  292. package/dist/dts/internal/core.d.ts.map +1 -1
  293. package/dist/dts/internal/fiber.d.ts +5 -1
  294. package/dist/dts/internal/fiber.d.ts.map +1 -1
  295. package/dist/dts/internal/hashMap.d.ts.map +1 -1
  296. package/dist/dts/internal/logger.d.ts.map +1 -1
  297. package/dist/dts/internal/metric/keyType.d.ts +3 -1
  298. package/dist/dts/internal/metric/keyType.d.ts.map +1 -1
  299. package/dist/dts/internal/metric/state.d.ts.map +1 -1
  300. package/dist/dts/internal/random.d.ts.map +1 -1
  301. package/dist/dts/internal/runtimeFlags.d.ts.map +1 -1
  302. package/dist/dts/internal/stm/stm/tExit.d.ts +4 -1
  303. package/dist/dts/internal/stm/stm/tExit.d.ts.map +1 -1
  304. package/dist/dts/internal/stm/stm.d.ts +3 -0
  305. package/dist/dts/internal/stm/stm.d.ts.map +1 -1
  306. package/dist/dts/internal/stream.d.ts +5 -1
  307. package/dist/dts/internal/stream.d.ts.map +1 -1
  308. package/dist/esm/{ReadonlyArray.js → Array.js} +42 -20
  309. package/dist/esm/Array.js.map +1 -0
  310. package/dist/esm/Brand.js +2 -2
  311. package/dist/esm/Brand.js.map +1 -1
  312. package/dist/esm/Channel.js +4 -2
  313. package/dist/esm/Channel.js.map +1 -1
  314. package/dist/esm/Chunk.js +4 -1
  315. package/dist/esm/Chunk.js.map +1 -1
  316. package/dist/esm/ConfigError.js.map +1 -1
  317. package/dist/esm/Cron.js +13 -13
  318. package/dist/esm/Cron.js.map +1 -1
  319. package/dist/esm/Effect.js +11 -2
  320. package/dist/esm/Effect.js.map +1 -1
  321. package/dist/esm/Either.js +4 -1
  322. package/dist/esm/Either.js.map +1 -1
  323. package/dist/esm/ExecutionStrategy.js.map +1 -1
  324. package/dist/esm/Exit.js +4 -2
  325. package/dist/esm/Exit.js.map +1 -1
  326. package/dist/esm/Fiber.js +3 -1
  327. package/dist/esm/Fiber.js.map +1 -1
  328. package/dist/esm/FiberHandle.js +265 -0
  329. package/dist/esm/FiberHandle.js.map +1 -0
  330. package/dist/esm/FiberMap.js +103 -26
  331. package/dist/esm/FiberMap.js.map +1 -1
  332. package/dist/esm/FiberRefs.js.map +1 -1
  333. package/dist/esm/FiberSet.js +51 -15
  334. package/dist/esm/FiberSet.js.map +1 -1
  335. package/dist/esm/HashMap.js.map +1 -1
  336. package/dist/esm/HashSet.js.map +1 -1
  337. package/dist/esm/Iterable.js +39 -4
  338. package/dist/esm/Iterable.js.map +1 -1
  339. package/dist/esm/Layer.js.map +1 -1
  340. package/dist/esm/List.js +3 -3
  341. package/dist/esm/List.js.map +1 -1
  342. package/dist/esm/Metric.js +3 -1
  343. package/dist/esm/Metric.js.map +1 -1
  344. package/dist/esm/MetricKey.js.map +1 -1
  345. package/dist/esm/MetricKeyType.js.map +1 -1
  346. package/dist/esm/MutableHashMap.js +0 -3
  347. package/dist/esm/MutableHashMap.js.map +1 -1
  348. package/dist/esm/Option.js +4 -2
  349. package/dist/esm/Option.js.map +1 -1
  350. package/dist/esm/{ReadonlyRecord.js → Record.js} +29 -29
  351. package/dist/esm/Record.js.map +1 -0
  352. package/dist/esm/STM.js +5 -3
  353. package/dist/esm/STM.js.map +1 -1
  354. package/dist/esm/Schedule.js +1 -1
  355. package/dist/esm/Schedule.js.map +1 -1
  356. package/dist/esm/ScopedCache.js.map +1 -1
  357. package/dist/esm/Stream.js +5 -3
  358. package/dist/esm/Stream.js.map +1 -1
  359. package/dist/esm/StreamHaltStrategy.js +2 -0
  360. package/dist/esm/StreamHaltStrategy.js.map +1 -1
  361. package/dist/esm/String.js +37 -1
  362. package/dist/esm/String.js.map +1 -1
  363. package/dist/esm/TestAnnotations.js +1 -1
  364. package/dist/esm/TestAnnotations.js.map +1 -1
  365. package/dist/esm/TestClock.js +3 -3
  366. package/dist/esm/TestClock.js.map +1 -1
  367. package/dist/esm/Tracer.js.map +1 -1
  368. package/dist/esm/index.js +11 -7
  369. package/dist/esm/index.js.map +1 -1
  370. package/dist/esm/internal/{readonlyArray.js → array.js} +1 -1
  371. package/dist/esm/internal/array.js.map +1 -0
  372. package/dist/esm/internal/cache.js +3 -3
  373. package/dist/esm/internal/cache.js.map +1 -1
  374. package/dist/esm/internal/cause.js +3 -3
  375. package/dist/esm/internal/cause.js.map +1 -1
  376. package/dist/esm/internal/channel/channelExecutor.js +15 -15
  377. package/dist/esm/internal/channel/channelExecutor.js.map +1 -1
  378. package/dist/esm/internal/channel/channelState.js +1 -1
  379. package/dist/esm/internal/channel/channelState.js.map +1 -1
  380. package/dist/esm/internal/channel/singleProducerAsyncInput.js +1 -1
  381. package/dist/esm/internal/channel/singleProducerAsyncInput.js.map +1 -1
  382. package/dist/esm/internal/channel.js +8 -8
  383. package/dist/esm/internal/channel.js.map +1 -1
  384. package/dist/esm/internal/clock.js +2 -2
  385. package/dist/esm/internal/clock.js.map +1 -1
  386. package/dist/esm/internal/configError.js +20 -19
  387. package/dist/esm/internal/configError.js.map +1 -1
  388. package/dist/esm/internal/configProvider/pathPatch.js +1 -1
  389. package/dist/esm/internal/configProvider/pathPatch.js.map +1 -1
  390. package/dist/esm/internal/configProvider.js +47 -48
  391. package/dist/esm/internal/configProvider.js.map +1 -1
  392. package/dist/esm/internal/core-effect.js +39 -26
  393. package/dist/esm/internal/core-effect.js.map +1 -1
  394. package/dist/esm/internal/core-stream.js +3 -2
  395. package/dist/esm/internal/core-stream.js.map +1 -1
  396. package/dist/esm/internal/core.js +24 -26
  397. package/dist/esm/internal/core.js.map +1 -1
  398. package/dist/esm/internal/dataSource.js +19 -2
  399. package/dist/esm/internal/dataSource.js.map +1 -1
  400. package/dist/esm/internal/differ/readonlyArrayPatch.js +6 -6
  401. package/dist/esm/internal/differ/readonlyArrayPatch.js.map +1 -1
  402. package/dist/esm/internal/effect/circular.js +1 -1
  403. package/dist/esm/internal/effect/circular.js.map +1 -1
  404. package/dist/esm/internal/executionStrategy.js +4 -4
  405. package/dist/esm/internal/executionStrategy.js.map +1 -1
  406. package/dist/esm/internal/fiber.js +6 -5
  407. package/dist/esm/internal/fiber.js.map +1 -1
  408. package/dist/esm/internal/fiberRefs/patch.js +1 -1
  409. package/dist/esm/internal/fiberRefs/patch.js.map +1 -1
  410. package/dist/esm/internal/fiberRefs.js +1 -1
  411. package/dist/esm/internal/fiberRefs.js.map +1 -1
  412. package/dist/esm/internal/fiberRuntime.js +33 -33
  413. package/dist/esm/internal/fiberRuntime.js.map +1 -1
  414. package/dist/esm/internal/groupBy.js +3 -3
  415. package/dist/esm/internal/groupBy.js.map +1 -1
  416. package/dist/esm/internal/hashMap.js.map +1 -1
  417. package/dist/esm/internal/hashSet.js.map +1 -1
  418. package/dist/esm/internal/layer/circular.js.map +1 -1
  419. package/dist/esm/internal/layer.js +5 -5
  420. package/dist/esm/internal/layer.js.map +1 -1
  421. package/dist/esm/internal/logger.js +28 -8
  422. package/dist/esm/internal/logger.js.map +1 -1
  423. package/dist/esm/internal/managedRuntime.js +1 -1
  424. package/dist/esm/internal/managedRuntime.js.map +1 -1
  425. package/dist/esm/internal/metric/boundaries.js +4 -4
  426. package/dist/esm/internal/metric/boundaries.js.map +1 -1
  427. package/dist/esm/internal/metric/hook.js +20 -17
  428. package/dist/esm/internal/metric/hook.js.map +1 -1
  429. package/dist/esm/internal/metric/key.js +4 -4
  430. package/dist/esm/internal/metric/key.js.map +1 -1
  431. package/dist/esm/internal/metric/keyType.js +5 -1
  432. package/dist/esm/internal/metric/keyType.js.map +1 -1
  433. package/dist/esm/internal/metric/state.js +4 -4
  434. package/dist/esm/internal/metric/state.js.map +1 -1
  435. package/dist/esm/internal/metric.js +4 -4
  436. package/dist/esm/internal/metric.js.map +1 -1
  437. package/dist/esm/internal/pool.js +11 -11
  438. package/dist/esm/internal/pool.js.map +1 -1
  439. package/dist/esm/internal/pubsub.js +5 -5
  440. package/dist/esm/internal/pubsub.js.map +1 -1
  441. package/dist/esm/internal/query.js +2 -2
  442. package/dist/esm/internal/query.js.map +1 -1
  443. package/dist/esm/internal/queue.js +9 -9
  444. package/dist/esm/internal/queue.js.map +1 -1
  445. package/dist/esm/internal/rateLimiter.js +1 -1
  446. package/dist/esm/internal/rateLimiter.js.map +1 -1
  447. package/dist/esm/internal/redBlackTree/iterator.js +2 -2
  448. package/dist/esm/internal/redBlackTree/iterator.js.map +1 -1
  449. package/dist/esm/internal/reloadable.js +1 -1
  450. package/dist/esm/internal/reloadable.js.map +1 -1
  451. package/dist/esm/internal/runtime.js +4 -4
  452. package/dist/esm/internal/runtime.js.map +1 -1
  453. package/dist/esm/internal/schedule.js +3 -3
  454. package/dist/esm/internal/schedule.js.map +1 -1
  455. package/dist/esm/internal/scopedCache.js +7 -7
  456. package/dist/esm/internal/scopedCache.js.map +1 -1
  457. package/dist/esm/internal/scopedRef.js +4 -4
  458. package/dist/esm/internal/scopedRef.js.map +1 -1
  459. package/dist/esm/internal/secret.js +2 -2
  460. package/dist/esm/internal/secret.js.map +1 -1
  461. package/dist/esm/internal/sink.js +10 -10
  462. package/dist/esm/internal/sink.js.map +1 -1
  463. package/dist/esm/internal/stm/stm/tExit.js +3 -2
  464. package/dist/esm/internal/stm/stm/tExit.js.map +1 -1
  465. package/dist/esm/internal/stm/stm.js +11 -9
  466. package/dist/esm/internal/stm/stm.js.map +1 -1
  467. package/dist/esm/internal/stm/tMap.js +3 -3
  468. package/dist/esm/internal/stm/tMap.js.map +1 -1
  469. package/dist/esm/internal/stm/tPriorityQueue.js +11 -11
  470. package/dist/esm/internal/stm/tPriorityQueue.js.map +1 -1
  471. package/dist/esm/internal/stm/tPubSub.js +3 -3
  472. package/dist/esm/internal/stm/tPubSub.js.map +1 -1
  473. package/dist/esm/internal/stm/tQueue.js +3 -3
  474. package/dist/esm/internal/stm/tQueue.js.map +1 -1
  475. package/dist/esm/internal/stm/tSet.js +1 -1
  476. package/dist/esm/internal/stm/tSet.js.map +1 -1
  477. package/dist/esm/internal/stream/haltStrategy.js +5 -5
  478. package/dist/esm/internal/stream/haltStrategy.js.map +1 -1
  479. package/dist/esm/internal/stream.js +85 -84
  480. package/dist/esm/internal/stream.js.map +1 -1
  481. package/dist/esm/internal/supervisor.js +1 -1
  482. package/dist/esm/internal/supervisor.js.map +1 -1
  483. package/dist/esm/internal/take.js +1 -1
  484. package/dist/esm/internal/take.js.map +1 -1
  485. package/dist/esm/internal/tracer.js.map +1 -1
  486. package/dist/esm/internal/trie.js.map +1 -1
  487. package/dist/esm/internal/version.js +1 -1
  488. package/dist/esm/internal/version.js.map +1 -1
  489. package/package.json +23 -15
  490. package/src/{ReadonlyArray.ts → Array.ts} +50 -24
  491. package/src/Brand.ts +3 -3
  492. package/src/Cache.ts +12 -10
  493. package/src/Cause.ts +1 -1
  494. package/src/Channel.ts +12 -9
  495. package/src/Chunk.ts +3 -3
  496. package/src/ConfigError.ts +7 -6
  497. package/src/Cron.ts +17 -17
  498. package/src/Effect.ts +46 -57
  499. package/src/Either.ts +7 -7
  500. package/src/ExecutionStrategy.ts +10 -2
  501. package/src/Exit.ts +11 -9
  502. package/src/Fiber.ts +11 -8
  503. package/src/FiberHandle.ts +433 -0
  504. package/src/FiberMap.ts +200 -73
  505. package/src/FiberRefs.ts +1 -1
  506. package/src/FiberSet.ts +96 -36
  507. package/src/GroupBy.ts +1 -1
  508. package/src/HashMap.ts +0 -1
  509. package/src/HashSet.ts +0 -1
  510. package/src/Iterable.ts +48 -10
  511. package/src/Layer.ts +6 -6
  512. package/src/List.ts +3 -4
  513. package/src/Logger.ts +2 -2
  514. package/src/Metric.ts +9 -2
  515. package/src/MetricKey.ts +9 -1
  516. package/src/MetricKeyType.ts +6 -1
  517. package/src/MutableHashMap.ts +1 -1
  518. package/src/Option.ts +9 -6
  519. package/src/{ReadonlyRecord.ts → Record.ts} +28 -29
  520. package/src/Request.ts +1 -1
  521. package/src/RequestResolver.ts +4 -4
  522. package/src/STM.ts +12 -9
  523. package/src/Schedule.ts +1 -1
  524. package/src/ScopedCache.ts +11 -9
  525. package/src/SortedSet.ts +1 -1
  526. package/src/Stream.ts +14 -11
  527. package/src/StreamHaltStrategy.ts +14 -2
  528. package/src/String.ts +45 -2
  529. package/src/TestAnnotations.ts +1 -1
  530. package/src/TestClock.ts +3 -3
  531. package/src/Tracer.ts +13 -5
  532. package/src/Trie.ts +1 -1
  533. package/src/Types.ts +0 -8
  534. package/src/index.ts +13 -8
  535. package/src/internal/{readonlyArray.ts → array.ts} +1 -1
  536. package/src/internal/cache.ts +40 -40
  537. package/src/internal/cause.ts +5 -6
  538. package/src/internal/channel/channelExecutor.ts +15 -15
  539. package/src/internal/channel/channelState.ts +1 -1
  540. package/src/internal/channel/singleProducerAsyncInput.ts +1 -1
  541. package/src/internal/channel.ts +11 -11
  542. package/src/internal/clock.ts +2 -2
  543. package/src/internal/configError.ts +22 -21
  544. package/src/internal/configProvider/pathPatch.ts +1 -1
  545. package/src/internal/configProvider.ts +50 -53
  546. package/src/internal/core-effect.ts +73 -70
  547. package/src/internal/core-stream.ts +5 -2
  548. package/src/internal/core.ts +51 -50
  549. package/src/internal/dataSource.ts +19 -20
  550. package/src/internal/differ/readonlyArrayPatch.ts +6 -6
  551. package/src/internal/effect/circular.ts +2 -2
  552. package/src/internal/executionStrategy.ts +14 -12
  553. package/src/internal/fiber.ts +8 -5
  554. package/src/internal/fiberRefs/patch.ts +1 -1
  555. package/src/internal/fiberRefs.ts +1 -1
  556. package/src/internal/fiberRuntime.ts +45 -45
  557. package/src/internal/groupBy.ts +4 -4
  558. package/src/internal/hashMap.ts +0 -1
  559. package/src/internal/hashSet.ts +0 -1
  560. package/src/internal/layer/circular.ts +2 -2
  561. package/src/internal/layer.ts +9 -9
  562. package/src/internal/logger.ts +28 -8
  563. package/src/internal/managedRuntime.ts +1 -1
  564. package/src/internal/metric/boundaries.ts +5 -5
  565. package/src/internal/metric/hook.ts +21 -18
  566. package/src/internal/metric/key.ts +8 -5
  567. package/src/internal/metric/keyType.ts +5 -2
  568. package/src/internal/metric/state.ts +5 -5
  569. package/src/internal/metric.ts +8 -6
  570. package/src/internal/pool.ts +11 -11
  571. package/src/internal/pubsub.ts +6 -6
  572. package/src/internal/query.ts +4 -4
  573. package/src/internal/queue.ts +11 -11
  574. package/src/internal/rateLimiter.ts +1 -1
  575. package/src/internal/redBlackTree/iterator.ts +2 -2
  576. package/src/internal/reloadable.ts +1 -1
  577. package/src/internal/runtime.ts +5 -5
  578. package/src/internal/schedule.ts +8 -9
  579. package/src/internal/scopedCache.ts +53 -53
  580. package/src/internal/scopedRef.ts +4 -4
  581. package/src/internal/secret.ts +2 -2
  582. package/src/internal/sink.ts +10 -10
  583. package/src/internal/stm/stm/tExit.ts +5 -2
  584. package/src/internal/stm/stm.ts +13 -9
  585. package/src/internal/stm/tMap.ts +3 -3
  586. package/src/internal/stm/tPriorityQueue.ts +11 -11
  587. package/src/internal/stm/tPubSub.ts +3 -3
  588. package/src/internal/stm/tQueue.ts +3 -3
  589. package/src/internal/stm/tSet.ts +1 -1
  590. package/src/internal/stream/haltStrategy.ts +23 -14
  591. package/src/internal/stream.ts +91 -88
  592. package/src/internal/supervisor.ts +1 -1
  593. package/src/internal/take.ts +1 -1
  594. package/src/internal/tracer.ts +2 -2
  595. package/src/internal/trie.ts +0 -1
  596. package/src/internal/version.ts +1 -1
  597. package/ReadonlyArray/package.json +0 -6
  598. package/ReadonlyRecord/package.json +0 -6
  599. package/dist/cjs/ReadonlyArray.js.map +0 -1
  600. package/dist/cjs/ReadonlyRecord.js.map +0 -1
  601. package/dist/cjs/internal/Iterable.js +0 -61
  602. package/dist/cjs/internal/Iterable.js.map +0 -1
  603. package/dist/cjs/internal/readonlyArray.js.map +0 -1
  604. package/dist/dts/ReadonlyArray.d.ts.map +0 -1
  605. package/dist/dts/ReadonlyRecord.d.ts.map +0 -1
  606. package/dist/dts/internal/Iterable.d.ts +0 -2
  607. package/dist/dts/internal/Iterable.d.ts.map +0 -1
  608. package/dist/dts/internal/readonlyArray.d.ts +0 -5
  609. package/dist/dts/internal/readonlyArray.d.ts.map +0 -1
  610. package/dist/esm/ReadonlyArray.js.map +0 -1
  611. package/dist/esm/ReadonlyRecord.js.map +0 -1
  612. package/dist/esm/internal/Iterable.js +0 -53
  613. package/dist/esm/internal/Iterable.js.map +0 -1
  614. package/dist/esm/internal/readonlyArray.js.map +0 -1
  615. package/src/internal/Iterable.ts +0 -54
@@ -75,7 +75,7 @@ export const accumulateChunks = self => {
75
75
  return core.flatMap(core.write(next), () => accumulator(next));
76
76
  },
77
77
  onFailure: core.fail,
78
- onDone: () => core.unit
78
+ onDone: () => core.void
79
79
  });
80
80
  return new StreamImpl(core.pipeTo(toChannel(self), accumulator(Chunk.empty())));
81
81
  };
@@ -105,7 +105,7 @@ export const aggregateWithinEither = /*#__PURE__*/dual(3, (self, sink, schedule)
105
105
  switch (signal._tag) {
106
106
  case HandoffSignal.OP_EMIT:
107
107
  {
108
- return pipe(core.fromEffect(Ref.set(consumed, true)), channel.zipRight(core.write(signal.elements)), channel.zipRight(core.fromEffect(Ref.get(endAfterEmit))), core.flatMap(bool => bool ? core.unit : handoffConsumer));
108
+ return pipe(core.fromEffect(Ref.set(consumed, true)), channel.zipRight(core.write(signal.elements)), channel.zipRight(core.fromEffect(Ref.get(endAfterEmit))), core.flatMap(bool => bool ? core.void : handoffConsumer));
109
109
  }
110
110
  case HandoffSignal.OP_HALT:
111
111
  {
@@ -141,7 +141,7 @@ export const aggregateWithinEither = /*#__PURE__*/dual(3, (self, sink, schedule)
141
141
  }
142
142
  case SinkEndReason.OP_UPSTREAM_END:
143
143
  {
144
- return pipe(Ref.get(consumed), Effect.map(wasConsumed => wasConsumed ? core.write(Chunk.of(Either.right(b))) : core.unit), channel.unwrap);
144
+ return pipe(Ref.get(consumed), Effect.map(wasConsumed => wasConsumed ? core.write(Chunk.of(Either.right(b))) : core.void), channel.unwrap);
145
145
  }
146
146
  }
147
147
  })), channel.unwrap);
@@ -164,7 +164,7 @@ export const as = /*#__PURE__*/dual(2, (self, value) => map(self, () => value));
164
164
  /** @internal */
165
165
  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(() => {
166
166
  const runPromiseExit = Runtime.runPromiseExit(runtime);
167
- const canceler = register(emit.make(resume => InternalTake.fromPull(resume).pipe(Effect.flatMap(take => Queue.offer(output, take)), Effect.asUnit, runPromiseExit).then(exit => {
167
+ const canceler = register(emit.make(resume => InternalTake.fromPull(resume).pipe(Effect.flatMap(take => Queue.offer(output, take)), Effect.asVoid, runPromiseExit).then(exit => {
168
168
  if (Exit.isFailure(exit)) {
169
169
  if (!Cause.isInterrupted(exit.cause)) {
170
170
  throw Cause.squash(exit.cause);
@@ -175,15 +175,15 @@ export const _async = (register, outputBuffer = 16) => Effect.acquireRelease(Que
175
175
  })), Effect.map(value => {
176
176
  const loop = Queue.take(output).pipe(Effect.flatMap(take => InternalTake.done(take)), Effect.match({
177
177
  onFailure: maybeError => core.fromEffect(Queue.shutdown(output)).pipe(channel.zipRight(Option.match(maybeError, {
178
- onNone: () => core.unit,
178
+ onNone: () => core.void,
179
179
  onSome: error => core.fail(error)
180
180
  }))),
181
181
  onSuccess: chunk => core.write(chunk).pipe(core.flatMap(() => loop))
182
182
  }), channel.unwrap);
183
- return fromChannel(loop).pipe(ensuring(value ?? Effect.unit));
183
+ return fromChannel(loop).pipe(ensuring(value ?? Effect.void));
184
184
  }))), unwrapScoped);
185
185
  /** @internal */
186
- 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.asUnit, Runtime.runPromiseExit(runtime)).then(exit => {
186
+ 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 => {
187
187
  if (Exit.isFailure(exit)) {
188
188
  if (!Cause.isInterrupted(exit.cause)) {
189
189
  throw Cause.squash(exit.cause);
@@ -192,7 +192,7 @@ export const asyncEffect = (register, outputBuffer = 16) => pipe(Effect.acquireR
192
192
  }))), Effect.map(() => {
193
193
  const loop = pipe(Queue.take(output), Effect.flatMap(InternalTake.done), Effect.match({
194
194
  onFailure: maybeError => pipe(core.fromEffect(Queue.shutdown(output)), channel.zipRight(Option.match(maybeError, {
195
- onNone: () => core.unit,
195
+ onNone: () => core.void,
196
196
  onSome: core.fail
197
197
  }))),
198
198
  onSuccess: chunk => pipe(core.write(chunk), core.flatMap(() => loop))
@@ -200,7 +200,7 @@ export const asyncEffect = (register, outputBuffer = 16) => pipe(Effect.acquireR
200
200
  return loop;
201
201
  }))))), channel.unwrapScoped, fromChannel);
202
202
  /** @internal */
203
- 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.asUnit, Runtime.runPromiseExit(runtime)).then(exit => {
203
+ 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 => {
204
204
  if (Exit.isFailure(exit)) {
205
205
  if (!Cause.isInterrupted(exit.cause)) {
206
206
  throw Cause.squash(exit.cause);
@@ -249,7 +249,7 @@ export const buffer = /*#__PURE__*/dual(2, (self, options) => {
249
249
  return new StreamImpl(channel.unwrapScoped(Effect.map(queue, queue => {
250
250
  const process = pipe(core.fromEffect(Queue.take(queue)), core.flatMap(Exit.match({
251
251
  onFailure: cause => pipe(Cause.flipCauseOption(cause), Option.match({
252
- onNone: () => core.unit,
252
+ onNone: () => core.void,
253
253
  onSome: core.failCause
254
254
  })),
255
255
  onSuccess: value => core.flatMap(core.write(Chunk.of(value)), () => process)
@@ -267,7 +267,7 @@ export const bufferChunks = /*#__PURE__*/dual(2, (self, options) => {
267
267
  const queue = toQueue(self, options);
268
268
  return new StreamImpl(channel.unwrapScoped(Effect.map(queue, queue => {
269
269
  const process = pipe(core.fromEffect(Queue.take(queue)), core.flatMap(InternalTake.match({
270
- onEnd: () => core.unit,
270
+ onEnd: () => core.void,
271
271
  onFailure: core.failCause,
272
272
  onSuccess: value => pipe(core.write(value), core.flatMap(() => process))
273
273
  })));
@@ -296,7 +296,7 @@ const bufferUnbounded = self => {
296
296
  });
297
297
  return new StreamImpl(channel.unwrapScoped(Effect.map(queue, queue => {
298
298
  const process = pipe(core.fromEffect(Queue.take(queue)), core.flatMap(InternalTake.match({
299
- onEnd: () => core.unit,
299
+ onEnd: () => core.void,
300
300
  onFailure: core.failCause,
301
301
  onSuccess: value => core.flatMap(core.write(value), () => process)
302
302
  })));
@@ -305,16 +305,16 @@ const bufferUnbounded = self => {
305
305
  };
306
306
  const bufferSignal = (scoped, bufferChannel) => {
307
307
  const producer = (queue, ref) => {
308
- const terminate = take => pipe(Ref.get(ref), Effect.tap(Deferred.await), Effect.zipRight(Deferred.make()), Effect.flatMap(deferred => pipe(Queue.offer(queue, [take, deferred]), Effect.zipRight(Ref.set(ref, deferred)), Effect.zipRight(Deferred.await(deferred)))), Effect.asUnit, core.fromEffect);
308
+ const terminate = take => pipe(Ref.get(ref), Effect.tap(Deferred.await), Effect.zipRight(Deferred.make()), Effect.flatMap(deferred => pipe(Queue.offer(queue, [take, deferred]), Effect.zipRight(Ref.set(ref, deferred)), Effect.zipRight(Deferred.await(deferred)))), Effect.asVoid, core.fromEffect);
309
309
  return core.readWithCause({
310
- onInput: input => pipe(Deferred.make(), Effect.flatMap(deferred => pipe(Queue.offer(queue, [InternalTake.chunk(input), deferred]), Effect.flatMap(added => pipe(Ref.set(ref, deferred), Effect.when(() => added))))), Effect.asUnit, core.fromEffect, core.flatMap(() => producer(queue, ref))),
310
+ onInput: input => pipe(Deferred.make(), Effect.flatMap(deferred => pipe(Queue.offer(queue, [InternalTake.chunk(input), deferred]), Effect.flatMap(added => pipe(Ref.set(ref, deferred), Effect.when(() => added))))), Effect.asVoid, core.fromEffect, core.flatMap(() => producer(queue, ref))),
311
311
  onFailure: error => terminate(InternalTake.failCause(error)),
312
312
  onDone: () => terminate(InternalTake.end)
313
313
  });
314
314
  };
315
315
  const consumer = queue => {
316
316
  const process = pipe(core.fromEffect(Queue.take(queue)), core.flatMap(([take, deferred]) => channel.zipRight(core.fromEffect(Deferred.succeed(deferred, void 0)), InternalTake.match(take, {
317
- onEnd: () => core.unit,
317
+ onEnd: () => core.void,
318
318
  onFailure: core.failCause,
319
319
  onSuccess: value => pipe(core.write(value), core.flatMap(() => process))
320
320
  }))));
@@ -363,7 +363,7 @@ export const changesWith = /*#__PURE__*/dual(2, (self, f) => {
363
363
  return core.flatMap(core.write(newChunk), () => writer(newLast));
364
364
  },
365
365
  onFailure: core.failCause,
366
- onDone: () => core.unit
366
+ onDone: () => core.void
367
367
  });
368
368
  return new StreamImpl(pipe(toChannel(self), core.pipeTo(writer(Option.none()))));
369
369
  });
@@ -377,7 +377,7 @@ export const changesWithEffect = /*#__PURE__*/dual(2, (self, f) => {
377
377
  return Effect.succeed([Option.some(output), pipe(outputs, Chunk.append(output))]);
378
378
  }), core.fromEffect, core.flatMap(([newLast, newChunk]) => pipe(core.write(newChunk), core.flatMap(() => writer(newLast))))),
379
379
  onFailure: core.failCause,
380
- onDone: () => core.unit
380
+ onDone: () => core.void
381
381
  });
382
382
  return new StreamImpl(pipe(toChannel(self), core.pipeTo(writer(Option.none()))));
383
383
  });
@@ -461,7 +461,7 @@ export const debounce = /*#__PURE__*/dual(2, (self, duration) => pipe(singleProd
461
461
  }
462
462
  case HandoffSignal.OP_END:
463
463
  {
464
- return core.unit;
464
+ return core.void;
465
465
  }
466
466
  }
467
467
  }), channel.unwrap);
@@ -487,7 +487,7 @@ export const debounce = /*#__PURE__*/dual(2, (self, duration) => pipe(singleProd
487
487
  }
488
488
  case HandoffSignal.OP_END:
489
489
  {
490
- return pipe(Fiber.join(previous), Effect.map(chunk => pipe(core.write(chunk), channel.zipRight(core.unit))));
490
+ return pipe(Fiber.join(previous), Effect.map(chunk => pipe(core.write(chunk), channel.zipRight(core.void))));
491
491
  }
492
492
  }
493
493
  }
@@ -508,7 +508,7 @@ export const debounce = /*#__PURE__*/dual(2, (self, duration) => pipe(singleProd
508
508
  }
509
509
  case HandoffSignal.OP_END:
510
510
  {
511
- return core.unit;
511
+ return core.void;
512
512
  }
513
513
  }
514
514
  }), channel.unwrap);
@@ -542,7 +542,7 @@ const newDistributedWithDynamicId = () => {
542
542
  return current;
543
543
  };
544
544
  /** @internal */
545
- export const distributedWithDynamic = /*#__PURE__*/dual(2, (self, options) => distributedWithDynamicCallback(self, options.maximumLag, options.decide, () => Effect.unit));
545
+ export const distributedWithDynamic = /*#__PURE__*/dual(2, (self, options) => distributedWithDynamicCallback(self, options.maximumLag, options.decide, () => Effect.void));
546
546
  /** @internal */
547
547
  export const distributedWithDynamicCallback = /*#__PURE__*/dual(4, (self, maximumLag, decide, done) => pipe(Effect.acquireRelease(Ref.make(new Map()), (ref, _) => pipe(Ref.get(ref), Effect.flatMap(queues => pipe(queues.values(), Effect.forEach(Queue.shutdown))))), Effect.flatMap(queuesRef => Effect.gen(function* ($) {
548
548
  const offer = a => pipe(decide(a), Effect.flatMap(shouldProcess => pipe(Ref.get(queuesRef), Effect.flatMap(queues => pipe(queues.entries(), Effect.reduce(Chunk.empty(), (acc, [id, queue]) => {
@@ -565,8 +565,8 @@ export const distributedWithDynamicCallback = /*#__PURE__*/dual(4, (self, maximu
565
565
  return map;
566
566
  }));
567
567
  }
568
- return Effect.unit;
569
- }))))), Effect.asUnit);
568
+ return Effect.void;
569
+ }))))), Effect.asVoid);
570
570
  const queuesLock = yield* $(Effect.makeSemaphore(1));
571
571
  const newQueue = yield* $(Ref.make(pipe(Queue.bounded(maximumLag), Effect.flatMap(queue => {
572
572
  const id = newDistributedWithDynamicId();
@@ -579,7 +579,7 @@ export const distributedWithDynamicCallback = /*#__PURE__*/dual(4, (self, maximu
579
579
  Queue.bounded(1), Effect.tap(queue => Queue.offer(queue, endTake)), Effect.flatMap(queue => {
580
580
  const id = newDistributedWithDynamicId();
581
581
  return pipe(Ref.update(queuesRef, map => map.set(id, queue)), Effect.as(Tuple.make(id, queue)));
582
- }))), Effect.zipRight(pipe(Ref.get(queuesRef), Effect.flatMap(map => pipe(Chunk.fromIterable(map.values()), Effect.forEach(queue => pipe(Queue.offer(queue, endTake), Effect.catchSomeCause(cause => Cause.isInterrupted(cause) ? Option.some(Effect.unit) : Option.none()))))))), Effect.zipRight(done(endTake)), Effect.asUnit));
582
+ }))), Effect.zipRight(pipe(Ref.get(queuesRef), Effect.flatMap(map => pipe(Chunk.fromIterable(map.values()), Effect.forEach(queue => pipe(Queue.offer(queue, endTake), Effect.catchSomeCause(cause => Cause.isInterrupted(cause) ? Option.some(Effect.void) : Option.none()))))))), Effect.zipRight(done(endTake)), Effect.asVoid));
583
583
  yield* $(self, runForEachScoped(offer), Effect.matchCauseEffect({
584
584
  onFailure: cause => finalize(Exit.failCause(pipe(cause, Cause.map(Option.some)))),
585
585
  onSuccess: () => finalize(Exit.fail(Option.none()))
@@ -589,7 +589,7 @@ export const distributedWithDynamicCallback = /*#__PURE__*/dual(4, (self, maximu
589
589
  /** @internal */
590
590
  export const drain = self => new StreamImpl(channel.drain(toChannel(self)));
591
591
  /** @internal */
592
- export const drainFork = /*#__PURE__*/dual(2, (self, that) => pipe(fromEffect(Deferred.make()), flatMap(backgroundDied => pipe(scoped(pipe(that, runForEachScoped(() => Effect.unit), Effect.catchAllCause(cause => Deferred.failCause(backgroundDied, cause)), Effect.forkScoped)), crossRight(pipe(self, interruptWhenDeferred(backgroundDied)))))));
592
+ export const drainFork = /*#__PURE__*/dual(2, (self, that) => pipe(fromEffect(Deferred.make()), flatMap(backgroundDied => pipe(scoped(pipe(that, runForEachScoped(() => Effect.void), Effect.catchAllCause(cause => Deferred.failCause(backgroundDied, cause)), Effect.forkScoped)), crossRight(pipe(self, interruptWhenDeferred(backgroundDied)))))));
593
593
  /** @internal */
594
594
  export const drop = /*#__PURE__*/dual(2, (self, n) => {
595
595
  const loop = r => core.readWith({
@@ -603,7 +603,7 @@ export const drop = /*#__PURE__*/dual(2, (self, n) => {
603
603
  return pipe(core.write(dropped), channel.zipRight(channel.identityChannel()));
604
604
  },
605
605
  onFailure: core.fail,
606
- onDone: () => core.unit
606
+ onDone: () => core.void
607
607
  });
608
608
  return new StreamImpl(pipe(toChannel(self), channel.pipeToOrFail(loop(n))));
609
609
  });
@@ -624,7 +624,7 @@ export const dropRight = /*#__PURE__*/dual(2, (self, n) => {
624
624
  return pipe(core.write(outputs), core.flatMap(() => reader));
625
625
  },
626
626
  onFailure: core.fail,
627
- onDone: () => core.unit
627
+ onDone: () => core.void
628
628
  });
629
629
  return new StreamImpl(pipe(toChannel(self), channel.pipeToOrFail(reader)));
630
630
  });
@@ -642,7 +642,7 @@ export const dropUntilEffect = /*#__PURE__*/dual(2, (self, predicate) => {
642
642
  return pipe(core.write(leftover), channel.zipRight(channel.identityChannel()));
643
643
  }), channel.unwrap),
644
644
  onFailure: core.fail,
645
- onDone: () => core.unit
645
+ onDone: () => core.void
646
646
  });
647
647
  return new StreamImpl(pipe(toChannel(self), channel.pipeToOrFail(loop)));
648
648
  });
@@ -672,7 +672,7 @@ export const dropWhileEffect = /*#__PURE__*/dual(2, (self, predicate) => {
672
672
  return channel.zipRight(core.write(leftover), channel.identityChannel());
673
673
  }), channel.unwrap),
674
674
  onFailure: core.fail,
675
- onDone: () => core.unit
675
+ onDone: () => core.void
676
676
  });
677
677
  return new StreamImpl(channel.pipeToOrFail(toChannel(self), loop));
678
678
  });
@@ -768,7 +768,7 @@ export const filterMapWhileEffect = /*#__PURE__*/dual(2, (self, pf) => suspend((
768
768
  });
769
769
  } else {
770
770
  return channel.unwrap(Option.match(pf(next.value), {
771
- onNone: () => Effect.succeed(core.unit),
771
+ onNone: () => Effect.succeed(core.void),
772
772
  onSome: Effect.map(a2 => core.flatMap(core.write(Chunk.of(a2)), () => loop(iterator)))
773
773
  }));
774
774
  }
@@ -776,7 +776,7 @@ export const filterMapWhileEffect = /*#__PURE__*/dual(2, (self, pf) => suspend((
776
776
  return new StreamImpl(pipe(toChannel(self), channel.pipeToOrFail(loop(Chunk.empty()[Symbol.iterator]()))));
777
777
  }));
778
778
  /** @internal */
779
- export const finalizer = finalizer => acquireRelease(Effect.unit, () => finalizer);
779
+ export const finalizer = finalizer => acquireRelease(Effect.void, () => finalizer);
780
780
  /** @internal */
781
781
  export const find = /*#__PURE__*/dual(2, (self, predicate) => {
782
782
  const loop = core.readWith({
@@ -785,7 +785,7 @@ export const find = /*#__PURE__*/dual(2, (self, predicate) => {
785
785
  onSome: n => core.write(Chunk.of(n))
786
786
  }),
787
787
  onFailure: core.fail,
788
- onDone: () => core.unit
788
+ onDone: () => core.void
789
789
  });
790
790
  return new StreamImpl(pipe(toChannel(self), core.pipeTo(loop)));
791
791
  });
@@ -797,7 +797,7 @@ export const findEffect = /*#__PURE__*/dual(2, (self, predicate) => {
797
797
  onSome: n => core.write(Chunk.of(n))
798
798
  })), channel.unwrap),
799
799
  onFailure: core.fail,
800
- onDone: () => core.unit
800
+ onDone: () => core.void
801
801
  });
802
802
  return new StreamImpl(pipe(toChannel(self), core.pipeTo(loop)));
803
803
  });
@@ -807,7 +807,7 @@ export const flatMap = /*#__PURE__*/dual(args => isStream(args[0]), (self, f, op
807
807
  if (options?.switch) {
808
808
  return matchConcurrency(options?.concurrency, () => flatMapParSwitchBuffer(self, 1, bufferSize, f), n => flatMapParSwitchBuffer(self, n, bufferSize, f));
809
809
  }
810
- return matchConcurrency(options?.concurrency, () => new StreamImpl(channel.concatMap(toChannel(self), as => pipe(as, Chunk.map(a => toChannel(f(a))), Chunk.reduce(core.unit, (left, right) => pipe(left, channel.zipRight(right)))))), _ => new StreamImpl(pipe(toChannel(self), channel.concatMap(channel.writeChunk), channel.mergeMap(out => toChannel(f(out)), options))));
810
+ return matchConcurrency(options?.concurrency, () => new StreamImpl(channel.concatMap(toChannel(self), as => pipe(as, Chunk.map(a => toChannel(f(a))), Chunk.reduce(core.void, (left, right) => pipe(left, channel.zipRight(right)))))), _ => new StreamImpl(pipe(toChannel(self), channel.concatMap(channel.writeChunk), channel.mergeMap(out => toChannel(f(out)), options))));
811
811
  });
812
812
  /** @internal */
813
813
  export const matchConcurrency = (concurrency, sequential, bounded) => {
@@ -832,7 +832,7 @@ export const flattenChunks = self => {
832
832
  const flatten = core.readWithCause({
833
833
  onInput: chunks => core.flatMap(channel.writeChunk(chunks), () => flatten),
834
834
  onFailure: core.failCause,
835
- onDone: () => core.unit
835
+ onDone: () => core.void
836
836
  });
837
837
  return new StreamImpl(pipe(toChannel(self), core.pipeTo(flatten)));
838
838
  };
@@ -848,10 +848,10 @@ export const flattenExitOption = self => {
848
848
  onNone: () => cont,
849
849
  onSome: Exit.match({
850
850
  onFailure: cause => Option.match(Cause.flipCauseOption(cause), {
851
- onNone: () => core.unit,
851
+ onNone: () => core.void,
852
852
  onSome: core.failCause
853
853
  }),
854
- onSuccess: () => core.unit
854
+ onSuccess: () => core.void
855
855
  })
856
856
  }));
857
857
  return pipe(core.write(pipe(toEmit, Chunk.filterMap(exit => Exit.isSuccess(exit) ? Option.some(exit.value) : Option.none()))), core.flatMap(() => next));
@@ -859,7 +859,7 @@ export const flattenExitOption = self => {
859
859
  const process = core.readWithCause({
860
860
  onInput: chunk => processChunk(chunk, process),
861
861
  onFailure: cause => core.failCause(cause),
862
- onDone: () => core.unit
862
+ onDone: () => core.void
863
863
  });
864
864
  return new StreamImpl(pipe(toChannel(self), core.pipeTo(process)));
865
865
  };
@@ -870,7 +870,7 @@ export const flattenTake = self => flattenChunks(flattenExitOption(pipe(self, ma
870
870
  /** @internal */
871
871
  export const forever = self => new StreamImpl(channel.repeated(toChannel(self)));
872
872
  /** @internal */
873
- export const fromAsyncIterable = (iterable, onError) => pipe(Effect.acquireRelease(Effect.sync(() => iterable[Symbol.asyncIterator]()), iterator => iterator.return ? Effect.promise(async () => iterator.return()) : Effect.unit), Effect.map(iterator => repeatEffectOption(pipe(Effect.tryPromise({
873
+ export const fromAsyncIterable = (iterable, onError) => pipe(Effect.acquireRelease(Effect.sync(() => iterable[Symbol.asyncIterator]()), iterator => iterator.return ? Effect.promise(async () => iterator.return()) : Effect.void), Effect.map(iterator => repeatEffectOption(pipe(Effect.tryPromise({
874
874
  try: async () => iterator.next(),
875
875
  catch: reason => Option.some(onError(reason))
876
876
  }), Effect.flatMap(result => result.done ? Effect.fail(Option.none()) : Effect.succeed(result.value))))), unwrapScoped);
@@ -887,7 +887,7 @@ export const toChannel = stream => {
887
887
  }
888
888
  };
889
889
  /** @internal */
890
- export const fromChunk = chunk => new StreamImpl(Chunk.isEmpty(chunk) ? core.unit : core.write(chunk));
890
+ export const fromChunk = chunk => new StreamImpl(Chunk.isEmpty(chunk) ? core.void : core.write(chunk));
891
891
  /** @internal */
892
892
  export const fromChunkPubSub = (pubsub, options) => {
893
893
  if (options?.scoped) {
@@ -906,7 +906,7 @@ export const fromEffect = effect => pipe(effect, Effect.mapError(Option.some), f
906
906
  /** @internal */
907
907
  export const fromEffectOption = effect => new StreamImpl(channel.unwrap(Effect.match(effect, {
908
908
  onFailure: Option.match({
909
- onNone: () => core.unit,
909
+ onNone: () => core.void,
910
910
  onSome: core.fail
911
911
  }),
912
912
  onSuccess: a => core.write(Chunk.of(a))
@@ -938,7 +938,7 @@ export const fromIteratorSucceed = (iterator, maxChunkSize = DefaultChunkSize) =
938
938
  let next = iterator.next();
939
939
  if (maxChunkSize === 1) {
940
940
  if (next.done) {
941
- return core.unit;
941
+ return core.void;
942
942
  }
943
943
  return pipe(core.write(Chunk.of(next.value)), core.flatMap(() => loop(iterator)));
944
944
  }
@@ -955,7 +955,7 @@ export const fromIteratorSucceed = (iterator, maxChunkSize = DefaultChunkSize) =
955
955
  if (count > 0) {
956
956
  return pipe(core.write(Chunk.unsafeFromArray(builder)), core.flatMap(() => loop(iterator)));
957
957
  }
958
- return core.unit;
958
+ return core.void;
959
959
  }), channel.unwrap);
960
960
  return new StreamImpl(loop(iterator));
961
961
  }), unwrap);
@@ -1079,11 +1079,11 @@ export const haltWhen = /*#__PURE__*/dual(2, (self, effect) => {
1079
1079
  onNone: () => core.readWith({
1080
1080
  onInput: input => core.flatMap(core.write(input), () => writer(fiber)),
1081
1081
  onFailure: core.fail,
1082
- onDone: () => core.unit
1082
+ onDone: () => core.void
1083
1083
  }),
1084
1084
  onSome: Exit.match({
1085
1085
  onFailure: core.failCause,
1086
- onSuccess: () => core.unit
1086
+ onSuccess: () => core.void
1087
1087
  })
1088
1088
  })), channel.unwrap);
1089
1089
  return new StreamImpl(pipe(Effect.forkScoped(effect), Effect.map(fiber => pipe(toChannel(self), core.pipeTo(writer(fiber)))), channel.unwrapScoped));
@@ -1096,11 +1096,11 @@ export const haltWhenDeferred = /*#__PURE__*/dual(2, (self, deferred) => {
1096
1096
  onNone: () => core.readWith({
1097
1097
  onInput: input => pipe(core.write(input), core.flatMap(() => writer)),
1098
1098
  onFailure: core.fail,
1099
- onDone: () => core.unit
1099
+ onDone: () => core.void
1100
1100
  }),
1101
1101
  onSome: effect => channel.unwrap(Effect.match(effect, {
1102
1102
  onFailure: core.fail,
1103
- onSuccess: () => core.unit
1103
+ onSuccess: () => core.void
1104
1104
  }))
1105
1105
  })), channel.unwrap);
1106
1106
  return new StreamImpl(pipe(toChannel(self), core.pipeTo(writer)));
@@ -1121,14 +1121,14 @@ export const interleaveWith = /*#__PURE__*/dual(3, (self, that, decider) => {
1121
1121
  onInput: bool => {
1122
1122
  if (bool && !leftDone) {
1123
1123
  return pipe(core.fromEffect(Handoff.take(left)), core.flatMap(InternalTake.match({
1124
- onEnd: () => rightDone ? core.unit : process(true, rightDone),
1124
+ onEnd: () => rightDone ? core.void : process(true, rightDone),
1125
1125
  onFailure: core.failCause,
1126
1126
  onSuccess: chunk => pipe(core.write(chunk), core.flatMap(() => process(leftDone, rightDone)))
1127
1127
  })));
1128
1128
  }
1129
1129
  if (!bool && !rightDone) {
1130
1130
  return pipe(core.fromEffect(Handoff.take(right)), core.flatMap(InternalTake.match({
1131
- onEnd: () => leftDone ? core.unit : process(leftDone, true),
1131
+ onEnd: () => leftDone ? core.void : process(leftDone, true),
1132
1132
  onFailure: core.failCause,
1133
1133
  onSuccess: chunk => pipe(core.write(chunk), core.flatMap(() => process(leftDone, rightDone)))
1134
1134
  })));
@@ -1136,7 +1136,7 @@ export const interleaveWith = /*#__PURE__*/dual(3, (self, that, decider) => {
1136
1136
  return process(leftDone, rightDone);
1137
1137
  },
1138
1138
  onFailure: core.failCause,
1139
- onDone: () => core.unit
1139
+ onDone: () => core.void
1140
1140
  });
1141
1141
  return pipe(toChannel(decider), channel.concatMap(channel.writeChunk), core.pipeTo(process(false, false)));
1142
1142
  }))));
@@ -1159,7 +1159,7 @@ export const intersperse = /*#__PURE__*/dual(2, (self, element) => new StreamImp
1159
1159
  return pipe(core.write(Chunk.unsafeFromArray(builder)), core.flatMap(() => writer(flagResult)));
1160
1160
  },
1161
1161
  onFailure: core.failCause,
1162
- onDone: () => core.unit
1162
+ onDone: () => core.void
1163
1163
  });
1164
1164
  return writer(true);
1165
1165
  })))));
@@ -1189,7 +1189,7 @@ export const mapAccum = /*#__PURE__*/dual(3, (self, s, f) => {
1189
1189
  return core.flatMap(core.write(chunk), () => accumulator(nextS));
1190
1190
  },
1191
1191
  onFailure: core.fail,
1192
- onDone: () => core.unit
1192
+ onDone: () => core.void
1193
1193
  });
1194
1194
  return new StreamImpl(pipe(toChannel(self), core.pipeTo(accumulator(s))));
1195
1195
  });
@@ -1212,7 +1212,7 @@ export const mapAccumEffect = /*#__PURE__*/dual(3, (self, s, f) => suspend(() =>
1212
1212
  }));
1213
1213
  }), channel.unwrap),
1214
1214
  onFailure: core.fail,
1215
- onDone: () => core.unit
1215
+ onDone: () => core.void
1216
1216
  });
1217
1217
  return new StreamImpl(pipe(toChannel(self), channel.pipeToOrFail(accumulator(s))));
1218
1218
  }));
@@ -1289,7 +1289,7 @@ export const never = /*#__PURE__*/fromEffect(Effect.never);
1289
1289
  /** @internal */
1290
1290
  export const onError = /*#__PURE__*/dual(2, (self, cleanup) => pipe(self, catchAllCause(cause => fromEffect(pipe(cleanup(cause), Effect.zipRight(Effect.failCause(cause)))))));
1291
1291
  /** @internal */
1292
- export const onDone = /*#__PURE__*/dual(2, (self, cleanup) => new StreamImpl(pipe(toChannel(self), core.ensuringWith(exit => Exit.isSuccess(exit) ? cleanup() : Effect.unit))));
1292
+ export const onDone = /*#__PURE__*/dual(2, (self, cleanup) => new StreamImpl(pipe(toChannel(self), core.ensuringWith(exit => Exit.isSuccess(exit) ? cleanup() : Effect.void))));
1293
1293
  /** @internal */
1294
1294
  export const orDie = self => pipe(self, orDieWith(identity));
1295
1295
  /** @internal */
@@ -1330,7 +1330,7 @@ export const paginateChunk = (s, f) => {
1330
1330
  const loop = s => {
1331
1331
  const page = f(s);
1332
1332
  return Option.match(page[1], {
1333
- onNone: () => channel.zipRight(core.write(page[0]), core.unit),
1333
+ onNone: () => channel.zipRight(core.write(page[0]), core.void),
1334
1334
  onSome: s => core.flatMap(core.write(page[0]), () => loop(s))
1335
1335
  });
1336
1336
  };
@@ -1339,7 +1339,7 @@ export const paginateChunk = (s, f) => {
1339
1339
  /** @internal */
1340
1340
  export const paginateChunkEffect = (s, f) => {
1341
1341
  const loop = s => channel.unwrap(Effect.map(f(s), ([chunk, option]) => Option.match(option, {
1342
- onNone: () => channel.zipRight(core.write(chunk), core.unit),
1342
+ onNone: () => channel.zipRight(core.write(chunk), core.void),
1343
1343
  onSome: s => core.flatMap(core.write(chunk), () => loop(s))
1344
1344
  })));
1345
1345
  return new StreamImpl(core.suspend(() => loop(s)));
@@ -1366,7 +1366,7 @@ export const peel = /*#__PURE__*/dual(2, (self, sink) => {
1366
1366
  })), core.failCause(cause)),
1367
1367
  onDone: _ => channel.zipRight(core.fromEffect(Handoff.offer(handoff, {
1368
1368
  _tag: OP_END
1369
- })), core.unit)
1369
+ })), core.void)
1370
1370
  });
1371
1371
  return _sink.fromChannel(pipe(core.fromEffect(Deferred.succeed(deferred, z)), channel.zipRight(core.fromEffect(pipe(handoff, Handoff.offer({
1372
1372
  _tag: OP_EMIT,
@@ -1386,7 +1386,7 @@ export const peel = /*#__PURE__*/dual(2, (self, sink) => {
1386
1386
  }
1387
1387
  case OP_END:
1388
1388
  {
1389
- return core.unit;
1389
+ return core.void;
1390
1390
  }
1391
1391
  }
1392
1392
  }), channel.unwrap);
@@ -1510,7 +1510,7 @@ class StreamRechunker {
1510
1510
  if (this.pos !== 0) {
1511
1511
  return core.write(Chunk.unsafeFromArray(this.builder));
1512
1512
  }
1513
- return core.unit;
1513
+ return core.void;
1514
1514
  }
1515
1515
  }
1516
1516
  /** @internal */
@@ -1561,7 +1561,7 @@ export const repeatElementsWith = /*#__PURE__*/dual(3, (self, schedule, options)
1561
1561
  const loop = core.readWith({
1562
1562
  onInput: feed,
1563
1563
  onFailure: core.fail,
1564
- onDone: () => core.unit
1564
+ onDone: () => core.void
1565
1565
  });
1566
1566
  return loop;
1567
1567
  }), channel.unwrap);
@@ -1575,7 +1575,7 @@ export const repeatWith = /*#__PURE__*/dual(3, (self, schedule, options) => {
1575
1575
  const scheduleOutput = pipe(driver.last, Effect.orDie, Effect.map(options.onSchedule));
1576
1576
  const process = pipe(self, map(options.onElement), toChannel);
1577
1577
  const loop = channel.unwrap(Effect.match(driver.next(void 0), {
1578
- onFailure: () => core.unit,
1578
+ onFailure: () => core.void,
1579
1579
  onSuccess: () => pipe(process, channel.zipRight(pipe(scheduleOutput, Effect.map(c => pipe(core.write(Chunk.of(c)), core.flatMap(() => loop))), channel.unwrap)))
1580
1580
  }));
1581
1581
  return new StreamImpl(pipe(process, channel.zipRight(loop)));
@@ -1646,7 +1646,7 @@ export const runIntoQueueElementsScoped = /*#__PURE__*/dual(2, (self, queue) =>
1646
1646
  onFailure: cause => core.fromEffect(Queue.offer(queue, Exit.failCause(Cause.map(cause, Option.some)))),
1647
1647
  onDone: () => core.fromEffect(Queue.offer(queue, Exit.fail(Option.none())))
1648
1648
  });
1649
- return pipe(core.pipeTo(toChannel(self), writer), channel.drain, channelExecutor.runScoped, Effect.asUnit);
1649
+ return pipe(core.pipeTo(toChannel(self), writer), channel.drain, channelExecutor.runScoped, Effect.asVoid);
1650
1650
  });
1651
1651
  /** @internal */
1652
1652
  export const runIntoQueueScoped = /*#__PURE__*/dual(2, (self, queue) => {
@@ -1655,7 +1655,7 @@ export const runIntoQueueScoped = /*#__PURE__*/dual(2, (self, queue) => {
1655
1655
  onFailure: cause => core.write(InternalTake.failCause(cause)),
1656
1656
  onDone: () => core.write(InternalTake.end)
1657
1657
  });
1658
- return pipe(core.pipeTo(toChannel(self), writer), channel.mapOutEffect(take => Queue.offer(queue, take)), channel.drain, channelExecutor.runScoped, Effect.asUnit);
1658
+ return pipe(core.pipeTo(toChannel(self), writer), channel.mapOutEffect(take => Queue.offer(queue, take)), channel.drain, channelExecutor.runScoped, Effect.asVoid);
1659
1659
  });
1660
1660
  /** @internal */
1661
1661
  export const runLast = self => pipe(self, run(_sink.last()));
@@ -1706,7 +1706,7 @@ export const scheduleWith = /*#__PURE__*/dual(3, (self, schedule, options) => {
1706
1706
  /** @internal */
1707
1707
  export const scanEffect = /*#__PURE__*/dual(3, (self, s, f) => new StreamImpl(pipe(core.write(Chunk.of(s)), core.flatMap(() => toChannel(pipe(self, mapAccumEffect(s, (s, a) => pipe(f(s, a), Effect.map(s => [s, s])))))))));
1708
1708
  /** @internal */
1709
- export const scoped = effect => new StreamImpl(channel.ensuring(channel.scoped(pipe(effect, Effect.map(Chunk.of))), Effect.unit));
1709
+ export const scoped = effect => new StreamImpl(channel.ensuring(channel.scoped(pipe(effect, Effect.map(Chunk.of))), Effect.void));
1710
1710
  /** @internal */
1711
1711
  export const some = self => pipe(self, mapError(Option.some), someOrFail(() => Option.none()));
1712
1712
  /** @internal */
@@ -1750,7 +1750,7 @@ export const slidingSize = /*#__PURE__*/dual(3, (self, chunkSize, stepSize) => {
1750
1750
  return Option.some(queue.toChunk());
1751
1751
  })), () => reader(queueSize + input.length)),
1752
1752
  onFailure: cause => emitOnStreamEnd(queueSize, core.failCause(cause)),
1753
- onDone: () => emitOnStreamEnd(queueSize, core.unit)
1753
+ onDone: () => emitOnStreamEnd(queueSize, core.void)
1754
1754
  });
1755
1755
  return pipe(toChannel(self), core.pipeTo(reader(0)));
1756
1756
  }));
@@ -1769,12 +1769,12 @@ export const split = /*#__PURE__*/dual(2, (self, predicate) => {
1769
1769
  onFailure: core.fail,
1770
1770
  onDone: () => {
1771
1771
  if (Chunk.isEmpty(leftovers)) {
1772
- return core.unit;
1772
+ return core.void;
1773
1773
  }
1774
1774
  if (Option.isNone(pipe(leftovers, Chunk.findFirst(predicate)))) {
1775
- return channel.zipRight(core.write(Chunk.of(leftovers)), core.unit);
1775
+ return channel.zipRight(core.write(Chunk.of(leftovers)), core.void);
1776
1776
  }
1777
- return channel.zipRight(split(Chunk.empty(), leftovers), core.unit);
1777
+ return channel.zipRight(split(Chunk.empty(), leftovers), core.void);
1778
1778
  }
1779
1779
  });
1780
1780
  return new StreamImpl(pipe(toChannel(self), core.pipeTo(loop(Chunk.empty()))));
@@ -1838,7 +1838,7 @@ export const take = /*#__PURE__*/dual(2, (self, n) => {
1838
1838
  onFailure: core.fail,
1839
1839
  onDone: core.succeed
1840
1840
  });
1841
- return new StreamImpl(pipe(toChannel(self), channel.pipeToOrFail(0 < n ? loop(n) : core.unit)));
1841
+ return new StreamImpl(pipe(toChannel(self), channel.pipeToOrFail(0 < n ? loop(n) : core.void)));
1842
1842
  });
1843
1843
  /** @internal */
1844
1844
  export const takeRight = /*#__PURE__*/dual(2, (self, n) => {
@@ -1854,7 +1854,7 @@ export const takeRight = /*#__PURE__*/dual(2, (self, n) => {
1854
1854
  return reader;
1855
1855
  },
1856
1856
  onFailure: core.fail,
1857
- onDone: () => pipe(core.write(queue.toChunk()), channel.zipRight(core.unit))
1857
+ onDone: () => pipe(core.write(queue.toChunk()), channel.zipRight(core.void))
1858
1858
  });
1859
1859
  return pipe(toChannel(self), core.pipeTo(reader));
1860
1860
  }), channel.unwrap));
@@ -1936,8 +1936,8 @@ export const tapSink = /*#__PURE__*/dual(2, (self, sink) => pipe(fromEffect(Effe
1936
1936
  onSuccess: () => core.failCause(cause)
1937
1937
  })),
1938
1938
  onDone: () => pipe(core.fromEffect(Queue.offer(queue, InternalTake.end)), core.foldCauseChannel({
1939
- onFailure: () => core.unit,
1940
- onSuccess: () => core.unit
1939
+ onFailure: () => core.void,
1940
+ onSuccess: () => core.void
1941
1941
  }))
1942
1942
  });
1943
1943
  return pipe(new StreamImpl(pipe(core.pipeTo(toChannel(self), loop), channel.ensuring(Effect.zipRight(Effect.forkDaemon(Queue.offer(queue, InternalTake.end)), Deferred.await(deferred))))), merge(execute(pipe(run(right, sink), Effect.ensuring(Effect.zipRight(Queue.shutdown(queue), Deferred.succeed(deferred, void 0)))))));
@@ -1968,7 +1968,7 @@ const throttleEnforceEffect = (self, cost, units, duration, burst) => {
1968
1968
  return loop(tokens, timestampMillis);
1969
1969
  }), channel.unwrap),
1970
1970
  onFailure: core.failCause,
1971
- onDone: () => core.unit
1971
+ onDone: () => core.void
1972
1972
  });
1973
1973
  const throttled = pipe(Clock.currentTimeMillis, Effect.map(currentTimeMillis => loop(units, currentTimeMillis)), channel.unwrap);
1974
1974
  return new StreamImpl(pipe(toChannel(self), channel.pipeToOrFail(throttled)));
@@ -1990,7 +1990,7 @@ const throttleShapeEffect = (self, costFn, units, duration, burst) => {
1990
1990
  return core.flatMap(core.write(input), () => loop(remaining, currentTimeMillis));
1991
1991
  }), channel.unwrap),
1992
1992
  onFailure: core.failCause,
1993
- onDone: () => core.unit
1993
+ onDone: () => core.void
1994
1994
  });
1995
1995
  const throttled = pipe(Clock.currentTimeMillis, Effect.map(currentTimeMillis => loop(units, currentTimeMillis)), channel.unwrap);
1996
1996
  return new StreamImpl(pipe(toChannel(self), channel.pipeToOrFail(throttled)));
@@ -2036,20 +2036,20 @@ export const toReadableStream = source => {
2036
2036
  Chunk.map(chunk, a => {
2037
2037
  controller.enqueue(a);
2038
2038
  });
2039
- })), Effect.tapErrorCause(() => Scope.close(scope, Exit.unit)), Effect.catchTags({
2039
+ })), Effect.tapErrorCause(() => Scope.close(scope, Exit.void)), Effect.catchTags({
2040
2040
  "None": () => Effect.sync(() => {
2041
2041
  controller.close();
2042
2042
  }),
2043
2043
  "Some": error => Effect.sync(() => {
2044
2044
  controller.error(error.value);
2045
2045
  })
2046
- }), Effect.asUnit);
2046
+ }), Effect.asVoid);
2047
2047
  },
2048
2048
  pull() {
2049
2049
  return Effect.runPromise(pull);
2050
2050
  },
2051
2051
  cancel() {
2052
- return Effect.runPromise(Scope.close(scope, Exit.unit));
2052
+ return Effect.runPromise(Scope.close(scope, Exit.void));
2053
2053
  }
2054
2054
  });
2055
2055
  };
@@ -2088,7 +2088,7 @@ export const transduce = /*#__PURE__*/dual(2, (self, sink) => {
2088
2088
  }), core.succeedNow(done))
2089
2089
  });
2090
2090
  const transducer = pipe(sink, _sink.toChannel, core.collectElements, core.flatMap(([leftover, z]) => pipe(core.succeed([upstreamDone.ref, concatAndGet(leftover)]), core.flatMap(([done, newLeftovers]) => {
2091
- const nextChannel = done && Chunk.isEmpty(newLeftovers) ? core.unit : transducer;
2091
+ const nextChannel = done && Chunk.isEmpty(newLeftovers) ? core.void : transducer;
2092
2092
  return pipe(core.write(Chunk.of(z)), core.flatMap(() => nextChannel));
2093
2093
  }))));
2094
2094
  return pipe(toChannel(self), core.pipeTo(upstreamMarker), core.pipeTo(buffer), channel.pipeToOrFail(transducer));
@@ -2100,7 +2100,7 @@ export const unfold = (s, f) => unfoldChunk(s, s => pipe(f(s), Option.map(([a, s
2100
2100
  /** @internal */
2101
2101
  export const unfoldChunk = (s, f) => {
2102
2102
  const loop = s => Option.match(f(s), {
2103
- onNone: () => core.unit,
2103
+ onNone: () => core.void,
2104
2104
  onSome: ([chunk, s]) => core.flatMap(core.write(chunk), () => loop(s))
2105
2105
  });
2106
2106
  return new StreamImpl(core.suspend(() => loop(s)));
@@ -2108,15 +2108,16 @@ export const unfoldChunk = (s, f) => {
2108
2108
  /** @internal */
2109
2109
  export const unfoldChunkEffect = (s, f) => suspend(() => {
2110
2110
  const loop = s => channel.unwrap(Effect.map(f(s), Option.match({
2111
- onNone: () => core.unit,
2111
+ onNone: () => core.void,
2112
2112
  onSome: ([chunk, s]) => core.flatMap(core.write(chunk), () => loop(s))
2113
2113
  })));
2114
2114
  return new StreamImpl(loop(s));
2115
2115
  });
2116
2116
  /** @internal */
2117
2117
  export const unfoldEffect = (s, f) => unfoldChunkEffect(s, s => pipe(f(s), Effect.map(Option.map(([a, s]) => [Chunk.of(a), s]))));
2118
- /** @internal */
2119
- export const unit = /*#__PURE__*/succeed(void 0);
2118
+ const void_ = /*#__PURE__*/succeed(void 0);
2119
+ export { /** @internal */
2120
+ void_ as void };
2120
2121
  /** @internal */
2121
2122
  export const unwrap = effect => flatten(fromEffect(effect));
2122
2123
  /** @internal */
@@ -2562,8 +2563,8 @@ export const zipWithNext = self => {
2562
2563
  },
2563
2564
  onFailure: core.failCause,
2564
2565
  onDone: () => Option.match(last, {
2565
- onNone: () => core.unit,
2566
- onSome: value => channel.zipRight(core.write(Chunk.of([value, Option.none()])), core.unit)
2566
+ onNone: () => core.void,
2567
+ onSome: value => channel.zipRight(core.write(Chunk.of([value, Option.none()])), core.void)
2567
2568
  })
2568
2569
  });
2569
2570
  return new StreamImpl(pipe(toChannel(self), channel.pipeToOrFail(process(Option.none()))));