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
@@ -1,3 +1,4 @@
1
+ import * as Arr from "../Array.js"
1
2
  import type * as Cause from "../Cause.js"
2
3
  import * as Chunk from "../Chunk.js"
3
4
  import * as Clock from "../Clock.js"
@@ -21,11 +22,10 @@ import type * as MetricLabel from "../MetricLabel.js"
21
22
  import * as Option from "../Option.js"
22
23
  import * as Predicate from "../Predicate.js"
23
24
  import type * as Random from "../Random.js"
24
- import * as ReadonlyArray from "../ReadonlyArray.js"
25
25
  import * as Ref from "../Ref.js"
26
26
  import type * as runtimeFlagsPatch from "../RuntimeFlagsPatch.js"
27
27
  import * as Tracer from "../Tracer.js"
28
- import type { MergeRecord, NoInfer } from "../Types.js"
28
+ import type { MergeRecord } from "../Types.js"
29
29
  import * as internalCause from "./cause.js"
30
30
  import { clockTag } from "./clock.js"
31
31
  import * as core from "./core.js"
@@ -343,7 +343,7 @@ export const allowInterrupt: Effect.Effect<void> = descriptorWith(
343
343
  (descriptor) =>
344
344
  HashSet.size(descriptor.interruptors) > 0
345
345
  ? core.interrupt
346
- : core.unit
346
+ : core.void
347
347
  )
348
348
 
349
349
  /* @internal */
@@ -512,7 +512,7 @@ export const filterMap = dual<
512
512
  >(2, (elements, pf) =>
513
513
  core.map(
514
514
  core.forEachSequential(elements, identity),
515
- ReadonlyArray.filterMap(pf)
515
+ Arr.filterMap(pf)
516
516
  ))
517
517
 
518
518
  /* @internal */
@@ -695,7 +695,7 @@ export const firstSuccessOf = <Eff extends Effect.Effect<any, any, any>>(
695
695
  }
696
696
  return pipe(
697
697
  Chunk.tailNonEmpty(list),
698
- ReadonlyArray.reduce(Chunk.headNonEmpty(list), (left, right) => core.orElse(left, () => right) as Eff)
698
+ Arr.reduce(Chunk.headNonEmpty(list), (left, right) => core.orElse(left, () => right) as Eff)
699
699
  )
700
700
  })
701
701
 
@@ -842,7 +842,7 @@ export const ignore = <A, E, R>(self: Effect.Effect<A, E, R>): Effect.Effect<voi
842
842
  export const ignoreLogged = <A, E, R>(self: Effect.Effect<A, E, R>): Effect.Effect<void, never, R> =>
843
843
  core.matchCauseEffect(self, {
844
844
  onFailure: (cause) => logDebug(cause, "An error was silently ignored because it is not anticipated to be useful"),
845
- onSuccess: () => core.unit
845
+ onSuccess: () => core.void
846
846
  })
847
847
 
848
848
  /* @internal */
@@ -887,68 +887,71 @@ export const iterate: {
887
887
  return core.succeed(initial)
888
888
  })
889
889
 
