effect 2.4.18 → 3.0.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 (688) hide show
  1. package/Array/package.json +6 -0
  2. package/FiberHandle/package.json +6 -0
  3. package/Readable/package.json +6 -0
  4. package/Record/package.json +6 -0
  5. package/RegExp/package.json +6 -0
  6. package/Subscribable/package.json +6 -0
  7. package/dist/cjs/{ReadonlyArray.js → Array.js} +46 -23
  8. package/dist/cjs/Array.js.map +1 -0
  9. package/dist/cjs/Brand.js +2 -2
  10. package/dist/cjs/Brand.js.map +1 -1
  11. package/dist/cjs/Channel.js +4 -8
  12. package/dist/cjs/Channel.js.map +1 -1
  13. package/dist/cjs/Chunk.js +5 -1
  14. package/dist/cjs/Chunk.js.map +1 -1
  15. package/dist/cjs/ConfigError.js.map +1 -1
  16. package/dist/cjs/Cron.js +13 -13
  17. package/dist/cjs/Cron.js.map +1 -1
  18. package/dist/cjs/Duration.js +39 -2
  19. package/dist/cjs/Duration.js.map +1 -1
  20. package/dist/cjs/Effect.js +14 -10
  21. package/dist/cjs/Effect.js.map +1 -1
  22. package/dist/cjs/Either.js +4 -1
  23. package/dist/cjs/Either.js.map +1 -1
  24. package/dist/cjs/ExecutionStrategy.js.map +1 -1
  25. package/dist/cjs/Exit.js +3 -9
  26. package/dist/cjs/Exit.js.map +1 -1
  27. package/dist/cjs/Fiber.js +2 -8
  28. package/dist/cjs/Fiber.js.map +1 -1
  29. package/dist/cjs/FiberHandle.js +288 -0
  30. package/dist/cjs/FiberHandle.js.map +1 -0
  31. package/dist/cjs/FiberMap.js +86 -27
  32. package/dist/cjs/FiberMap.js.map +1 -1
  33. package/dist/cjs/FiberRefs.js.map +1 -1
  34. package/dist/cjs/FiberSet.js +51 -15
  35. package/dist/cjs/FiberSet.js.map +1 -1
  36. package/dist/cjs/HashMap.js.map +1 -1
  37. package/dist/cjs/HashSet.js.map +1 -1
  38. package/dist/cjs/Iterable.js +40 -5
  39. package/dist/cjs/Iterable.js.map +1 -1
  40. package/dist/cjs/Layer.js.map +1 -1
  41. package/dist/cjs/List.js +8 -7
  42. package/dist/cjs/List.js.map +1 -1
  43. package/dist/cjs/Metric.js +3 -1
  44. package/dist/cjs/Metric.js.map +1 -1
  45. package/dist/cjs/MetricKey.js.map +1 -1
  46. package/dist/cjs/MetricKeyType.js.map +1 -1
  47. package/dist/cjs/MutableHashMap.js +0 -4
  48. package/dist/cjs/MutableHashMap.js.map +1 -1
  49. package/dist/cjs/Option.js +3 -6
  50. package/dist/cjs/Option.js.map +1 -1
  51. package/dist/cjs/Readable.js +79 -0
  52. package/dist/cjs/Readable.js.map +1 -0
  53. package/dist/cjs/{ReadonlyRecord.js → Record.js} +29 -29
  54. package/dist/cjs/Record.js.map +1 -0
  55. package/dist/cjs/RegExp.js +24 -0
  56. package/dist/cjs/RegExp.js.map +1 -0
  57. package/dist/cjs/STM.js +4 -10
  58. package/dist/cjs/STM.js.map +1 -1
  59. package/dist/cjs/Schedule.js +2 -2
  60. package/dist/cjs/Schedule.js.map +1 -1
  61. package/dist/cjs/ScopedCache.js.map +1 -1
  62. package/dist/cjs/Stream.js +3 -9
  63. package/dist/cjs/Stream.js.map +1 -1
  64. package/dist/cjs/StreamHaltStrategy.js +2 -0
  65. package/dist/cjs/StreamHaltStrategy.js.map +1 -1
  66. package/dist/cjs/String.js +44 -2
  67. package/dist/cjs/String.js.map +1 -1
  68. package/dist/cjs/Subscribable.js +91 -0
  69. package/dist/cjs/Subscribable.js.map +1 -0
  70. package/dist/cjs/SubscriptionRef.js.map +1 -1
  71. package/dist/cjs/TestAnnotation.js +2 -1
  72. package/dist/cjs/TestAnnotation.js.map +1 -1
  73. package/dist/cjs/TestAnnotations.js +1 -1
  74. package/dist/cjs/TestAnnotations.js.map +1 -1
  75. package/dist/cjs/TestClock.js +3 -3
  76. package/dist/cjs/TestClock.js.map +1 -1
  77. package/dist/cjs/Tracer.js.map +1 -1
  78. package/dist/cjs/index.js +14 -6
  79. package/dist/cjs/index.js.map +1 -1
  80. package/dist/cjs/internal/{readonlyArray.js → array.js} +1 -1
  81. package/dist/cjs/internal/array.js.map +1 -0
  82. package/dist/cjs/internal/cache.js +3 -3
  83. package/dist/cjs/internal/cache.js.map +1 -1
  84. package/dist/cjs/internal/cause.js +6 -5
  85. package/dist/cjs/internal/cause.js.map +1 -1
  86. package/dist/cjs/internal/channel/channelExecutor.js +15 -15
  87. package/dist/cjs/internal/channel/channelExecutor.js.map +1 -1
  88. package/dist/cjs/internal/channel/channelState.js +1 -1
  89. package/dist/cjs/internal/channel/channelState.js.map +1 -1
  90. package/dist/cjs/internal/channel/singleProducerAsyncInput.js +1 -1
  91. package/dist/cjs/internal/channel/singleProducerAsyncInput.js.map +1 -1
  92. package/dist/cjs/internal/channel.js +10 -10
  93. package/dist/cjs/internal/channel.js.map +1 -1
  94. package/dist/cjs/internal/clock.js +2 -2
  95. package/dist/cjs/internal/clock.js.map +1 -1
  96. package/dist/cjs/internal/configError.js +20 -19
  97. package/dist/cjs/internal/configError.js.map +1 -1
  98. package/dist/cjs/internal/configProvider/pathPatch.js +1 -1
  99. package/dist/cjs/internal/configProvider/pathPatch.js.map +1 -1
  100. package/dist/cjs/internal/configProvider.js +48 -49
  101. package/dist/cjs/internal/configProvider.js.map +1 -1
  102. package/dist/cjs/internal/core-effect.js +68 -40
  103. package/dist/cjs/internal/core-effect.js.map +1 -1
  104. package/dist/cjs/internal/core-stream.js +2 -3
  105. package/dist/cjs/internal/core-stream.js.map +1 -1
  106. package/dist/cjs/internal/core.js +41 -114
  107. package/dist/cjs/internal/core.js.map +1 -1
  108. package/dist/cjs/internal/dataSource.js +19 -2
  109. package/dist/cjs/internal/dataSource.js.map +1 -1
  110. package/dist/cjs/internal/differ/readonlyArrayPatch.js +6 -6
  111. package/dist/cjs/internal/differ/readonlyArrayPatch.js.map +1 -1
  112. package/dist/cjs/internal/effect/circular.js +6 -1
  113. package/dist/cjs/internal/effect/circular.js.map +1 -1
  114. package/dist/cjs/internal/errors.js +13 -0
  115. package/dist/cjs/internal/errors.js.map +1 -0
  116. package/dist/cjs/internal/executionStrategy.js +4 -4
  117. package/dist/cjs/internal/executionStrategy.js.map +1 -1
  118. package/dist/cjs/internal/fiber.js +5 -6
  119. package/dist/cjs/internal/fiber.js.map +1 -1
  120. package/dist/cjs/internal/fiberRefs/patch.js +1 -1
  121. package/dist/cjs/internal/fiberRefs/patch.js.map +1 -1
  122. package/dist/cjs/internal/fiberRefs.js +1 -1
  123. package/dist/cjs/internal/fiberRefs.js.map +1 -1
  124. package/dist/cjs/internal/fiberRuntime.js +106 -66
  125. package/dist/cjs/internal/fiberRuntime.js.map +1 -1
  126. package/dist/cjs/internal/groupBy.js +3 -3
  127. package/dist/cjs/internal/groupBy.js.map +1 -1
  128. package/dist/cjs/internal/hashMap.js +1 -1
  129. package/dist/cjs/internal/hashMap.js.map +1 -1
  130. package/dist/cjs/internal/hashSet.js.map +1 -1
  131. package/dist/cjs/internal/layer/circular.js.map +1 -1
  132. package/dist/cjs/internal/layer.js +5 -5
  133. package/dist/cjs/internal/layer.js.map +1 -1
  134. package/dist/cjs/internal/logger.js +28 -8
  135. package/dist/cjs/internal/logger.js.map +1 -1
  136. package/dist/cjs/internal/managedRuntime.js +1 -1
  137. package/dist/cjs/internal/managedRuntime.js.map +1 -1
  138. package/dist/cjs/internal/matcher.js +5 -4
  139. package/dist/cjs/internal/matcher.js.map +1 -1
  140. package/dist/cjs/internal/metric/boundaries.js +4 -4
  141. package/dist/cjs/internal/metric/boundaries.js.map +1 -1
  142. package/dist/cjs/internal/metric/hook.js +20 -17
  143. package/dist/cjs/internal/metric/hook.js.map +1 -1
  144. package/dist/cjs/internal/metric/key.js +4 -4
  145. package/dist/cjs/internal/metric/key.js.map +1 -1
  146. package/dist/cjs/internal/metric/keyType.js +6 -1
  147. package/dist/cjs/internal/metric/keyType.js.map +1 -1
  148. package/dist/cjs/internal/metric/state.js +4 -4
  149. package/dist/cjs/internal/metric/state.js.map +1 -1
  150. package/dist/cjs/internal/metric.js +4 -4
  151. package/dist/cjs/internal/metric.js.map +1 -1
  152. package/dist/cjs/internal/pool.js +11 -11
  153. package/dist/cjs/internal/pool.js.map +1 -1
  154. package/dist/cjs/internal/pubsub.js +5 -5
  155. package/dist/cjs/internal/pubsub.js.map +1 -1
  156. package/dist/cjs/internal/query.js +2 -2
  157. package/dist/cjs/internal/query.js.map +1 -1
  158. package/dist/cjs/internal/queue.js +9 -9
  159. package/dist/cjs/internal/queue.js.map +1 -1
  160. package/dist/cjs/internal/rateLimiter.js +1 -1
  161. package/dist/cjs/internal/rateLimiter.js.map +1 -1
  162. package/dist/cjs/internal/redBlackTree/iterator.js +2 -2
  163. package/dist/cjs/internal/redBlackTree/iterator.js.map +1 -1
  164. package/dist/cjs/internal/ref.js +6 -1
  165. package/dist/cjs/internal/ref.js.map +1 -1
  166. package/dist/cjs/internal/reloadable.js +1 -1
  167. package/dist/cjs/internal/reloadable.js.map +1 -1
  168. package/dist/cjs/internal/runtime.js +4 -4
  169. package/dist/cjs/internal/runtime.js.map +1 -1
  170. package/dist/cjs/internal/schedule/intervals.js +2 -1
  171. package/dist/cjs/internal/schedule/intervals.js.map +1 -1
  172. package/dist/cjs/internal/schedule.js +5 -5
  173. package/dist/cjs/internal/schedule.js.map +1 -1
  174. package/dist/cjs/internal/scopedCache.js +7 -7
  175. package/dist/cjs/internal/scopedCache.js.map +1 -1
  176. package/dist/cjs/internal/scopedRef.js +4 -4
  177. package/dist/cjs/internal/scopedRef.js.map +1 -1
  178. package/dist/cjs/internal/secret.js +2 -2
  179. package/dist/cjs/internal/secret.js.map +1 -1
  180. package/dist/cjs/internal/sink.js +10 -10
  181. package/dist/cjs/internal/sink.js.map +1 -1
  182. package/dist/cjs/internal/stm/stm/tExit.js +2 -4
  183. package/dist/cjs/internal/stm/stm/tExit.js.map +1 -1
  184. package/dist/cjs/internal/stm/stm.js +11 -11
  185. package/dist/cjs/internal/stm/stm.js.map +1 -1
  186. package/dist/cjs/internal/stm/tMap.js +3 -3
  187. package/dist/cjs/internal/stm/tMap.js.map +1 -1
  188. package/dist/cjs/internal/stm/tPriorityQueue.js +11 -11
  189. package/dist/cjs/internal/stm/tPriorityQueue.js.map +1 -1
  190. package/dist/cjs/internal/stm/tPubSub.js +3 -3
  191. package/dist/cjs/internal/stm/tPubSub.js.map +1 -1
  192. package/dist/cjs/internal/stm/tQueue.js +3 -3
  193. package/dist/cjs/internal/stm/tQueue.js.map +1 -1
  194. package/dist/cjs/internal/stm/tSet.js +1 -1
  195. package/dist/cjs/internal/stm/tSet.js.map +1 -1
  196. package/dist/cjs/internal/stream/haltStrategy.js +5 -5
  197. package/dist/cjs/internal/stream/haltStrategy.js.map +1 -1
  198. package/dist/cjs/internal/stream.js +84 -85
  199. package/dist/cjs/internal/stream.js.map +1 -1
  200. package/dist/cjs/internal/subscriptionRef.js +8 -0
  201. package/dist/cjs/internal/subscriptionRef.js.map +1 -1
  202. package/dist/cjs/internal/supervisor.js +1 -1
  203. package/dist/cjs/internal/supervisor.js.map +1 -1
  204. package/dist/cjs/internal/take.js +1 -1
  205. package/dist/cjs/internal/take.js.map +1 -1
  206. package/dist/cjs/internal/tracer.js.map +1 -1
  207. package/dist/cjs/internal/trie.js +1 -1
  208. package/dist/cjs/internal/trie.js.map +1 -1
  209. package/dist/cjs/internal/version.js +1 -1
  210. package/dist/cjs/internal/version.js.map +1 -1
  211. package/dist/dts/{ReadonlyArray.d.ts → Array.d.ts} +39 -18
  212. package/dist/dts/Array.d.ts.map +1 -0
  213. package/dist/dts/BigDecimal.d.ts.map +1 -1
  214. package/dist/dts/BigInt.d.ts.map +1 -1
  215. package/dist/dts/Brand.d.ts +1 -19
  216. package/dist/dts/Brand.d.ts.map +1 -1
  217. package/dist/dts/Cache.d.ts +10 -10
  218. package/dist/dts/Cache.d.ts.map +1 -1
  219. package/dist/dts/Cause.d.ts +1 -1
  220. package/dist/dts/Cause.d.ts.map +1 -1
  221. package/dist/dts/Channel.d.ts +6 -4
  222. package/dist/dts/Channel.d.ts.map +1 -1
  223. package/dist/dts/Chunk.d.ts +1 -4
  224. package/dist/dts/Chunk.d.ts.map +1 -1
  225. package/dist/dts/ConfigError.d.ts +7 -6
  226. package/dist/dts/ConfigError.d.ts.map +1 -1
  227. package/dist/dts/Cron.d.ts +0 -5
  228. package/dist/dts/Cron.d.ts.map +1 -1
  229. package/dist/dts/Duration.d.ts +16 -0
  230. package/dist/dts/Duration.d.ts.map +1 -1
  231. package/dist/dts/Effect.d.ts +38 -33
  232. package/dist/dts/Effect.d.ts.map +1 -1
  233. package/dist/dts/Either.d.ts +5 -2
  234. package/dist/dts/Either.d.ts.map +1 -1
  235. package/dist/dts/Encoding.d.ts.map +1 -1
  236. package/dist/dts/Equivalence.d.ts.map +1 -1
  237. package/dist/dts/ExecutionStrategy.d.ts +10 -2
  238. package/dist/dts/ExecutionStrategy.d.ts.map +1 -1
  239. package/dist/dts/Exit.d.ts +4 -3
  240. package/dist/dts/Exit.d.ts.map +1 -1
  241. package/dist/dts/Fiber.d.ts +4 -2
  242. package/dist/dts/Fiber.d.ts.map +1 -1
  243. package/dist/dts/FiberHandle.d.ts +189 -0
  244. package/dist/dts/FiberHandle.d.ts.map +1 -0
  245. package/dist/dts/FiberMap.d.ts +48 -12
  246. package/dist/dts/FiberMap.d.ts.map +1 -1
  247. package/dist/dts/FiberRefs.d.ts +1 -1
  248. package/dist/dts/FiberRefs.d.ts.map +1 -1
  249. package/dist/dts/FiberSet.d.ts +9 -5
  250. package/dist/dts/FiberSet.d.ts.map +1 -1
  251. package/dist/dts/Function.d.ts.map +1 -1
  252. package/dist/dts/GroupBy.d.ts +1 -1
  253. package/dist/dts/GroupBy.d.ts.map +1 -1
  254. package/dist/dts/HashMap.d.ts +0 -1
  255. package/dist/dts/HashMap.d.ts.map +1 -1
  256. package/dist/dts/HashSet.d.ts +0 -1
  257. package/dist/dts/HashSet.d.ts.map +1 -1
  258. package/dist/dts/Iterable.d.ts +12 -5
  259. package/dist/dts/Iterable.d.ts.map +1 -1
  260. package/dist/dts/Layer.d.ts +6 -6
  261. package/dist/dts/Layer.d.ts.map +1 -1
  262. package/dist/dts/List.d.ts +0 -11
  263. package/dist/dts/List.d.ts.map +1 -1
  264. package/dist/dts/Logger.d.ts +2 -2
  265. package/dist/dts/Logger.d.ts.map +1 -1
  266. package/dist/dts/Metric.d.ts +7 -2
  267. package/dist/dts/Metric.d.ts.map +1 -1
  268. package/dist/dts/MetricKey.d.ts +4 -1
  269. package/dist/dts/MetricKey.d.ts.map +1 -1
  270. package/dist/dts/MetricKeyType.d.ts +4 -1
  271. package/dist/dts/MetricKeyType.d.ts.map +1 -1
  272. package/dist/dts/MutableHashMap.d.ts.map +1 -1
  273. package/dist/dts/Option.d.ts +5 -3
  274. package/dist/dts/Option.d.ts.map +1 -1
  275. package/dist/dts/Order.d.ts.map +1 -1
  276. package/dist/dts/Readable.d.ts +55 -0
  277. package/dist/dts/Readable.d.ts.map +1 -0
  278. package/dist/dts/{ReadonlyRecord.d.ts → Record.d.ts} +29 -30
  279. package/dist/dts/Record.d.ts.map +1 -0
  280. package/dist/dts/Ref.d.ts +2 -2
  281. package/dist/dts/Ref.d.ts.map +1 -1
  282. package/dist/dts/RegExp.d.ts +17 -0
  283. package/dist/dts/RegExp.d.ts.map +1 -0
  284. package/dist/dts/Request.d.ts +1 -1
  285. package/dist/dts/Request.d.ts.map +1 -1
  286. package/dist/dts/RequestResolver.d.ts +2 -2
  287. package/dist/dts/RequestResolver.d.ts.map +1 -1
  288. package/dist/dts/STM.d.ts +6 -4
  289. package/dist/dts/STM.d.ts.map +1 -1
  290. package/dist/dts/Schedule.d.ts +1 -1
  291. package/dist/dts/Scheduler.d.ts.map +1 -1
  292. package/dist/dts/ScopedCache.d.ts +9 -9
  293. package/dist/dts/ScopedCache.d.ts.map +1 -1
  294. package/dist/dts/SortedMap.d.ts.map +1 -1
  295. package/dist/dts/SortedSet.d.ts +1 -1
  296. package/dist/dts/SortedSet.d.ts.map +1 -1
  297. package/dist/dts/Stream.d.ts +8 -6
  298. package/dist/dts/Stream.d.ts.map +1 -1
  299. package/dist/dts/StreamHaltStrategy.d.ts +14 -2
  300. package/dist/dts/StreamHaltStrategy.d.ts.map +1 -1
  301. package/dist/dts/String.d.ts +25 -1
  302. package/dist/dts/String.d.ts.map +1 -1
  303. package/dist/dts/Subscribable.d.ts +59 -0
  304. package/dist/dts/Subscribable.d.ts.map +1 -0
  305. package/dist/dts/SubscriptionRef.d.ts +2 -2
  306. package/dist/dts/SubscriptionRef.d.ts.map +1 -1
  307. package/dist/dts/TestAnnotation.d.ts.map +1 -1
  308. package/dist/dts/TestAnnotationMap.d.ts.map +1 -1
  309. package/dist/dts/TestAnnotations.d.ts +0 -3
  310. package/dist/dts/TestAnnotations.d.ts.map +1 -1
  311. package/dist/dts/TestClock.d.ts.map +1 -1
  312. package/dist/dts/TestLive.d.ts.map +1 -1
  313. package/dist/dts/TestServices.d.ts.map +1 -1
  314. package/dist/dts/TestSized.d.ts.map +1 -1
  315. package/dist/dts/Tracer.d.ts +12 -5
  316. package/dist/dts/Tracer.d.ts.map +1 -1
  317. package/dist/dts/Trie.d.ts +1 -1
  318. package/dist/dts/Trie.d.ts.map +1 -1
  319. package/dist/dts/Types.d.ts +0 -7
  320. package/dist/dts/Types.d.ts.map +1 -1
  321. package/dist/dts/index.d.ts +22 -4
  322. package/dist/dts/index.d.ts.map +1 -1
  323. package/dist/dts/internal/array.d.ts +5 -0
  324. package/dist/dts/internal/array.d.ts.map +1 -0
  325. package/dist/dts/internal/core-stream.d.ts +4 -0
  326. package/dist/dts/internal/core-stream.d.ts.map +1 -1
  327. package/dist/dts/internal/core.d.ts +3 -1
  328. package/dist/dts/internal/core.d.ts.map +1 -1
  329. package/dist/dts/internal/errors.d.ts +5 -0
  330. package/dist/dts/internal/errors.d.ts.map +1 -0
  331. package/dist/dts/internal/fiber.d.ts +5 -1
  332. package/dist/dts/internal/fiber.d.ts.map +1 -1
  333. package/dist/dts/internal/hashMap.d.ts.map +1 -1
  334. package/dist/dts/internal/logger.d.ts.map +1 -1
  335. package/dist/dts/internal/metric/keyType.d.ts +3 -1
  336. package/dist/dts/internal/metric/keyType.d.ts.map +1 -1
  337. package/dist/dts/internal/metric/state.d.ts.map +1 -1
  338. package/dist/dts/internal/random.d.ts.map +1 -1
  339. package/dist/dts/internal/runtimeFlags.d.ts.map +1 -1
  340. package/dist/dts/internal/stm/stm/tExit.d.ts +4 -1
  341. package/dist/dts/internal/stm/stm/tExit.d.ts.map +1 -1
  342. package/dist/dts/internal/stm/stm.d.ts +3 -0
  343. package/dist/dts/internal/stm/stm.d.ts.map +1 -1
  344. package/dist/dts/internal/stream.d.ts +5 -1
  345. package/dist/dts/internal/stream.d.ts.map +1 -1
  346. package/dist/esm/{ReadonlyArray.js → Array.js} +42 -20
  347. package/dist/esm/Array.js.map +1 -0
  348. package/dist/esm/Brand.js +2 -2
  349. package/dist/esm/Brand.js.map +1 -1
  350. package/dist/esm/Channel.js +4 -2
  351. package/dist/esm/Channel.js.map +1 -1
  352. package/dist/esm/Chunk.js +4 -1
  353. package/dist/esm/Chunk.js.map +1 -1
  354. package/dist/esm/ConfigError.js.map +1 -1
  355. package/dist/esm/Cron.js +13 -13
  356. package/dist/esm/Cron.js.map +1 -1
  357. package/dist/esm/Duration.js +38 -1
  358. package/dist/esm/Duration.js.map +1 -1
  359. package/dist/esm/Effect.js +11 -2
  360. package/dist/esm/Effect.js.map +1 -1
  361. package/dist/esm/Either.js +4 -1
  362. package/dist/esm/Either.js.map +1 -1
  363. package/dist/esm/ExecutionStrategy.js.map +1 -1
  364. package/dist/esm/Exit.js +4 -2
  365. package/dist/esm/Exit.js.map +1 -1
  366. package/dist/esm/Fiber.js +3 -1
  367. package/dist/esm/Fiber.js.map +1 -1
  368. package/dist/esm/FiberHandle.js +247 -0
  369. package/dist/esm/FiberHandle.js.map +1 -0
  370. package/dist/esm/FiberMap.js +85 -26
  371. package/dist/esm/FiberMap.js.map +1 -1
  372. package/dist/esm/FiberRefs.js.map +1 -1
  373. package/dist/esm/FiberSet.js +51 -15
  374. package/dist/esm/FiberSet.js.map +1 -1
  375. package/dist/esm/HashMap.js.map +1 -1
  376. package/dist/esm/HashSet.js.map +1 -1
  377. package/dist/esm/Iterable.js +39 -4
  378. package/dist/esm/Iterable.js.map +1 -1
  379. package/dist/esm/Layer.js.map +1 -1
  380. package/dist/esm/List.js +7 -6
  381. package/dist/esm/List.js.map +1 -1
  382. package/dist/esm/Metric.js +3 -1
  383. package/dist/esm/Metric.js.map +1 -1
  384. package/dist/esm/MetricKey.js.map +1 -1
  385. package/dist/esm/MetricKeyType.js.map +1 -1
  386. package/dist/esm/MutableHashMap.js +0 -3
  387. package/dist/esm/MutableHashMap.js.map +1 -1
  388. package/dist/esm/Option.js +4 -2
  389. package/dist/esm/Option.js.map +1 -1
  390. package/dist/esm/Readable.js +45 -0
  391. package/dist/esm/Readable.js.map +1 -0
  392. package/dist/esm/{ReadonlyRecord.js → Record.js} +29 -29
  393. package/dist/esm/Record.js.map +1 -0
  394. package/dist/esm/RegExp.js +17 -0
  395. package/dist/esm/RegExp.js.map +1 -0
  396. package/dist/esm/STM.js +5 -3
  397. package/dist/esm/STM.js.map +1 -1
  398. package/dist/esm/Schedule.js +1 -1
  399. package/dist/esm/Schedule.js.map +1 -1
  400. package/dist/esm/ScopedCache.js.map +1 -1
  401. package/dist/esm/Stream.js +5 -3
  402. package/dist/esm/Stream.js.map +1 -1
  403. package/dist/esm/StreamHaltStrategy.js +2 -0
  404. package/dist/esm/StreamHaltStrategy.js.map +1 -1
  405. package/dist/esm/String.js +37 -1
  406. package/dist/esm/String.js.map +1 -1
  407. package/dist/esm/Subscribable.js +56 -0
  408. package/dist/esm/Subscribable.js.map +1 -0
  409. package/dist/esm/SubscriptionRef.js.map +1 -1
  410. package/dist/esm/TestAnnotation.js +2 -1
  411. package/dist/esm/TestAnnotation.js.map +1 -1
  412. package/dist/esm/TestAnnotations.js +1 -1
  413. package/dist/esm/TestAnnotations.js.map +1 -1
  414. package/dist/esm/TestClock.js +3 -3
  415. package/dist/esm/TestClock.js.map +1 -1
  416. package/dist/esm/Tracer.js.map +1 -1
  417. package/dist/esm/index.js +22 -4
  418. package/dist/esm/index.js.map +1 -1
  419. package/dist/esm/internal/{readonlyArray.js → array.js} +1 -1
  420. package/dist/esm/internal/array.js.map +1 -0
  421. package/dist/esm/internal/cache.js +3 -3
  422. package/dist/esm/internal/cache.js.map +1 -1
  423. package/dist/esm/internal/cause.js +6 -5
  424. package/dist/esm/internal/cause.js.map +1 -1
  425. package/dist/esm/internal/channel/channelExecutor.js +15 -15
  426. package/dist/esm/internal/channel/channelExecutor.js.map +1 -1
  427. package/dist/esm/internal/channel/channelState.js +1 -1
  428. package/dist/esm/internal/channel/channelState.js.map +1 -1
  429. package/dist/esm/internal/channel/singleProducerAsyncInput.js +1 -1
  430. package/dist/esm/internal/channel/singleProducerAsyncInput.js.map +1 -1
  431. package/dist/esm/internal/channel.js +8 -8
  432. package/dist/esm/internal/channel.js.map +1 -1
  433. package/dist/esm/internal/clock.js +2 -2
  434. package/dist/esm/internal/clock.js.map +1 -1
  435. package/dist/esm/internal/configError.js +20 -19
  436. package/dist/esm/internal/configError.js.map +1 -1
  437. package/dist/esm/internal/configProvider/pathPatch.js +1 -1
  438. package/dist/esm/internal/configProvider/pathPatch.js.map +1 -1
  439. package/dist/esm/internal/configProvider.js +48 -49
  440. package/dist/esm/internal/configProvider.js.map +1 -1
  441. package/dist/esm/internal/core-effect.js +64 -38
  442. package/dist/esm/internal/core-effect.js.map +1 -1
  443. package/dist/esm/internal/core-stream.js +3 -2
  444. package/dist/esm/internal/core-stream.js.map +1 -1
  445. package/dist/esm/internal/core.js +37 -108
  446. package/dist/esm/internal/core.js.map +1 -1
  447. package/dist/esm/internal/dataSource.js +19 -2
  448. package/dist/esm/internal/dataSource.js.map +1 -1
  449. package/dist/esm/internal/differ/readonlyArrayPatch.js +6 -6
  450. package/dist/esm/internal/differ/readonlyArrayPatch.js.map +1 -1
  451. package/dist/esm/internal/effect/circular.js +6 -1
  452. package/dist/esm/internal/effect/circular.js.map +1 -1
  453. package/dist/esm/internal/errors.js +6 -0
  454. package/dist/esm/internal/errors.js.map +1 -0
  455. package/dist/esm/internal/executionStrategy.js +4 -4
  456. package/dist/esm/internal/executionStrategy.js.map +1 -1
  457. package/dist/esm/internal/fiber.js +6 -5
  458. package/dist/esm/internal/fiber.js.map +1 -1
  459. package/dist/esm/internal/fiberRefs/patch.js +1 -1
  460. package/dist/esm/internal/fiberRefs/patch.js.map +1 -1
  461. package/dist/esm/internal/fiberRefs.js +1 -1
  462. package/dist/esm/internal/fiberRefs.js.map +1 -1
  463. package/dist/esm/internal/fiberRuntime.js +104 -63
  464. package/dist/esm/internal/fiberRuntime.js.map +1 -1
  465. package/dist/esm/internal/groupBy.js +3 -3
  466. package/dist/esm/internal/groupBy.js.map +1 -1
  467. package/dist/esm/internal/hashMap.js +1 -1
  468. package/dist/esm/internal/hashMap.js.map +1 -1
  469. package/dist/esm/internal/hashSet.js.map +1 -1
  470. package/dist/esm/internal/layer/circular.js.map +1 -1
  471. package/dist/esm/internal/layer.js +5 -5
  472. package/dist/esm/internal/layer.js.map +1 -1
  473. package/dist/esm/internal/logger.js +28 -8
  474. package/dist/esm/internal/logger.js.map +1 -1
  475. package/dist/esm/internal/managedRuntime.js +1 -1
  476. package/dist/esm/internal/managedRuntime.js.map +1 -1
  477. package/dist/esm/internal/matcher.js +4 -3
  478. package/dist/esm/internal/matcher.js.map +1 -1
  479. package/dist/esm/internal/metric/boundaries.js +4 -4
  480. package/dist/esm/internal/metric/boundaries.js.map +1 -1
  481. package/dist/esm/internal/metric/hook.js +20 -17
  482. package/dist/esm/internal/metric/hook.js.map +1 -1
  483. package/dist/esm/internal/metric/key.js +4 -4
  484. package/dist/esm/internal/metric/key.js.map +1 -1
  485. package/dist/esm/internal/metric/keyType.js +5 -1
  486. package/dist/esm/internal/metric/keyType.js.map +1 -1
  487. package/dist/esm/internal/metric/state.js +4 -4
  488. package/dist/esm/internal/metric/state.js.map +1 -1
  489. package/dist/esm/internal/metric.js +4 -4
  490. package/dist/esm/internal/metric.js.map +1 -1
  491. package/dist/esm/internal/pool.js +11 -11
  492. package/dist/esm/internal/pool.js.map +1 -1
  493. package/dist/esm/internal/pubsub.js +5 -5
  494. package/dist/esm/internal/pubsub.js.map +1 -1
  495. package/dist/esm/internal/query.js +2 -2
  496. package/dist/esm/internal/query.js.map +1 -1
  497. package/dist/esm/internal/queue.js +9 -9
  498. package/dist/esm/internal/queue.js.map +1 -1
  499. package/dist/esm/internal/rateLimiter.js +1 -1
  500. package/dist/esm/internal/rateLimiter.js.map +1 -1
  501. package/dist/esm/internal/redBlackTree/iterator.js +2 -2
  502. package/dist/esm/internal/redBlackTree/iterator.js.map +1 -1
  503. package/dist/esm/internal/ref.js +6 -1
  504. package/dist/esm/internal/ref.js.map +1 -1
  505. package/dist/esm/internal/reloadable.js +1 -1
  506. package/dist/esm/internal/reloadable.js.map +1 -1
  507. package/dist/esm/internal/runtime.js +4 -4
  508. package/dist/esm/internal/runtime.js.map +1 -1
  509. package/dist/esm/internal/schedule/intervals.js +2 -1
  510. package/dist/esm/internal/schedule/intervals.js.map +1 -1
  511. package/dist/esm/internal/schedule.js +3 -3
  512. package/dist/esm/internal/schedule.js.map +1 -1
  513. package/dist/esm/internal/scopedCache.js +7 -7
  514. package/dist/esm/internal/scopedCache.js.map +1 -1
  515. package/dist/esm/internal/scopedRef.js +4 -4
  516. package/dist/esm/internal/scopedRef.js.map +1 -1
  517. package/dist/esm/internal/secret.js +2 -2
  518. package/dist/esm/internal/secret.js.map +1 -1
  519. package/dist/esm/internal/sink.js +10 -10
  520. package/dist/esm/internal/sink.js.map +1 -1
  521. package/dist/esm/internal/stm/stm/tExit.js +3 -2
  522. package/dist/esm/internal/stm/stm/tExit.js.map +1 -1
  523. package/dist/esm/internal/stm/stm.js +11 -9
  524. package/dist/esm/internal/stm/stm.js.map +1 -1
  525. package/dist/esm/internal/stm/tMap.js +3 -3
  526. package/dist/esm/internal/stm/tMap.js.map +1 -1
  527. package/dist/esm/internal/stm/tPriorityQueue.js +11 -11
  528. package/dist/esm/internal/stm/tPriorityQueue.js.map +1 -1
  529. package/dist/esm/internal/stm/tPubSub.js +3 -3
  530. package/dist/esm/internal/stm/tPubSub.js.map +1 -1
  531. package/dist/esm/internal/stm/tQueue.js +3 -3
  532. package/dist/esm/internal/stm/tQueue.js.map +1 -1
  533. package/dist/esm/internal/stm/tSet.js +1 -1
  534. package/dist/esm/internal/stm/tSet.js.map +1 -1
  535. package/dist/esm/internal/stream/haltStrategy.js +5 -5
  536. package/dist/esm/internal/stream/haltStrategy.js.map +1 -1
  537. package/dist/esm/internal/stream.js +85 -84
  538. package/dist/esm/internal/stream.js.map +1 -1
  539. package/dist/esm/internal/subscriptionRef.js +8 -0
  540. package/dist/esm/internal/subscriptionRef.js.map +1 -1
  541. package/dist/esm/internal/supervisor.js +1 -1
  542. package/dist/esm/internal/supervisor.js.map +1 -1
  543. package/dist/esm/internal/take.js +1 -1
  544. package/dist/esm/internal/take.js.map +1 -1
  545. package/dist/esm/internal/tracer.js.map +1 -1
  546. package/dist/esm/internal/trie.js +1 -1
  547. package/dist/esm/internal/trie.js.map +1 -1
  548. package/dist/esm/internal/version.js +1 -1
  549. package/dist/esm/internal/version.js.map +1 -1
  550. package/package.json +45 -13
  551. package/src/{ReadonlyArray.ts → Array.ts} +47 -24
  552. package/src/Brand.ts +3 -3
  553. package/src/Cache.ts +12 -10
  554. package/src/Cause.ts +1 -1
  555. package/src/Channel.ts +12 -9
  556. package/src/Chunk.ts +3 -3
  557. package/src/ConfigError.ts +7 -6
  558. package/src/Cron.ts +17 -17
  559. package/src/Duration.ts +54 -1
  560. package/src/Effect.ts +46 -57
  561. package/src/Either.ts +7 -7
  562. package/src/ExecutionStrategy.ts +10 -2
  563. package/src/Exit.ts +11 -9
  564. package/src/Fiber.ts +11 -8
  565. package/src/FiberHandle.ts +414 -0
  566. package/src/FiberMap.ts +181 -73
  567. package/src/FiberRefs.ts +1 -1
  568. package/src/FiberSet.ts +96 -36
  569. package/src/GroupBy.ts +1 -1
  570. package/src/HashMap.ts +0 -1
  571. package/src/HashSet.ts +0 -1
  572. package/src/Iterable.ts +48 -10
  573. package/src/Layer.ts +6 -6
  574. package/src/List.ts +8 -7
  575. package/src/Logger.ts +2 -2
  576. package/src/Metric.ts +9 -2
  577. package/src/MetricKey.ts +9 -1
  578. package/src/MetricKeyType.ts +6 -1
  579. package/src/MutableHashMap.ts +1 -1
  580. package/src/Option.ts +9 -6
  581. package/src/Readable.ts +92 -0
  582. package/src/{ReadonlyRecord.ts → Record.ts} +28 -29
  583. package/src/Ref.ts +2 -2
  584. package/src/RegExp.ts +17 -0
  585. package/src/Request.ts +1 -1
  586. package/src/RequestResolver.ts +4 -4
  587. package/src/STM.ts +12 -9
  588. package/src/Schedule.ts +1 -1
  589. package/src/ScopedCache.ts +11 -9
  590. package/src/SortedSet.ts +1 -1
  591. package/src/Stream.ts +14 -11
  592. package/src/StreamHaltStrategy.ts +14 -2
  593. package/src/String.ts +45 -2
  594. package/src/Subscribable.ts +99 -0
  595. package/src/SubscriptionRef.ts +2 -2
  596. package/src/TestAnnotation.ts +2 -1
  597. package/src/TestAnnotations.ts +1 -1
  598. package/src/TestClock.ts +3 -3
  599. package/src/Tracer.ts +13 -5
  600. package/src/Trie.ts +1 -1
  601. package/src/Types.ts +0 -8
  602. package/src/index.ts +26 -4
  603. package/src/internal/{readonlyArray.ts → array.ts} +1 -1
  604. package/src/internal/cache.ts +40 -40
  605. package/src/internal/cause.ts +8 -8
  606. package/src/internal/channel/channelExecutor.ts +15 -15
  607. package/src/internal/channel/channelState.ts +1 -1
  608. package/src/internal/channel/singleProducerAsyncInput.ts +1 -1
  609. package/src/internal/channel.ts +11 -11
  610. package/src/internal/clock.ts +2 -2
  611. package/src/internal/configError.ts +22 -21
  612. package/src/internal/configProvider/pathPatch.ts +1 -1
  613. package/src/internal/configProvider.ts +51 -55
  614. package/src/internal/core-effect.ts +149 -134
  615. package/src/internal/core-stream.ts +5 -2
  616. package/src/internal/core.ts +64 -200
  617. package/src/internal/dataSource.ts +19 -20
  618. package/src/internal/differ/readonlyArrayPatch.ts +6 -6
  619. package/src/internal/effect/circular.ts +9 -3
  620. package/src/internal/errors.ts +7 -0
  621. package/src/internal/executionStrategy.ts +14 -12
  622. package/src/internal/fiber.ts +8 -5
  623. package/src/internal/fiberRefs/patch.ts +1 -1
  624. package/src/internal/fiberRefs.ts +1 -1
  625. package/src/internal/fiberRuntime.ts +157 -123
  626. package/src/internal/groupBy.ts +4 -4
  627. package/src/internal/hashMap.ts +1 -2
  628. package/src/internal/hashSet.ts +0 -1
  629. package/src/internal/layer/circular.ts +2 -2
  630. package/src/internal/layer.ts +9 -9
  631. package/src/internal/logger.ts +28 -8
  632. package/src/internal/managedRuntime.ts +1 -1
  633. package/src/internal/matcher.ts +5 -3
  634. package/src/internal/metric/boundaries.ts +5 -5
  635. package/src/internal/metric/hook.ts +21 -18
  636. package/src/internal/metric/key.ts +8 -5
  637. package/src/internal/metric/keyType.ts +5 -2
  638. package/src/internal/metric/state.ts +5 -5
  639. package/src/internal/metric.ts +8 -6
  640. package/src/internal/pool.ts +11 -11
  641. package/src/internal/pubsub.ts +6 -6
  642. package/src/internal/query.ts +4 -4
  643. package/src/internal/queue.ts +11 -11
  644. package/src/internal/rateLimiter.ts +1 -1
  645. package/src/internal/redBlackTree/iterator.ts +2 -2
  646. package/src/internal/ref.ts +8 -2
  647. package/src/internal/reloadable.ts +1 -1
  648. package/src/internal/runtime.ts +5 -5
  649. package/src/internal/schedule/intervals.ts +2 -1
  650. package/src/internal/schedule.ts +8 -9
  651. package/src/internal/scopedCache.ts +53 -53
  652. package/src/internal/scopedRef.ts +4 -4
  653. package/src/internal/secret.ts +2 -2
  654. package/src/internal/sink.ts +10 -10
  655. package/src/internal/stm/stm/tExit.ts +5 -2
  656. package/src/internal/stm/stm.ts +13 -9
  657. package/src/internal/stm/tMap.ts +3 -3
  658. package/src/internal/stm/tPriorityQueue.ts +11 -11
  659. package/src/internal/stm/tPubSub.ts +3 -3
  660. package/src/internal/stm/tQueue.ts +3 -3
  661. package/src/internal/stm/tSet.ts +1 -1
  662. package/src/internal/stream/haltStrategy.ts +23 -14
  663. package/src/internal/stream.ts +91 -88
  664. package/src/internal/subscriptionRef.ts +8 -0
  665. package/src/internal/supervisor.ts +1 -1
  666. package/src/internal/take.ts +1 -1
  667. package/src/internal/tracer.ts +2 -2
  668. package/src/internal/trie.ts +1 -2
  669. package/src/internal/version.ts +1 -1
  670. package/ReadonlyArray/package.json +0 -6
  671. package/ReadonlyRecord/package.json +0 -6
  672. package/dist/cjs/ReadonlyArray.js.map +0 -1
  673. package/dist/cjs/ReadonlyRecord.js.map +0 -1
  674. package/dist/cjs/internal/Iterable.js +0 -61
  675. package/dist/cjs/internal/Iterable.js.map +0 -1
  676. package/dist/cjs/internal/readonlyArray.js.map +0 -1
  677. package/dist/dts/ReadonlyArray.d.ts.map +0 -1
  678. package/dist/dts/ReadonlyRecord.d.ts.map +0 -1
  679. package/dist/dts/internal/Iterable.d.ts +0 -2
  680. package/dist/dts/internal/Iterable.d.ts.map +0 -1
  681. package/dist/dts/internal/readonlyArray.d.ts +0 -5
  682. package/dist/dts/internal/readonlyArray.d.ts.map +0 -1
  683. package/dist/esm/ReadonlyArray.js.map +0 -1
  684. package/dist/esm/ReadonlyRecord.js.map +0 -1
  685. package/dist/esm/internal/Iterable.js +0 -53
  686. package/dist/esm/internal/Iterable.js.map +0 -1
  687. package/dist/esm/internal/readonlyArray.js.map +0 -1
  688. package/src/internal/Iterable.ts +0 -54
