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
@@ -25,8 +25,8 @@ import * as fiberRuntime from "./fiberRuntime.js"
25
25
  *
26
26
  * @internal
27
27
  */
28
- export interface CacheState<in out Key, out Error, out Value> {
29
- map: MutableHashMap.MutableHashMap<Key, MapValue<Key, Error, Value>> // mutable by design
28
+ export interface CacheState<in out Key, out Value, out Error = never> {
29
+ map: MutableHashMap.MutableHashMap<Key, MapValue<Key, Value, Error>> // mutable by design
30
30
  keys: _cache.KeySet<Key> // mutable by design
31
31
  accesses: MutableQueue.MutableQueue<_cache.MapKey<Key>> // mutable by design
32
32
  updating: MutableRef.MutableRef<boolean> // mutable by design
@@ -35,14 +35,14 @@ export interface CacheState<in out Key, out Error, out Value> {
35
35
  }
36
36
 
37
37
  /** @internal */
38
- export const makeCacheState = <Key, Error, Value>(
39
- map: MutableHashMap.MutableHashMap<Key, MapValue<Key, Error, Value>>,
38
+ export const makeCacheState = <Key, Value, Error = never>(
39
+ map: MutableHashMap.MutableHashMap<Key, MapValue<Key, Value, Error>>,
40
40
  keys: _cache.KeySet<Key>,
41
41
  accesses: MutableQueue.MutableQueue<_cache.MapKey<Key>>,
42
42
  updating: MutableRef.MutableRef<boolean>,
43
43
  hits: number,
44
44
  misses: number
45
- ): CacheState<Key, Error, Value> => ({
45
+ ): CacheState<Key, Value, Error> => ({
46
46
  map,
47
47
  keys,
48
48
  accesses,
@@ -56,7 +56,7 @@ export const makeCacheState = <Key, Error, Value>(
56
56
  *
57
57
  * @internal
58
58
  */
59
- export const initialCacheState = <Key, Error, Value>(): CacheState<Key, Error, Value> =>
59
+ export const initialCacheState = <Key, Value, Error = never>(): CacheState<Key, Value, Error> =>
60
60
  makeCacheState(
61
61
  MutableHashMap.empty(),
62
62
  _cache.makeKeySet(),
@@ -74,13 +74,13 @@ export const initialCacheState = <Key, Error, Value>(): CacheState<Key, Error, V
74
74
  *
75
75
  * @internal
76
76
  */
77
- export type MapValue<Key, Error, Value> =
78
- | Complete<Key, Error, Value>
79
- | Pending<Key, Error, Value>
80
- | Refreshing<Key, Error, Value>
77
+ export type MapValue<Key, Value, Error> =
78
+ | Complete<Key, Value, Error>
79
+ | Pending<Key, Value, Error>
80
+ | Refreshing<Key, Value, Error>
81
81
 
82
82
  /** @internal */
83
- export interface Complete<out Key, out Error, out Value> {
83
+ export interface Complete<out Key, out Value, out Error> {
84
84
  readonly _tag: "Complete"
85
85
  readonly key: _cache.MapKey<Key>
86
86
  readonly exit: Exit.Exit<readonly [Value, Scope.Scope.Finalizer], Error>
@@ -90,27 +90,27 @@ export interface Complete<out Key, out Error, out Value> {
90
90
  }
91
91
 
92
92
  /** @internal */
93
- export interface Pending<out Key, out Error, out Value> {
93
+ export interface Pending<out Key, out Value, out Error> {
94
94
  readonly _tag: "Pending"
95
95
  readonly key: _cache.MapKey<Key>
96
96
  readonly scoped: Effect.Effect<Effect.Effect<Value, Error, Scope.Scope>>
97
97
  }
98
98
 
99
99
  /** @internal */
100
- export interface Refreshing<out Key, out Error, out Value> {
100
+ export interface Refreshing<out Key, out Value, out Error> {
101
101
  readonly _tag: "Refreshing"
102
102
  readonly scoped: Effect.Effect<Effect.Effect<Value, Error, Scope.Scope>>
103
- readonly complete: Complete<Key, Error, Value>
103
+ readonly complete: Complete<Key, Value, Error>
104
104
  }
105
105
 
106
106
  /** @internal */
107
- export const complete = <Key, Error, Value>(
107
+ export const complete = <Key, Value, Error = never>(
108
108
  key: _cache.MapKey<Key>,
109
109
  exit: Exit.Exit<readonly [Value, Scope.Scope.Finalizer], Error>,
110
110
  ownerCount: MutableRef.MutableRef<number>,
111
111
  entryStats: Cache.EntryStats,
112
112
  timeToLive: number
113
- ): Complete<Key, Error, Value> =>
113
+ ): Complete<Key, Value, Error> =>
114
114
  Data.struct({
115
115
  _tag: "Complete",
116
116
  key,
@@ -121,10 +121,10 @@ export const complete = <Key, Error, Value>(
121
121
  })
122
122
 
123
123
  /** @internal */
124
- export const pending = <Key, Error, Value>(
124
+ export const pending = <Key, Value, Error = never>(
125
125
  key: _cache.MapKey<Key>,
126
126
  scoped: Effect.Effect<Effect.Effect<Value, Error, Scope.Scope>>
127
- ): Pending<Key, Error, Value> =>
127
+ ): Pending<Key, Value, Error> =>
128
128
  Data.struct({
129
129
  _tag: "Pending",
130
130
  key,
@@ -132,10 +132,10 @@ export const pending = <Key, Error, Value>(
132
132
  })
133
133
 
134
134
  /** @internal */
135
- export const refreshing = <Key, Error, Value>(
135
+ export const refreshing = <Key, Value, Error = never>(
136
136
  scoped: Effect.Effect<Effect.Effect<Value, Error, Scope.Scope>>,
137
- complete: Complete<Key, Error, Value>
138
- ): Refreshing<Key, Error, Value> =>
137
+ complete: Complete<Key, Value, Error>
138
+ ): Refreshing<Key, Value, Error> =>
139
139
  Data.struct({
140
140
  _tag: "Refreshing",
141
141
  scoped,
@@ -143,8 +143,8 @@ export const refreshing = <Key, Error, Value>(
143
143
  })
144
144
 
145
145
  /** @internal */
146
- export const toScoped = <Key, Error, Value>(
147
- self: Complete<Key, Error, Value>
146
+ export const toScoped = <Key, Value, Error = never>(
147
+ self: Complete<Key, Value, Error>
148
148
  ): Effect.Effect<Value, Error, Scope.Scope> =>
149
149
  Exit.matchEffect(self.exit, {
150
150
  onFailure: (cause) => core.failCause(cause),
@@ -156,15 +156,15 @@ export const toScoped = <Key, Error, Value>(
156
156
  })
157
157
 
158
158
  /** @internal */
159
- export const releaseOwner = <Key, Error, Value>(
160
- self: Complete<Key, Error, Value>
159
+ export const releaseOwner = <Key, Value, Error = never>(
160
+ self: Complete<Key, Value, Error>
161
161
  ): Effect.Effect<void> =>
162
162
  Exit.matchEffect(self.exit, {
163
- onFailure: () => core.unit,
163
+ onFailure: () => core.void,
164
164
  onSuccess: ([, finalizer]) =>
165
165
  core.flatMap(
166
166
  core.sync(() => MutableRef.decrementAndGet(self.ownerCount)),
167
- (numOwner) => effect.when(finalizer(Exit.unit), () => numOwner === 0)
167
+ (numOwner) => effect.when(finalizer(Exit.void), () => numOwner === 0)
168
168
  )
169
169
  })
170
170
 
@@ -186,13 +186,13 @@ const scopedCacheVariance = {
186
186
  }
187
187
 
188
188
  class ScopedCacheImpl<in out Key, in out Environment, in out Error, in out Value>
189
- implements ScopedCache.ScopedCache<Key, Error, Value>
189
+ implements ScopedCache.ScopedCache<Key, Value, Error>
190
190
  {
191
191
  readonly [ScopedCacheTypeId] = scopedCacheVariance
192
- readonly cacheState: CacheState<Key, Error, Value>
192
+ readonly cacheState: CacheState<Key, Value, Error>
193
193
  constructor(
194
194
  readonly capacity: number,
195
- readonly scopedLookup: ScopedCache.Lookup<Key, Environment, Error, Value>,
195
+ readonly scopedLookup: ScopedCache.Lookup<Key, Value, Error, Environment>,
196
196
  readonly clock: Clock.Clock,
197
197
  readonly timeToLive: (exit: Exit.Exit<Value, Error>) => Duration.Duration,
198
198
  readonly context: Context.Context<Environment>
@@ -285,7 +285,7 @@ class ScopedCacheImpl<in out Key, in out Environment, in out Error, in out Value
285
285
  this.resolveMapValue(value),
286
286
  core.flatMap(Option.match({
287
287
  onNone: () => {
288
- const val = value as Complete<Key, Error, Value>
288
+ const val = value as Complete<Key, Value, Error>
289
289
  const current = Option.getOrUndefined(MutableHashMap.get(this.cacheState.map, key))
290
290
  if (Equal.equals(current, value)) {
291
291
  MutableHashMap.remove(this.cacheState.map, key)
@@ -315,14 +315,14 @@ class ScopedCacheImpl<in out Key, in out Environment, in out Error, in out Value
315
315
  return releaseOwner(mapValue)
316
316
  }
317
317
  case "Pending": {
318
- return core.unit
318
+ return core.void
319
319
  }
320
320
  case "Refreshing": {
321
321
  return releaseOwner(mapValue.complete)
322
322
  }
323
323
  }
324
324
  }
325
- return core.unit
325
+ return core.void
326
326
  })
327
327
  }
328
328
 
@@ -383,7 +383,7 @@ class ScopedCacheImpl<in out Key, in out Environment, in out Error, in out Value
383
383
  }
384
384
  }
385
385
  }
386
- return core.flatMap(finalScoped, (s) => fiberRuntime.scopedEffect(core.asUnit(s)))
386
+ return core.flatMap(finalScoped, (s) => fiberRuntime.scopedEffect(core.asVoid(s)))
387
387
  })
388
388
  )
389
389
  }
@@ -393,7 +393,7 @@ class ScopedCacheImpl<in out Key, in out Environment, in out Error, in out Value
393
393
  }
394
394
 
395
395
  resolveMapValue(
396
- value: MapValue<Key, Error, Value>,
396
+ value: MapValue<Key, Value, Error>,
397
397
  ignorePending = false
398
398
  ): Effect.Effect<Effect.Effect<Option.Option<Value>, Error, Scope.Scope>> {
399
399
  switch (value._tag) {
@@ -459,14 +459,14 @@ class ScopedCacheImpl<in out Key, in out Environment, in out Error, in out Value
459
459
  exit.value,
460
460
  release
461
461
  ])
462
- const completedResult = complete<Key, Error, Value>(
462
+ const completedResult = complete<Key, Value, Error>(
463
463
  _cache.makeMapKey(key),
464
464
  exitWithFinalizer,
465
465
  MutableRef.make(1),
466
466
  _cache.makeEntryStats(now),
467
467
  expiredAt
468
468
  )
469
- let previousValue: MapValue<Key, Error, Value> | undefined = undefined
469
+ let previousValue: MapValue<Key, Value, Error> | undefined = undefined
470
470
  if (MutableHashMap.has(this.cacheState.map, key)) {
471
471
  previousValue = Option.getOrUndefined(MutableHashMap.get(this.cacheState.map, key))
472
472
  }
@@ -481,14 +481,14 @@ class ScopedCacheImpl<in out Key, in out Environment, in out Error, in out Value
481
481
  )
482
482
  }
483
483
  case "Failure": {
484
- const completedResult = complete<Key, Error, Value>(
484
+ const completedResult = complete<Key, Value, Error>(
485
485
  _cache.makeMapKey(key),
486
486
  exit as Exit.Exit<readonly [Value, Scope.Scope.Finalizer], Error>,
487
487
  MutableRef.make(0),
488
488
  _cache.makeEntryStats(now),
489
489
  expiredAt
490
490
  )
491
- let previousValue: MapValue<Key, Error, Value> | undefined = undefined
491
+ let previousValue: MapValue<Key, Value, Error> | undefined = undefined
492
492
  if (MutableHashMap.has(this.cacheState.map, key)) {
493
493
  previousValue = Option.getOrUndefined(MutableHashMap.get(this.cacheState.map, key))
494
494
  }
@@ -524,8 +524,8 @@ class ScopedCacheImpl<in out Key, in out Environment, in out Error, in out Value
524
524
  this.cacheState.misses = this.cacheState.misses + 1
525
525
  }
526
526
 
527
- trackAccess(key: _cache.MapKey<Key>): Array<MapValue<Key, Error, Value>> {
528
- const cleanedKeys: Array<MapValue<Key, Error, Value>> = []
527
+ trackAccess(key: _cache.MapKey<Key>): Array<MapValue<Key, Value, Error>> {
528
+ const cleanedKeys: Array<MapValue<Key, Value, Error>> = []
529
529
  MutableQueue.offer(this.cacheState.accesses, key)
530
530
  if (MutableRef.compareAndSet(this.cacheState.updating, false, true)) {
531
531
  let loop = true
@@ -558,16 +558,16 @@ class ScopedCacheImpl<in out Key, in out Environment, in out Error, in out Value
558
558
  return cleanedKeys
559
559
  }
560
560
 
561
- cleanMapValue(mapValue: MapValue<Key, Error, Value> | undefined): Effect.Effect<void> {
561
+ cleanMapValue(mapValue: MapValue<Key, Value, Error> | undefined): Effect.Effect<void> {
562
562
  if (mapValue === undefined) {
563
- return core.unit
563
+ return core.void
564
564
  }
565
565
  switch (mapValue._tag) {
566
566
  case "Complete": {
567
567
  return releaseOwner(mapValue)
568
568
  }
569
569
  case "Pending": {
570
- return core.unit
570
+ return core.void
571
571
  }
572
572
  case "Refreshing": {
573
573
  return releaseOwner(mapValue.complete)
@@ -586,13 +586,13 @@ class ScopedCacheImpl<in out Key, in out Environment, in out Error, in out Value
586
586
  }
587
587
 
588
588
  /** @internal */
589
- export const make = <Key, Environment, Error, Value>(
589
+ export const make = <Key, Value, Error = never, Environment = never>(
590
590
  options: {
591
- readonly lookup: ScopedCache.Lookup<Key, Environment, Error, Value>
591
+ readonly lookup: ScopedCache.Lookup<Key, Value, Error, Environment>
592
592
  readonly capacity: number
593
593
  readonly timeToLive: Duration.DurationInput
594
594
  }
595
- ): Effect.Effect<ScopedCache.ScopedCache<Key, Error, Value>, never, Environment | Scope.Scope> => {
595
+ ): Effect.Effect<ScopedCache.ScopedCache<Key, Value, Error>, never, Environment | Scope.Scope> => {
596
596
  const timeToLive = Duration.decode(options.timeToLive)
597
597
  return makeWith({
598
598
  capacity: options.capacity,
@@ -602,13 +602,13 @@ export const make = <Key, Environment, Error, Value>(
602
602
  }
603
603
 
604
604
  /** @internal */
605
- export const makeWith = <Key, Environment, Error, Value>(
605
+ export const makeWith = <Key, Value, Error = never, Environment = never>(
606
606
  options: {
607
607
  readonly capacity: number
608
- readonly lookup: ScopedCache.Lookup<Key, Environment, Error, Value>
608
+ readonly lookup: ScopedCache.Lookup<Key, Value, Error, Environment>
609
609
  readonly timeToLive: (exit: Exit.Exit<Value, Error>) => Duration.DurationInput
610
610
  }
611
- ): Effect.Effect<ScopedCache.ScopedCache<Key, Error, Value>, never, Environment | Scope.Scope> =>
611
+ ): Effect.Effect<ScopedCache.ScopedCache<Key, Value, Error>, never, Environment | Scope.Scope> =>
612
612
  core.flatMap(
613
613
  effect.clock,
614
614
  (clock) =>
@@ -620,12 +620,12 @@ export const makeWith = <Key, Environment, Error, Value>(
620
620
  )
621
621
  )
622
622
 
623
- const buildWith = <Key, Environment, Error, Value>(
623
+ const buildWith = <Key, Value, Error = never, Environment = never>(
624
624
  capacity: number,
625
- scopedLookup: ScopedCache.Lookup<Key, Environment, Error, Value>,
625
+ scopedLookup: ScopedCache.Lookup<Key, Value, Error, Environment>,
626
626
  clock: Clock.Clock,
627
627
  timeToLive: (exit: Exit.Exit<Value, Error>) => Duration.Duration
628
- ): Effect.Effect<ScopedCache.ScopedCache<Key, Error, Value>, never, Environment | Scope.Scope> =>
628
+ ): Effect.Effect<ScopedCache.ScopedCache<Key, Value, Error>, never, Environment | Scope.Scope> =>
629
629
  fiberRuntime.acquireRelease(
630
630
  core.flatMap(
631
631
  core.context<Environment>(),
@@ -27,7 +27,7 @@ const scopedRefVariance = {
27
27
 
28
28
  /** @internal */
29
29
  const close = <A>(self: ScopedRef.ScopedRef<A>): Effect.Effect<void> =>
30
- core.flatMap(ref.get(self.ref), (tuple) => tuple[0].close(core.exitUnit))
30
+ core.flatMap(ref.get(self.ref), (tuple) => tuple[0].close(core.exitVoid))
31
31
 
32
32
  /** @internal */
33
33
  export const fromAcquire = <A, E, R>(
@@ -83,14 +83,14 @@ export const set = dual<
83
83
  core.flatten(
84
84
  synchronized.modifyEffect(self.ref, ([oldScope, value]) =>
85
85
  core.uninterruptible(
86
- core.scopeClose(oldScope, core.exitUnit).pipe(
86
+ core.scopeClose(oldScope, core.exitVoid).pipe(
87
87
  core.zipRight(fiberRuntime.scopeMake()),
88
88
  core.flatMap((newScope) =>
89
89
  core.exit(fiberRuntime.scopeExtend(acquire, newScope)).pipe(
90
90
  core.flatMap((exit) =>
91
91
  core.exitMatch(exit, {
92
92
  onFailure: (cause) =>
93
- core.scopeClose(newScope, core.exitUnit).pipe(
93
+ core.scopeClose(newScope, core.exitVoid).pipe(
94
94
  core.as(
95
95
  [
96
96
  core.failCause(cause) as Effect.Effect<void, E>,
@@ -101,7 +101,7 @@ export const set = dual<
101
101
  onSuccess: (value) =>
102
102
  core.succeed(
103
103
  [
104
- core.unit as Effect.Effect<void, E>,
104
+ core.void as Effect.Effect<void, E>,
105
105
  [newScope, value] as const
106
106
  ] as const
107
107
  )
@@ -1,8 +1,8 @@
1
+ import * as Array from "../Array.js"
1
2
  import * as Equal from "../Equal.js"
2
3
  import { pipe } from "../Function.js"
3
4
  import * as Hash from "../Hash.js"
4
5
  import { hasProperty } from "../Predicate.js"
5
- import * as ReadonlyArray from "../ReadonlyArray.js"
6
6
  import type * as Secret from "../Secret.js"
7
7
 
8
8
  /** @internal */
@@ -56,7 +56,7 @@ export const make = (bytes: Array<number>): Secret.Secret => {
56
56
 
57
57
  /** @internal */
58
58
  export const fromIterable = (iterable: Iterable<string>): Secret.Secret =>
59
- make(ReadonlyArray.fromIterable(iterable).map((char) => char.charCodeAt(0)))
59
+ make(Array.fromIterable(iterable).map((char) => char.charCodeAt(0)))
60
60
 
61
61
  /** @internal */
62
62
  export const fromString = (text: string): Secret.Secret => {
@@ -1,3 +1,4 @@
1
+ import * as Array from "../Array.js"
1
2
  import * as Cause from "../Cause.js"
2
3
  import type * as Channel from "../Channel.js"
3
4
  import * as Chunk from "../Chunk.js"
@@ -17,7 +18,6 @@ import { pipeArguments } from "../Pipeable.js"
17
18
  import { hasProperty, type Predicate, type Refinement } from "../Predicate.js"
18
19
  import * as PubSub from "../PubSub.js"
19
20
  import * as Queue from "../Queue.js"
20
- import * as ReadonlyArray from "../ReadonlyArray.js"
21
21
  import * as Ref from "../Ref.js"
22
22
  import type * as Scope from "../Scope.js"
23
23
  import type * as Sink from "../Sink.js"
@@ -213,7 +213,7 @@ const collectAllWhileReader = <In>(
213
213
  ): Channel.Channel<Chunk.Chunk<In>, Chunk.Chunk<In>, never, never, Chunk.Chunk<In>, unknown> =>
214
214
  core.readWith({
215
215
  onInput: (input: Chunk.Chunk<In>) => {
216
- const [collected, leftovers] = pipe(Chunk.toReadonlyArray(input), ReadonlyArray.span(predicate))
216
+ const [collected, leftovers] = pipe(Chunk.toReadonlyArray(input), Array.span(predicate))
217
217
  if (leftovers.length === 0) {
218
218
  return collectAllWhileReader(
219
219
  predicate,
@@ -565,7 +565,7 @@ const dropLoop = <In>(
565
565
  )
566
566
  },
567
567
  onFailure: core.fail,
568
- onDone: () => core.unit
568
+ onDone: () => core.void
569
569
  })
570
570
 
571
571
  /** @internal */
@@ -600,7 +600,7 @@ const dropUntilEffectReader = <In, R, E>(
600
600
  channel.unwrap
601
601
  ),
602
602
  onFailure: core.fail,
603
- onDone: () => core.unit
603
+ onDone: () => core.void
604
604
  })
605
605
 
606
606
  /** @internal */
@@ -649,7 +649,7 @@ const dropWhileEffectReader = <In, R, E>(
649
649
  channel.unwrap
650
650
  ),
651
651
  onFailure: core.fail,
652
- onDone: () => core.unit
652
+ onDone: () => core.void
653
653
  })
654
654
 
655
655
  /** @internal */
@@ -1346,7 +1346,7 @@ export const forEach = <In, X, E, R>(f: (input: In) => Effect.Effect<X, E, R>):
1346
1346
  onInput: (input: Chunk.Chunk<In>) =>
1347
1347
  pipe(core.fromEffect(Effect.forEach(input, (v) => f(v), { discard: true })), core.flatMap(() => process)),
1348
1348
  onFailure: core.failCause,
1349
- onDone: () => core.unit
1349
+ onDone: () => core.void
1350
1350
  })
1351
1351
  return new SinkImpl(process)
1352
1352
  }
@@ -1358,7 +1358,7 @@ export const forEachChunk = <In, X, E, R>(
1358
1358
  const process: Channel.Channel<never, Chunk.Chunk<In>, E, E, void, unknown, R> = core.readWithCause({
1359
1359
  onInput: (input: Chunk.Chunk<In>) => pipe(core.fromEffect(f(input)), core.flatMap(() => process)),
1360
1360
  onFailure: core.failCause,
1361
- onDone: () => core.unit
1361
+ onDone: () => core.void
1362
1362
  })
1363
1363
  return new SinkImpl(process)
1364
1364
  }
@@ -1370,7 +1370,7 @@ export const forEachWhile = <In, E, R>(
1370
1370
  const process: Channel.Channel<Chunk.Chunk<In>, Chunk.Chunk<In>, E, E, void, unknown, R> = core.readWithCause({
1371
1371
  onInput: (input: Chunk.Chunk<In>) => forEachWhileReader(f, input, 0, input.length, process),
1372
1372
  onFailure: core.failCause,
1373
- onDone: () => core.unit
1373
+ onDone: () => core.void
1374
1374
  })
1375
1375
  return new SinkImpl(process)
1376
1376
  }
@@ -1405,10 +1405,10 @@ export const forEachChunkWhile = <In, E, R>(
1405
1405
  onInput: (input: Chunk.Chunk<In>) =>
1406
1406
  pipe(
1407
1407
  core.fromEffect(f(input)),
1408
- core.flatMap((cont) => cont ? reader : core.unit)
1408
+ core.flatMap((cont) => cont ? reader : core.void)
1409
1409
  ),
1410
1410
  onFailure: core.fail,
1411
- onDone: () => core.unit
1411
+ onDone: () => core.void
1412
1412
  })
1413
1413
  return new SinkImpl(reader)
1414
1414
  }
@@ -183,5 +183,8 @@ export const retry: TExit<never> = {
183
183
  }
184
184
  }
185
185
 
186
- /** @internal */
187
- export const unit = (): TExit<void> => succeed(undefined)
186
+ const void_: TExit<void> = succeed(undefined)
187
+ export {
188
+ /** @internal */
189
+ void_ as void
190
+ }
@@ -1,3 +1,4 @@
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 * as Context from "../../Context.js"
@@ -10,9 +11,8 @@ import { constFalse, constTrue, constVoid, dual, identity, pipe } from "../../Fu
10
11
  import * as Option from "../../Option.js"
11
12
  import type { Predicate, Refinement } from "../../Predicate.js"
12
13
  import * as predicate from "../../Predicate.js"
13
- import * as RA from "../../ReadonlyArray.js"
14
14
  import type * as STM from "../../STM.js"
15
- import type { MergeRecord, NoInfer } from "../../Types.js"
15
+ import type { MergeRecord } from "../../Types.js"
16
16
  import * as effectCore from "../core.js"
17
17
  import * as SingleShotGen from "../singleShotGen.js"
18
18
  import * as core from "./core.js"
@@ -98,7 +98,7 @@ export const asSomeError = <A, E, R>(self: STM.STM<A, E, R>): STM.STM<A, Option.
98
98
  pipe(self, mapError(Option.some))
99
99
 
100
100
  /** @internal */
101
- export const asUnit = <A, E, R>(self: STM.STM<A, E, R>): STM.STM<void, E, R> => pipe(self, core.map(constVoid))
101
+ export const asVoid = <A, E, R>(self: STM.STM<A, E, R>): STM.STM<void, E, R> => pipe(self, core.map(constVoid))
102
102
 
103
103
  /** @internal */
104
104
  export const attempt = <A>(evaluate: LazyArg<A>): STM.STM<A, unknown> =>
@@ -273,7 +273,7 @@ export const catchTags: {
273
273
  }))
274
274
 
275
275
  /** @internal */
276
- export const check = (predicate: LazyArg<boolean>): STM.STM<void> => suspend(() => predicate() ? unit : core.retry)
276
+ export const check = (predicate: LazyArg<boolean>): STM.STM<void> => suspend(() => predicate() ? void_ : core.retry)
277
277
 
278
278
  /** @internal */
279
279
  export const collect = dual<
@@ -573,7 +573,7 @@ export const forEach = dual<
573
573
  const loop: STM.STM<void, E, R> = suspend(() => {
574
574
  const next = iterator.next()
575
575
  if (next.done) {
576
- return unit
576
+ return void_
577
577
  }
578
578
  return pipe(f(next.value), core.flatMap(() => loop))
579
579
  })
@@ -713,7 +713,7 @@ export const if_ = dual<
713
713
 
714
714
  /** @internal */
715
715
  export const ignore = <A, E, R>(self: STM.STM<A, E, R>): STM.STM<void, never, R> =>
716
- match(self, { onFailure: () => unit, onSuccess: () => unit })
716
+ match(self, { onFailure: () => void_, onSuccess: () => void_ })
717
717
 
718
718
  /** @internal */
719
719
  export const isFailure = <A, E, R>(self: STM.STM<A, E, R>): STM.STM<boolean, never, R> =>
@@ -806,7 +806,7 @@ const loopDiscardLoop = <Z, R, E, X>(
806
806
  core.flatMap(() => loopDiscardLoop(inc(initial), cont, inc, body))
807
807
  )
808
808
  }
809
- return unit
809
+ return void_
810
810
  }
811
811
 
812
812
  /** @internal */
@@ -872,7 +872,7 @@ export const none = <A, E, R>(self: STM.STM<Option.Option<A>, E, R>): STM.STM<vo
872
872
  core.matchSTM(self, {
873
873
  onFailure: (e) => core.fail(Option.some(e)),
874
874
  onSuccess: Option.match({
875
- onNone: () => unit,
875
+ onNone: () => void_,
876
876
  onSome: () => core.fail(Option.none())
877
877
  })
878
878
  })
@@ -1370,7 +1370,11 @@ export const try_: {
1370
1370
  }
1371
1371
 
1372
1372
  /** @internal */
1373
- export const unit: STM.STM<void> = core.succeed(void 0)
1373
+ const void_: STM.STM<void> = core.succeed(void 0)
1374
+ export {
1375
+ /** @internal */
1376
+ void_ as void
1377
+ }
1374
1378
 
1375
1379
  /** @internal */
1376
1380
  export const unless = dual<
@@ -1,3 +1,4 @@
1
+ import * as RA from "../../Array.js"
1
2
  import * as Chunk from "../../Chunk.js"
2
3
  import * as Equal from "../../Equal.js"
3
4
  import type { LazyArg } from "../../Function.js"
@@ -6,7 +7,6 @@ import * as Hash from "../../Hash.js"
6
7
  import * as HashMap from "../../HashMap.js"
7
8
  import * as Option from "../../Option.js"
8
9
  import { hasProperty } from "../../Predicate.js"
9
- import * as RA from "../../ReadonlyArray.js"
10
10
  import * as STM from "../../STM.js"
11
11
  import type * as TArray from "../../TArray.js"
12
12
  import type * as TMap from "../../TMap.js"
@@ -187,7 +187,7 @@ export const forEach = dual<
187
187
  reduceSTM(
188
188
  self,
189
189
  void 0 as void,
190
- (_, value, key) => stm.asUnit(f(key, value))
190
+ (_, value, key) => stm.asVoid(f(key, value))
191
191
  ))
192
192
 
193
193
  /** @internal */
@@ -501,7 +501,7 @@ export const setIfAbsent = dual<
501
501
  get(self, key),
502
502
  Option.match({
503
503
  onNone: () => set(self, key, value),
504
- onSome: () => stm.unit
504
+ onSome: () => stm.void
505
505
  })
506
506
  ))
507
507
 
@@ -1,9 +1,9 @@
1
+ import * as Array from "../../Array.js"
1
2
  import * as Chunk from "../../Chunk.js"
2
3
  import { dual, pipe } from "../../Function.js"
3
4
  import * as Option from "../../Option.js"
4
5
  import type * as Order from "../../Order.js"
5
6
  import type { Predicate } from "../../Predicate.js"
6
- import * as ReadonlyArray from "../../ReadonlyArray.js"
7
7
  import * as SortedMap from "../../SortedMap.js"
8
8
  import type * as STM from "../../STM.js"
9
9
  import type * as TPriorityQueue from "../../TPriorityQueue.js"
@@ -42,7 +42,7 @@ export const fromIterable =
42
42
  <A>(order: Order.Order<A>) => (iterable: Iterable<A>): STM.STM<TPriorityQueue.TPriorityQueue<A>> =>
43
43
  pipe(
44
44
  tRef.make(
45
- Array.from(iterable).reduce(
45
+ Array.fromIterable(iterable).reduce(
46
46
  (map, value) =>
47
47
  pipe(
48
48
  map,
@@ -52,8 +52,8 @@ export const fromIterable =
52
52
  map,
53
53
  SortedMap.get(value),
54
54
  Option.match({
55
- onNone: () => ReadonlyArray.of(value),
56
- onSome: ReadonlyArray.prepend(value)
55
+ onNone: () => Array.of(value),
56
+ onSome: Array.prepend(value)
57
57
  })
58
58
  )
59
59
  )
@@ -86,8 +86,8 @@ export const offer = dual<
86
86
  map,
87
87
  value,
88
88
  Option.match(SortedMap.get(map, value), {
89
- onNone: () => ReadonlyArray.of(value),
90
- onSome: ReadonlyArray.prepend(value)
89
+ onNone: () => Array.of(value),
90
+ onSome: Array.prepend(value)
91
91
  })
92
92
  )))
93
93
 
@@ -97,14 +97,14 @@ export const offerAll = dual<
97
97
  <A>(self: TPriorityQueue.TPriorityQueue<A>, values: Iterable<A>) => STM.STM<void>
98
98
  >(2, (self, values) =>
99
99
  tRef.update(self.ref, (map) =>
100
- Array.from(values).reduce(
100
+ Array.fromIterable(values).reduce(
101
101
  (map, value) =>
102
102
  SortedMap.set(
103
103
  map,
104
104
  value,
105
105
  Option.match(SortedMap.get(map, value), {
106
- onNone: () => ReadonlyArray.of(value),
107
- onSome: ReadonlyArray.prepend(value)
106
+ onNone: () => Array.of(value),
107
+ onSome: Array.prepend(value)
108
108
  })
109
109
  ),
110
110
  map
@@ -147,7 +147,7 @@ export const retainIf = dual<
147
147
  self.ref,
148
148
  (map) =>
149
149
  SortedMap.reduce(map, SortedMap.empty(SortedMap.getOrder(map)), (map, value, key) => {
150
- const filtered: ReadonlyArray<A> = ReadonlyArray.filter(value, predicate)
150
+ const filtered: ReadonlyArray<A> = Array.filter(value, predicate)
151
151
  return filtered.length > 0 ?
152
152
  SortedMap.set(map, key, filtered as [A, ...Array<A>]) :
153
153
  SortedMap.remove(map, key)
@@ -228,7 +228,7 @@ export const takeUpTo = dual<
228
228
  let next: IteratorResult<readonly [A, [A, ...Array<A>]], any>
229
229
  while ((next = iterator.next()) && !next.done && index < n) {
230
230
  const [key, value] = next.value
231
- const [left, right] = pipe(value, ReadonlyArray.splitAt(n - index))
231
+ const [left, right] = pipe(value, Array.splitAt(n - index))
232
232
  for (const value of left) {
233
233
  builder.push(value)
234
234
  }