effect 2.4.19 → 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 (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 +288 -0
  25. package/dist/cjs/FiberHandle.js.map +1 -0
  26. package/dist/cjs/FiberMap.js +86 -27
  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 +46 -47
  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} +39 -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 +247 -0
  329. package/dist/esm/FiberHandle.js.map +1 -0
  330. package/dist/esm/FiberMap.js +85 -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 +46 -47
  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} +47 -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 +414 -0
  504. package/src/FiberMap.ts +181 -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 +49 -52
  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 Array 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 = Array.fromIterable(self)
890
+ const ret = Array.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 = Array.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
+ Array.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
+ [Array.empty<A1>(), Array.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(Array.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 = Array.fromIterable(internalCause.interruptors(self)).flatMap((fiberId) =>
2114
+ Array.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
+ Array.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: [],
@@ -1,13 +1,12 @@
1
+ import * as RA from "../Array.js"
1
2
  import * as Cause from "../Cause.js"
2
3
  import * as Chunk from "../Chunk.js"
3
4
  import type * as Context from "../Context.js"
4
5
  import * as Effect from "../Effect.js"
5
6
  import type * as Either from "../Either.js"
6
7
  import { dual, pipe } from "../Function.js"
7
- import * as RA from "../ReadonlyArray.js"
8
8
  import type * as Request from "../Request.js"
9
9
  import type * as RequestResolver from "../RequestResolver.js"
10
- import type { NoInfer } from "../Types.js"
11
10
  import * as core from "./core.js"
12
11
  import { invokeWithInterrupt, zipWithOptions } from "./fiberRuntime.js"
13
12
  import { complete } from "./request.js"
@@ -28,24 +27,24 @@ export const makeBatched = <A extends Request.Request<any, any>, R>(
28
27
  run: (requests: Array<A>) => Effect.Effect<void, never, R>
29
28
  ): RequestResolver.RequestResolver<A, R> =>
30
29
  new core.RequestResolverImpl<A, R>(
31
- (requests) =>
32
- requests.length > 1 ?
33
- core.forEachSequentialDiscard(requests, (block) =>
34
- invokeWithInterrupt(
35
- run(
36
- block
37
- .filter((_) => !_.state.completed)
38
- .map((_) => _.request)
39
- ),
40
- block
41
- )) :
42
- (requests.length === 1 ?
43
- run(
44
- requests[0]
45
- .filter((_) => !_.state.completed)
46
- .map((_) => _.request)
47
- ) :
48
- core.unit)
30
+ (requests) => {
31
+ if (requests.length > 1) {
32
+ return core.forEachSequentialDiscard(requests, (block) => {
33
+ const filtered = block.filter((_) => !_.state.completed).map((_) => _.request)
34
+ if (filtered.length === 0) {
35
+ return core.void
36
+ }
37
+ return invokeWithInterrupt(run(filtered), block)
38
+ })
39
+ } else if (requests.length === 1) {
40
+ const filtered = requests[0].filter((_) => !_.state.completed).map((_) => _.request)
41
+ if (filtered.length === 0) {
42
+ return core.void
43
+ }
44
+ return run(filtered)
45
+ }
46
+ return core.void
47
+ }
49
48
  )
50
49
 
51
50
  /** @internal */
@@ -1,7 +1,7 @@
1
+ import * as Array from "../../Array.js"
1
2
  import type * as Differ from "../../Differ.js"
2
3
  import * as Equal from "../../Equal.js"
3
4
  import * as Dual from "../../Function.js"
4
- import * as ReadonlyArray from "../../ReadonlyArray.js"
5
5
  import * as Data from "../data.js"
6
6
 
7
7
  /** @internal */
@@ -135,7 +135,7 @@ export const diff = <Value, Patch>(
135
135
  patch = combine(patch, makeSlice(0, i))
136
136
  }
137
137
  if (i < options.newValue.length) {
138
- patch = combine(patch, makeAppend(ReadonlyArray.drop(i)(options.newValue)))
138
+ patch = combine(patch, makeAppend(Array.drop(i)(options.newValue)))
139
139
  }
140
140
  return patch
141
141
  }
@@ -173,10 +173,10 @@ export const patch = Dual.dual<
173
173
  return oldValue
174
174
  }
175
175
  let readonlyArray = oldValue.slice()
176
- let patches: Array<Differ.Differ.ReadonlyArray.Patch<Value, Patch>> = ReadonlyArray.of(self)
177
- while (ReadonlyArray.isNonEmptyArray(patches)) {
178
- const head: Instruction = ReadonlyArray.headNonEmpty(patches) as Instruction
179
- const tail = ReadonlyArray.tailNonEmpty(patches)
176
+ let patches: Array<Differ.Differ.ReadonlyArray.Patch<Value, Patch>> = Array.of(self)
177
+ while (Array.isNonEmptyArray(patches)) {
178
+ const head: Instruction = Array.headNonEmpty(patches) as Instruction
179
+ const tail = Array.tailNonEmpty(patches)
180
180
  switch (head._tag) {
181
181
  case "Empty": {
182
182
  patches = tail
@@ -289,8 +289,8 @@ export const forkIn = dual<
289
289
  child.addFinalizer(() =>
290
290
  core.fiberIdWith((fiberId) =>
291
291
  Equal.equals(fiberId, fiber.id()) ?
292
- core.unit :
293
- core.asUnit(core.interruptFiber(fiber))
292
+ core.void :
293
+ core.asVoid(core.interruptFiber(fiber))
294
294
  )
295
295
  )
296
296
  )
@@ -46,27 +46,29 @@ export const isParallelN = (self: ExecutionStrategy.ExecutionStrategy): self is
46
46
 
47
47
  /** @internal */
48
48
  export const match = dual<
49
- <A>(
50
- onSequential: LazyArg<A>,
51
- onParallel: LazyArg<A>,
52
- onParallelN: (n: number) => A
53
- ) => (self: ExecutionStrategy.ExecutionStrategy) => A,
49
+ <A>(options: {
50
+ readonly onSequential: LazyArg<A>
51
+ readonly onParallel: LazyArg<A>
52
+ readonly onParallelN: (n: number) => A
53
+ }) => (self: ExecutionStrategy.ExecutionStrategy) => A,
54
54
  <A>(
55
55
  self: ExecutionStrategy.ExecutionStrategy,
56
- onSequential: LazyArg<A>,
57
- onParallel: LazyArg<A>,
58
- onParallelN: (n: number) => A
56
+ options: {
57
+ readonly onSequential: LazyArg<A>
58
+ readonly onParallel: LazyArg<A>
59
+ readonly onParallelN: (n: number) => A
60
+ }
59
61
  ) => A
60
- >(4, (self, onSequential, onParallel, onParallelN) => {
62
+ >(2, (self, options) => {
61
63
  switch (self._tag) {
62
64
  case OP_SEQUENTIAL: {
63
- return onSequential()
65
+ return options.onSequential()
64
66
  }
65
67
  case OP_PARALLEL: {
66
- return onParallel()
68
+ return options.onParallel()
67
69
  }
68
70
  case OP_PARALLEL_N: {
69
- return onParallelN(self.parallelism)
71
+ return options.onParallelN(self.parallelism)
70
72
  }
71
73
  }
72
74
  })
@@ -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 */