@@ -81,9 +81,9 @@ export const done = <A, E>(exit: Exit.Exit<A, E>): Fiber.Fiber<A, E> => ({
81
81
  id: () => FiberId.none,
82
82
  await: core.succeed(exit),
83
83
  children: core.succeed([]),
84
- inheritAll: core.unit,
84
+ inheritAll: core.void,
85
85
  poll: core.succeed(Option.some(exit)),
86
- interruptAsFork: () => core.unit
86
+ interruptAsFork: () => core.void
87
87
  })
88
88
 
89
89
  /** @internal */
@@ -254,7 +254,7 @@ export const orElse = dual<
254
254
  pipe(
255
255
  core.interruptAsFiber(self, id),
256
256
  core.zipRight(pipe(that, core.interruptAsFiber(id))),
257
- core.asUnit
257
+ core.asVoid
258
258
  )
259
259
  }))
260
260
 
@@ -334,8 +334,11 @@ export const status = <A, E>(self: Fiber.RuntimeFiber<A, E>): Effect.Effect<Fibe
334
334
  /** @internal */
335
335
  export const succeed = <A>(value: A): Fiber.Fiber<A> => done(Exit.succeed(value))
336
336
 
337
- /** @internal */
338
- export const unit: Fiber.Fiber<void> = succeed(void 0)
337
+ const void_: Fiber.Fiber<void> = succeed(void 0)
338
+ export {
339
+ /** @internal */
340
+ void_ as void
341
+ }
339
342
 