890
- const logWithLevel = (level?: LogLevel.LogLevel) =>
891
- <A>(
892
- messageOrCause: A,
893
- supplementary?: A extends Cause.Cause<any> ? unknown : Cause.Cause<unknown>
890
+ /** @internal */
891
+ export const logWithLevel = (level?: LogLevel.LogLevel) =>
892
+ (
893
+ ...message: ReadonlyArray<any>
894
894
  ): Effect.Effect<void> => {
895
895
  const levelOption = Option.fromNullable(level)
896
- let message: unknown
897
- let cause: Cause.Cause<unknown>
898
- if (internalCause.isCause(messageOrCause)) {
899
- cause = messageOrCause
900
- message = (supplementary as unknown) ?? ""
901
- } else {
902
- message = messageOrCause
903
- cause = (supplementary as Cause.Cause<unknown>) ?? internalCause.empty
896
+ let cause: Cause.Cause<unknown> | undefined = undefined
897
+ for (let i = 0, len = message.length; i < len; i++) {
898
+ const msg = message[i]
899
+ if (internalCause.isCause(msg)) {
900
+ if (cause !== undefined) {
901
+ cause = internalCause.sequential(cause, msg)
902
+ } else {
903
+ cause = msg
904
+ }
905
+ message = [...message.slice(0, i), ...message.slice(i + 1)]
906
+ i--
907
+ }
908
+ }
909
+ if (message.length === 0) {
910
+ message = "" as any
911
+ } else if (message.length === 1) {
912
+ message = message[0]
913
+ }
914
+ if (cause === undefined) {
915
+ cause = internalCause.empty
904
916
  }
905
917
  return core.withFiberRuntime((fiberState) => {
906
918
  fiberState.log(message, cause, levelOption)
907
- return core.unit
919
+ return core.void
908
920
  })
909
921
  }
910
922
 
911
923
  /** @internal */
912
- export const log: <A>(
913
- messageOrCause: A,
914
- supplementary?: A extends Cause.Cause<any> ? unknown : Cause.Cause<unknown>
915
- ) => Effect.Effect<void> = logWithLevel()
924
+ export const log: (...message: ReadonlyArray<any>) => Effect.Effect<void, never, never> = logWithLevel()
916
925
 
917
926
  /** @internal */
918
- export const logTrace: <A>(
919
- messageOrCause: A,
920
- supplementary?: A extends Cause.Cause<any> ? unknown : Cause.Cause<unknown>
921
- ) => Effect.Effect<void> = logWithLevel(LogLevel.Trace)
927
+ export const logTrace: (...message: ReadonlyArray<any>) => Effect.Effect<void, never, never> = logWithLevel(
928
+ LogLevel.Trace
929
+ )
922
930
 
923
931
  /** @internal */
924
- export const logDebug: <A>(
925
- messageOrCause: A,
926
- supplementary?: A extends Cause.Cause<any> ? unknown : Cause.Cause<unknown>
927
- ) => Effect.Effect<void> = logWithLevel(LogLevel.Debug)
932
+ export const logDebug: (...message: ReadonlyArray<any>) => Effect.Effect<void, never, never> = logWithLevel(
933
+ LogLevel.Debug
934
+ )
928
935
 
929
936
  /** @internal */
930
- export const logInfo: <A>(
931
- messageOrCause: A,
932
- supplementary?: A extends Cause.Cause<any> ? unknown : Cause.Cause<unknown>
933
- ) => Effect.Effect<void> = logWithLevel(LogLevel.Info)
937
+ export const logInfo: (...message: ReadonlyArray<any>) => Effect.Effect<void, never, never> = logWithLevel(
938
+ LogLevel.Info
939
+ )
934
940
 
935
941
  /** @internal */
936
- export const logWarning: <A>(
937
- messageOrCause: A,
938
- supplementary?: A extends Cause.Cause<any> ? unknown : Cause.Cause<unknown>
939
- ) => Effect.Effect<void> = logWithLevel(LogLevel.Warning)
942
+ export const logWarning: (...message: ReadonlyArray<any>) => Effect.Effect<void, never, never> = logWithLevel(
943
+ LogLevel.Warning
944
+ )
940
945
 
941
946
  /** @internal */
942
- export const logError: <A>(
943
- messageOrCause: A,
944
- supplementary?: A extends Cause.Cause<any> ? unknown : Cause.Cause<unknown>
945
- ) => Effect.Effect<void> = logWithLevel(LogLevel.Error)
947
+ export const logError: (...message: ReadonlyArray<any>) => Effect.Effect<void, never, never> = logWithLevel(
948
+ LogLevel.Error
949
+ )
946
950
 
947
951
  /** @internal */
948
- export const logFatal: <A>(
949
- messageOrCause: A,
950
- supplementary?: A extends Cause.Cause<any> ? unknown : Cause.Cause<unknown>
951
- ) => Effect.Effect<void> = logWithLevel(LogLevel.Fatal)
952
+ export const logFatal: (...message: ReadonlyArray<any>) => Effect.Effect<void, never, never> = logWithLevel(
953
+ LogLevel.Fatal
954
+ )
952
955
 
953
956
  /* @internal */
954
957
  export const withLogSpan = dual<
@@ -1017,7 +1020,7 @@ export const loop: {
1017
1020
  ): any =>
1018
1021
  options.discard
1019
1022
  ? loopDiscard(initial, options.while, options.step, options.body)
1020
- : core.map(loopInternal(initial, options.while, options.step, options.body), Array.from)
1023
+ : core.map(loopInternal(initial, options.while, options.step, options.body), Arr.fromIterable)
1021
1024
 
1022
1025
  const loopInternal = <Z, A, E, R>(
1023
1026
  initial: Z,
@@ -1047,7 +1050,7 @@ const loopDiscard = <S, X, E, R>(
1047
1050
  body(initial),
1048
1051
  () => loopDiscard(inc(initial), cont, inc, body)
1049
1052
  )
1050
- : core.unit
1053
+ : core.void
1051
1054
  )
1052
1055
 
1053
1056
  /* @internal */
@@ -1143,7 +1146,7 @@ export const none = <A, E, R>(
1143
1146
  core.flatMap(self, (option) => {
1144
1147
  switch (option._tag) {
1145
1148
  case "None":
1146
- return core.unit
1149
+ return core.void
1147
1150
  case "Some":
1148
1151
  return core.fail(new core.NoSuchElementException())
1149
1152
  }
@@ -1155,7 +1158,7 @@ export const once = <A, E, R>(
1155
1158
  ): Effect.Effect<Effect.Effect<void, E, R>> =>
1156
1159
  core.map(
1157
1160
  Ref.make(true),
1158
- (ref) => core.asUnit(core.whenEffect(self, Ref.getAndSet(ref, false)))
1161
+ (ref) => core.asVoid(core.whenEffect(self, Ref.getAndSet(ref, false)))
1159
1162
  )
1160
1163
 
1161
1164
  /* @internal */
@@ -1181,7 +1184,7 @@ export const orElseSucceed = dual<
1181
1184
  export const parallelErrors = <A, E, R>(self: Effect.Effect<A, E, R>): Effect.Effect<A, Array<E>, R> =>
1182
1185
  core.matchCauseEffect(self, {
1183
1186
  onFailure: (cause) => {
1184
- const errors = Array.from(internalCause.failures(cause))
1187
+ const errors = Arr.fromIterable(internalCause.failures(cause))
1185
1188
  return errors.length === 0
1186
1189
  ? core.failCause(cause as Cause.Cause<never>)
1187
1190
  : core.fail(errors)
@@ -1275,7 +1278,7 @@ export const reduce = dual<
1275
1278
  zero: Z,
1276
1279
  f: (z: Z, a: A, i: number) => Effect.Effect<Z, E, R>
1277
1280
  ) =>
1278
- ReadonlyArray.fromIterable(elements).reduce(
1281
+ Arr.fromIterable(elements).reduce(
1279
1282
  (acc, el, i) => core.flatMap(acc, (a) => f(a, el, i)),
1280
1283
  core.succeed(zero) as Effect.Effect<Z, E, R>
1281
1284
  )
@@ -1295,7 +1298,7 @@ export const reduceRight = dual<
1295
1298
  >(
1296
1299
  3,
1297
1300
  <A, Z, R, E>(elements: Iterable<A>, zero: Z, f: (a: A, z: Z, i: number) => Effect.Effect<Z, E, R>) =>
1298
- ReadonlyArray.fromIterable(elements).reduceRight(
1301
+ Arr.fromIterable(elements).reduceRight(
1299
1302
  (acc, el, i) => core.flatMap(acc, (a) => f(el, a, i)),
1300
1303
  core.succeed(zero) as Effect.Effect<Z, E, R>
1301
1304
  )
@@ -1432,7 +1435,7 @@ export const labelMetrics = dual<
1432
1435
  <A, E, R>(self: Effect.Effect<A, E, R>, labels: Iterable<MetricLabel.MetricLabel>) => Effect.Effect<A, E, R>
1433
1436
  >(
1434
1437
  2,
1435
- (self, labels) => core.fiberRefLocallyWith(self, core.currentMetricLabels, (old) => ReadonlyArray.union(old, labels))
1438
+ (self, labels) => core.fiberRefLocallyWith(self, core.currentMetricLabels, (old) => Arr.union(old, labels))
1436
1439
  )
1437
1440
 
1438
1441
  /* @internal */
@@ -1593,7 +1596,7 @@ export const tapErrorTag = dual<
1593
1596
  if (Predicate.isTagged(e, k)) {
1594
1597
  return f(e as any)
1595
1598
  }
1596
- return core.unit as any
1599
+ return core.void as any
1597
1600
  }))
1598
1601
 
1599
1602
  /* @internal */
@@ -1776,7 +1779,7 @@ export const updateFiberRefs = (
1776
1779
  ): Effect.Effect<void> =>
1777
1780
  core.withFiberRuntime((state) => {
1778
1781
  state.setFiberRefs(f(state.id(), state.getFiberRefs()))
1779
- return core.unit
1782
+ return core.void
1780
1783
  })
1781
1784
 
1782
1785
  /* @internal */
@@ -1994,7 +1997,7 @@ export const annotateSpans = dual<
1994
1997
  )
1995
1998
 
1996
1999
  /** @internal */
1997
- export const currentParentSpan: Effect.Effect<Tracer.ParentSpan, Cause.NoSuchElementException> = serviceOptional(
2000
+ export const currentParentSpan: Effect.Effect<Tracer.AnySpan, Cause.NoSuchElementException> = serviceOptional(
1998
2001
  internalTracer.spanTag
1999
2002
  )
2000
2003
 
@@ -2002,7 +2005,7 @@ export const currentParentSpan: Effect.Effect<Tracer.ParentSpan, Cause.NoSuchEle
2002
2005
  export const currentSpan: Effect.Effect<Tracer.Span, Cause.NoSuchElementException> = core.flatMap(
2003
2006
  core.context<never>(),
2004
2007
  (context) => {
2005
- const span = context.unsafeMap.get(internalTracer.spanTag.key) as Tracer.ParentSpan | undefined
2008
+ const span = context.unsafeMap.get(internalTracer.spanTag.key) as Tracer.AnySpan | undefined
2006
2009
  return span !== undefined && span._tag === "Span"
2007
2010
  ? core.succeed(span)
2008
2011
  : core.fail(new core.NoSuchElementException())
@@ -2012,12 +2015,12 @@ export const currentSpan: Effect.Effect<Tracer.Span, Cause.NoSuchElementExceptio
2012
2015
  /* @internal */
2013
2016
  export const linkSpans = dual<
2014
2017
  (
2015
- span: Tracer.ParentSpan,
2018
+ span: Tracer.AnySpan,
2016
2019
  attributes?: Record<string, unknown>
2017
2020
  ) => <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>,
2018
2021
  <A, E, R>(
2019
2022
  self: Effect.Effect<A, E, R>,
2020
- span: Tracer.ParentSpan,
2023
+ span: Tracer.AnySpan,
2021
2024
  attributes?: Record<string, unknown>
2022
2025
  ) => Effect.Effect<A, E, R>
2023
2026
  >(
@@ -2045,7 +2048,7 @@ export const unsafeMakeSpan = <XA, XE>(
2045
2048
  options?: {
2046
2049
  readonly attributes?: Record<string, unknown> | undefined
2047
2050
  readonly links?: ReadonlyArray<Tracer.SpanLink> | undefined
2048
- readonly parent?: Tracer.ParentSpan | undefined
2051
+ readonly parent?: Tracer.AnySpan | undefined
2049
2052
  readonly root?: boolean | undefined
2050
2053
  readonly context?: Context.Context<never> | undefined
2051
2054
  }
@@ -2079,7 +2082,7 @@ export const unsafeMakeSpan = <XA, XE>(
2079
2082
  ...(options?.links ?? [])
2080
2083
  ] :
2081
2084
  Chunk.toReadonlyArray(linksFromEnv.value) :
2082
- options?.links ?? ReadonlyArray.empty()
2085
+ options?.links ?? Arr.empty()
2083
2086
 
2084
2087
  const span = tracer.span(
2085
2088
  name,
@@ -2105,7 +2108,7 @@ export const makeSpan = (
2105
2108
  options?: {
2106
2109
  readonly attributes?: Record<string, unknown> | undefined
2107
2110
  readonly links?: ReadonlyArray<Tracer.SpanLink> | undefined
2108
- readonly parent?: Tracer.ParentSpan | undefined
2111
+ readonly parent?: Tracer.AnySpan | undefined
2109
2112
  readonly root?: boolean | undefined
2110
2113
  readonly context?: Context.Context<never> | undefined
2111
2114
  }
@@ -2125,7 +2128,7 @@ export const useSpan: {
2125
2128
  <A, E, R>(name: string, options: {
2126
2129
  readonly attributes?: Record<string, unknown> | undefined
2127
2130
  readonly links?: ReadonlyArray<Tracer.SpanLink> | undefined
2128
- readonly parent?: Tracer.ParentSpan | undefined
2131
+ readonly parent?: Tracer.AnySpan | undefined
2129
2132
  readonly root?: boolean | undefined
2130
2133
  readonly context?: Context.Context<never> | undefined
2131
2134
  }, evaluate: (span: Tracer.Span) => Effect.Effect<A, E, R>): Effect.Effect<A, E, R>
@@ -2139,7 +2142,7 @@ export const useSpan: {
2139
2142
  const options: {
2140
2143
  readonly attributes?: Record<string, unknown> | undefined
2141
2144
  readonly links?: ReadonlyArray<Tracer.SpanLink> | undefined
2142
- readonly parent?: Tracer.ParentSpan | undefined
2145
+ readonly parent?: Tracer.AnySpan | undefined
2143
2146
  readonly root?: boolean | undefined
2144
2147
  readonly context?: Context.Context<never> | undefined
2145
2148
  } | undefined = args.length === 1 ? undefined : args[0]
@@ -2162,9 +2165,9 @@ export const useSpan: {
2162
2165
  /** @internal */
2163
2166
  export const withParentSpan = dual<
2164
2167
  (
2165
- span: Tracer.ParentSpan
2168
+ span: Tracer.AnySpan
2166
2169
  ) => <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, Exclude<R, Tracer.ParentSpan>>,
2167
- <A, E, R>(self: Effect.Effect<A, E, R>, span: Tracer.ParentSpan) => Effect.Effect<A, E, Exclude<R, Tracer.ParentSpan>>
2170
+ <A, E, R>(self: Effect.Effect<A, E, R>, span: Tracer.AnySpan) => Effect.Effect<A, E, Exclude<R, Tracer.ParentSpan>>
2168
2171
  >(2, (self, span) => provideService(self, internalTracer.spanTag, span))
2169
2172
 
2170
2173
  /** @internal */
@@ -2172,14 +2175,14 @@ export const withSpan = dual<
2172
2175
  (name: string, options?: {
2173
2176
  readonly attributes?: Record<string, unknown> | undefined
2174
2177
  readonly links?: ReadonlyArray<Tracer.SpanLink> | undefined
2175
- readonly parent?: Tracer.ParentSpan | undefined
2178
+ readonly parent?: Tracer.AnySpan | undefined
2176
2179
  readonly root?: boolean | undefined
2177
2180
  readonly context?: Context.Context<never> | undefined
2178
2181
  }) => <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, Exclude<R, Tracer.ParentSpan>>,
2179
2182
  <A, E, R>(self: Effect.Effect<A, E, R>, name: string, options?: {
2180
2183
  readonly attributes?: Record<string, unknown> | undefined
2181
2184
  readonly links?: ReadonlyArray<Tracer.SpanLink> | undefined
2182
- readonly parent?: Tracer.ParentSpan | undefined
2185
+ readonly parent?: Tracer.AnySpan | undefined
2183
2186
  readonly root?: boolean | undefined
2184
2187
  readonly context?: Context.Context<never> | undefined
2185
2188
  }) => Effect.Effect<A, E, Exclude<R, Tracer.ParentSpan>>
@@ -981,8 +981,11 @@ export const sync = <OutDone>(
981
981
  return op
982
982
  }
983
983
 
984
- /** @internal */
985
- export const unit: Channel.Channel<never> = succeedNow(void 0)
984
+ const void_: Channel.Channel<never> = succeedNow(void 0)
985
+ export {
986
+ /** @internal */
987
+ void_ as void
988
+ }
986
989
 
987
990
  /** @internal */
988
991
  export const write = <OutElem>(
@@ -1,3 +1,4 @@
1
+ import * as Arr from "../Array.js"
1
2
  import type * as Cause from "../Cause.js"
2
3
  import * as Chunk from "../Chunk.js"
3
4
  import * as Context from "../Context.js"
@@ -27,7 +28,6 @@ import * as MutableRef from "../MutableRef.js"
27
28
  import * as Option from "../Option.js"
28
29
  import { pipeArguments } from "../Pipeable.js"
29
30
  import { hasProperty, isObject, isPromiseLike, isString, type Predicate, type Refinement } from "../Predicate.js"
30
- import * as ReadonlyArray from "../ReadonlyArray.js"
31
31
  import type * as Request from "../Request.js"
32
32
  import type * as BlockedRequests from "../RequestBlock.js"
33
33
  import type * as RequestResolver from "../RequestResolver.js"
@@ -35,7 +35,7 @@ import type * as RuntimeFlags from "../RuntimeFlags.js"
35
35
  import * as RuntimeFlagsPatch from "../RuntimeFlagsPatch.js"
36
36
  import type * as Scope from "../Scope.js"
37
37
  import type * as Tracer from "../Tracer.js"
38
- import type { NoInfer, NotFunction } from "../Types.js"
38
+ import type { NotFunction } from "../Types.js"
39
39
  import * as _blockedRequests from "./blockedRequests.js"
40
40
  import * as internalCause from "./cause.js"
41
41
  import * as deferred from "./deferred.js"
@@ -430,7 +430,7 @@ export const as: {
430
430
  )
431
431
 
432
432
  /* @internal */
433
- export const asUnit = <A, E, R>(self: Effect.Effect<A, E, R>): Effect.Effect<void, E, R> => as(self, void 0)
433
+ export const asVoid = <A, E, R>(self: Effect.Effect<A, E, R>): Effect.Effect<void, E, R> => as(self, void 0)
434
434
 
435
435
  /* @internal */
436
436
  export const custom: {
@@ -515,7 +515,7 @@ export const async = <A, E = never, R = never>(
515
515
  if (controllerRef) {
516
516
  controllerRef.abort()
517
517
  }
518
- return cancelerRef ?? unit
518
+ return cancelerRef ?? void_
519
519
  }) :
520
520
  effect
521
521
  })
@@ -886,8 +886,8 @@ export const forEachSequential: {
886
886
  2,
887
887
  <A, B, E, R>(self: Iterable<A>, f: (a: A, i: number) => Effect.Effect<B, E, R>): Effect.Effect<Array<B>, E, R> =>
888
888
  suspend(() => {
889
- const arr = ReadonlyArray.fromIterable(self)
890
- const ret = new Array(arr.length)
889
+ const arr = Arr.fromIterable(self)
890
+ const ret = Arr.allocate<B>(arr.length)
891
891
  let i = 0
892
892
  return as(
893
893
  whileLoop({
@@ -897,7 +897,7 @@ export const forEachSequential: {
897
897
  ret[i++] = b
898
898
  }
899
899
  }),
900
- ret
900
+ ret as Array<B>
901
901
  )
902
902
  })
903
903
  )
@@ -910,7 +910,7 @@ export const forEachSequentialDiscard: {
910
910
  2,
911
911
  <A, B, E, R>(self: Iterable<A>, f: (a: A, i: number) => Effect.Effect<B, E, R>): Effect.Effect<void, E, R> =>
912
912
  suspend(() => {
913
- const arr = ReadonlyArray.fromIterable(self)
913
+ const arr = Arr.fromIterable(self)
914
914
  let i = 0
915
915
  return whileLoop({
916
916
  while: () => i < arr.length,
@@ -926,35 +926,33 @@ export const forEachSequentialDiscard: {
926
926
  export const if_ = dual<
927
927
  <A1, E1, R1, A2, E2, R2>(
928
928
  options: {
929
- readonly onTrue: Effect.Effect<A1, E1, R1>
930
- readonly onFalse: Effect.Effect<A2, E2, R2>
929
+ readonly onTrue: LazyArg<Effect.Effect<A1, E1, R1>>
930
+ readonly onFalse: LazyArg<Effect.Effect<A2, E2, R2>>
931
931
  }
932
932
  ) => <E = never, R = never>(
933
933
  self: Effect.Effect<boolean, E, R> | boolean
934
934
  ) => Effect.Effect<A1 | A2, E | E1 | E2, R | R1 | R2>,
935
- {
936
- <A1, E1, R1, A2, E2, R2>(
937
- self: boolean,
938
- options: {
939
- readonly onTrue: Effect.Effect<A1, E1, R1>
940
- readonly onFalse: Effect.Effect<A2, E2, R2>
941
- }
942
- ): Effect.Effect<A1 | A2, E1 | E2, R1 | R2>
943
- <E, R, A1, E1, R1, A2, E2, R2>(
944
- self: Effect.Effect<boolean, E, R>,
945
- options: {
946
- readonly onTrue: Effect.Effect<A1, E1, R1>
947
- readonly onFalse: Effect.Effect<A2, E2, R2>
948
- }
949
- ): Effect.Effect<A1 | A2, E1 | E2 | E, R1 | R2 | R>
950
- }
935
+ <A1, E1, R1, A2, E2, R2, E = never, R = never>(
936
+ self: Effect.Effect<boolean, E, R> | boolean,
937
+ options: {
938
+ readonly onTrue: LazyArg<Effect.Effect<A1, E1, R1>>
939
+ readonly onFalse: LazyArg<Effect.Effect<A2, E2, R2>>
940
+ }
941
+ ) => Effect.Effect<A1 | A2, E1 | E2 | E, R1 | R2 | R>
951
942
  >(
952
943
  (args) => typeof args[0] === "boolean" || isEffect(args[0]),
953
- (self: boolean | Effect.Effect<unknown, unknown, unknown>, { onFalse, onTrue }: {
954
- readonly onTrue: Effect.Effect<unknown, unknown, unknown>
955
- readonly onFalse: Effect.Effect<unknown, unknown, unknown>
956
- // eslint-disable-next-line no-extra-boolean-cast
957
- }) => isEffect(self) ? flatMap(self, (b) => (b ? onTrue : onFalse)) : Boolean(self) ? onTrue : onFalse
944
+ <A1, E1, R1, A2, E2, R2, E = never, R = never>(
945
+ self: Effect.Effect<boolean, E, R> | boolean,
946
+ options: {
947
+ readonly onTrue: LazyArg<Effect.Effect<A1, E1, R1>>
948
+ readonly onFalse: LazyArg<Effect.Effect<A2, E2, R2>>
949
+ }
950
+ ): Effect.Effect<A1 | A2, E1 | E2 | E, R1 | R2 | R> =>
951
+ isEffect(self)
952
+ ? flatMap(self, (b): Effect.Effect<A1 | A2, E1 | E2, R1 | R2> => (b ? options.onTrue() : options.onFalse()))
953
+ : self
954
+ ? options.onTrue()
955
+ : options.onFalse()
958
956
  )
959
957
 
960
958
  /* @internal */
@@ -1065,7 +1063,7 @@ export const onError: {
1065
1063
  self: Effect.Effect<A, E, R>,
1066
1064
  cleanup: (cause: Cause.Cause<E>) => Effect.Effect<X, never, R2>
1067
1065
  ): Effect.Effect<A, E, R2 | R> =>
1068
- onExit(self, (exit) => exitIsSuccess(exit) ? unit : cleanup(exit.effect_instruction_i0)))
1066
+ onExit(self, (exit) => exitIsSuccess(exit) ? void_ : cleanup(exit.effect_instruction_i0)))
1069
1067
 
1070
1068
  /* @internal */
1071
1069
  export const onExit: {
@@ -1114,9 +1112,9 @@ export const onInterrupt: {
1114
1112
  exitMatch({
1115
1113
  onFailure: (cause) =>
1116
1114
  internalCause.isInterruptedOnly(cause)
1117
- ? asUnit(cleanup(internalCause.interruptors(cause)))
1118
- : unit,
1119
- onSuccess: () => unit
1115
+ ? asVoid(cleanup(internalCause.interruptors(cause)))
1116
+ : void_,
1117
+ onSuccess: () => void_
1120
1118
  })
1121
1119
  ))
1122
1120
 
@@ -1158,7 +1156,7 @@ export const partitionMap = <A, A1, A2>(
1158
1156
  elements: Iterable<A>,
1159
1157
  f: (a: A) => Either.Either<A2, A1>
1160
1158
  ): [left: Array<A1>, right: Array<A2>] =>
1161
- ReadonlyArray.fromIterable(elements).reduceRight(
1159
+ Arr.fromIterable(elements).reduceRight(
1162
1160
  ([lefts, rights], current) => {
1163
1161
  const either = f(current)
1164
1162
  switch (either._tag) {
@@ -1170,7 +1168,7 @@ export const partitionMap = <A, A1, A2>(
1170
1168
  }
1171
1169
  }
1172
1170
  },
1173
- [new Array<A1>(), new Array<A2>()]
1171
+ [Arr.empty<A1>(), Arr.empty<A2>()]
1174
1172
  )
1175
1173
 
1176
1174
  /* @internal */
@@ -1302,8 +1300,11 @@ export const uninterruptibleMask = <A, E, R>(
1302
1300
  return effect
1303
1301
  })
1304
1302
 
1305
- /* @internal */
1306
- export const unit: Effect.Effect<void> = succeed(void 0)
1303
+ const void_: Effect.Effect<void> = succeed(void 0)
1304
+ export {
1305
+ /* @internal */
1306
+ void_ as void
1307
+ }
1307
1308
 
1308
1309
  /* @internal */
1309
1310
  export const updateRuntimeFlags = (patch: RuntimeFlagsPatch.RuntimeFlagsPatch): Effect.Effect<void> => {
@@ -1668,7 +1669,7 @@ export const fiberRefSet = dual<
1668
1669
  export const fiberRefDelete = <A>(self: FiberRef.FiberRef<A>): Effect.Effect<void> =>
1669
1670
  withFiberRuntime((state) => {
1670
1671
  state.unsafeDeleteFiberRef(self)
1671
- return unit
1672
+ return void_
1672
1673
  })
1673
1674
 
1674
1675
  /* @internal */
@@ -1999,7 +2000,7 @@ export const withUnhandledErrorLogLevel = dual<
1999
2000
  /** @internal */
2000
2001
  export const currentMetricLabels: FiberRef.FiberRef<ReadonlyArray<MetricLabel.MetricLabel>> = globalValue(
2001
2002
  Symbol.for("effect/FiberRef/currentMetricLabels"),
2002
- () => fiberRefUnsafeMakeReadonlyArray(ReadonlyArray.empty())
2003
+ () => fiberRefUnsafeMakeReadonlyArray(Arr.empty())
2003
2004
  )
2004
2005
 
2005
2006
  /* @internal */
@@ -2067,7 +2068,7 @@ export const CloseableScopeTypeId: Scope.CloseableScopeTypeId = Symbol.for(
2067
2068
  export const scopeAddFinalizer = (
2068
2069
  self: Scope.Scope,
2069
2070
  finalizer: Effect.Effect<unknown>
2070
- ): Effect.Effect<void> => self.addFinalizer(() => asUnit(finalizer))
2071
+ ): Effect.Effect<void> => self.addFinalizer(() => asVoid(finalizer))
2071
2072
 
2072
2073
  /* @internal */
2073
2074
  export const scopeAddFinalizerExit = (
@@ -2109,8 +2110,8 @@ export const causeSquashWith = dual<
2109
2110
  Chunk.head,
2110
2111
  Option.match({
2111
2112
  onNone: () => {
2112
- const interrupts = Array.from(internalCause.interruptors(self)).flatMap((fiberId) =>
2113
- Array.from(FiberId.ids(fiberId)).map((id) => `#${id}`)
2113
+ const interrupts = Arr.fromIterable(internalCause.interruptors(self)).flatMap((fiberId) =>
2114
+ Arr.fromIterable(FiberId.ids(fiberId)).map((id) => `#${id}`)
2114
2115
  )
2115
2116
  return new InterruptedException(interrupts ? `Interrupted by fibers: ${interrupts.join(", ")}` : void 0)
2116
2117
  },
@@ -2310,7 +2311,7 @@ export const exitAs = dual<
2310
2311
  })
2311
2312
 
2312
2313
  /** @internal */
2313
- export const exitAsUnit = <A, E>(self: Exit.Exit<A, E>): Exit.Exit<void, E> => exitAs(self, void 0)
2314
+ export const exitAsVoid = <A, E>(self: Exit.Exit<A, E>): Exit.Exit<void, E> => exitAs(self, void 0)
2314
2315
 
2315
2316
  /** @internal */
2316
2317
  export const exitCauseOption = <A, E>(self: Exit.Exit<A, E>): Option.Option<Cause.Cause<E>> => {
@@ -2578,7 +2579,7 @@ export const exitSucceed = <A>(value: A): Exit.Exit<A> => {
2578
2579
  }
2579
2580
 
2580
2581
  /** @internal */
2581
- export const exitUnit: Exit.Exit<void> = exitSucceed(void 0)
2582
+ export const exitVoid: Exit.Exit<void> = exitSucceed(void 0)
2582
2583
 
2583
2584
  /** @internal */
2584
2585
  export const exitZip = dual<
@@ -2693,7 +2694,7 @@ const exitCollectAllInternal = <A, E>(
2693
2694
  }
2694
2695
  return pipe(
2695
2696
  Chunk.tailNonEmpty(list),
2696
- ReadonlyArray.reduce(
2697
+ Arr.reduce(
2697
2698
  pipe(Chunk.headNonEmpty(list), exitMap<A, Chunk.Chunk<A>>(Chunk.of)),
2698
2699
  (accumulator, current) =>
2699
2700
  pipe(
@@ -2705,7 +2706,7 @@ const exitCollectAllInternal = <A, E>(
2705
2706
  )
2706
2707
  ),
2707
2708
  exitMap(Chunk.reverse),
2708
- exitMap((chunk) => Array.from(chunk)),
2709
+ exitMap((chunk) => Chunk.toReadonlyArray(chunk) as Array<A>),
2709
2710
  Option.some
2710
2711
  )
2711
2712
  }
@@ -2949,7 +2950,7 @@ export const mapInputContext = dual<
2949
2950
  /** @internal */
2950
2951
  export const currentSpanFromFiber = <A, E>(fiber: Fiber.RuntimeFiber<A, E>): Option.Option<Tracer.Span> => {
2951
2952
  const span = fiber.getFiberRef(currentContext).unsafeMap.get(internalTracer.spanTag.key) as
2952
- | Tracer.ParentSpan
2953
+ | Tracer.AnySpan
2953
2954
  | undefined
2954
2955
  return span !== undefined && span._tag === "Span" ? Option.some(span) : Option.none()
2955
2956
  }
@@ -2966,7 +2967,7 @@ const NoopSpanProto: Tracer.Span = {
2966
2967
  _tag: "Ended",
2967
2968
  startTime: BigInt(0),
2968
2969
  endTime: BigInt(0),
2969
- exit: exitUnit
2970
+ exit: exitVoid
2970
2971
  },
2971
2972
  attributes: new Map(),
2972
2973
  links: [],