340
343
  /** @internal */
341
344
  export const currentFiberURI = "effect/FiberCurrent"
@@ -1,9 +1,9 @@
1
+ import * as Arr from "../../Array.js"
1
2
  import { equals } from "../../Equal.js"
2
3
  import type * as FiberId from "../../FiberId.js"
3
4
  import type * as FiberRefs from "../../FiberRefs.js"
4
5
  import type * as FiberRefsPatch from "../../FiberRefsPatch.js"
5
6
  import { dual } from "../../Function.js"
6
- import * as Arr from "../../ReadonlyArray.js"
7
7
  import * as _fiberRefs from "../fiberRefs.js"
8
8
 
9
9
  /** @internal */
@@ -1,3 +1,4 @@
1
+ import * as Arr from "../Array.js"
1
2
  import type * as Effect from "../Effect.js"
2
3
  import * as Equal from "../Equal.js"
3
4
  import type * as FiberId from "../FiberId.js"
@@ -7,7 +8,6 @@ import { dual, pipe } from "../Function.js"
7
8
  import * as HashSet from "../HashSet.js"
8
9
  import * as Option from "../Option.js"
9
10
  import { pipeArguments } from "../Pipeable.js"
10
- import * as Arr from "../ReadonlyArray.js"
11
11
  import * as core from "./core.js"
12
12
 
13
13
  /** @internal */
@@ -1,3 +1,4 @@
1
+ import * as RA from "../Array.js"
1
2
  import * as Boolean from "../Boolean.js"
2
3
  import type * as Cause from "../Cause.js"
3
4
  import * as Chunk from "../Chunk.js"
@@ -31,7 +32,6 @@ import * as Option from "../Option.js"
31
32
  import { pipeArguments } from "../Pipeable.js"
32
33
  import * as Predicate from "../Predicate.js"
33
34
  import type * as Random from "../Random.js"
34
- import * as RA from "../ReadonlyArray.js"
35
35
  import * as Ref from "../Ref.js"
36
36
  import type { Entry, Request } from "../Request.js"
37
37
  import type * as RequestBlock from "../RequestBlock.js"
@@ -41,7 +41,7 @@ import { currentScheduler, type Scheduler } from "../Scheduler.js"
41
41
  import type * as Scope from "../Scope.js"
42
42
  import type * as Supervisor from "../Supervisor.js"
43
43
  import type * as Tracer from "../Tracer.js"
44
- import type { Concurrency, NoInfer } from "../Types.js"
44
+ import type { Concurrency } from "../Types.js"
45
45
  import * as _RequestBlock from "./blockedRequests.js"
46
46
  import * as internalCause from "./cause.js"
47
47
  import * as clock from "./clock.js"
@@ -184,7 +184,7 @@ const contOpSuccess = {
184
184
  self.pushStack(cont)
185
185
  return cont.effect_instruction_i1()
186
186
  } else {
187
- return core.unit
187
+ return core.void
188
188
  }
189
189
  }
190
190
  }
@@ -743,7 +743,7 @@ export class FiberRuntime<in out A, in out E = never> implements Fiber.RuntimeFi
743
743
  const body = () => {
744
744
  const next = it.next()
745
745
  if (!next.done) {
746
- return core.asUnit(next.value.await)
746
+ return core.asVoid(next.value.await)
747
747
  } else {
748
748
  return core.sync(() => {
749
749
  isDone = true
@@ -895,10 +895,10 @@ export class FiberRuntime<in out A, in out E = never> implements Fiber.RuntimeFi
895
895
  if (op._op === OpCodes.OP_YIELD) {
896
896
  if (_runtimeFlags.cooperativeYielding(this._runtimeFlags)) {
897
897
  this.tell(FiberMessage.yieldNow())
898
- this.tell(FiberMessage.resume(core.exitUnit))
898
+ this.tell(FiberMessage.resume(core.exitVoid))
899
899
  effect = null
900
900
  } else {
901
- effect = core.exitUnit
901
+ effect = core.exitVoid
902
902
  }
903
903
  } else if (op._op === OpCodes.OP_ASYNC) {
904
904
  // Terminate this evaluation, async resumption will continue evaluation:
@@ -1209,7 +1209,7 @@ export class FiberRuntime<in out A, in out E = never> implements Fiber.RuntimeFi
1209
1209
  this.pushStack(new core.RevertFlags(revertFlags, op))
1210
1210
  return op.effect_instruction_i1(oldRuntimeFlags)
1211
1211
  } else {
1212
- return core.exitUnit
1212
+ return core.exitVoid
1213
1213
  }
1214
1214
  }
1215
1215
  }
@@ -1254,7 +1254,7 @@ export class FiberRuntime<in out A, in out E = never> implements Fiber.RuntimeFi
1254
1254
  this.pushStack(op)
1255
1255
  return body()
1256
1256
  } else {
1257
- return core.exitUnit
1257
+ return core.exitVoid
1258
1258
  }
1259
1259
  }
1260
1260
 
@@ -1477,7 +1477,7 @@ export const batchedLogger = dual<
1477
1477
  let buffer: Array<Output> = []
1478
1478
  const flush = core.suspend(() => {
1479
1479
  if (buffer.length === 0) {
1480
- return core.unit
1480
+ return core.void
1481
1481
  }
1482
1482
  const arr = buffer
1483
1483
  buffer = []
@@ -1597,7 +1597,7 @@ export const exists: {
1597
1597
  core.matchEffect(
1598
1598
  forEach(
1599
1599
  elements,
1600
- (a, i) => core.if_(f(a, i), { onTrue: core.fail(_existsParFound), onFalse: core.unit }),
1600
+ (a, i) => core.if_(f(a, i), { onTrue: () => core.fail(_existsParFound), onFalse: () => core.void }),
1601
1601
  options
1602
1602
  ),
1603
1603
  {
@@ -1735,7 +1735,7 @@ const allValidate = (
1735
1735
  core.fail(reconcile.value(errors)) :
1736
1736
  core.fail(errors)
1737
1737
  } else if (options?.discard) {
1738
- return core.unit
1738
+ return core.void
1739
1739
  }
1740
1740
  return reconcile._tag === "Some" ?
1741
1741
  core.succeed(reconcile.value(successes)) :
@@ -1996,7 +1996,7 @@ export const forEachConcurrentDiscard = <A, X, E, R>(
1996
1996
  let todos = Array.from(self).reverse()
1997
1997
  let target = todos.length
1998
1998
  if (target === 0) {
1999
- return core.unit
1999
+ return core.void
2000
2000
  }
2001
2001
  let counter = 0
2002
2002
  let interrupted = false
@@ -2018,7 +2018,7 @@ export const forEachConcurrentDiscard = <A, X, E, R>(
2018
2018
  .sort((a, b) => a.index < b.index ? -1 : a.index === b.index ? 0 : 1)
2019
2019
  .map(({ exit }) => exit)
2020
2020
  if (exits.length === 0) {
2021
- exits.push(core.exitUnit)
2021
+ exits.push(core.exitVoid)
2022
2022
  }
2023
2023
  return exits
2024
2024
  }
@@ -2108,7 +2108,7 @@ export const forEachConcurrentDiscard = <A, X, E, R>(
2108
2108
  if (results.length === target) {
2109
2109
  resume(core.succeed(Option.getOrElse(
2110
2110
  core.exitCollectAll(collectExits(), { parallel: true }),
2111
- () => core.exitUnit
2111
+ () => core.exitVoid
2112
2112
  )))
2113
2113
  } else if (residual.length + results.length === target) {
2114
2114
  const requests = residual.map((blocked) => blocked.effect_instruction_i0).reduce(_RequestBlock.par)
@@ -2118,7 +2118,7 @@ export const forEachConcurrentDiscard = <A, X, E, R>(
2118
2118
  [
2119
2119
  Option.getOrElse(
2120
2120
  core.exitCollectAll(collectExits(), { parallel: true }),
2121
- () => core.exitUnit
2121
+ () => core.exitVoid
2122
2122
  ),
2123
2123
  ...residual.map((blocked) => blocked.effect_instruction_i1)
2124
2124
  ],
@@ -2139,7 +2139,7 @@ export const forEachConcurrentDiscard = <A, X, E, R>(
2139
2139
  }
2140
2140
  })
2141
2141
  )
2142
- return core.asUnit(
2142
+ return core.asVoid(
2143
2143
  core.onExit(
2144
2144
  core.flatten(restore(internalFiber.join(processingFiber))),
2145
2145
  core.exitMatch({
@@ -2413,7 +2413,7 @@ export const validateAll = dual<
2413
2413
  }),
2414
2414
  ([es, bs]) =>
2415
2415
  es.length === 0
2416
- ? options?.discard ? core.unit : core.succeed(bs)
2416
+ ? options?.discard ? core.void : core.succeed(bs)
2417
2417
  : core.fail(es)
2418
2418
  )
2419
2419
  )
@@ -2455,7 +2455,7 @@ export const raceAll: <Eff extends Effect.Effect<any, any, any>>(
2455
2455
  core.tap((fibers) =>
2456
2456
  pipe(
2457
2457
  fibers,
2458
- RA.reduce(core.unit, (effect, fiber) =>
2458
+ RA.reduce(core.void, (effect, fiber) =>
2459
2459
  pipe(
2460
2460
  effect,
2461
2461
  core.zipRight(
@@ -2463,7 +2463,7 @@ export const raceAll: <Eff extends Effect.Effect<any, any, any>>(
2463
2463
  internalFiber._await(fiber),
2464
2464
  core.flatMap(raceAllArbiter(fibers, fiber, done, fails)),
2465
2465
  fork,
2466
- core.asUnit
2466
+ core.asVoid
2467
2467
  )
2468
2468
  )
2469
2469
  ))
@@ -2476,7 +2476,7 @@ export const raceAll: <Eff extends Effect.Effect<any, any, any>>(
2476
2476
  pipe(
2477
2477
  fibers,
2478
2478
  RA.reduce(
2479
- core.unit,
2479
+ core.void,
2480
2480
  (effect, fiber) => pipe(effect, core.zipLeft(core.interruptFiber(fiber)))
2481
2481
  )
2482
2482
  )
@@ -2506,8 +2506,8 @@ const raceAllArbiter = <E, E1, A, A1>(
2506
2506
  Ref.modify(fails, (fails) =>
2507
2507
  [
2508
2508
  fails === 0 ?
2509
- pipe(core.deferredFailCause(deferred, cause), core.asUnit) :
2510
- core.unit,
2509
+ pipe(core.deferredFailCause(deferred, cause), core.asVoid) :
2510
+ core.void,
2511
2511
  fails - 1
2512
2512
  ] as const),
2513
2513
  core.flatten
@@ -2520,14 +2520,14 @@ const raceAllArbiter = <E, E1, A, A1>(
2520
2520
  pipe(
2521
2521
  Chunk.fromIterable(fibers),
2522
2522
  RA.reduce(
2523
- core.unit,
2523
+ core.void,
2524
2524
  (effect, fiber) =>
2525
2525
  fiber === winner ?
2526
2526
  effect :
2527
2527
  pipe(effect, core.zipLeft(core.interruptFiber(fiber)))
2528
2528
  )
2529
2529
  ) :
2530
- core.unit
2530
+ core.void
2531
2531
  )
2532
2532
  )
2533
2533
  })
@@ -2668,7 +2668,7 @@ export const scopeWith = <A, E, R>(
2668
2668
 
2669
2669
  /* @internal */
2670
2670
  export const scopedEffect = <A, E, R>(effect: Effect.Effect<A, E, R>): Effect.Effect<A, E, Exclude<R, Scope.Scope>> =>
2671
- core.flatMap(scopeMake(), (scope) => scopeUse(scope)(effect))
2671
+ core.flatMap(scopeMake(), (scope) => scopeUse(effect, scope))
2672
2672
 
2673
2673
  /* @internal */
2674
2674
  export const sequentialFinalizers = <A, E, R>(self: Effect.Effect<A, E, R>): Effect.Effect<A, E, R> =>
@@ -2798,7 +2798,7 @@ export const validateAllParDiscard = dual<
2798
2798
  partition(elements, f),
2799
2799
  ([es, _]) =>
2800
2800
  es.length === 0
2801
- ? core.unit
2801
+ ? core.void
2802
2802
  : core.fail(es)
2803
2803
  ))
2804
2804
 
@@ -2971,7 +2971,7 @@ export const withRuntimeFlagsScoped = (
2971
2971
  update: RuntimeFlagsPatch.RuntimeFlagsPatch
2972
2972
  ): Effect.Effect<void, never, Scope.Scope> => {
2973
2973
  if (update === RuntimeFlagsPatch.empty) {
2974
- return core.unit
2974
+ return core.void
2975
2975
  }
2976
2976
  return pipe(
2977
2977
  core.runtimeFlags,
@@ -2981,68 +2981,13 @@ export const withRuntimeFlagsScoped = (
2981
2981
  return pipe(
2982
2982
  core.updateRuntimeFlags(update),
2983
2983
  core.zipRight(addFinalizer(() => core.updateRuntimeFlags(revertRuntimeFlags))),
2984
- core.asUnit
2984
+ core.asVoid
2985
2985
  )
2986
2986
  }),
2987
2987
  core.uninterruptible
2988
2988
  )
2989
2989
  }
2990
2990
 
2991
- // circular with ReleaseMap
2992
-
2993
- /* @internal */
2994
- export const releaseMapReleaseAll = (
2995
- strategy: ExecutionStrategy.ExecutionStrategy,
2996
- exit: Exit.Exit<unknown, unknown>
2997
- ) =>
2998
- (self: core.ReleaseMap): Effect.Effect<void> =>
2999
- core.suspend(() => {
3000
- switch (self.state._tag) {
3001
- case "Exited": {
3002
- return core.unit
3003
- }
3004
- case "Running": {
3005
- const finalizersMap = self.state.finalizers
3006
- const update = self.state.update
3007
- const finalizers = Array.from(finalizersMap.keys()).sort((a, b) => b - a).map((key) => finalizersMap.get(key)!)
3008
- self.state = { _tag: "Exited", nextKey: self.state.nextKey, exit, update }
3009
- return executionStrategy.isSequential(strategy) ?
3010
- pipe(
3011
- finalizers,
3012
- core.forEachSequential((fin) => core.exit(update(fin)(exit))),
3013
- core.flatMap((results) =>
3014
- pipe(
3015
- core.exitCollectAll(results),
3016
- Option.map(core.exitAsUnit),
3017
- Option.getOrElse(() => core.exitUnit)
3018
- )
3019
- )
3020
- ) :
3021
- executionStrategy.isParallel(strategy) ?
3022
- pipe(
3023
- forEachParUnbounded(finalizers, (fin) => core.exit(update(fin)(exit)), false),
3024
- core.flatMap((results) =>
3025
- pipe(
3026
- core.exitCollectAll(results, { parallel: true }),
3027
- Option.map(core.exitAsUnit),
3028
- Option.getOrElse(() => core.exitUnit)
3029
- )
3030
- )
3031
- ) :
3032
- pipe(
3033
- forEachParN(finalizers, strategy.parallelism, (fin) => core.exit(update(fin)(exit)), false),
3034
- core.flatMap((results) =>
3035
- pipe(
3036
- core.exitCollectAll(results, { parallel: true }),
3037
- Option.map(core.exitAsUnit),
3038
- Option.getOrElse(() => core.exitUnit)
3039
- )
3040
- )
3041
- )
3042
- }
3043
- }
3044
- })
3045
-
3046
2991
  // circular with Scope
3047
2992
 
3048
2993
  /** @internal */
@@ -3051,33 +2996,114 @@ export const scopeTag = Context.GenericTag<Scope.Scope>("effect/Scope")
3051
2996
  /* @internal */
3052
2997
  export const scope: Effect.Effect<Scope.Scope, never, Scope.Scope> = scopeTag
3053
2998
 
3054
- /* @internal */
3055
- export const scopeMake = (
3056
- strategy: ExecutionStrategy.ExecutionStrategy = executionStrategy.sequential
3057
- ): Effect.Effect<Scope.Scope.Closeable> =>
3058
- core.map(core.releaseMapMake, (rm): Scope.Scope.Closeable => ({
3059
- [core.ScopeTypeId]: core.ScopeTypeId,
3060
- [core.CloseableScopeTypeId]: core.CloseableScopeTypeId,
3061
- strategy,
3062
- pipe() {
3063
- return pipeArguments(this, arguments)
3064
- },
3065
- fork: (strategy) =>
3066
- core.uninterruptible(
2999
+ interface ScopeImpl extends Scope.CloseableScope {
3000
+ state: {
3001
+ readonly _tag: "Open"
3002
+ readonly finalizers: Set<Scope.Scope.Finalizer>
3003
+ } | {
3004
+ readonly _tag: "Closed"
3005
+ readonly exit: Exit.Exit<unknown, unknown>
3006
+ }
3007
+ }
3008
+
3009
+ const scopeUnsafeAddFinalizer = (scope: ScopeImpl, fin: Scope.Scope.Finalizer): void => {
3010
+ if (scope.state._tag === "Open") {
3011
+ scope.state.finalizers.add(fin)
3012
+ }
3013
+ }
3014
+
3015
+ const ScopeImplProto: Omit<ScopeImpl, "strategy" | "state"> = {
3016
+ [core.ScopeTypeId]: core.ScopeTypeId,
3017
+ [core.CloseableScopeTypeId]: core.CloseableScopeTypeId,
3018
+ pipe() {
3019
+ return pipeArguments(this, arguments)
3020
+ },
3021
+ fork(this: ScopeImpl, strategy) {
3022
+ return core.sync(() => {
3023
+ const newScope = scopeUnsafeMake(strategy)
3024
+ if (this.state._tag === "Closed") {
3025
+ newScope.state = this.state
3026
+ return newScope
3027
+ }
3028
+ const fin = (exit: Exit.Exit<unknown, unknown>) => newScope.close(exit)
3029
+ this.state.finalizers.add(fin)
3030
+ scopeUnsafeAddFinalizer(newScope, (_) =>
3031
+ core.sync(() => {
3032
+ if (this.state._tag === "Open") {
3033
+ this.state.finalizers.delete(fin)
3034
+ }
3035
+ }))
3036
+ return newScope
3037
+ })
3038
+ },
3039
+ close(this: ScopeImpl, exit) {
3040
+ return core.suspend(() => {
3041
+ if (this.state._tag === "Closed") {
3042
+ return core.void
3043
+ }
3044
+ const finalizers = Array.from(this.state.finalizers.values()).reverse()
3045
+ this.state = { _tag: "Closed", exit }
3046
+ if (finalizers.length === 0) {
3047
+ return core.void
3048
+ }
3049
+ return executionStrategy.isSequential(this.strategy) ?
3050
+ pipe(
3051
+ core.forEachSequential(finalizers, (fin) => core.exit(fin(exit))),
3052
+ core.flatMap((results) =>
3053
+ pipe(
3054
+ core.exitCollectAll(results),
3055
+ Option.map(core.exitAsVoid),
3056
+ Option.getOrElse(() => core.exitVoid)
3057
+ )
3058
+ )
3059
+ ) :
3060
+ executionStrategy.isParallel(this.strategy) ?
3061
+ pipe(
3062
+ forEachParUnbounded(finalizers, (fin) => core.exit(fin(exit)), false),
3063
+ core.flatMap((results) =>
3064
+ pipe(
3065
+ core.exitCollectAll(results, { parallel: true }),
3066
+ Option.map(core.exitAsVoid),
3067
+ Option.getOrElse(() => core.exitVoid)
3068
+ )
3069
+ )
3070
+ ) :
3067
3071
  pipe(
3068
- scopeMake(strategy),
3069
- core.flatMap((scope) =>
3072
+ forEachParN(finalizers, this.strategy.parallelism, (fin) => core.exit(fin(exit)), false),
3073
+ core.flatMap((results) =>
3070
3074
  pipe(
3071
- core.releaseMapAdd(rm, (exit) => core.scopeClose(scope, exit)),
3072
- core.tap((fin) => core.scopeAddFinalizerExit(scope, fin)),
3073
- core.as(scope)
3075
+ core.exitCollectAll(results, { parallel: true }),
3076
+ Option.map(core.exitAsVoid),
3077
+ Option.getOrElse(() => core.exitVoid)
3074
3078
  )
3075
3079
  )
3076
3080
  )
3077
- ),
3078
- close: (exit) => core.asUnit(releaseMapReleaseAll(strategy, exit)(rm)),
3079
- addFinalizer: (fin) => core.asUnit(core.releaseMapAdd(fin)(rm))
3080
- }))
3081
+ })
3082
+ },
3083
+ addFinalizer(this: ScopeImpl, fin) {
3084
+ return core.suspend(() => {
3085
+ if (this.state._tag === "Closed") {
3086
+ return fin(this.state.exit)
3087
+ }
3088
+ this.state.finalizers.add(fin)
3089
+ return core.void
3090
+ })
3091
+ }
3092
+ }
3093
+
3094
+ const scopeUnsafeMake = (
3095
+ strategy: ExecutionStrategy.ExecutionStrategy = executionStrategy.sequential
3096
+ ): ScopeImpl => {
3097
+ const scope = Object.create(ScopeImplProto)
3098
+ scope.strategy = strategy
3099
+ scope.state = { _tag: "Open", finalizers: new Set() }
3100
+ return scope
3101
+ }
3102
+
3103
+ /* @internal */
3104
+ export const scopeMake = (
3105
+ strategy: ExecutionStrategy.ExecutionStrategy = executionStrategy.sequential
3106
+ ): Effect.Effect<Scope.Scope.Closeable> => core.sync(() => scopeUnsafeMake(strategy))
3081
3107
 
3082
3108
  /* @internal */
3083
3109
  export const scopeExtend = dual<
@@ -3127,7 +3153,7 @@ export const fiberRefLocallyScoped = dual<
3127
3153
  <A>(value: A) => (self: FiberRef.FiberRef<A>) => Effect.Effect<void, never, Scope.Scope>,
3128
3154
  <A>(self: FiberRef.FiberRef<A>, value: A) => Effect.Effect<void, never, Scope.Scope>
3129
3155
  >(2, (self, value) =>
3130
- core.asUnit(
3156
+ core.asVoid(
3131
3157
  acquireRelease(
3132
3158
  core.flatMap(
3133
3159
  core.fiberRefGet(self),
@@ -3188,7 +3214,7 @@ export const currentSupervisor: FiberRef.FiberRef<Supervisor.Supervisor<any>> =
3188
3214
 
3189
3215
  /* @internal */
3190
3216
  export const fiberAwaitAll = (fibers: Iterable<Fiber.Fiber<any, any>>): Effect.Effect<void> =>
3191
- core.asUnit(internalFiber._await(fiberAll(fibers)))
3217
+ core.asVoid(internalFiber._await(fiberAll(fibers)))
3192
3218
 
3193
3219
  /** @internal */
3194
3220
  export const fiberAll = <A, E>(fibers: Iterable<Fiber.Fiber<A, E>>): Fiber.Fiber<Array<A>, E> => ({
@@ -3234,11 +3260,11 @@ export const fiberAll = <A, E>(fibers: Iterable<Fiber.Fiber<A, E>>): Fiber.Fiber
3234
3260
 
3235
3261
  /* @internal */
3236
3262
  export const fiberInterruptFork = <A, E>(self: Fiber.Fiber<A, E>): Effect.Effect<void> =>
3237
- core.asUnit(forkDaemon(core.interruptFiber(self)))
3263
+ core.asVoid(forkDaemon(core.interruptFiber(self)))
3238
3264
 
3239
3265
  /* @internal */
3240
- export const fiberJoinAll = <A, E>(fibers: Iterable<Fiber.Fiber<A, E>>): Effect.Effect<void, E> =>
3241
- core.asUnit(internalFiber.join(fiberAll(fibers)))
3266
+ export const fiberJoinAll = <A, E>(fibers: Iterable<Fiber.Fiber<A, E>>): Effect.Effect<Array<A>, E> =>
3267
+ internalFiber.join(fiberAll(fibers))
3242
3268
 
3243
3269
  /* @internal */
3244
3270
  export const fiberScoped = <A, E>(self: Fiber.Fiber<A, E>): Effect.Effect<Fiber.Fiber<A, E>, never, Scope.Scope> =>
@@ -3547,20 +3573,28 @@ export const makeSpanScoped = (
3547
3573
  options?: {
3548
3574
  readonly attributes?: Record<string, unknown> | undefined
3549
3575
  readonly links?: ReadonlyArray<Tracer.SpanLink> | undefined
3550
- readonly parent?: Tracer.ParentSpan | undefined
3576
+ readonly parent?: Tracer.AnySpan | undefined
3551
3577
  readonly root?: boolean | undefined
3552
3578
  readonly context?: Context.Context<never> | undefined
3553
- }
3579
+ } | undefined
3554
3580
  ): Effect.Effect<Tracer.Span, never, Scope.Scope> =>
3555
- acquireRelease(
3556
- internalEffect.makeSpan(name, options),
3557
- (span, exit) =>
3558
- span.status._tag === "Ended" ?
3559
- core.unit :
3560
- core.flatMap(
3561
- internalEffect.currentTimeNanosTracing,
3562
- (endTime) => core.sync(() => span.end(endTime, exit))
3563
- )
3581
+ core.uninterruptible(
3582
+ core.withFiberRuntime((fiber) => {
3583
+ const scope = Context.unsafeGet(fiber.getFiberRef(core.currentContext), scopeTag)
3584
+ const span = internalEffect.unsafeMakeSpan(fiber, name, options)
3585
+ const timingEnabled = fiber.getFiberRef(core.currentTracerTimingEnabled)
3586
+ const clock_ = Context.get(fiber.getFiberRef(defaultServices.currentServices), clock.clockTag)
3587
+ return core.as(
3588
+ core.scopeAddFinalizerExit(scope, (exit) =>
3589
+ core.sync(() => {
3590
+ if (span.status._tag === "Ended") {
3591
+ return
3592
+ }
3593
+ span.end(timingEnabled ? clock_.unsafeCurrentTimeNanos() : BigInt(0), exit)
3594
+ })),
3595
+ span
3596
+ )
3597
+ })
3564
3598
  )
3565
3599
 
3566
3600
  /* @internal */
@@ -3572,14 +3606,14 @@ export const withSpanScoped = dual<
3572
3606
  (name: string, options?: {
3573
3607
  readonly attributes?: Record<string, unknown> | undefined
3574
3608
  readonly links?: ReadonlyArray<Tracer.SpanLink> | undefined
3575
- readonly parent?: Tracer.ParentSpan | undefined
3609
+ readonly parent?: Tracer.AnySpan | undefined
3576
3610
  readonly root?: boolean | undefined
3577
3611
  readonly context?: Context.Context<never> | undefined
3578
3612
  }) => <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, Exclude<R, Tracer.ParentSpan> | Scope.Scope>,
3579
3613
  <A, E, R>(self: Effect.Effect<A, E, R>, name: string, options?: {
3580
3614
  readonly attributes?: Record<string, unknown> | undefined
3581
3615
  readonly links?: ReadonlyArray<Tracer.SpanLink> | undefined
3582
- readonly parent?: Tracer.ParentSpan | undefined
3616
+ readonly parent?: Tracer.AnySpan | undefined
3583
3617
  readonly root?: boolean | undefined
3584
3618
  readonly context?: Context.Context<never> | undefined
3585
3619
  }) => Effect.Effect<A, E, Exclude<R, Tracer.ParentSpan> | Scope.Scope>
@@ -13,7 +13,7 @@ import * as Queue from "../Queue.js"
13
13
  import * as Ref from "../Ref.js"
14
14
  import type * as Stream from "../Stream.js"
15
15
  import type * as Take from "../Take.js"
16
- import type { MergeRecord, NoInfer } from "../Types.js"
16
+ import type { MergeRecord } from "../Types.js"
17
17
  import * as channel from "./channel.js"
18
18
  import * as channelExecutor from "./channel/channelExecutor.js"
19
19
  import * as core from "./core-stream.js"
@@ -442,7 +442,7 @@ export const groupByKey = dual<
442
442
  Queue.offer(innerQueue, take.chunk(values)),
443
443
  Effect.catchSomeCause((cause) =>
444
444
  Cause.isInterruptedOnly(cause) ?
445
- Option.some(Effect.unit) :
445
+ Option.some(Effect.void) :
446
446
  Option.none()
447
447
  )
448
448
  )
@@ -455,7 +455,7 @@ export const groupByKey = dual<
455
455
  Queue.offer(innerQueue, take.chunk(values)),
456
456
  (cause) =>
457
457
  Cause.isInterruptedOnly(cause) ?
458
- Option.some(Effect.unit) :
458
+ Option.some(Effect.void) :
459
459
  Option.none()
460
460
  )
461
461
  }, { discard: true })
@@ -472,7 +472,7 @@ export const groupByKey = dual<
472
472
  Queue.offer(innerQueue, take.end),
473
473
  Effect.catchSomeCause((cause) =>
474
474
  Cause.isInterruptedOnly(cause) ?
475
- Option.some(Effect.unit) :
475
+ Option.some(Effect.void) :
476
476
  Option.none()
477
477
  )
478
478
  ), { discard: true }),
@@ -7,7 +7,6 @@ import { format, NodeInspectSymbol, toJSON } from "../Inspectable.js"
7
7
  import * as Option from "../Option.js"
8
8
  import { pipeArguments } from "../Pipeable.js"
9
9
  import { hasProperty } from "../Predicate.js"
10
- import type { NoInfer } from "../Types.js"
11
10
  import { fromBitmap, hashFragment, toBitmap } from "./hashMap/bitwise.js"
12
11
  import { SIZE } from "./hashMap/config.js"
13
12
  import * as Node from "./hashMap/node.js"
@@ -270,7 +269,7 @@ export const unsafeGet = Dual.dual<
270
269
  >(2, (self, key) => {
271
270
  const element = getHash(self, key, Hash.hash(key))
272
271
  if (Option.isNone(element)) {
273
- throw new Error("Error: Expected map to contain key")
272
+ throw new Error("Expected map to contain key")
274
273
  }
275
274
  return element.value
276
275
  })
@@ -7,7 +7,6 @@ import { format, NodeInspectSymbol, toJSON } from "../Inspectable.js"
7
7
  import { pipeArguments } from "../Pipeable.js"
8
8
  import type { Predicate, Refinement } from "../Predicate.js"
9
9
  import { hasProperty } from "../Predicate.js"
10
- import type { NoInfer } from "../Types.js"
11
10
  import * as HM from "./hashMap.js"
12
11
 
13
12
  const HashSetSymbolKey = "effect/HashSet"
@@ -185,7 +185,7 @@ export const setConfigProvider = (configProvider: ConfigProvider.ConfigProvider)
185
185
  layer.scopedDiscard(fiberRuntime.withConfigProviderScoped(configProvider))
186
186
 
187
187
  /** @internal */
188
- export const parentSpan = (span: Tracer.ParentSpan): Layer.Layer<Tracer.ParentSpan> =>
188
+ export const parentSpan = (span: Tracer.AnySpan): Layer.Layer<Tracer.ParentSpan> =>
189
189
  layer.succeedContext(Context.make(tracer.spanTag, span))
190
190
 
191
191
  /** @internal */
@@ -194,7 +194,7 @@ export const span = (
194
194
  options?: {
195
195
  readonly attributes?: Record<string, unknown> | undefined
196
196
  readonly links?: ReadonlyArray<Tracer.SpanLink> | undefined
197
- readonly parent?: Tracer.ParentSpan | undefined
197
+ readonly parent?: Tracer.AnySpan | undefined
198
198
  readonly root?: boolean | undefined
199
199
  readonly context?: Context.Context<never> | undefined
200
200
  readonly onEnd?: